首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

Spring容器启动后自动执行Servlet开展预处理

2013-11-08 
Spring容器启动后自动执行Servlet进行预处理通常做法是定义一个Servlet,并在web.xml中配置Servlet的启动顺

Spring容器启动后自动执行Servlet进行预处理
通常做法是定义一个Servlet,并在web.xml中配置Servlet的启动顺序<load-on-startup>的值在DispatcherServlet之后。但这样做的缺点是在Servlet中无法使用Spring的依赖注入功能,只能使用WebApplicationContext的getBean()方法获取bean。

找到的解决办法如下:

1、自定义一个用于代理启动Servlet的类DelegatingServletProxy:


<servlet>    <description></description>    <display-name>InitialServlet</display-name>    <servlet-name>initialServlet</servlet-name>    <servlet-class>cn.edu.swu.oa.common.util.DelegatingServletProxy </servlet-class>    <load-on-startup>2</load-on-startup>  </servlet>  <servlet-mapping>    <servlet-name>initialServlet</servlet-name>    <url-pattern>/InitialServlet</url-pattern>  </servlet-mapping>

完成这些操作后,就可以在Spring容器启动后执行自定义的Servlet,并且在自定义Servlet中可以使用Spring Annotation的自动注入功能。

热点排行