1.激活Tomcat的defaultServlet来处理静态文件,web.xml配置
1
2
3
4
|
<servlet-mapping> <servlet-name> default </servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> |
a.说到了这里另外说说url-pattern的配置
1
2
3
4
5
6
7
|
<!--url-pattern的三种写法--> <!--精确匹配:以 "/" 开头,加上servlet名称。--> /abc <!--路径匹配:以 "/" 开头,加上通配符 "*" --> /rsources/* <!--扩展名匹配:以通配符 "*" 开头,加上扩展名。--> *.action |
2.springmvc处理,spring-mvc.xml配置
1
|
<mvc:resources location= "/resources/" mapping= "/resources/**" /> |
3.会把"/**" url,注册到SimpleUrlHandlerMapping的urlMap中,把对静态资源的访问由HandlerMapping转到org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler处理并返回.
DefaultServletHttpRequestHandler使用就是各个Servlet容器自己的默认Servlet.
1
|
<mvc: default -servlet-handler/> |
多个HandlerMapping的执行顺序问题:
DefaultAnnotationHandlerMapping的order属性值是:0
<mvc:resources/ >自动注册的 SimpleUrlHandlerMapping的order属性值是: 2147483646
<mvc:default-servlet-handler/>自动注册 的SimpleUrlHandlerMapping 的order属性值是: 2147483647
spring 会先执行order比较小的。
以上所述是小编给大家介绍的JavaWeb项目中springmvc和tomcat对静态文件的处理,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.cnblogs.com/ijuzi/archive/2016/07/14/5669260.html