Spring MVC 获取静态资源处理方案学习笔记

方案一、利用web服务器的默认servlet来处理
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping> 

需要写在spring mvc的DispatcherServlet前面,需要让web的默认servlet先进行拦截处理。

方案二、控制spring mvc的过滤规则(spring mvc传统的解决办法)
Spring mvc的DispatcherServlet,过滤规则写成带后缀格式;同时后台响应代码也要进行相应更改。
<servlet-mapping> 
<servlet-name>springMVC</servlet-name> 
<url-pattern>/*.do</url-pattern> 
</servlet-mapping>


方案三、spring mvc配置文件中添加mvc:resources标签属性。
Spring3.0.4以后提供此标签。
可以将静态文件放在web目录下,打包到jar包中,或者其他别的地方,然后通过配置mvc:resources指向该路径。
<mvc:resources mapping="/static/**" location="/static/" />

此处将mapping值映射到ResourceHttpRequestHandler进行处理,而location值指向静态资源的物理路径。

方案四、spring mvc配置文件中添加mvc:default-servlet-handler标签。
该标签把 "/**" url,注册到SimpleUrlHandlerMapping的urlMap中,把对静态资源的访问由 HandlerMapping 转到 org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler 处理并返回.
DefaultServletHttpRequestHandler使用就是各个 Servlet 容器自己的默认 Servlet.
<mvc:default-servlet-handler />


各web服务器默认servlet:

1.tomcat---default
2.jetty---default
3.JBoss---default
4.glassfish---default
5. Google App Engine--- _ah_default
6. Resin--- resin-file
7. WebLogic--- FileServlet

8. WebSphere--- SimpleFileServlet


原本是从多个地方收集的,最后却看到了这篇神文,好吧,怎么看也像是抄的。

http://unmi.cc/spring-mvc-access-static-resources-jpgjscss/


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值