📄 memberaction.java
字号:
package com.briup.run.web.action;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.Date;import java.util.List;import java.util.Map;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.struts2.ServletActionContext;import com.briup.run.common.exception.MemberServiceException;import com.briup.run.common.ip.IPSeeker;import com.briup.run.common.util.BeanFactory;import com.briup.run.pojos.Memberinfo;import com.briup.run.pojos.MemberinfoWrapper;import com.briup.run.pojos.Memberspace;import com.briup.run.service.IMemberService;import com.briup.run.service.IMessengerService;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class MemberAction extends ActionSupport{ private Memberinfo info; private IMemberService memberService =(IMemberService) BeanFactory.getBean(BeanFactory.MEMBERSERVICE); private IMessengerService messengerService =(IMessengerService) BeanFactory.getBean(BeanFactory.MESSENGESERVICE); private String authCode; private String provinceCity; private String userName; private String passwd; private Boolean autoLogin; private String oldPassword; private String passwdQuestion; private String passwdAnswer; private String runtime; private String runhabit; private String runstar; private String cellphone; private String runplace; private String opinion; //封装上传文件域的属性 private File icon; //封装上传文件名的属性 private String iconFileName; private String spacename; public String getPasswdQuestion() { return passwdQuestion; } public void setPasswdQuestion(String passwdQuestion) { this.passwdQuestion = passwdQuestion; } public String getPasswdAnswer() { return passwdAnswer; } public void setPasswdAnswer(String passwdAnswer) { this.passwdAnswer = passwdAnswer; } public String getOldPassword() { return oldPassword; } public void setOldPassword(String oldPassword) { this.oldPassword = oldPassword; } public IMessengerService getMessengerService() { return messengerService; } public void setMessengerService(IMessengerService messengerService) { this.messengerService = messengerService; } public Boolean getAutoLogin() { return autoLogin; } public void setAutoLogin(Boolean autoLogin) { this.autoLogin = autoLogin; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPasswd() { return passwd; } public void setPasswd(String passwd) { this.passwd = passwd; } public IMemberService getMemberService() { return memberService; } public void setMemberService(IMemberService memberService) { this.memberService = memberService; } public String getAuthCode() { return authCode; } public void setAuthCode(String authCode) { this.authCode = authCode; } public String getProvinceCity() { return provinceCity; } public void setProvinceCity(String provinceCity) { this.provinceCity = provinceCity; } public Memberinfo getInfo() { return info; } public void setInfo(Memberinfo info) { this.info = info; } public String autoLogin() throws Exception{ HttpServletRequest request=ServletActionContext.getRequest(); Cookie []cookies=request.getCookies(); if(cookies!=null){ for(Cookie c:cookies){ if(c.getName().equals("username")) userName=c.getValue(); if(c.getName().equals("password")) passwd=c.getValue(); } if(userName==null || userName.trim().length()==0 || passwd==null || passwd.trim().length()==0){ return "login-false"; } } Memberinfo memberinfo = memberService.login(userName, passwd); ActionContext ac=ActionContext.getContext(); Map session = ac.getSession(); session.put("memberinfo", memberinfo); return "login-true"; } public String afterLogin()throws Exception{ try { Map session = ActionContext.getContext().getSession(); Memberinfo member = (Memberinfo)session.get("memberinfo"); //获得当前在线人数 int onlineNum = memberService.findMemberinfoOnline(); //获得短信数量 int newMessage = messengerService .findNewMessageNum(member.getNickname()); //获得上次登录时间 Date lastTime = member.getLatestdate(); //获得ip地址 String ip = ServletActionContext.getRequest().getRemoteAddr(); IPSeeker seeker = IPSeeker.getInstance(); String address1 = seeker.getCountry(ip); String address2 = seeker.getArea(ip); String address = address1+" "+address2; //获得积分排名前10用户 List<Memberinfo> list = memberService.findMemberinfoByNum(10); //获得系统当前时间 Date nowTime = new Date(); //封装数据 MemberinfoWrapper mw = new MemberinfoWrapper(); mw.setAddress(address); mw.setLastDate(lastTime); mw.setList(list); mw.setNewMessageNum(newMessage+""); mw.setNow(nowTime); mw.setOnlinenum(onlineNum+""); session.put("wrapper", mw); return "login-true"; } catch (MemberServiceException e) { e.printStackTrace(); addActionError(e.getMessage()); return "login-false"; } } //登录 public String login()throws Exception{ if(null !=autoLogin&&autoLogin){ Cookie cookie1=new Cookie("username",userName); Cookie cookie2=new Cookie("password",passwd); cookie1.setMaxAge(9999999); cookie2.setMaxAge(9999999); cookie1.setPath("/"); cookie2.setPath("/"); HttpServletResponse response= ServletActionContext.getResponse(); response.addCookie(cookie1); response.addCookie(cookie2); } try { Memberinfo member = memberService.login(userName, passwd); Map session = ActionContext.getContext().getSession(); session.put("memberinfo", member); return "login-true"; } catch (MemberServiceException e) { e.printStackTrace(); addActionError(e.getMessage()); return "login-false"; } } public String register() throws Exception{ String auth= (String)ActionContext.getContext().getSession() .get("authCode"); if(!auth.equals(authCode)){ addActionError("验证码不正确!"); return "register-false"; } try { info.setProvincecity(provinceCity); memberService.registerMemberinfo(info); return "register-true"; } catch (MemberServiceException e) { addActionError(e.getMessage()); return "register-false"; } } public String saveModify() throws Exception{ try { HttpServletRequest request=ServletActionContext.getRequest(); memberService.saveModify(info, oldPassword); request.setAttribute("message", "修改成功"); return "modify-true"; } catch (MemberServiceException e) { e.printStackTrace(); addActionError(e.getMessage()); return "modify-false"; } } public String getBackPasswd() throws Exception{ try { HttpServletRequest request=ServletActionContext.getRequest(); String newPasswd = memberService.getNewPasswd(userName, passwdQuestion, passwdAnswer); request.setAttribute("message", "您的新密码是:"+newPasswd); return "passwd-true"; } catch (MemberServiceException e) { e.printStackTrace(); addActionError(e.getMessage()); return "passwd-false"; } } public String exit() throws Exception{ Map session = ActionContext.getContext().getSession(); Memberinfo member = (Memberinfo) session.get("memberinfo"); memberService.logout(member); session.remove("memberinfo"); return "passwd-true"; } public String isSpace() throws Exception{ try { if(spacename !=null&&!spacename.equals("")){ Memberinfo memberinfo = memberService.findMemberinfoByName(spacename); HttpServletRequest request = ServletActionContext.getRequest(); if(memberinfo.getMemberspace()==null){ request.setAttribute("message", spacename+"这个用户还没有创建个性空间"); return "space2-false"; }else{ request.setAttribute("memberinfo", memberinfo); return "space2-true"; } } Map session = ActionContext.getContext().getSession(); Memberinfo member = (Memberinfo) session.get("memberinfo"); if(memberService.isSpace(member.getNickname())){ return "space-true"; } } catch (MemberServiceException e) { e.printStackTrace(); addActionError(e.getMessage()); } return "space-false"; } public String createSpace() throws Exception{ Map session = ActionContext.getContext().getSession(); Memberinfo member = (Memberinfo) session.get("memberinfo"); HttpServletRequest request=ServletActionContext.getRequest(); try { Memberspace space = member.getMemberspace(); if(space == null){ space = new Memberspace(); } space.setOpinion(opinion); space.setCellphone(cellphone); space.setRunhabit(runhabit); space.setRunplace(runplace); space.setRuntime(runtime); space.setRunstar(runstar); String pathtemp=request.getRealPath("/"); File dir=new File(pathtemp+"/images/"+member.getNickname()); if(!dir.exists()){ dir.mkdir(); } try { FileInputStream fis=new FileInputStream(icon); FileOutputStream fos=new FileOutputStream(dir+"/"+iconFileName); byte buffer[]=new byte[8192]; int count=0; while((count=fis.read(buffer, 0, buffer.length))!=-1) fos.write(buffer, 0, count); fis.close(); fos.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } space.setIcon("/images/"+member.getNickname()+"/"+iconFileName); member.setMemberspace(space); space.setMemberinfo(member); memberService.saveOrUpDate(member); session.put("memberinfo", member); return "space-true"; } catch (MemberServiceException e) { e.printStackTrace(); addActionError(e.getMessage()); } return "space-false"; } public File getIcon() { return icon; } public void setIcon(File icon) { this.icon = icon; } public String getIconFileName() { return iconFileName; } public void setIconFileName(String iconFileName) { this.iconFileName = iconFileName; } public String getRuntime() { return runtime; } public void setRuntime(String runtime) { this.runtime = runtime; } public String getRunhabit() { return runhabit; } public void setRunhabit(String runhabit) { this.runhabit = runhabit; } public String getRunstar() { return runstar; } public void setRunstar(String runstar) { this.runstar = runstar; } public String getCellphone() { return cellphone; } public void setCellphone(String cellphone) { this.cellphone = cellphone; } public String getRunplace() { return runplace; } public void setRunplace(String runplace) { this.runplace = runplace; } public String getOpinion() { return opinion; } public void setOpinion(String opinion) { this.opinion = opinion; } public String getSpacename() { return spacename; } public void setSpacename(String spacename) { this.spacename = spacename; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -