web应用程序状态管理

来源:互联网 发布:淘宝同款图片 编辑:程序博客网 时间:2024/05/18 00:03

Web应用程序状态管理概述(http协议使用的是无状态连接)

1)  客户端和web服务器建立连接

2)  客户端发送http请求

3)  服务器端接收客户端的http请求,生成http响应回发

4)  服务器端关闭连接,客户端解析回发响应,恢复页面

连接只针对一个请求/响应,解决方案:

1)  表单隐藏字段

用途:对用户在网站上的访问进行会发跟踪

            对服务器端程序提供预定义的输入

      存储动态产生的页面上下文信息

缺点:每个页面都必须是动态生成

2)  Cookie

原理:服务器在响应请求时将一些数据以‘键-值’对的形式通过响应信息保存在客户端

缺点:不保密

3)  URL重写

当用户禁用cookie时,使用URL地址重写,客户端将一些额外的数据追加到标识会话的每一个URL地址末尾

4)  Session回话跟踪

Session对象:服务器为客户端创建并维护的用于存放客户状态数据的对象,该对象保存在服务器上

优点:session回话跟踪使得web应用程序开发人员不需要关心太多的细节,不必明确使用cookie或追加到URL的信息,就可以自动方便地存储与每个会话相关的任意对象

Cookie中中文:URLEncoder.encode(“中文”)

     读取中文:URLDecoder.decode(value)

每条cookie限制大小为4k,注意…

- 某些用户关闭了cookie,因此即使使用cookie为站点添加了功能,也不应该依赖于这些cookie

- 使用cookie的web应用程序编写人员,不要将其于特别敏感的信息,eg:password

要将cookie发送到客户端

-         创建一个或多个cookie,使用构造方法指定cookie的名字或值

-         使用setXXX方法为cookie设置可选属性

-         使用httpservletResponse对象的addcookie()方法将cookie插入到响应头中

读取客户端传入的cookie

-         使用httpservletRequest对象的getcookies()方法返回一个cookie对象数组

-         Servlet遍历该数组(调用getName()),直到找到与名称相匹配的cookie值

1 0