什么时候springMVC要开启静态资源访问

由于在web.xml文件中的spring前端控制器中配置了下面的话:

<servlet>
      <servlet-name>dispatcher</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value></param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
      <servlet-name>dispatcher</servlet-name>
      <url-pattern>/</url-pattern>
  </servlet-mapping>

其中的/会拦截所有的url,包括了在jsp页面上引入js文件(src)、css文件(href)、还有图片(src)......等都会被spring MVC

的前端控制器给拦截,导致如果不配置相应配置的话,就不能正确访问到文件、引入文件的路径等。

 

可以配置springMVC前端控制器拦截的url来省去在spring-core.xml文件中的开启静态资源访问这个步骤

<servlet-mapping>
      <servlet-name>dispatcher</servlet-name>

      //配置成只拦截所有的.do请求,这样就不会拦截.js   .css    .jpg   等后缀的了   
      <url-pattern>/*.do</url-pattern>
  </servlet-mapping>

 

但是直接通过开启配置静态资源访问的话,springMVC的前端控制器拦截的urlwei为/的情况下,需要在spring-core.xml文件中

配置:

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

<mvc:resources location=" "   mapping=" "   />的意思是:由springMVC框架自己处理静态资源,location是静态资源的目录位置,

(maven项目)默认是在webapp目录下面寻找,mapping是你引入的时候的写法,前后名称尽量保持一致。

与<mvc:resources>对应的还有<mvc:default-servlet-handler/>   意思是:将静态资源的处理由springMVC框架交回给web服务器自己处理

(以上带有个人理解)

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值