📄 registeraction.java
字号:
package org.whatisjava.dang.action;
import java.lang.reflect.InvocationTargetException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.actions.MappingDispatchAction;
import org.apache.struts.validator.DynaValidatorForm;
import org.whatisjava.dang.domain.User;
import org.whatisjava.dang.form.RegisterForm;
import org.whatisjava.dang.service.AuthorizeService;
import org.whatisjava.dang.util.CookieUtils;
public class RegisterAction extends MappingDispatchAction {
AuthorizeService service=new AuthorizeService();
Logger logger=Logger.getLogger(this.clazz);
public ActionForward showOne(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
return mapping.findForward("success");
}
public ActionForward showTwo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
Integer tmpId=null;
Cookie[] cookies=request.getCookies();
for(Cookie cookie:cookies){
if("dang.user.tmp".equals(cookie.getName())){
tmpId=Integer.parseInt(cookie.getValue());
}
}
if(tmpId==null){
return mapping.findForward("noTmpId");
}
User user=service.getUserInfoById(tmpId);
if(user==null){
return mapping.findForward("noTmpId");
}
logger.debug("Email验证码:"+user.getEmailVerifyCode());
request.setAttribute("email", user.getEmail());
return mapping.findForward("success");
}
public ActionForward one(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
User user = new User() ;
RegisterForm f = (RegisterForm)form ;
HttpSession session=request.getSession();
String code=(String)session.getAttribute("numberCode");
if(service.isEmailExisting(f.getEmail())||service.isNickameExisting(f.getNickname())||!f.getPassword().equals(f.getRepeatPass())||!code.equals(f.getTxtVerifyCode())){
ActionMessages messages=new ActionMessages();
if(service.isEmailExisting(f.getEmail())){
messages.add("email",new ActionMessage("error.emailIsExisting"));
}
if(service.isNickameExisting(f.getNickname())){
messages.add("nickname",new ActionMessage("error.nicknameIsExisting"));
}
if(!f.getPassword().equals(f.getRepeatPass())){
logger.debug(f.getPassword()+"!="+f.getRepeatPass());
messages.add("repeatPass",new ActionMessage("error.repeatPassword"));
}
if(!code.equals(f.getTxtVerifyCode())){
messages.add("txtVerifyCode",new ActionMessage("error.validatorCode"));
}
saveErrors(request,messages);
return mapping.getInputForward();
}
try {
BeanUtils.copyProperties(user, f) ;
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
System.out.println(user.toString()) ;
AuthorizeService as = new AuthorizeService() ;
as.addUser(user) ;
CookieUtils.addCookie(response, "dang.user.tmp",user.getId().toString(),request.getContextPath(),60*60*24*3) ;
return mapping.findForward("success");
}
public ActionForward two(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession() ;
String idStr = CookieUtils.findCookie(request,"dang.user.tmp") ;
DynaValidatorForm dForm = (DynaValidatorForm)form ;
String validatecode = (String)dForm.get("emailVerifyCode") ;
//System.out.println(validatecode) ;
User user =service.validateEmailVerifyCode(Integer.parseInt(idStr),validatecode) ;
if(user==null){
ActionMessages messages=new ActionMessages();
messages.add("emailVerifyCode",new ActionMessage("error.emailVerify"));
saveErrors(request,messages);
return mapping.getInputForward();
}else{
session.setAttribute("user", user) ;
String id = String.valueOf(user.getId()) ;
CookieUtils.addCookie(response,CookieUtils.USER_TEMP_ID,"",request.getContextPath(),0);
CookieUtils.addCookie(response,CookieUtils.USER_ID, id,request.getContextPath(),60*60*24*30) ;
return mapping.findForward("success");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -