JSP Cookies
来源:互联网 发布:部落冲突皮卡超人数据 编辑:程序博客网 时间:2024/05/29 02:30
Cookies处理
Cookies是存储在客户机的文本文件,它们保存了大量轨迹信息。在servlet技术基础上,JSP显然能够提供对HTTP cookies的支持。
通常有三个步骤来识别回头客:
- 服务器脚本发送一系列cookies至浏览器。比如名字,年龄,ID号码等等。
- 浏览器在本地机中存储这些信息,以备不时之需。
- 当下一次浏览器发送任何请求至服务器时,它会同时将这些cookies信息发送给服务器,然后服务器使用这些信息来识别用户或者干些其它事情。
Jsp保存用户状态的两大机制:
- Session
- Cookie
Cookies 方法
下表列出了Cookie对象中常用的方法:
在JSP中创建和使用Cookie
(1)创建一个Cookie对象: 调用Cookie的构造函数,使用一个cookie名称和值做参数,它们都是字符串。
1
Cookie cookie = new Cookie("key","value");
(2) 设置有效期:调用setMaxAge()函数表明cookie在多长时间(以秒为单位)内有效。下面的操作将有效期设为了24小时.
1
cookie.setMaxAge(60*60*24);
(3) 将cookie发送至HTTP响应头中:调用response.addCookie()函数来向HTTP响应头中添加cookies.
1
response.addCookie(cookie);
(4)读取Cookies对象:需要调用request.getCookies()方法来获得一个javax.servlet.http.Cookie对象的数组,然后遍历这个数组,使用getName()方法和getValue()方法来获取每一个cookie的名称和值。
1
Cookie []cookies=request.getCookies();
(5)使用JSP删除Cookies :删除cookies非常简单。如果您想要删除一个cookie,按照下面给的步骤来做就行了:
- 获取一个已经存在的cookie然后存储在Cookie对象中。
- 将cookie的有效期设置为0。
- 将这个cookie重新添加进响应头中。
Cookies登录页面处理练习
- 项目资源文件:http://pan.baidu.com/s/1i3zpSbz
login.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
42
43
44
45
46
47
48
49
50
51
52
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
42
43
44
45
46
47
48
49
50
51
52
<%@ page language="java" import="java.util.*,java.net.*" contentType="text/html; charset=utf-8"%>
�
�
<h1>用户登录</h1>
<hr />
<%
request.setCharacterEncoding("utf-8");
String username="";
String password = "";
Cookie[] cookies = request.getCookies(); //获取已保存的cookie信息至下面表单中。
if(cookies!=null&&cookies.length>0)
{
for(Cookie c:cookies)
{
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" name="loginForm">
<table>
<tbody>
<tr>
<td>用户名:</td>
<!--下述value的值为上面已保存至cookie的数据 -->
<td><input name="username" type="text" value=""<%=username" />"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input name="password" type="password" value="<%=password %>" /></td>
</tr>
<tr>
<td colspan="2"><input checked="checked" name="isUseCookie" type="checkbox" />十天内记住我的登录状态</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="登录" /><input type="reset" value="取消" /></td>
</tr>
</tbody>
</table>
</form>�
�
�
<h1>用户登录</h1>
<hr />
<%
request.setCharacterEncoding("utf-8");
String username="";
String password = "";
Cookie[] cookies = request.getCookies(); //获取已保存的cookie信息至下面表单中。
if(cookies!=null&&cookies.length>0)
{
for(Cookie c:cookies)
{
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" name="loginForm">
<table>
<tbody>
<tr>
<td>用户名:</td>
<!--下述value的值为上面已保存至cookie的数据 -->
<td><input name="username" type="text" value=""<%=username" />"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input name="password" type="password" value="<%=password %>" /></td>
</tr>
<tr>
<td colspan="2"><input checked="checked" name="isUseCookie" type="checkbox" />十天内记住我的登录状态</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="登录" /><input type="reset" value="取消" /></td>
</tr>
</tbody>
</table>
</form>�
dologin.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
42
43
44
45
46
47
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
42
43
44
45
46
47
<%@ page language="java" import="java.util.*,java.net.*" contentType="text/html; charset=utf-8"%>
�
�
<h1>登录成功</h1>
<hr />
<%
request.setCharacterEncoding("utf-8");
//首先判断用户是否选择了记住登录状态
String[] isUseCookies = request.getParameterValues("isUseCookie");
if(isUseCookies!=null&&isUseCookies.length>0)
{
//把用户名和密码保存在Cookie对象里面
String username = URLEncoder.encode(request.getParameter("username"),"utf-8");
//使用URLEncoder解决无法在Cookie当中保存中文字符串问题
String password = URLEncoder.encode(request.getParameter("password"),"utf-8");
Cookie usernameCookie = new Cookie("username",username);
Cookie passwordCookie = new Cookie("password",password);
usernameCookie.setMaxAge(864000);
passwordCookie.setMaxAge(864000);//设置最大生存期限为10天
response.addCookie(usernameCookie);
response.addCookie(passwordCookie);
}
else
{
//不使用Cookies
Cookie[] cookies = request.getCookies();
if(cookies!=null&&cookies.length>0)
{
for(Cookie c:cookies)
{
if(c.getName().equals("username")||c.getName().equals("password"))
{
c.setMaxAge(0); //设置Cookie失效
response.addCookie(c); //重新保存。
}
}
}
}
%>
<a href="users.jsp" target="_blank">查看用户信息</a>
�
�
<h1>登录成功</h1>
<hr />
<%
request.setCharacterEncoding("utf-8");
//首先判断用户是否选择了记住登录状态
String[] isUseCookies = request.getParameterValues("isUseCookie");
if(isUseCookies!=null&&isUseCookies.length>0)
{
//把用户名和密码保存在Cookie对象里面
String username = URLEncoder.encode(request.getParameter("username"),"utf-8");
//使用URLEncoder解决无法在Cookie当中保存中文字符串问题
String password = URLEncoder.encode(request.getParameter("password"),"utf-8");
Cookie usernameCookie = new Cookie("username",username);
Cookie passwordCookie = new Cookie("password",password);
usernameCookie.setMaxAge(864000);
passwordCookie.setMaxAge(864000);//设置最大生存期限为10天
response.addCookie(usernameCookie);
response.addCookie(passwordCookie);
}
else
{
//不使用Cookies
Cookie[] cookies = request.getCookies();
if(cookies!=null&&cookies.length>0)
{
for(Cookie c:cookies)
{
if(c.getName().equals("username")||c.getName().equals("password"))
{
c.setMaxAge(0); //设置Cookie失效
response.addCookie(c); //重新保存。
}
}
}
}
%>
<a href="users.jsp" target="_blank">查看用户信息</a>
user.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
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
<%@ page language="java" import="java.util.*,java.net.*" contentType="text/html; charset=utf-8"%>
�
�
�
<h1>用户信息</h1>
<hr />
<%
//获取Cookie用户信息
request.setCharacterEncoding("utf-8");
String username="";
String password = "";
Cookie[] cookies = request.getCookies();
if(cookies!=null&&cookies.length>0)
{
for(Cookie c:cookies)
{
if(c.getName().equals("username"))
{
username = URLDecoder.decode(c.getValue(),"utf-8"); //获取username
}
if(c.getName().equals("password"))
{
password = URLDecoder.decode(c.getValue(),"utf-8");
}
}
}
%>
用户名:<%=username %>
<!--输出信息 -->
密码:<%=password %>
�
�
�
<h1>用户信息</h1>
<hr />
<%
//获取Cookie用户信息
request.setCharacterEncoding("utf-8");
String username="";
String password = "";
Cookie[] cookies = request.getCookies();
if(cookies!=null&&cookies.length>0)
{
for(Cookie c:cookies)
{
if(c.getName().equals("username"))
{
username = URLDecoder.decode(c.getValue(),"utf-8"); //获取username
}
if(c.getName().equals("password"))
{
password = URLDecoder.decode(c.getValue(),"utf-8");
}
}
}
%>
用户名:<%=username %>
<!--输出信息 -->
密码:<%=password %>
0 0
- jsp .cookies
- JSP-- cookies
- JSP Cookies
- jsp读写cookies
- jsp读写Cookies
- JSP中的Cookies
- JSP Cookies 处理
- JSP Cookies 处理
- jsp--3.cookies
- JSP中如何设置Cookies
- JSP中如何设置Cookies
- 详细介绍Jsp中的Cookies
- 详细介绍Jsp中的Cookies
- JSP中如何设置Cookies
- 详细介绍Jsp中的Cookies
- jsp清除页面session、cookies缓存
- jsp中session 和 cookies区别
- session和cookies在jsp中的使用方法
- c++ 初始化
- 一组惊艳的NodeJs包
- jquery 页面校验器的使用
- 常用工具列表
- 检测单链表中是否有环--快慢指针法
- JSP Cookies
- Spring Boot——开发新一代Spring应用
- oracle恢复删除的数据 闪回
- LeetCode----Maximum Subarray
- Linux 信号signal处理机制
- android性能问题
- Android Fragment 真正的完全解析(下)
- IntelliJ IDEA 14 注册码生成
- 关于手势轮廓的提取及手势跟踪和识别的关键部分