springMVC静态资源访问

  springMVC默认是访问不到静态资源的,如css,js等,需要在xml里进行配置

  保证已经配置好了 web.xml,

<!-- Spring MVC servlet -->
	<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:spring-mvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
		<async-supported>true</async-supported>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>SpringMVC</servlet-name>
		<!-- 此处可以可以配置成*.do,对应struts的后缀习惯 -->
		<url-pattern>/</url-pattern>
	</servlet-mapping>

 这里先给出一个结构目录,我现在要访问 res文件夹下js,在spirngmvc的配置文件中 加入以下配置 

 <mvc:annotation-driven />
		 <!--1--> <mvc:resources mapping="/images/**" location="/images/" cache-period="31556926"/>  
		 <!--2--><mvc:resources mapping="/res/js/**" location="/res/js/"  cache-period="0"/>
		  <!--3--><mvc:resources mapping="/css/**" location="/css/" cache-period="31556926"/> 

  

    mapping="/res/js/**"表示我要访问res/js这个路径下的所有静态资源,包括res/js/scrpit这个路径下的,location是访问路径路径,cache-period="0"是静态资源的缓冲期限,maven web工程,默认是访问webapp下的资源,WEB-INF下的资源访问需要内部的action跳转才可以,也算是一种安全保护。配置好后,可以测试一下,项目在本地启动后 输入  127.0.0.1:8080/demo/res/js/jquery.1.7.2.min.js就可以访问到了 ,demo是我的项目发布名称,截图的时候没给截上。  

注意:使用一下方式进行静态资源拦截时, 一定要加上 <mvc:annotation-driven />,不然会访问不到controller,报404错误

  

  

原文地址:https://www.cnblogs.com/sanduweiliangxtx/p/6529560.html