springMVC,springBean,servlet,session及cookie的生命周期

今天呢,想了一下生命周期的东西,想出了五个生命周期,待我慢慢说来。
第一个呢
**

spring bean 的生命周期

**:
1.Spring对bean进行实例化,实例化构造函数构造对象 instantiate

2.装配为属性赋值 populateproperties

3.回调

4.初始化(init-method=" ")

5.就绪

6.销毁(destroy-method=" ")

Spring 中bean 的生命周期短暂吗?

在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一个实例,而不是每次都产生一个新的对象使用Singleton模式产生单一实例,对单线程的程序说并不会有什么问题,但对于多线程的程序,就必须注意安全(Thread-safe)的议题,防止多个线程同时存取共享资源所引发的数据不同步问题。

spring mvc 生命周期:

1.dispatcherServlet会初始化HandlerMapping(请求到各个Controller处理器的映射)

2.dispatcherServlet会初始化HandlerAdapter(调用Controller里需要被执行的方法)

3.dispatcherServlet会初始化handlerExceptionResolver(有异常抛出,会交给它来进行异常处理)

4.dispatcherServlet会初始化ViewResolver(把Controller中调用返回值最终包装成ModelAndView,
如果view是一个字符串,它就负责处理这个字符串并返回一个真正的View,如果view是一个真正的View则不会交给它处理)

这个图片是自己画的,见怪勿怪哈!嘿嘿
在这里插入图片描述
**

servlet 生命周期:

**
1.Servlet 通过调用 init () 方法进行初始化。

2.Servlet 调用 service() 方法来处理客户端的请求。

3.Servlet 通过调用 destroy() 方法终止(结束)也就是销毁。

4.最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的

**

session 的生命周期:

**
Session存储在服务器端,Sessinon在用户访问第一次访问服务器时创建,
需要注意只有访问JSP、Servlet等程序时才会创建Session,
只访问HTML、IMAGE等静态资源并不会创建Session,可调用request.getSession(true)强制生成Session。
用户每访问服务器一次,无论是否读写Session,服务器都认为该用户的Session"活跃(active)"了一次。

Cookie 的生命周期问题:

如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,
cookie就消失了。cookie一般不保存在硬盘上而是保存在内存里

设置Cookie对象的有效时间, setMaxAge()方法便可以设置Cookie对象的有效时间

cookie.setmaxage设置为0时,会马上在浏览器上删除指定的cookie

cookie.setmaxage设置为-1时,代表关闭当前浏览器即失效。

小小的总结一下,应该还好理解吧。

猜你喜欢

转载自blog.csdn.net/nan961136007/article/details/86019407