zoukankan      html  css  js  c++  java
  • javaweb项目springmvc,和tomcat对静态文件的处理

    1.激活Tomcat的defaultServlet来处理静态文件,web.xml配置

        <servlet-mapping>
            <servlet-name>default</servlet-name>
            <url-pattern>*.js</url-pattern>
        </servlet-mapping>

      a.说到了这里另外说说url-pattern的配置

      

    <!--url-pattern的三种写法-->
    <!--精确匹配:以"/"开头,加上servlet名称。-->
    /abc
    
    <!--路径匹配:以"/"开头,加上通配符"*"-->
    /rsources/*
    
    <!--扩展名匹配:以通配符"*"开头,加上扩展名。-->
    *.action 

    2.springmvc处理,spring-mvc.xml配置

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

    3.会把"/**" url,注册到SimpleUrlHandlerMapping的urlMap中,把对静态资源的访问由HandlerMapping转到org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler处理并返回.
    DefaultServletHttpRequestHandler使用就是各个Servlet容器自己的默认Servlet.

    <mvc:default-servlet-handler/>

    多个HandlerMapping的执行顺序问题:

    DefaultAnnotationHandlerMapping的order属性值是:0

    <mvc:resources/ >自动注册的 SimpleUrlHandlerMapping的order属性值是: 2147483646

    <mvc:default-servlet-handler/>自动注册 的SimpleUrlHandlerMapping 的order属性值是: 2147483647

    spring 会先执行order比较小的。

    总结:个人觉得第一种比较好,如果没有做静态文件cdn的话,还是在默认的servlet做处理比较好,这样就不会进入拦截器进行处理。

  • 相关阅读:
    前端把html表格生成为excel表格
    图片预加载
    angular开发中的两大问题
    3d图片点击切换
    图片懒加载
    angular排序
    vue1.0 与 Vue2.0的一些区别 及用法
    图片懒加载
    图片放大镜
    图片小精灵 & 解决同时给一个元素设置背景问题 &jq登录注册切换
  • 原文地址:https://www.cnblogs.com/ppli/p/5669260.html
Copyright © 2011-2022 走看看