Springboot项目使用外部tomcat部署时添加工程名遇到的路径无法访问问题
问题描述
很多人在做Springboot项目时,都是采用Springboot内置的tomcat容器,所以测试时不需要添加工程名就可直接访问请求路径,但是一旦到了真正部署项目的到外部tomcat的时候,就会出现路径无法访问,404等问题,很多人的第一反映就是直接在源代码访问路径里面直接修改,添加项目工程名,但是这样很麻烦,而且不一定有效。
$.ajax({
type : 'post',
url : 'http://localhost:8080/项目名/login',
data : $("#login-form").serialize(),
success : function(datas) {
问题解决
方法一
将你的项目war放到外部tomcat的webapps下,运行解压,然后将项目名称改成ROOT,替换掉原来已有的ROOT文件夹。
方法二
修改tomcat的默认访问路径,在外部tomcat的conf文件夹里找到 server.xml文件,修改以下内容:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!--添加Context,path为空,docBase是你的外部tomcat按照目录加项目名-->
<Context path="" docBase="E:\tomcat\apache-tomcat-9.0.31\webapps\项目名"> </Context>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>