?? 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 + -