java笔记:jsp-cookie和session

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()方法设置有效期,一旦设置了有效期,则不随浏览器的关闭而销毁,而是由设置的时间来决定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值