0%

Cookie_Session

Cookie和Session是两种会话技术。
Cookie是客户端技术。
Session是服务端技术。

1:存入Cookie

1
2
3
4
5
6
7
8
String value = "中文";// 中文需要先编码
value = URLEncoder.encode(value,"utf-8");//编码
// 创建Cookie对象
Cookie c = new Cookie("key",value);
// 设置生命周期
c.setMaxAge(30*60);//设置生命周期(默认-1,0是作废)
// 使用response发送给浏览器
response.addCookie(c);

2:取出Cookie

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 尝试获取所有的cookie
Cookie[] cookies = request.getCookies();
// 非空验证
if(cookies==null || cookies.length==0){
response.getWriter().println("获取cookie失败!");
}else{
// 循环获取内容
for(Cookie c:cookies){
if(c.getName().equals("key")){
String value = c.getValue();
value= URLDecoder.decode(value,"utf-8");
response.getWriter().println("上次访问用户名是:"+value);
}
}
}

3:创建Session

1
2
3
4
//服务器帮我生成一个Session对象(我是指实际访问Servlet11那个浏览器)
HttpSession session = request.getSession();
//getId():获取Session对象分配给每个浏览器的唯一标识
response.getWriter().print("给您生成的sessionid是:"+session.getId());