登录时记住账号密码功能示例代码
登录JSP页面
1 <% 2 request.setCharacterEncoding("utf-8"); 3 String username = ""; 4 String password = ""; 5 Cookie[] cookies = request.getCookies(); 6 if(cookies!=null && cookies.length>0){ 7 for(Cookie c : cookies){ 8 System.out.println(c.getName()+":"+URLDecoder.decode(c.getValue(), "utf-8")); 9 if(c.getName().equals("username")){ 10 username =URLDecoder.decode(c.getValue(),"utf-8") ; 11 } 12 if(c.getName().equals("pwd")){ 13 password = c.getValue(); 14 } 15 } 16 } 17 18 %> 19 <form action="login.jsp" method="post"> 20 <input name="action" value="login" type="hidden"> 21 <input name="username" placeholder="用户名" value="<%=username %>" required="" type="text"> 22 <hr class="hr15"> 23 <input name="password" placeholder="密码" value="<%=password %>" required="" type="password"> 24 <hr class="hr15"> 25 <input type="checkbox" name="jizhu" value="jizhu" checked="checked"> 26 十天内记住我的登录状态 27 <hr class="hr15"> 28 <input value="登录" style="width:100%;" type="submit"> 29 <hr class="hr20"> 30 <!-- 帮助 <a onClick="alert('请联系管理员')">忘记密码</a> --> 31 </form>
处理登录信息的JSP页面
1 <% request.setCharacterEncoding("utf-8"); %> 2 <jsp:useBean id="user" class="com.po.User" scope="page"></jsp:useBean> 3 <jsp:useBean id="userDao" class="com.dao.UserDao" scope="page"></jsp:useBean> 4 <jsp:setProperty property="*" name="user"/> 5 <% 6 7 String[] jizhu = request.getParameterValues("jizhu"); 8 if(jizhu!=null && jizhu.length>0){ 9 Cookie nameCookie = new Cookie("username",URLEncoder.encode(user.getUsername(), "utf-8") ); 10 Cookie pwdCookie = new Cookie("pwd",user.getPassword()); 11 nameCookie.setMaxAge(60); 12 pwdCookie.setMaxAge(60); 13 response.addCookie(nameCookie); 14 response.addCookie(pwdCookie); 15 }else{ 16 Cookie[] cookies = request.getCookies(); 17 if(cookies!=null && cookies.length>0){ 18 for(Cookie c : cookies){ 19 if(c.getName().equals("username")||c.getName().equals("pwd")){ 20 c.setMaxAge(0); 21 response.addCookie(c); 22 } 23 } 24 } 25 } 26 27 if(userDao.login(user)){ 28 session.setAttribute("name", user.getUsername()); 29 request.getRequestDispatcher("main.jsp").forward(request, response); 30 }else{ 31 response.sendRedirect("error.jsp"); 32 } 33 34 35 %>