美文网首页
学习笔记二Session 管理

学习笔记二Session 管理

作者: FadeShadow | 来源:发表于2017-05-28 18:50 被阅读0次

保持状态的四种方法:网址重写,隐藏域,Cookie和HttpSession对象

2.1网址重写

一种session追踪技术,将一个或者多个token作为查询字符串添加到一个URL中

token格式为键=值;

语法:url?key-1=value1&key-2=value2&key-3=value3

缺点:

有些浏览器URL长度有限制

仅当有链接要插入值时,值才能转换成后面的资源

网址重写必须在服务器端有效。所有链接都必须带有值

某些字符需要进行编码

添加到URL的信息是可见的

使用域:

需要保持,不跨越太多页面,信息不太重要

2.2 隐藏域

将值放在HTML表单的隐藏域中。

只有当页面包含表单或者在页面中添加表单的时候,且不需要跨越多个页面时,才会使用隐藏域

2.3 cookie

自动地在web服务器和浏览器之间来回传递的一小块信息,适用于需要跨越许多页面的信息

cookie是作为HTTP标头嵌入的,传输它的过程由http协议处理

创建cookie Cookie cookie = new Cookie(name,value);

可以设置cookie的domain,path,maxAge属性

将cookie发送到浏览器使用HttpServletResponse.add(Cookie cookie)方法

访问浏览器返回的cookie,使用HttpServletRequest.getCookies()方法

要删除cookie,添加一个同名cookie,并将其maxAge设置为0

2.4 HttpSession对象

获取HttpSession对象

HttpServletRequest.getHttpSession()

HttpServletRequest.getHttpSession(boolean create)

方法:

void setAttribute(String name,Object value)  传递已有名称时,关联新值

Object getAttribute(String name)  获取名称对应的值

String getId()   获取HttpSession的标识符

void invalidate()  强制过期

long getMaxInactiveInterval() HttpSession在用户最后一次访问后还可以维持多久

void setMaxInactiveInterval(long millionSeconds)  设置为0时永不过期

相关文章

网友评论

      本文标题:学习笔记二Session 管理

      本文链接:https://www.haomeiwen.com/subject/jpphfxtx.html