我的漫漫程序之旅

          專注于JavaWeb開(kāi)發(fā)
          隨筆 - 39, 文章 - 310, 評(píng)論 - 411, 引用 - 0
          數(shù)據(jù)加載中……

          Java對(duì)Cookie的操作

          public ActionForward login(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
                  LazyValidatorForm userForm 
          = (LazyValidatorForm) form;
                  log.info(
          "UserAction:驗(yàn)證用戶登錄");
                  
          //得到用戶名和密碼
                  String username = (String) userForm.get("username");
                  String password 
          = (String) userForm.get("password");
                  Map
          <String,Object> userMap = new HashMap<String,Object>();
                  userMap.put(
          "userName", username);
                  userMap.put(
          "userPassword", password);
                  
          //設(shè)置Cookie
                  int cookieDate = Integer.parseInt(userForm.get("cookieDate").toString());
                  
          if(cookieDate != 0)
                  
          {
                      Cookie cookie1 
          = new Cookie("username",username);
                      Cookie cookie2 
          = new Cookie("password",password);
                      
          if(cookieDate == 1)
                      
          {
                          
          //一天
                          cookie1.setMaxAge(60 * 60 * 24);
                          cookie2.setMaxAge(
          60 * 60 * 24);
                      }

                      
          if(cookieDate == 2)
                      
          {
                          
          //一個(gè)月
                          cookie1.setMaxAge(60 * 60 * 24 * 31);
                          cookie2.setMaxAge(
          60 * 60 * 24 * 31);
                      }

                      
          if(cookieDate == 3)
                      
          {
                          
          //一年
                          cookie1.setMaxAge(60 * 60 * 24 * 365);
                          cookie2.setMaxAge(
          60 * 60 * 24 * 365);
                      }

                      
          //把捕獲來(lái)的cookies添加到響應(yīng)里
                      response.addCookie(cookie1);
                      response.addCookie(cookie2);
                  }

                  User user 
          = null
                  
          //驗(yàn)證用戶名和密碼
                  if(userManager.createCriteria(Restrictions.allEq(userMap)).list().size() > 0)
                  
          {
                      log.info(
          "UserAction:登錄成功");
                      user 
          = (User) userManager.createCriteria(Restrictions.allEq(userMap)).list().get(0);
                      request.getSession().setAttribute(
          "user", user);
                      
          return mapping.findForward("success");
                  }

                  
          else
                  
          {
                      
          this.saveMessage(request, "login.error""用戶名或密碼錯(cuò)誤");
                      log.info(
          "UserAction:登錄失敗");
                      request.setAttribute(
          "error","username or password is wrong");
                      
          return mapping.getInputForward();
                  }

                  
              }
          登錄前的跳轉(zhuǎn):
          /**
               * 登錄前的跳轉(zhuǎn)
               * 
          @param mapping
               * 
          @param form
               * 
          @param request
               * 
          @param response
               * 
          @return
               
          */

              
          public ActionForward forwardlogin(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
                  log.info(
          "UserAction:登錄前的跳轉(zhuǎn),Cookie處理");
                  
          //取出cookies
                  Cookie[] cookies = request.getCookies();
                  String username 
          = null;
                  String password 
          = null;
                  
          if(cookies.length != 0)
                  
          {
                      
          for(int i = 0; i < cookies.length; i ++)
                      
          {
                          
          //根據(jù)key取出值
                          if(cookies[i].getName().equals("username"))
                          
          {
                              username 
          = cookies[i].getValue();
                          }

                          
          if(cookies[i].getName().equals("password"))
                          
          {
                              password 
          = cookies[i].getValue();
                          }

                      }

                  }

                  request.setAttribute(
          "username", username);
                  request.setAttribute(
          "password", password);
                  
          return mapping.findForward("login");
              }

          前臺(tái):
          <form action="${ctx}/user.do?method=login" method="post" onsubmit="return check();">
                          
          <table cellpadding=0 cellspacing=0 border=0 width=98%
                              
          bgcolor=#0099cc align=center>
                              
          <tr>
                                  
          <td>
                                      
          <table cellpadding=6 cellspacing=1 border=0 width=100%>

                                          
          <tr>
                                              
          <td bgcolor=#99ccff valign=middle colspan=2 align=center>
                                                  
          <!-- 判斷用戶名或密碼是否錯(cuò)誤 -->
                                                  
          <logic:empty name="error" scope="request">
                                                      
          <font color="green"><b>請(qǐng)輸入您的用戶名、密碼登陸</b></font>
                                                  
          </logic:empty>
                                                  
          <logic:notEmpty name="error" scope="request">
                                                      
          <bean:message key="login.error"/>
                                                  
          </logic:notEmpty>
                                              
          </td>
                                          
          </tr>
                                          
          <tr>
                                              
          <td bgcolor=#f2f8ff valign=middle>
                                                  請(qǐng)輸入您的用戶名
                                              
          </td>
                                              
          <td bgcolor=#f2f8ff valign=middle>
                                                  
          <INPUT value="${requestScope.username}" name="username" type=text id="username" onblur="return check();">
                                                  
          &nbsp;
                                                  
          <href="${ctx}/main/common/reg.jsp">沒(méi)有注冊(cè)?</a>
                                              
          </td>
                                              
          <!-- 用戶名錯(cuò)誤提示信息 -->
                                              
          <td id="username_info" style="color:red;position: absolute;left:550px;top:235px;"></td>
                                          
          </tr>
                                          
          <tr>
                                              
          <td bgcolor=#f2f8ff valign=middle>
                                                  請(qǐng)輸入您的密碼
                                              
          </td>
                                              
          <td bgcolor=#f2f8ff valign=middle>
                                                  
          <INPUT value="${requestScope.password}" name="password" type=password id="password" onblur="return check();">
                                                  
          &nbsp;
                                                  
          <href="lostpass.jsp">忘記密碼?</a>
                                              
          </td>
                                              
          <!-- 密碼錯(cuò)誤提示信息 -->
                                              
          <td id="password_info" style="color:red;position: absolute;left:550px;top:270px;"></td>
                                          
          </tr>
                                          
          <tr>
                                              
          <td bgcolor=#f2f8ff valign=top width=30%>
                                                  
          <b>Cookie 選項(xiàng)</b>
                                                  
          <BR>
                                                  請(qǐng)選擇您的Cookie保存時(shí)間
          <br>
                                                  下次訪問(wèn)可以方便輸入
          <br><br />
                                                  
          <href="#" onclick="clearCookie();" style="color:green;">清空Cookies</a>
                                                  
          <div id="cookie_info" style="color:maroon;position: absolute;left:100px;top:360px;"></div>
                                              
          </td>
                                              
          <td bgcolor=#f2f8ff valign=middle>
                                                  
          <input type="radio" id="cookieDate" name="cookieDate" value="0" checked>
                                                  不保存,關(guān)閉瀏覽器就失效
                                                  
          <br>
                                                  
          <input type="radio" id="cookieDate"  name="cookieDate" value="1">
                                                  保存一天
                                                  
          <br>
                                                  
          <input type="radio" id="cookieDate"  name="cookieDate" value="2">
                                                  保存一月
                                                  
          <br>
                                                  
          <input type="radio" id="cookieDate" name="cookieDate" value="3">
                                                  保存一年
                                                  
          <br>
                                              
          </td>
                                          
          </tr>
                                          
          <input type=hidden name=comeURL
                                              
          value="#" />
                                          
          <tr>
                                              
          <td bgcolor=#99ccff valign=middle colspan=2 align=center>
                                                  
          <input type=submit name="submit" value="登 陸">
                                              
          </td>
                                          
          </tr>
                                      
          </table>
                                  
          </td>
                              
          </tr>
                          
          </table>
                      
          </form>


          posted on 2008-01-23 18:16 々上善若水々 閱讀(2729) 評(píng)論(0)  編輯  收藏 所屬分類: JavaWeb

          主站蜘蛛池模板: 南昌市| 张家川| 大同县| 浏阳市| 宜州市| 佳木斯市| 灌阳县| 锡林郭勒盟| 九龙县| 呈贡县| 石嘴山市| 白河县| 河源市| 文成县| 鄂托克旗| 游戏| 西和县| 洛隆县| 革吉县| 河南省| 磴口县| 富平县| 临朐县| 特克斯县| 天门市| 连南| 安溪县| 东兰县| 若羌县| 营口市| 泰宁县| 黄石市| 屏东市| 陵川县| 巴彦县| 呼伦贝尔市| 柳州市| 原阳县| 安达市| 新巴尔虎右旗| 许昌县|