Java知识整理(二十)之session

Session(服务器状态管理技术):
服务器为每个浏览器创建Session对象,将SessionId(使用Cookie的方式)发送给浏览器,Session能够保存多种数据类型,安全,但占服务器内存
浏览器再次访问时会将SessionId发给服务器,服务器找到相应Session
获得Session:HttpSession s = request.getSession(boolean flag);HttpSession s = request.getSession();flag不写默认true;
flag为true时,一定得到一个Session对象(请求中有SessionId-->有对应Session-->get;else new)
flag为false:请求中有SessionId-->有对应Session-->get;else return null;
使用Session绑定对象:void s.setAttribute(String name,Object obj);
获取绑定对象:Object s.getAttribute(String name);
移除绑定对象:void s.removeAttribute(String name);
删除Session对象:s.invalidate();
Session验证:常用于登录验证(获取绑定对象,如果没有跳转回登录页面)
Session超时:Web服务器会将空闲时间过长的Session对象删除掉,缺省的超时时间一般为30分钟
修改Session的缺省时间限制:void s.setMaxInactiveInterval(int seconds);
或者修改tomcat中的conf/web.xml文件的设置
<session-config>
<session-timeout>30</session-timeout>
<session-config>
如果Cookie被浏览器禁用,就不能使用Session了(可以使用如URL重写的方式来发送SessionId)
URL重写:URL=response.encodeURL(String url)(链接地址和表单的提交);URL=response.encodeRedirectURL(String url)(重定向);
验证码:
JSP Session验证:
<%
Object uname = session.getAttribute("uname");
if(uname==null){
response.sendRedirect("login.jsp");
return;
}
%>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值