IDEA下用Tomcat正常启动Spring MVC项目,但把war包放入webapps下却访问404
问题描述: 如题,自己的问题非常具有特殊性…
出错原因:
- 混淆了IDEA下配置的Application Context与直接部署在webapps下的项目的url的相互关系
- 误写了拦截器的Response方法
具体过程:
在IDEA下配置的tomcat的这个Application context对生成的war是没有关系的,图中是war exploded,war也是一样的。但是如果我们用IDEA来启动项目,确实通过url访问到的就是我们配置后的url。
在用IDEA启动项目后,war包并没有部署到了tomcat的webapps,而是直接在项目下生成了target,那么IDEA肯定是除了“告诉”tomcat你要deploy这个war包还有修改某些配置文件,至于修改了什么下面再讲。
如果直接把war包部署在webapps下,那么url就是 “域名/<war包的名字>”。
而如果这样,我也就不会一直报404了,中间经过了很多尝试都不奏效,最后还是学长帮我找出了问题所在(超级感谢)。
httpServletResponse.sendRedirect(httpServletRequest.getContextPath()