兩畝三分地

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            17 隨筆 :: 20 文章 :: 2 評論 :: 0 Trackbacks
          UserServlet主要用于用戶登錄,退出以及密碼修改方面的事務。鑒于對網絡應用的安全性考慮,
          所以user將被寫在session里面,用以在某些管理頁面達到認證作用。
           1 private void login(HttpServletRequest request, HttpServletResponse response)
           2             throws ServletException, IOException {
           3         String userName = request.getParameter("username");
           4         String password = request.getParameter("password");
           5         String sql = "select id,username,password from users where username = ? and password = ?";
           6         String params[] = {userName, password};
           7         List users = null;
           8 
           9         QueryRunner qr = DbHelper.getQueryRunner();
          10         try {
          11             users = (List) qr.query(sql, new BeanListHandler(User.class), params);
          12         } catch (SQLException ex) {
          13             Logger.getLogger(UserServlet.class.getName()).log(Level.SEVERE, null, ex);
          14         }
          15         if (users.size()!=0) {
          16             User user = (User) users.get(0);
          17             HttpSession session = request.getSession();
          18             session.setAttribute("user", user);
          19             response.sendRedirect(request.getContextPath()+"/BlogServlet?method=list");
          20         } else {
          21             request.setAttribute("message""錯誤的用戶名或密碼");
          22             request.getRequestDispatcher("/admin/login.jsp").forward(request, response);
          23         }
          24     }

          logout相對很簡單,使session失效即可
          1 private void logout(HttpServletRequest request, HttpServletResponse response)
          2             throws ServletException, IOException {
          3         HttpSession session = request.getSession();
          4         session.invalidate();
          5         response.sendRedirect(request.getContextPath());
          6     }

          modifyPassword
           1  private void modify(HttpServletRequest request, HttpServletResponse response)
           2             throws ServletException, IOException {
           3         String oldPassword = request.getParameter("oldPassword");
           4         String newPassword = request.getParameter("newPassword");
           5         String confirmPassword = request.getParameter("confirmPassword");
           6 
           7         HttpSession session = request.getSession();
           8         User user = (User) session.getAttribute("user");
           9         if (!user.getPassword().equals(oldPassword)) {
          10             request.setAttribute("message""與原密碼不匹配");
          11         } else {
          12             if (!newPassword.equals(confirmPassword)) {
          13                 request.setAttribute("message""新密碼與確認密碼不匹配");
          14             } else {
          15                 String sql = "update users set password =? where id = "+ user.getId();
          16                 QueryRunner qr = DbHelper.getQueryRunner();
          17                 try {
          18                     qr.update(sql, newPassword);
          19                 } catch (SQLException ex) {
          20                     Logger.getLogger(UserServlet.class.getName()).log(Level.SEVERE, null, ex);
          21                 }
          22                  request.setAttribute("message""密碼修改成功");
          23             }
          24         }
          25         request.getRequestDispatcher("/admin/modifyPassword.jsp").forward(request, response);
          26     }


          posted on 2009-09-30 14:22 Chucky 閱讀(205) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 福安市| 开鲁县| 公主岭市| 绵阳市| 内黄县| 岳西县| 台北市| 抚州市| 胶南市| 大足县| 武威市| 九江市| 榆树市| 武平县| 如东县| 阿荣旗| 阿鲁科尔沁旗| 九江市| 扎兰屯市| 临海市| 伊通| 车险| 天峻县| 澎湖县| 吉隆县| 衡阳县| 梅河口市| 阿拉尔市| 孝义市| 新野县| 积石山| 电白县| 松江区| 将乐县| 晋城| 长春市| 北票市| 都安| 兴化市| 安仁县| 边坝县|