首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

F5刷新后页面session传值失灵

2013-08-22 
F5刷新后页面session传值失效request.getSession().setAttribute(buserlist, rs1)rs1是从数据库获取的

F5刷新后页面session传值失效
request.getSession().setAttribute("buserlist", rs1);rs1是从数据库获取的信息,用于显示到别的页面,另一个页面得到   <% JDBC4ResultSet rs = (JDBC4ResultSet)request.getSession().getAttribute("buserlist"); %>之后在页面显示,我F5刷新页面之后,页面session传来的东西全没了
[解决办法]
我很好奇lz这样的用法,我还真的没见过把ResultSet放到session里面保存的
一般都是把ResultSet里面的数据取出来,放到某个对象里面,然后保存到session里面

毕竟ResultSet不是一个简单的保存着数据对象,它背后还有数据库连接支撑着,说不定刷新的时候就会把这条数据库连接也断开了呢?

容我异想天开一下,如果我在访客访问A页面时把response对象也放到session里面,岂不是可以在他访问B页面时向A页面的response输出内容?显然这是异想天开吧?
[解决办法]
创建session时会在客户的浏览器添加一个叫JSESSIONID的cookie,只不过这个cookie的setAge(0),表示关闭浏览器的时候这个cookie失效。当在jsp中使用session对象的时候就会去取这个cookie值,然后和服务器的session.getId()想匹配,找到相应的session对象。刷新页面这个cookie应该还在,除非你的浏览器禁用了cookie。我猜应该就是你的浏览器禁用了cookie功能。

热点排行