用户登录中Cookie的简单应用
2015-09-25 11:42
375 查看
总共分为三个界面,第一个界面:登录界面
第三个界面:用户界面
可以记住用户十天的登录信息,十天内面密码登录
<%@ page language="java" contentType="text/html; charset=utf-8" import="java.net.*" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body> <h1> 用户登录界面</h1> <% request.setCharacterEncoding("utf-8"); String username=""; String password=""; Cookie[] cookie= request.getCookies(); if(cookie!=null&&cookie.length>0){ for(Cookie c:cookie){ if(c.getName().equals("username")){ username=URLDecoder.decode(c.getValue(),"utf-8"); } if(c.getName().equals("password")){ password=URLDecoder.decode(c.getValue(), "utf-8"); } } } %> <form action="dologin.jsp" method="post"> <table> <tr> <td>用户名:</td> <td><input type="text" name="username" value="<%=username%>"/></td> </tr> <tr> <td>密码:</td> <td><input type="password" name="password" value="<%=password%>"/></td> </tr> <tr> <td colspan="2"> <input type="checkbox" name="isuseCookie" checked="checked" /> 十天内免密码登录</td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="登录"/></td> </tr> </table> </form> </body> </html>第二个界面:用户请求处理界面
<%@page import="java.net.URLEncoder"%> <%@ page language="java" contentType="text/html; charset=utf-8" import="java.net.*" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body> <h1>用户登录成功</h1> <br> <% request.setCharacterEncoding("utf-8"); String[] isuseCookie=request.getParameterValues("isuseCookie"); if(isuseCookie!=null&&isuseCookie.length>0){ //保存用户信息到Cookie
//特别说明:防止中文乱码,URLEncodeer.encode(String "字符集"); String username=URLEncoder.encode(request.getParameter("username"),"utf-8"); String password=URLEncoder.encode(request.getParameter("password"),"utf-8"); Cookie usernameCookie= new Cookie("username",username); Cookie passwordCookie= new Cookie("password",password); //设置Cookie保存的时间,单位秒 usernameCookie.setMaxAge(864000); passwordCookie.setMaxAge(864000); //添加到Cookie response.addCookie(usernameCookie); response.addCookie(passwordCookie); } else{ //需要清空Cookie Cookie[] cookie =request.getCookies(); if(cookie!=null&&cookie.length>0){ for(Cookie c:cookie){ if(c.getName().equals("username")||c.getName().equals("password")){ c.setMaxAge(0);//设置Cookie失效 response.addCookie(c);//重新保存Cookie } } } } %> <br> <br> <a href="users.jsp">用户信息</a> </body> </html>
第三个界面:用户界面
<%@page import="java.net.URLDecoder"%> <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body> <h1>用户信息输出</h1> <% String username=""; String password=""; Cookie[] cookie= request.getCookies(); if(cookie!=null&&cookie.length>0){ for(Cookie c:cookie){ if(c.getName().equals("username")){ username= URLDecoder.decode(c.getValue(),"utf-8"); } if(c.getName().equals("password")){ password=URLDecoder.decode(c.getValue(), "utf-8"); } } } %> 用户名为:<%= username %> 密码:<%= password %> </body> </html>
可以记住用户十天的登录信息,十天内面密码登录
相关文章推荐
- 二维码
- chrom浏览器模拟手机访问
- 反射-框架、工具类
- hive导出查询结果到本地文件
- Java中的Callback 回调函数
- mysql 事物小测试
- 黑马程序员---Java基础加强---JDK1.5新特性
- 处理千万级以上的数据提高查询速度的方法 ...
- PRML第一章_易混淆概念-先验后验&生成判别&分类回归
- Ionic开发环境搭建
- [经典算法] 排列组合-N元素集合的M元素子集
- 使用flume问题总结1——搭建flume+测试Syslog source
- codeforces 580D Kefa and Dishes
- classLoader和javassist
- 算法之每日一题:哥德巴赫猜想
- OWC 绘制3D柱状图
- git之 git checkout
- 网站渗透测试
- Android中Application、静态变量和Sharedpreferences的使用与区别
- 内核中的list