📄 useraction.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 + -