这几天项目途中遇到了各种404报错,首先整个项目的框架是ssm,服务器apache tomcat7.0.52
1.web.xml配置问题。
项目第一运行首先是进入web.xml寻找需要打开的网页,如下代码。
服务器会从第一个开始访问,如果没有找到继续下一个直到找到为止,如果全部页面都找不到那么就会报404。
这时我们就要看看自己项目下的文件结构,看看自己需要先打开的页面的位置是否和web,xml配置的文件位置是否一致。
2.spring mvc 前端控制器配置拦截所有请求,将除jsp的其他资源全部拦截了。
什么是前端控制器?主要负责将url请求处理转发给controller对应的组件。组件就是HanlerMapping,也就是通常我们写的@RequestMapping这个注释,当url和该注释里映射的url对应则执行其对应的controller。
我们配置前端控制器一般是在web.xml里
如果我们里面拦截的请求是"/"那么我们除jsp所有的静态资源都会被拦截,所有我们得.html,以及js css文件无法加载,所以会出现404。解决方法有很多首先我们拦截请求可以改为*.do那么前端控制器就只会拦截以.do结尾的请求。那么其他文件就能正常访问,但是我们页面请求url记得加.do
3 控制台输出的信息
很多的时候我们的页面这些都没有错,但是在加载配置文件时比如mapper.xml里面配置错了,以及一些其他的错误,对于这些错误也会报404,且我们在控制台可以看到输出的错误信息。