Spring MVC 自学杂记(七) -- 去掉静态资源的拦截

来源:互联网 发布:nginx 子域名映射端口 编辑:程序博客网 时间:2024/06/05 08:44

Spring MVC

1、当springMVC配置前端控制器拦截的所有请求时,去掉静态资源的拦截


1、前端控制器的配置

    <!-- springmvc的前端控制器 -->    <servlet>        <servlet-name>springMVC</servlet-name>        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>        <!-- contextConfigLocation不是必须的        如果不配置contextConfigLocation        springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml" -->        <init-param>            <param-name>contextConfigLocation</param-name>            <param-value>classpath:spring/springmvc.xml</param-value>        </init-param>        <load-on-startup>1</load-on-startup>    </servlet>    <servlet-mapping>        <servlet-name>springMVC</servlet-name>        <url-pattern>/</url-pattern>    </servlet-mapping>

/ 表示拦截所有的请求,包括静态资源

<url-pattern>/</url-pattern> --表示拦截所有的请求,包括静态资源

2、去静态资源拦截有三种方式

1、在web.xml中配置映射2、在springMVC.xml中配置映射3、在springMVC.xml中添加静态资源默认Servlet处理

3、方式一

在web.xml中配置映射

    <!-- 对静态资源的配置 -->    <servlet-mapping>        <servlet-name>default</servlet-name>        <url-pattern>*.js</url-pattern>        <url-pattern>*.css</url-pattern>        <url-pattern>*.ico</url-pattern>        <url-pattern>/img/*</url-pattern>        <url-pattern>/fonts/*</url-pattern>        <url-pattern>/font/*</url-pattern>    </servlet-mapping>

可以根据自身情况,来配置映射

注意: 请将它放在所有Servlet的最前面(为了让它最先匹配),这样的话性能上应该比较好


4、方式二

在springMVC.xml中添加静态资源的映射

    <!-- 资源映射 -->    <mvc:resources location="/WEB-INF/css/" mapping="/css/**"/>    <mvc:resources location="/WEB-INF/js/" mapping="/js/**"/>

根据实际情况自行配置


5、方式三

在springMVC.xml中添加静态资源默认Servlet处理

<mvc:default-servlet-handler/><!-- 也可以自行手动配置,自定义servlet --><mvc:default-servlet-handler default-servlet-name="myDefaultServlet"/>

注意: 这种方式对spring版本必须要求3.0.5及以上



如有不对之处,或者还有更好的解决方案,请指教。。。

阅读全文
1 0
原创粉丝点击