springMvc--静态资源拦截


测试的时候发现:如果直接访问web项目的html等静态资源,不能访问

原因如下: 当web.xml中url-pattern配置为"/"时,会导致系统中的静态资源被拦截

如何解决:

  1)修改url-pattern    

       2)进行静态资源映射    

       3)开放tomcat的defaultServlet

下面是测试步骤 

配置web.xml

<!-- springmvc核心 -->
  <servlet>
      <servlet-name>springmvc</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:springmvc.xml</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet-mapping>
      <servlet-name>springmvc</servlet-name>
      <url-pattern>/</url-pattern>
  </servlet-mapping>

配置springmvc.xml

有两种方式 : 

  1) 映射静态资源

<!-- 解决静态资源问题 
   mapping:映射  
   location:本地资源路径,注意必须是webapp根目录下的路径。两个*,它表示映射resources/下所有的URL,包括子路径(即接多个/)
  
-->
     <mvc:resources location="/upload/**" mapping="/upload/"/>
     <mvc:resources location="/js/*" mapping="/js/*"/>
    <mvc:resources location="/css/**" mapping="/css/**"/> 

  或者

  2)开放tomcat的defaultServlet,只需要添加一行配置,是不是很方便

<mvc:default-servlet-handler/>

 

参考:http://www.cnblogs.com/yank/p/4477204.html  

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM