Struts2项目中,Tomcat在启动时,为struts2做了哪些初始化

刘正权 2014-10-22 08:30:50
struts2内部是基于filter的,小弟在研究struts2的运行机制,Tomcat启动时,为struts2完成了哪些初始化呢?
...全文
295 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
刘正权 2014-11-27
  • 打赏
  • 举报
回复
感谢上面两位道友的支持。 最近我对SSH进行了总结,希望对大家有帮助: 1、 Spring的加载方式Listener org.springframework.web.context.ContextLoaderListener 2、 SpringMVC的启动方式是Servlet org.springframework.web.servlet.DispatcherServlet 3、 Struts2的初始方式是Filter org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter Listener >> Filter >> Servlet Listener Listener是监听,Spring使用Listener,是使用它监听web项目的部署。一旦有项目部署,那么Listener首先起作用。他会根据Spring的配置文件ApplicationContext.xml,创建Spring的各种Bean,以及依赖关系; Spring也是一个容器,Tomcat容器内部的容器。 Filter 然后启动Filter,Filter也是在项目部署前创建好的,因为一个请求过来如果Filter还没有创建好,那么Filter就没有办法拦截了。如Struts2的Filter,项目启动的时候,加载完Spring的配置文件,就开始创建Filter。加载Struts2的配置。 Servlet Servlet不一样,Servlet是在项目运行中,有请求过来的时候再创建。只不过在SpringMVC中,我们都会通过设置load-on-startup 为较小值,让它尽快启动。 拦截器 拦截器的创建,其实拦截器是由Spring管理的,所以拦截器是在Listener启动的时候创建的,即在Filter创建之前创建。 拦截器的内部实现,其实是把每个拦截器都放在一个list里面,依次取出执行。
贫道望青楼 2014-10-23
  • 打赏
  • 举报
回复
web.xml struts.xml 这两个配置文件里你配置的内容都做了初始化。还有可能有其他配置文件也做了初始化。
Magical茏 2014-10-22
  • 打赏
  • 举报
回复
你看tomcat 启动的时候 打印的日志里 会显示struts哪些类初始化了

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧