最近写jsp,感觉session这东西挺神奇的。但就是只知道一些基本操作而已,对其内容及实现完全不懂。以致别人问我session的问题,回答的很含糊,于是决定补一补session的知识。
果断先baidu一下,搜到一篇相当详细的文章,贴转载:
大话Session
【原创】转载请保留出处:shoru.cnblogs.com 晋哥哥的私房钱
http://www.cnblogs.com/shoru/archive/2010/02/19/1669395.html
写的真的很详细!!!!
个人体会:
1.session是通过在第一次请求页面时,通过set-cookie实现保存会话内容的。之后qui页面的请求都会在请求头信息中加上这个cookie信息,这样就实现了不同页面的传值。所以,如果用户禁用了cookie,则session将不起作用。
2.session的使用( 在类org.apache.catalina.session. StandardSession里) :
设置session:
public void setAttribute(String name, Object value, boolean notify);
获得session,则调用方法getAttribute(String name);
3.对session的超时限制:
在web.xml中添加:
<session-config>
<session-timeout>30</session-timeout>
</session-config>
‘30’表示session30分钟内没有被再次启用就销毁;
或者,手动调用invalidate()方法;
4.session确实很好用,但从转载文章中可以看出,session的安全性确实存在一定问题,还是cookie的问题,感觉。