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

📄 useraction.java

📁 本系统是网上购物的详细代码
💻 JAVA
字号:
package cn.com.tarena.ecport.web.action;

import java.io.IOException;
import java.util.List;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionErrors;
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.actions.MappingDispatchAction;

import cn.com.tarena.ecport.biz.IProvinceBusiness;
import cn.com.tarena.ecport.biz.IUserBusiness;
import cn.com.tarena.ecport.biz.factory.BusinessFactory;
import cn.com.tarena.ecport.pojo.ContactInfo;
import cn.com.tarena.ecport.pojo.Country;
import cn.com.tarena.ecport.pojo.Province;
import cn.com.tarena.ecport.pojo.User;
import cn.com.tarena.ecport.web.form.UserMessageForm;

public class UserAction extends MappingDispatchAction{
	
	/**
	 * 用户登录
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	@SuppressWarnings("deprecation")
	public ActionForward doLogin(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		UserMessageForm registerForm = (UserMessageForm)form;
		
		IUserBusiness iub = (IUserBusiness) BusinessFactory.getBusiness(IUserBusiness.class.getName());
		ActionErrors errors = new ActionErrors();
		
		if (iub.hasUser(registerForm.getUserid())) {
			User user = iub.getUserById(registerForm.getUserid());
			
			if (registerForm.getPassword().equals(user.getPassword())) {
				HttpSession session = request.getSession(true);
				session.setAttribute("user", user);
				session.setAttribute("loginSuccess", "1");
				
				Cookie cookie = new Cookie("userid", registerForm.getUserid());
				cookie.setMaxAge(60 * 60 * 24 * 30);
				response.addCookie(cookie);
				
				return mapping.findForward("productList");
			} else{
				//不同的错误提示不同的信息
				ActionMessage message = new ActionMessage("form.error.loginPwd");
				errors.add("wrongPwd", message);
			}
		} else{
			ActionMessage message = new ActionMessage("form.error.loginUserName");
			errors.add("wrongUserName",message);
		}
		saveErrors(request, errors);
	  return mapping.findForward("login");
	}

	/**
	 * 用户注册
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 * @throws IOException
	 */
	public ActionForward doRegist(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) throws IOException{
		UserMessageForm registerForm = (UserMessageForm)form;
		
		User user = new User();
		ContactInfo con = new ContactInfo();

		IUserBusiness iub = (IUserBusiness) BusinessFactory.getBusiness(IUserBusiness.class.getName());
		String userId = registerForm.getUserid();
		if(iub.hasUser(userId)){	
			throw new RuntimeException();
		}else{
			user.setUserid(userId);	
		}
		
		user.setPassword(registerForm.getPassword());

		IProvinceBusiness ipb = (IProvinceBusiness) BusinessFactory.getBusiness(IProvinceBusiness.class.getName());
		con.setCountry(ipb.getCountryByCountryId(Long.parseLong(registerForm.getCountry())));
		
		String province = registerForm.getProvince();
		con.setProvince(ipb.getProvinceByName(new String(province.getBytes("ISO-8859-1"), "GBK")));
		
        con.setCity(new String(registerForm.getCity().getBytes("ISO-8859-1"),"GBK"));
		
		con.setStreet1(new String(registerForm.getStreet1().getBytes("ISO-8859-1"),"GBK"));
		
		con.setStreet2(new String(registerForm.getStreet2().getBytes("ISO-8859-1"),"GBK"));
		
		con.setZip(registerForm.getZip());
		
		con.setHomephone(registerForm.getHomephone());
		
		con.setOfficephone(registerForm.getOfficephone());
		
		con.setCellphone(registerForm.getCellphone());
		
		con.setEmail(registerForm.getEmail());

		con.setUsers(user);
		user.setContactinfo(con);

		iub.userRegister(user, con);
		return mapping.findForward("success");
	}
	
	/**
	 *  修改用户信息
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 * @throws IOException
	 */
	public ActionForward doModifyUserinfo(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) throws IOException{
	    UserMessageForm registerForm = (UserMessageForm)form;
		
		IUserBusiness iub = (IUserBusiness) BusinessFactory.getBusiness(IUserBusiness.class.getName());
		User user = iub.getUserById(registerForm.getUserid());
		ContactInfo con = user.getContactinfo();

		user.setPassword(registerForm.getPassword());
		
		IProvinceBusiness ipb = (IProvinceBusiness) BusinessFactory.getBusiness(IProvinceBusiness.class.getName());
		con.setCountry(ipb.getCountryByCountryId(Long.parseLong(registerForm.getCountry())));
		
		String provinceName = new String(registerForm.getProvince().getBytes("ISO-8859-1"), "GBK");
		con.setProvince(ipb.getProvinceByName(provinceName));
		
		con.setCity(new String(registerForm.getCity().getBytes("ISO-8859-1"),"GBK"));
		con.setStreet1(new String(registerForm.getStreet1().getBytes("ISO-8859-1"),"GBK"));
		con.setStreet2(new String(registerForm.getStreet2().getBytes("ISO-8859-1"),"GBK"));
		con.setZip(registerForm.getZip());
		con.setHomephone(registerForm.getHomephone());
		con.setOfficephone(registerForm.getOfficephone());
		con.setCellphone(registerForm.getCellphone());
		con.setEmail(registerForm.getEmail());
		
		iub.updateUserInfo(user, con);
		
		HttpSession session = request.getSession(true);
		session.setAttribute("user", user);
		
		return mapping.findForward("updateSuccess");
	}
	
	/**
	 * 写此方法只是为了在用户修改信息时对国家和省份进行回显,别无它意。
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 * @throws IOException
	 */
	public ActionForward modifyUserinfo(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) throws IOException{
		IProvinceBusiness ipb = (IProvinceBusiness) BusinessFactory.getBusiness(IProvinceBusiness.class.getName());
		List<Country> countries =  ipb.getAllCountry();
		List<Province> provinces = ipb.getAllProvince();
		request.setAttribute("countries", countries);
		request.setAttribute("provinces", provinces);
		return mapping.findForward("userinfo");
	}

	/**
	 * 用户退出
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward exit(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		HttpSession session = request.getSession(false);
		if(session != null){
			session.invalidate();
		}
		return mapping.findForward("productlist");
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -