博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC初写(三)Controller的生命周期
阅读量:6859 次
发布时间:2019-06-26

本文共 664 字,大约阅读时间需要 2 分钟。

Spring框架默认创建的对象的方式是单例,所以业务控制器Controller也是一个单例对象

由此可证明,无论是同一次请求还是同一次会话和不同请求它的对象都是相同的

然而由于对象是单例的,随之而来的产生了两个问题:

  1. 请求数据如果放在成员变量上面,会相互影响。
  2. 在处理请求比较多的时候,请求使用同一个对象处理,会导致阻塞

SpringMVC提供了request,session两个生命周期处理上述的问题

request:每次新的请求,创建一个实例

session:每次会话创建一个新的实例,就是同一个浏览器,就使用同一个实例

 

每个请求创建一个实例,类似多例“prototype”

由于每次请求都会产生新的对象,对内存的消耗比较大一般不推荐使用

 

每次会话(Session),创建一个实例

相同浏览器访问默认为同一个会话(Session)

 

注意事项:在配置request,session生命周期时,需要在配置文件中加入<mvc:annotation-driven />标签,因为由于历史原因,SpringMVC的内核是使用XML编写的,而注解的支持类似系统不定的方式加入到框架里面,后来出现了很多注解有,而配置文件没有的功能,这些功能就通过<mvc:annotation-driven />标签扩展加入。

常用依赖该标签的功能如下:

  1. 作用域request、session的支持
  2. 放开静态资源的访问
  3. 上传组建的支持
  4. JSON的支持

 

转载于:https://www.cnblogs.com/lch-Hao/p/10763801.html

你可能感兴趣的文章
HTTP慢速DOS(slow http denial of service attack)
查看>>
图片水印
查看>>
Quart2D的基本介绍
查看>>
Lua点号和冒号区别
查看>>
STL基础
查看>>
有没有人要贪吃蛇的代码,然而有....................
查看>>
Spring Data JPA 进阶
查看>>
linux的top命令参数详解
查看>>
spring常用注解
查看>>
Material Menu
查看>>
Win8 环境变量位置
查看>>
margin负值的应用总结
查看>>
分页查询
查看>>
iLBC
查看>>
Linux 本地yum源搭建和网络yum源搭建
查看>>
HDU 5781 ATM Mechine
查看>>
使用Nginx搭建Tomcat9集群,Redis实现Session共享
查看>>
Extjs4.1 序列化和反序列化
查看>>
git 最常用命令
查看>>
iOS self 和 super 学习
查看>>