2019独角兽企业重金招聘Python工程师标准>>>

注意: 阅读下文前,建议去看下JCP的Servlet规范。

1.javax.servlet.http.HttpSession接口

图1 HttpSession接口

可以通过setAttribute方法在HttpSession中设置属性,那么有个问题,web容器中,底层上这个HttpSession的数据结构是什么?

Tomcat-8.0.0中,有个StandardSession实现了HttpSession,这个StandardSession中有个attributes属性,如下List-1所示,底层上用ConcurrentHashMap来作为HttpSession的底层数据结构,保证并发操作的线程安全。

List-1 

/*** The collection of user data attributes associated with this Session.*/
protected Map<String, Object> attributes = new ConcurrentHashMap<>();

invalidate方法,是指清空HttpSession中的所有数据,即在Tomcat-8.0.0中,清空底层attributes中的所有数据。

转载于:https://my.oschina.net/u/2518341/blog/1864031

SpringFramework之javax.servlet.http.HttpSession相关推荐

  1. 【servlet】HttpSession、HttpServletRequest实现数据共享、监听器、过滤器

    HttpSession接口(一) 如果两个Servlet来自于同一个网站.并且为同一个浏览器/用户提供服务, 此时借助于HttpSession对象进行数据共享 开发人员习惯于将HttpSession接 ...

  2. org.springframework.web.servlet.DispatcherServlet‘ is not assignable to javax.servlet.Servlet

    SpringMVC web.xml文件配置 报错:org.springframework.web.servlet.DispatcherServlet' is not assignable to jav ...

  3. HTTP Status 500 - javax.servlet.ServletException: java.lang.OutOfMemoryError: PermGen space

    详细错误信息 HTTP Status 500 - javax.servlet.ServletException: java.lang.OutOfMemoryError: PermGen spacety ...

  4. Could not autowire field: private javax.servlet.http.HttpServletRequest

    在写单元测试类的时候,报错,废了很大劲才给调试好,给大家分享下. 完整错误如下: Caused by: org.springframework.beans.factory.BeanCreationEx ...

  5. java 构造函数抛出异常,构造函数抛出异常;嵌套异常是java.lang.NoClassDefFoundError:javax/servlet/ServletContext...

    我正在尝试使用MockMVC设置Junit测试. 从这个link – "要么不能使用Servlet API,要么你需要在类路径上提供它". 我在pom.xml中添加了以下内容但是没 ...

  6. 解决Tomcat下IntelliJ IDEA报错java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener

    解决Tomcat下IntelliJ IDEA报错java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener   笔者在做代 ...

  7. java.lang.ClassNotFoundException: javax.servlet.Filter

    java.lang.ClassNotFoundException: javax.servlet.Filter:有两个原因:(1)在maven中的作用域,不能是provided,需要是compile就是 ...

  8. HTTP Status 500 - javax.servlet.ServletException: File [/head.jsp] not found

    完整错误信息 HTTP Status 500 - javax.servlet.ServletException: File [/head.jsp] not found type Exception r ...

  9. javax.servlet.ServletException: Could not resolve view with name ‘***‘ in servlet

    javax.servlet.ServletException: Could not resolve view with name 'employee/login' in servlet with na ...

最新文章

  1. 学习Unix/Linux编程要学些什么
  2. postgresql mysql fdw_PostgreSQL使用MySQL外表(mysql_fdw)
  3. 常见数据结构的 Python 实现(建议收藏)
  4. html css外接修改无效,HTML外部引用CSS文件为什么会不生效
  5. Codeforces Round #630 (Div. 2) E. Height All the Same 排列组合
  6. java this用法_java中this用法小结
  7. php 自动验证类,Thinkphp实现自动验证和自动完成
  8. JAVA学生信息管理系统IO流版
  9. 基于JAVA+SpringBoot+MYSQL的医院预约挂号平台
  10. Mycat 分布式事务的实现
  11. 计算机一级excel 试题及答案,计算机一级excel考试试题及答案
  12. SIFT算法流程介绍
  13. html 实现b站弹幕,可实现B站 蒙版弹幕 效果的前端组件 —— Barrage UI
  14. ipv4 pxe 联想start_PC开机出现Start pxe over ipv4解决办法 PC重启后显示start pxe over IPv4...
  15. Hibernate 第一个程序的问题Unknown entity(新手必看)
  16. 记录一下mac mini 2018 的折腾过程
  17. 十年育林,百度NLP已枝繁叶茂
  18. win10计算机 需要新应用,手把手为你win10系统商店出现“需要新应用打开此ms-windows-store”的还原步骤...
  19. 拉格朗日四平方和定理
  20. Linux Rootkit躲避内核检测

热门文章

  1. 依赖注入与对象间关系
  2. 单调队列以及单调队列优化DP
  3. Ubuntu apt-get和pip国内源更换
  4. Android 之 ProgressDialog用法介绍
  5. PHP在不同页面间传递Json数据示例代码
  6. oracle和mysql分组排序取第一条数据
  7. SpringBoot集成MyBatis-Plus分页插件
  8. Linux配置yum源(离线和在线)
  9. 解决layui laydate动态创建多个时不起作用点击无效的问题
  10. Tomcat映射虚拟目录的三种方式(2021版)