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  

  

posted @ 2016-08-17 22:19  liuconglin  阅读(3884)  评论(2编辑  收藏  举报