问题表现:

eclipse里使用spring-mvc框架开发web项目,项目正常启动后能访问jsp页面,但jsp页面的网页效果没有生效,并提示jsp文件里提示js找不到,404错误。

(1)初步判断:

在浏览器里debug时,jsp页面提示js文件找不到,提示404错误。由于项目名是littlec-exchange-center,访问时url里是exchangecenter,初步判断是路径有错。

尝试解决:在tomcat的conf路径下查看server.xml配置如下:


可以看到,虽然tomcat下的打包文件路径是littlec-exchange-center,但是访问路径是/exchangecenter。所以路径没有问题。


(2)继续寻找:在浏览器的source视图下找不到js文件,但项目打包到tomcat里有js文件,进一步判断是js等静态文件的访问出现了问题。

尝试解决:在jsp文件相同的路径下,新建一个test.html,里面写入“test”。直接访问localhost:8080/exchangecenter/test.html,还是提示404错误。

可以基本确定是静态资源访问的问题。spring-mvc里面配置静态资源加载的地方在我们定义的dispatcher-servelt.xml文件里,spring-mvc3.0之后,推荐使用配置:

<mvc:annotation-driven/>

<mvc:resources mapping="/resources/**/" location="/resources/"/> 

这样配置后,当p_w_picpath,css已及其他文件放在resources文件中时,spring就可以找到。