⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 registeraction.java

📁 模仿当当网基于struts+hierbernate与mysql的商务网站。
💻 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 + -