JavaWeb项目中springmvc和tomcat对静态文件的处理

时间:2022-08-30 13:07:11

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