会话管理1

来源:互联网 发布:家庭百兆千兆复合网络 编辑:程序博客网 时间:2024/06/06 06:57

这主要是看书过程中一些东西记录,如果有人看到书上和我写的差不多的话,可能咱俩看的同一本书《jsp&Servlet》林信良第二版。



我们知道web应用程序的请求与响应式基于http,为无状态的通信协议。一次请求对应一次响应,不会记得上次的请求。但是有的功能必须由多次的请求完成。

实现会话管理的基本方式有三种:

1.隐藏域

2.Cookie

3.URL重写


现在一种一种介绍:

1.隐藏域;在http协议中服务器没有记忆功能,每次的请求对于服务器来说都是新的请求。服务器不会记得两次请求之间的关系,那我们可以告知服务器这两次请求之间的关系,而服务器只要单纯的实现每次请求就好了。而隐藏域就是主动告知服务器多次请求之间必要信息的方式之一。比如有一个调查问卷,第一卷有两个问题,p1q1,p1q2,(第一次请求)第二卷有两个问题(第二次请求),那么只要在第二卷里告诉这次请求中第一次请求就行<input type="hidden" name="p1q1' value=""> <input type="hidden" name="p1q2" value="">(参考林信良的jsp&Servlet一书)


2.Cookie.Cookie是在浏览器里存储信息的一种方式,服务器可以响应set-cookie 标头,浏览器收到这个标头与数值之后,会将它一文件的形式存储在计算机上,这个文件就是cookie,Servlet提供了创建,设置和读取cookie的api。创建可以用cookie类,创建时指定Cookie中的名称和数值,并使用httpservletResponse里的addCookie()方法响应新增cookie。用setMaxAge()方法可以设置cookie的有效期。因为cookie的设定是通过set-cookie标头设置,所以必须在实际响应浏览器之前使用addcookie()方法来新增实例。



3.URL重写就是GET请求参数的应用,当服务器响应浏览器上一次请求时,将某些相关信息以超链接方式响应给浏览器。超链接中包括请求参数。