Springmvc 静态资源访问的路径问题解答
1.首先展示最基本配置
1 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xmlns="http://java.sun.com/xml/ns/javaee" 3 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 4 id="WebApp_ID" version="3.0"> 5 <context-param> 6 <param-name>contextConfigLocation</param-name> 7 <param-value>classpath:applicationContext.xml</param-value> 8 </context-param> 9 <servlet> 10 <servlet-name>springMvc</servlet-name> 11 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 12 <init-param> 13 <param-name>contextConfigLocation</param-name> 14 <param-value>classpath:springMvc-config.xml</param-value> 15 </init-param> 16 <load-on-startup>1</load-on-startup> 17 </servlet> 18 <servlet-mapping> 19 <servlet-name>springMvc</servlet-name> 20 <url-pattern>/</url-pattern> 21 </servlet-mapping> 22 <listener> 23 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 24 </listener> 25 <filter> 26 <filter-name>characterEncodingFilter</filter-name> 27 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 28 <async-supported>true</async-supported> 29 <init-param> 30 <param-name>encoding</param-name> 31 <param-value>UTF-8</param-value> 32 </init-param> 33 <init-param> 34 <param-name>forceRequestEncoding</param-name> 35 <param-value>true</param-value> 36 </init-param> 37 <init-param> 38 <param-name>forceResponseEncoding</param-name> 39 <param-value>true</param-value> 40 </init-param> 41 </filter> 42 <filter-mapping> 43 <filter-name>characterEncodingFilter</filter-name> 44 <url-pattern>/*</url-pattern> 45 </filter-mapping> 46 </web-app>
2.配置springmvc 配置文件
1 <!--配置静态资源--> 2 <mvc:annotation-driven/> 3 <mvc:resources mapping="/(A)/css/**" location="/static/css/"/> 4 <mvc:resources mapping="/(A)/js/**" location="/static/js/"/> 5 <mvc:resources mapping="/(A)/images/**" location="/static/images/"/>
6 <mvc:resources mapping="/css/**" location="/static/css/"/> 7 <mvc:resources mapping="/js/**" location="/static/js/"/> 8 <mvc:resources mapping="/images/**" location="/static/images/"/> 9 <!--<mvc:default-servlet-handler/>--> 10 11 <!--4、配置视图解析器--> 12 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 13 <property name="prefix" value="/WEB-INF/jsp/"/> 14 <property name="suffix" value=".jsp"/> 15 </bean>
个人注解:
<mvc:resources mapping = " xxxxx " location = " xxxxx " />
此处:mapping表示 jsp页面访问静态资源的相对路径
location 表示 实际的映射路径
例:
1 <script type="text/javascript" src="js/jquery-3.1.1.min.js"></script> 2 <script type="text/javascript" src="js/jquery.form.js"></script>
文件夹情况:
web下有个static名字的文件夹
static下有名为css,js,image等文件夹
此处 ,如果该页面访问的 @Controller 有设置 @RequestMapping(value = "/abc"),那么springmvc中的配置就应该在A处写上abc才可访问到
如果该页面访问的 @Controller 没有设置@RequestMapping,那就直接配置<mvc:resources mapping="/css/**" location="/static/css/"/>这样的格式就行
页面静态资源的引用其实 是通过get方式向服务器发送请求,通过网页解析可以看到
注意 页面访问静态资源的路径应是springmvc中配置的相对路径
要访问静态资源还有另一种配置
1 <servlet-mapping> 2 <servlet-name>default</servlet-name> 3 <url-pattern>*.jpg</url-pattern> 4 </servlet-mapping> 5 <servlet-mapping> 6 <servlet-name>default</servlet-name> 7 <url-pattern>*.js</url-pattern> 8 </servlet-mapping> 9 <servlet-mapping> 10 <servlet-name>default</servlet-name> 11 <url-pattern>*.css</url-pattern> 12 </servlet-mapping>
在web.xml中配置以上所示的代码,你如果有其他格式的文件,按部就班就可以了,还需要在springmvc中加入:
<mvc:default-servlet-handler/>
关于静态资源访问的路径问题谨慎一点就ok了
码字不易,请点个赞,谢谢!

浙公网安备 33010602011771号