通常默认配置的tomcat不会出现二次加载的问题。
问题出现原因,修改server.xml项目默认访问路径。
server.xml对比
默认配置: <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- 修改后配置: <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="/volumes01/tomcat/webapps/futian" debug="0" reloadable="false" /> 这里的docBash配置了默认访问的路径 <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html -->
例如你的项目叫futian
根据tomcat的加载方式,他会先加载 appBash下面的所有项目, appBash下面是项目存放的目录,然后加载配置的默认访问路径docBash.
当你appBash的项目路径和docBash访问路径路径都是webapps下面的futian时候就会把你的项目加载两次
知道加载过程就好办了,我们可以直接把appBash这个参数删除掉(仅限只有你自己一个项目的情况下)。重启。
或者 把你的项目放在你自己创建的目录下,然后docBash的路径指定到你自己创建的项目目录就可以了。