SpringMvc系列七——静态资源映射

静态资源映射

当在 DispatcherServlet 的中配置拦截 “/” 时,除了.jsp 不会拦截以外,其他所有的请求都会经过前端控制器进行匹配*,此时静态资源,例如 *.css、*.js、*.jpg…… 就 会被前端控制器拦截,导致不能访问,出现 404 问题

通过DefaultServlet 处理静态资源

web.xml

<servlet-mapping> 
	<servlet-name>default</servlet-name>
	<url-pattern>*.jpg</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
	<servlet-name>default</servlet-name> 
	<url-pattern>*.css</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>*.png</url-pattern> 
</servlet-mapping>

通过 SpringMVC 的静态资源映射器处理静态资源

在spring3.0.4以后的 SpringMVC 模块提供了静态资源映射器组件。通过mvc:resources标签配置静态资源映射器
修改SpringMVC配置文件

<!--配置静态资源映射器--> 
<!-- mapping:配置请求的 URL location:配置映射路径--> 
<mvc:resources mapping="/img/**" location="/img/"/> 
<mvc:resources mapping="/js/**" location="/WEB-INF/js/"/>

通过<mvc:default-servlet-handler />处理静态资源

在 SpringMVC 的配置文件中配置<mvc:default-servlet-handler />后,会在 Spring MVC上下文中定义一个org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler, 它会像一个检查员,对进入 DispatcherServlet 的 URL 进行筛查,如果发现是静态资源的请求就将该请求转由 Web 应用服务器默认的 Servlet 处理,如果不是静态资源的请求,才由 DispatcherServlet 继续处理

<mvc:default-servlet-handler/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绿豆蛙给生活加点甜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值