一、Java Servlet API使用Session来跟踪会话和管理会话内的状态。利用Session,服务器把一个客户的所有请求联系在一起,并记住客户的操作状态。当客户第一次连接到服务器时,服务器为其建立一个Session,并分配给客户一个唯一的标识(Session ID),以后客户每次提交请求,都要将标识一起提交。
二、在Servlet规范中,采用下列三种机制用于会话跟踪
1、SSL(Secure Socket Layer):安全套接字层,是一种运行在TCP/IP之上和像HTTP这种应用层协议之下的加密技术。
2、Cookies:是一种由服务器发送给客户的片段信息,存储在客户端浏览器的内存中或硬盘上,在客户随后对该服务器的请求中发回它。
3、URL重写:当客户端不接受Cookie的时候,可以使用URL重写的机制来跟踪用户的会话,就是在URL中附加标识客户的Session ID,Servlet容器解释URL,取出Session ID,根据Session ID将请求与特定的Session关联
三、javax.servlet.http.HttpSession接口封装了Session,当请求一个会话的时候,Servlet容器就创建一个HttpServlet对象,要得到一个Session对象,可以调用HttpServletRequest接口的getSession()方法,如下所示
四、当浏览器中禁用Cookie,则应用URL重写机制跟踪用户会话,在使用URL重写机制时,所有的链接和重定向语句中的URL都需要调用encodeURL()或encodeRedirectURL()方法进行编码,编码后浏览器地址栏内会看到 jsessionid=ADIEPCKDKCKCPDOFELLCSLCOPWKQ,CKDLA 的字母串
五、Cookie的应用,如果浏览器启用Cookie,当浏览器第一次访问服务器时,由服务器创建一个Cookie文件,存放于客户端的内存或硬盘上,之后该浏览器每次访问服务器时都会自动提交Cookie中的信息,方便服务器跟踪会话,javax.servlet.http.Cookie类中方法
二、在Servlet规范中,采用下列三种机制用于会话跟踪
1、SSL(Secure Socket Layer):安全套接字层,是一种运行在TCP/IP之上和像HTTP这种应用层协议之下的加密技术。
2、Cookies:是一种由服务器发送给客户的片段信息,存储在客户端浏览器的内存中或硬盘上,在客户随后对该服务器的请求中发回它。
3、URL重写:当客户端不接受Cookie的时候,可以使用URL重写的机制来跟踪用户的会话,就是在URL中附加标识客户的Session ID,Servlet容器解释URL,取出Session ID,根据Session ID将请求与特定的Session关联
三、javax.servlet.http.HttpSession接口封装了Session,当请求一个会话的时候,Servlet容器就创建一个HttpServlet对象,要得到一个Session对象,可以调用HttpServletRequest接口的getSession()方法,如下所示
- public HttpSession getSession()
- public HttpSession getSession(boolean create)
四、当浏览器中禁用Cookie,则应用URL重写机制跟踪用户会话,在使用URL重写机制时,所有的链接和重定向语句中的URL都需要调用encodeURL()或encodeRedirectURL()方法进行编码,编码后浏览器地址栏内会看到 jsessionid=ADIEPCKDKCKCPDOFELLCSLCOPWKQ,CKDLA 的字母串
- "<form method=post action="+res.encodeURL("login")+">")
- "<a href="+res.encodeURL("login")+">登录</a>")
- res.sendRedirect(res.encodeRedirectURL("login"));
五、Cookie的应用,如果浏览器启用Cookie,当浏览器第一次访问服务器时,由服务器创建一个Cookie文件,存放于客户端的内存或硬盘上,之后该浏览器每次访问服务器时都会自动提交Cookie中的信息,方便服务器跟踪会话,javax.servlet.http.Cookie类中方法
- public Cookie(String name, String value)
- public String getComment()
- public void SetComment()
- public String getDomain()
- public void setDomain()