06. 会话管理
来源:互联网 发布:服务器如何开放端口 编辑:程序博客网 时间:2024/06/07 23:52
要点
在写至响应的HTML中,URL重写把会话ID增加到其中所有URL的最后。
会话ID作为请求URL最后的“额外”信息再通过请求返回
如果客户不接受cookie,URL重写会自动发生,但是必须显式地对所有URL编码。
要对一个URL编码,需要调用response. encodeURL(String)。
out.println("<a href='" + response.encodeURL("/BeerTest.do") + "'>click me</a >") ;
没有办法对静态页面完成自动的URL 重写,所以,如果你依赖于会话,就必须使用动态生成的页面。
重定向 response.encodeRedirectURL("res.jsp");
设置会话超时
好消息: 你不用自己来跟踪。看到上-- 页的那些方法了吗? 无需你使用这些方法来删除无用的(不活动的) 会话。这些事情容器会为你做的。
会话有3种死法:
1、超时。
2、你在会话对象上调用invalidate( )。
3、应用丝束(崩溃或取消部署)
(1)在DD中配置会话超时
在DD中配置会话超时与在所创建的每一个会话上调HsetMaxInactiveInterval()有同样的效果。
<session-config>
<session-timeout>15</session-timeout>
</session-config>
15分钟过期
(2)设置一个特定会话的会话超时
如果你想改变某个特定会话实例的session-timeout值(而不影响应用中其他会话的超时时间) : session.setMaxInactiveInterval(20 * 60);
不要把Cookie和首部混为一谈
向响应增加一个首部时,要把名和值String作为参数传入: response.addHeader("foo","bar");
但是向响应增加一个Cookie时,要传递一个Cookie对象。需要在Cookie构造函数中设置Cookie名和值。
Cookie cookie = newCookie("name",name);
在写至响应的HTML中,URL重写把会话ID增加到其中所有URL的最后。
会话ID作为请求URL最后的“额外”信息再通过请求返回
如果客户不接受cookie,URL重写会自动发生,但是必须显式地对所有URL编码。
要对一个URL编码,需要调用response. encodeURL(String)。
out.println("<a href='" + response.encodeURL("/BeerTest.do") + "'>click me</a >") ;
没有办法对静态页面完成自动的URL 重写,所以,如果你依赖于会话,就必须使用动态生成的页面。
重定向 response.encodeRedirectURL("res.jsp");
设置会话超时
好消息: 你不用自己来跟踪。看到上-- 页的那些方法了吗? 无需你使用这些方法来删除无用的(不活动的) 会话。这些事情容器会为你做的。
会话有3种死法:
1、超时。
2、你在会话对象上调用invalidate( )。
3、应用丝束(崩溃或取消部署)
(1)在DD中配置会话超时
在DD中配置会话超时与在所创建的每一个会话上调HsetMaxInactiveInterval()有同样的效果。
<session-config>
<session-timeout>15</session-timeout>
</session-config>
15分钟过期
(2)设置一个特定会话的会话超时
如果你想改变某个特定会话实例的session-timeout值(而不影响应用中其他会话的超时时间) : session.setMaxInactiveInterval(20 * 60);
不要把Cookie和首部混为一谈
向响应增加一个首部时,要把名和值String作为参数传入: response.addHeader("foo","bar");
但是向响应增加一个Cookie时,要传递一个Cookie对象。需要在Cookie构造函数中设置Cookie名和值。
Cookie cookie = newCookie("name",name);
response.addCookie(cookie);
阅读全文
0 0
- 06. 会话管理
- 管理会话
- 管理会话
- 会话管理
- 会话管理
- 会话管理
- 会话管理
- 会话管理
- 会话管理
- 会话管理
- 会话管理
- 会话管理
- 管理会话
- 会话管理
- 会话管理
- 会话管理
- 会话管理
- 会话管理
- ANDROID下使用PROPERTIES文件保存程序设置
- Activity之间传递数据的三种方式详解
- 深入浅出,Handler机制外科手术式的剖析(ThreadLocal,Looper,MessageQueen,Message)(上)
- ViewPagerIndicator
- Angular初体验
- 06. 会话管理
- 根据指定字符长度截取字符串(包含中英文)
- 各种自用测试软件激活
- 算法设计课作业系列1——Maximum Subarray
- HDU 3996 Gold Mine(最大权闭合图)
- spring mybatis 项目源码
- 在Eclipse中测试MySQL-JDBC(11)关于mysql事务管理,JDBC事务管理,回滚点
- 电商营销方式抢购,秒杀Redis原子出队列lpop方法作为剩余库存判断条件的实现方式(2)
- IDEA 内存溢出 OUT of Memory问题