深入了解IT/互联网行业及岗位,请参阅通用IT/互联网岗位招聘计划(最新全岗版)。
深入了解职业晋升及学习路线,请参阅最优职业晋升路线和课程学习指南(最新全栈版)。
内容导航:
- 前言
- 1、HttpSession接口-如何获得该接口类型对象
- 2、HttpSession接口中定义的方法
- 3、HttpSession中与属性有关的方法
前言
HttpSession接口。
1、HttpSession接口-如何获得该接口类型对象
Servlet API中,定义了HttpSession接口,用来封装会话对象。
HttpSession是接口,不能直接用new创建对象,会话对象是容器创建的,使用HttpServletRequest中的方法获得会话对象。
- public HttpSession getSession():获取跟当前请求相关的session,如果不存在session,就创建一个新的session对象返回。
- public HttpSession getSession(boolean create):如果参数create值为true,与无参的getSession方法等同。如果参数create的值是false,那么如果不存在与当前请求相关的session对象,则返回null,如果存在则直接返回会话对象。
JSP文件中使用会话对象的方法 - JSP文件中有内置对象session,可以直接调用HttpSession接口中任意方法
2、HttpSession接口中定义的方法
HttpSession接口中定义了一系列的方法
序号 | 名称 | 简介 | 简介 |
---|---|---|---|
01 | void | setAttribute(String key,Object value) | 以key/value的形式保存对象值。 |
02 | Object | getAttribute(String key) | 通过key获取对象值 。 |
03 | void | removeAttribute(String key) | 通过key删除属性。 |
04 | int | getMaxInactiveInterval() | 获取session的有效非活动时间,以秒为单位。 |
05 | void | setMaxInactiveInterval (int interval ) | 设置session的最大非活动时间,以秒为单位,超时将被销毁。 |
06 | String | getId() | 获取session对象的编号。 |
07 | void | invalidate() | 设置session对象失效。 |
08 | boolean | isNew() | 判断一个session是不是一个新创建的会话对象。 |
3、HttpSession中与属性有关的方法
HttpSession接口中定义了三个与属性有关的方法,包括setAttribute以及getAttribute、removeAttribute,分别用来存属性、取属性、删除属性。
这三个方法的声明与HttpServletRequest种的与属性相关方法完全相同。
会话属性与请求属性区别:
- 主要区别是有效范围不同。请求中的属性只在当前的请求对象中有效。只有通过请求转发时,才能把当前请求对象转发到下一个资源,其他情况都生成新的请求,所以请求属性也不再可用
- 会话属性在会话对象中有效。客户端与服务器连接后,只要没有关闭浏览器,服务器也没有出现异常,就是一次会话,会话属性就一直有效。
- 由于会话对象有效时间长,所以安全性相对低,所占资源相对多,因此:请求属性可以解决的问题就用请求,必须用会话的才用会话。
好好学习,天天向上!继续下一章…👏👏👏👏👏👏
感谢您阅读,如果对作者其它文章也很感兴趣,请扫码关注!🚀🚀🚀🚀🚀🚀