在Spring中,如果Spring中的的配置文件比较多又需要在Tomcat启动的时候自动加载,那么在web.xml中配置的时候配置一下启动的顺序。
<servlet>
<servlet-name>remoting</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>namespace</param-name>
<param-value>classes/application-remote</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>myservlet</servlet-name>
<servlet-class>grp.pt.common.GapServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/*-remote.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>remoting</servlet-name>
<url-pattern>/remoting/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SpringContext</servlet-name>
<servlet-class>assp.evoucher.common.util.SpringContext</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>
<!--银行接口WEBSERVICE服务启动 start-->
<servlet>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/servlet/AxisServlet</url-pattern>
</servlet-mapping>
<!--银行接口WEBSERVICE服务启动 end-->
<!-- 凭证自动下载类 -->
<servlet>
<servlet-name>MyStpMessageReceiver</servlet-name>
<servlet-class>assp.evoucher.external.servlet.ReceiveAndParseServlet</servlet-class>
<load-on-startup>4</load-on-startup>
</servlet>
那么有一个很重要的问题,怎么讲那么多的spring配置文件配置到web.xml中呢?
技巧如下
<servlet>
<servlet-name>remoting</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>namespace</param-name>
<param-value>classes/application-remote</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
我们在另外一个XX.xml配置文件中继续配就行了:
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<import resource="classpath:common-remote.xml" />
<import resource="classpath:evoucher-remote.xml"/>
</beans>