cookie被禁止后怎样使用session?
来源:互联网 发布:mac内存占用过大 编辑:程序博客网 时间:2024/04/30 00:34
Java Servlet API 中引用 Session 机制来追踪客户的状态。Servlet API 中定义了 javax.servlet.http.HttpSession 接口,Servlet 容器必须实现这个接口。当一个 Session 开始时,Servlet 容器将创建一个 HttpSession 对象,Servlet 容器为 HttpSession 分配一个唯一标识符,称为 Session ID。Servlet 容器将 Session ID 作为 Cookie 保存在客户的浏览器中。每次客户发出 HTTP 请求时,Servlet 容器能够从 HttpRequest 对象中读取 Session ID,然后根据 Session ID 找到相应的 HttpSession 对象,从而获取客户的状态信息。
当客户端浏览器中禁止 Cookie,Servlet 容器无法从客户端浏览器中取得作为 Cookie 的 Session ID,也就无法跟踪客户状态。
Java Servlet API 中提出了跟踪 Session 的另一种机制,假如客户端浏览器不支持 Cookie,Servlet 容器能够重写客户请求的 URL,把 Session ID 添加到 URL 信息中。
HttpServletResponse 接口提供了重写 URL 的方法:public java.lang.String encodeURL(java.lang.String url)
该方法的实现机制为:
● 先判断当前的 Web 组件是否启用 Session,假如没有启用 Session,直接返回参数 url。
● 再判断客户端浏览器是否支持 Cookie,假如支持 Cookie,直接返回参数 url;假如不支持 Cookie,就在参数 url 中加入 Session ID 信息,然后返回修改后的 url。
我们能够对网页中的链接稍作修改,解决以上问题:
修改前:
<a href=“login.jsp“>
修改后:
<a href=“<%=response.encodeURL(“login.jsp“)%>“>
sessionId会自动加在url后面。
- cookie被禁止后怎样使用session?
- cookie被禁止后怎样使用session的解决方案
- 用户禁止cookie后,如何继续使用session
- 用户禁止cookie后,如何继续使用session
- 用户禁止cookie后,如何继续使用session
- 关于PHP中浏览器禁止Cookie后,Session能使用吗?
- 关于PHP中浏览器禁止Cookie后,Session能使用吗?
- 禁用cookie后,使用session
- 浏览器禁用Cookie后PHP怎样实现session会话保持
- 浏览器禁用cookie后,怎么使用session
- 禁用cookie后,如何使用session?
- 用户禁止cookie以后,如何继续使用session
- Session的底层就是Cookie原理,Cookie禁止后的URL重写
- Session跟Cookie有什么关系?假如IE禁止使用cookie,那Session还有用吗?
- 怎样理解cookie和session
- cookie被禁用了,怎样读取session值
- 浏览器禁用cookie后,怎么使用session,求解决方案
- 浏览器禁用cookie后,非共享使用session
- 多进程与多线程的区别:
- 【js与jquery】三级联动菜单的制作
- 微软企业库4.1学习笔记(三十六)日志模块 简介
- 线程与进程的区别与联系
- 微软企业库4.1学习笔记(三十七)日志模块 在应用中使用日志模块
- cookie被禁止后怎样使用session?
- 微软企业库4.1学习笔记(四十一)依赖注入模块Unity 简介
- c++虚函数 讲解
- 关于日志模块的设计
- eclipse xml文件中按alt+/没有提示信息
- tomcat log日志文件解析 LinkedHashMap遍历
- windows文件在ubuntu上乱码的问题
- 关于中断的一点点认识
- 用VS2008制作Excel2007AddIn项目安装包