cookie
在web目录下创建文件getCookie.jsp
然后访问网页:
http://127.0.0.1/getCookie.jsp
Cookie[] cookies = request.getCookies();
表示获取所有浏览器传递过来的cookie
if (null != cookies )
如果浏览器端没有任何cookie,得到的Cookie数组是null
for (int d = 0; d <= cookies.length - 1; d++) {
out.print(cookies[d].getName() + ":" + cookies[d].getValue() + "<br>");
}
遍历所有的cookie
可以看到name:Gareen,这个在setCookie.jsp中设置的cookie
session
如果浏览器把cookie功能关闭,那么服务端就无法获取jsessionid,每一次访问,都会生成一个新的session对象。
为了解决这个问题,可以使用
response.encodeURL("getSession.jsp")
response.encodeURL方法会把getSession.jsp这个url转换为
getSession.jsp;jsessionid=22424AEA86ADBE89F335EEB649D997A8
通过这个方式,提交jsessionid到服务器。 服务器根据这个jsessionid匹配到对应的session. 与session相关的功能,就可以正常工作了。
<% session.setAttribute("name", "teemo");
%>
<a href="<%=response.encodeURL("getSession.jsp")%>">跳转到获取session的页面</a>
session:保存在服务器
保存的数据是Object会随着会话的结束而销毁保存重要信息
cookie:保存在浏览器
保存的数据是String
可以长期保存在浏览器中。无会话无关保存不重要信息
存储用户信息:
session:
setAttribute("name"","admin")存
getAttribute("name")取
生命周期:服务端:只要WEB应用重启就销毁,客户端:只要浏览器关闭就销毁。
//存
cookie: response.addCookie(new Cookie(name,"admin"))
//取
Cookie[] cookies = request.getCookies() ;
for (Cookie cookie:cookies){
if(cookie.getName().equals("name")){
out.write("欢迎回来"+cookie.getvalue(H));
}
}
生命周期:
不随服务端的重启而销毁,客户端︰默认是只要关闭浏览器就销毁,我们通过setMaxAge()方法设置有效期,一旦设置了有效期,则不随浏览器的关闭而销毁,而是由设置的时间来决定。