读书人

解决Tomcat反复加载Spring配置文件

发布时间: 2012-08-31 12:55:03 作者: rapoo

解决Tomcat重复加载Spring配置文件

当我们为自己的Web应用而改动Tomcat中conf/server.xml,可以不录入项目路径就可以访问应用.

但是更改完毕后,启动Tomcat会发现一种现象就是重复加载Spring配置文件。

?

现象:

控制台端会输出日志:

Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host>

改动后server.xml配置

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">    <Context path="" docBase="frms4j" reloadable="true"/> </Host>

?

原理:

在Web环境里,会使用ContextLoader构造ApplicationContext后,压进Servlet Context。

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host><Host name="localhost" appBase="newWebapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="../webapps/frms4j" reloadable="true"/> </Host>优点:不影响Eclipse的集成部署<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="../myapps/frms4j" reloadable="true"/> </Host><Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="/myapp/frms4j" reloadable="true"/> </Host>

?

读书人网 >Web前端

热点推荐