1、 <mvc:resources>的理解使用

(1)web.xml配置

复制代码
1     <servlet>
2         <servlet-name>springMVC</servlet-name>
3         <servletclass>org.springframework.web.servlet.DispatcherServle</servlet-class>
4         <load-on-startup>1</load-on-startup>
5     </servlet>
6     <servlet-mapping>
7         <servlet-name>springMVC</servlet-name>
8         <url-pattern>/</url-pattern>
9     </servlet-mapping>
复制代码

这里设置了spring的拦截请求为/,并且会自动在web-inf下面扫描一个名为"springMVC-servlet.xml"的文件,由这个类org.springframework.web.servlet.DispatcherServlet去加载,当然也可以手动配置到listener中。

(2)由于你拦截了所有请求,所以会影响到静态资源的获取,有两种方法。

   一,仍然拦截所有请求,<mvc:resources location="/WEB-INF/js/"   mapping="/javascript/**" />然后设置标签映射,当你要引用/WEB-INF/js/文件夹下的文件时,可以直接引用/javascript/**.js,这样就会去location里面去找,大概原理就是spring在遇到这个标签,会把本地资源拦截并映射到mapping目录下,当你引用mapping的时候,会自动去找对应的文件

  二,不拦截所有请求,比如我拦截<url-pattern>/publish/*</url-pattern>只要你的引用文件不在包含有publish的目录下就不会被拦截,(此时不需要配置<mvc:resources>)你就可以直接去根据目录去引用。如果你也配了<mvc:resources>,则在页面引用的时候,你需要这么引用,比如你要引用mapping目录下的jquery-1.7.2.js,需要src="publish/javascript/jquery-1.7.1.js,这样就会被拦截,然后去找你的引用文件...