有些时候我们在使用SpringMVC的时候造成无法访问静态资源文件(如:html,js,css,image等等)。其主要的原因出在web.xml文件我们设置SpringMVC前端控制器的映射路径
<servlet>
<servlet-name>spmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-web.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
上面代码中的
解决方法一:在springmvc-web.xml中添加资源映射
这样我们就可以直接访问该文件夹下的静态内容了,如下路径:
http://localhost:8090/firstapp/images/cookie.png
http://localhost:8090/firstapp/js/jquery-1.11.2.js
WEB-INF是Java的WEB应用的安全目录。所谓安全就是客户端无法访问,只有服务端可以访问的目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。
当然,你非要放在WEB-INF中,则必须修改resources映射,配置文件中代码如下
解决办法二:使用默认的静态资源处理Servlet处理静态资源(涉及spring-mvc.xml, web.xml)
解决办法三:将DispatcherServlet的URL映射改成*.do的形式,这样在访问静态资源文件就不会被拦截到
手机扫一扫
移动阅读更方便
你可能感兴趣的文章