同个Tomcat下部署两个项目,一个可以另一个不可以,出现404

喜你入骨 提交于 2020-04-07 12:39:35

同个Tomcat下部署两个项目,一个可以另一个不可以,出现404

问题场景:

    项目A在Tomcat下部署,一切正常,正常运行,正常访问页面。然后现在有一个项目B,进行B项目的模块开发。部署时候,A项目和B项目两个都放到Tomcat下去,运行Tomcat后,A项目依旧正常访问,B项目却出现404,怎么也访问不成功。

问题原因分析:

  1. 项目B自身,在没有A项目部署的时候,是否正常,如自身已经出现代码问题,先修改自身项目代码问题
  2. 若代码方面没出问题,但是依旧无法访问,那么找项目中配置的地方,看看是否正确,具体配置看具体的项目情况
  3. 若以上都正常时,将A项目和B项目一起部署出现了问题,两个中一个正常另一个无法访问,这可能原因是两个项目的默认webAppRootKey一致,有可能项目B是通过拷贝A项目而来的,在A项目基础上进行修改,开发的。

解决方案:

     第一种和第二种情况,只能开发者自己去找项目中的问题了,第三种解决方法是在应用的web.xml文件中,配置不同的webAppRootKey,<param-value>值定义成不同的,保持在Tomcat下部署的那些项目有不同的webAppRootKey即可.

以下是参考配置的代码

	<!-- 应用路径 -->  
	<context-param>  
	    <param-name>webAppRootKey</param-name>  
	    <param-value>webapp.root.name</param-value>  <!--  这里的值可以根据不同项目进行配置 -->
	</context-param>  
	  
	<!-- 项目根目录Listener -->  
	<listener>  
	    <listener-class>org.springframework.web.util.WebAppRootListener</listener-class>  
    </listener>  

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!