📄 useraction.java
字号:
package com.estore.struts.action;import java.sql.Date;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.actions.DispatchAction;import com.estore.struts.Globals;import com.estore.struts.entity.User;import com.estore.struts.entity.UserItem;import com.estore.struts.service.UserService;import com.estore.struts.utils.ServiceFactory;public class UserAction extends DispatchAction { private UserService userService = (UserService) ServiceFactory .getInstance().getService(Globals.USER_SERVICE); /* * 注册一个新用户,此方法同时插入两个动作: * 向数据库中保存用户信息,以及向数据库中保存用户的基本信息UserItem; */ public ActionForward register(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String code = request.getParameter("code"); String saveCode = (String) request.getSession().getAttribute("code"); if(saveCode!=null && !saveCode.equalsIgnoreCase(code)){ response.sendRedirect( request.getContextPath() + "/pages/register.jsp"); return null; } User user = new User(); user.setUsername(request.getParameter("userName")); user.setPassword(request.getParameter("password")); user.setCreatetime(new Date(System.currentTimeMillis())); user.setState(1); user.setRole(1); UserItem userItem = new UserItem(); userItem.setItem_name(request.getParameter("userName")); userItem.setItem_address(request.getParameter("address")); userItem.setItem_postcode(request.getParameter("postcode")); userItem.setItem_officephone(request.getParameter("officephone")); userItem.setItem_mobilephone(request.getParameter("mobilephone")); userItem.setItem_email(request.getParameter("email")); /* * 建立起关系 */ userItem.setUser(user); user.addUserItem(userItem); userService.register(user); return mapping.findForward("registersuccess"); } /* * 用户登录方法 */ public ActionForward login(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String username = request.getParameter("userid").trim(); String password = request.getParameter("password").trim(); if (userService.isLoginCorrect(username, password)) { User user = userService.getUserByName(username); /* * 只有在用户登录的时候才创建一个session,并且把用户的信息存放到session中; * 同时sessionListener也会把car同时也放到session中,这样能保证为每一个来 * 网站需要购物的用户分配一个session,一个购物车,并且也可以利用session来 跟踪用户. */ HttpSession session = ((HttpServletRequest) request).getSession(true); session.setAttribute("user", user); return mapping.findForward("loginsuccess"); } else { String message = "用户名或者密码错误!"; request.setAttribute("message", message); return mapping.findForward("loginfailed"); } } /* * 查看用户的详细信息,先从session中获得user用户, * 然后根据用户再从数据库中获得用户的详细信息useritems; */ public ActionForward userinfo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { HttpSession session = request.getSession(); User user = (User) session.getAttribute("user"); request.setAttribute("useritems", userService.getUserItem(user)); return mapping.findForward("userinfo"); } /* * 可以让用户新添加一个新的收货地址, * 然后再转向 */ public ActionForward addUserItem(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { HttpSession session = request.getSession(); User user = (User) session.getAttribute("user"); UserItem useritem = new UserItem(); useritem.setUser(user); useritem.setItem_name(request.getParameter("username").trim()); useritem.setItem_address(request.getParameter("address").trim()); useritem.setItem_postcode(request.getParameter("postcode").trim()); useritem.setItem_officephone(request.getParameter("officephone").trim()); useritem.setItem_mobilephone(request.getParameter("mobilephone").trim()); useritem.setItem_email(request.getParameter("email").trim()); userService.addUserItem(useritem); request.setAttribute("useritems", userService.getUserItem(user)); return mapping.findForward("adduseritem"); } /* * 删除用户指定的一个详细信息; */ public ActionForward deleteUserItem(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { HttpSession session = request.getSession(); User user = (User) session.getAttribute("user"); Integer id = Integer.parseInt(request.getParameter("itemid")); if (id == null) { request.setAttribute("message","删除时出错,没有该收货人!请<a onclick='javascript:history.go(-1)'>返回</a>!"); return mapping.findForward("error"); } userService.deleteUserItem(id); return mapping.findForward("deleteuseritem"); } /* * 用户退出系统并做一些清理工作; */ public ActionForward logout(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { HttpSession session = request.getSession(); session.removeAttribute("user"); session.removeAttribute("cart"); return mapping.findForward("logout"); } public ActionForward report(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { HttpSession session = request.getSession(); User user = (User) session.getAttribute("user"); /* * 判断用户的登录身份,只有管理员才能访问此功能; */ if(user.getRole() != 0){ request.setAttribute("message","请以管理员的身份重新<a href='/EC_Port/pages/login.jsp' style='color:red;'>登录</a>! 请<a onclick='javascript:history.go(-1)' style='color:red;'>返回</a>!"); return mapping.findForward("error"); } return mapping.findForward("report"); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -