通过cookie保存并读取用户登录信息实例

简介:

通过cookie的getCookies()方法可获取所有cookie对象的集合;通过getName()方法可以获取指定的名称的cookie;通过getValue()方法获取到cookie对象的值。另外,将一个cookie对象发送到客户端,使用response对象的addCookie()方法。

下面通过cookie保存并读取用户登录信息的例子加深一下理解。

(1)创建index.jsp文件。在改文件中,首先获取cookie对象的集合,如果集合不为空,就通过for循环遍历cookie集合,从中找出设置的cookie(这里设置为lee),并从该cookie中提取出用户名和注册时间,再根据获取的结果显示不同的提示信息。

index.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<%@ page language= "java"  contentType= "text/html; charset=utf-8"
     pageEncoding= "utf-8" %>
     <% @page  import = "java.net.URLDecoder"  %>
<!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>通过cookie保存并读取用户登陆信息</title>
</head>
<body>
<%
Cookie[] cookies=request.getCookies(); //从request中获得cookie对象的集合
String user= "" ; //登录用户
String date= "" ; //注册时间
if (cookies!= null ){
     for ( int  i= 0 ;i<cookies.length;i++){
         if (cookies[i].getName().equals( "lee" )){
             user=URLDecoder.decode(cookies[i].getValue().split( "#" )[ 0 ]); //获取用户名
             date=cookies[i].getValue().split( "#" )[ 1 ]; //获取注册时间
                                                                           
         }
     }
                                                                   
}
if ( "" .equals(user)&& "" .equals(date)){  //如果没有注册
%>
游客你好,欢迎你初次光临!
<form action= "deal.jsp" method= "post" >
请输入姓名:<input name= "user" type= "text" value= "" >
<input type= "submit" value= "确定" >
</form>
<%
} else //已经注册
     %>
     欢迎[<b><%=user %><b>]再次光临<br>
     你注册的时间是:<%=date %>
<%
}
%>
</body>
</html>


(2)编写deal.jsp文件,用来向cookie中写入注册信息。

deal.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%@ page language= "java"  contentType= "text/html; charset=utf-8"
     pageEncoding= "utf-8" %>
     <% @page  import = "java.net.URLEncoder"  %>
<!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>写入cookie</title>
</head>
<body>
<%
request.setCharacterEncoding( "utf-8" ); //设置请求的编译为utf-8
String user=URLEncoder.encode(request.getParameter( "user" ), "utf-8" ); //获取用户名
Cookie cookie= new  Cookie( "lee" ,user+ "#" + new  java.util.Date().toLocaleString()); //创建并实例化cookie对象
cookie.setMaxAge( 60 * 60 * 24 * 30 ); //设置cookie有效期为30天
response.addCookie(cookie);
%>
<script type= "text/javascript" >window.location.href= "index.jsp" </script>
</body>
</html>


技巧:在向cookie中保存的信息中如果包括中文,需要调用java.net.URLEncoder类的encode()方法保存到cookie中的信息进行编码;在读取内容时,需要应用到java.net.URLDecoder类的decode()方法进行解码。这样就可以成功地向cookie中写入中文。



本文转自lixiyu 51CTO博客,原文链接:http://blog.51cto.com/lixiyu/1351339,如需转载请自行联系原作者

相关文章
|
5月前
|
前端开发
解决前端ajax跨域请求不携带cookie信息JSESSIONID的问题
解决前端ajax跨域请求不携带cookie信息JSESSIONID的问题
|
21天前
|
存储 缓存 数据处理
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
本文介绍了PHP会话控制及Web常用的预定义变量,包括`$_REQUEST`、`$_SERVER`、`$_COOKIE`和`$_SESSION`的用法和示例。涵盖了cookie的创建、使用、删除以及session的工作原理和使用,并通过图书上传的例子演示了session在实际应用中的使用。
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
|
2月前
|
数据安全/隐私保护
在某网站的登录页面登录时如果选择“记住用户名”,登录成功后会跳转到一个中间层(页面代码将登录的用户名和密码存在cookie),中间页面中存在一个超链接,单击超链接可以链接到第三个页面查看信息。若选择“
该博客文章通过示例代码和运行结果截图,展示了网站登录过程中如何通过中间层页面使用cookies技术实现“记住用户名”功能,并在点击超链接后查看保存的用户名和密码信息。
在某网站的登录页面登录时如果选择“记住用户名”,登录成功后会跳转到一个中间层(页面代码将登录的用户名和密码存在cookie),中间页面中存在一个超链接,单击超链接可以链接到第三个页面查看信息。若选择“
|
2月前
|
存储 C#
【Azure APIM】APIM 策略语句如何读取请求头中所携带的Cookie信息并保存为变量
【Azure APIM】APIM 策略语句如何读取请求头中所携带的Cookie信息并保存为变量
|
2月前
|
数据安全/隐私保护
|
4月前
|
安全 Java Maven
如何使用jsoup实现网站登录,cookie保存,查询信息
【6月更文挑战第11天】如何使用jsoup实现网站登录,cookie保存,查询信息
139 1
|
5月前
|
存储 安全 Java
基于 Cookie 的信息共享机制
基于Cookie的信息共享机制用于客户端状态保持。Cookie是服务器生成并发送到浏览器的文本文件,存储用户状态和安全信息。当用户发起请求时,浏览器会将Cookie一并发送,服务器据此处理。Cookie分为内存和硬盘两种,有持久和非持久之分,但因以明文存储,存在安全隐患。JSP/Servlet中的Cookie类提供管理方法。示例代码展示了如何使用JSP设置和检查Cookie。需注意Cookie的安全问题,避免数据泄露。
63 3
|
4月前
|
安全 Java Maven
使用jsoup实现网站登录,cookie保存,查询信息
【6月更文挑战第7天】使用jsoup实现网站登录,cookie保存,查询信息
74 0
|
存储 缓存 JSON
36.从入门到精通:CGI环境变量 GET和POST方法 GET方法 POST方法 CGI中使用Cookie Cookie设置 检索Cookie信息
36.从入门到精通:CGI环境变量 GET和POST方法 GET方法 POST方法 CGI中使用Cookie Cookie设置 检索Cookie信息
|
5月前
|
数据安全/隐私保护
Session 管理以及Cookie 应用最简单实例
Session 管理以及Cookie 应用最简单实例