<mvc:default-servlet-handler/>不拦截静态资源的前提条件

来源:互联网 发布:java 继承多个类 编辑:程序博客网 时间:2024/06/05 03:26

起因

用Springmvc作为Controller层的跳转框架,写完前端页面放入jsp后发现使用Springmvc把静态资源拦截了,无法加载像js,css,jgp这样格式的资源,因为在servlet-mapping里做的映射路径是拦截所有,代码如下:

    <servlet-mapping>        <servlet-name>graduation</servlet-name>        <!-- 拦截所有请求,静态资源也会被拦截 -->        <url-pattern>/</url-pattern>    </servlet-mapping>

解决方法

百度查了一下,一共是分为三种方法,但是个人认为能用简单的方法就不用难的,所以采用在springmvc.xml里配置如题的一个标签,可是它的作用是有前提的(静态资源的放置路径问题):
springmvc.xml
配置代码如下:

    <!-- 配置mvc注解驱动 -->    <!-- 例如@resquestmapping这类的 -->    <mvc:annotation-driven />    <!-- -->    <mvc:default-servlet-handler/>

而这个标签起作用的前提就是需要我们把静态资源放在webapp下,而非WEB-INF下,否则还是会无效,如下图,我这里搭建工程是maven,所以我是把资源放在了webapp下,最后成功访问经过加载css,js样式的界面。

这里写图片描述

1 0