servlet 与 SpringMvc的处理器和拦截器
servlet的容器,jetty和tomcat。
在tomcat中真正管理servlet的容器是context容器,一个context容器就代表一个web应用。
servlet的生命周期:
tomcat容器启动的时候就实例化servlet,在初始化过程中通过servlet的init方法初始化,并将servlet的需要的数据传给它,当有请求的时候就调用其service方法进行服务,当servlet从容器中移除的时候就调用其destroy方法,将其销毁。
tomcat容器使用的设计模式:
观察者模式:负责监督状态转化。
门面模式:按照需要的数据提供,不将所有的数据暴露出来。
SpringMvc的处理器拦截器HandlerInterceptor
包含三个方法:
preHandler:进入处理器前做的预处理:判断是否合法,是否登陆
postHandler:后处理,预处理通过后进入处理器
afterCompletion:请求结束后做的处理。
prehandler过程没有通过,则不会跳到postHandler,做相应的响应后,直接执行afterCompletion方法。
使用的设计模式:
适配器模式:不需要所有的方法,只需要使用其中的一部分。
问题:
1、servlet什么时候从容器移除?
2、SpringMVC和servlet的Filter的区别?