springMVC对静态资源访问的处理

方案一:激活 Tomcat 的 defaultServlet 来处理静态资源

<servlet-mapping>  

      <servlet-name>default</servlet-name>  

      <url-pattern>*.jpg</url-pattern>  

</servlet-mapping>  

<servlet-mapping>  

      <servlet-name>default</servlet-name>  

      <url-pattern>*.js</url-pattern>  

</servlet-mapping>  

<servlet-mapping>  

      <servlet-name>default</servlet-name>  

      <url-pattern>*.css</url-pattern>  

</servlet-mapping>

方案二:Spring 3.0.4 以后版本提供了 <mvc:resources />

    <!-- 处理静态资源 -->  

    <!-- 上传的图片缓存1个月,其他js,css,img资源缓存一年 -->  

    <mvc:resources mapping="/res/**" location="/res/" cache-period="2592000"/>   

    <mvc:resources mapping="/resources/**" location="/resources/" cache-period="31536000"/>   

    <mvc:resources mapping="/css/**" location="/css/" cache-period="31536000"/>  

    <mvc:resources mapping="/js/**" location="/js/" cache-period="31536000"/>  

    <mvc:resources mapping="/img/**" location="/img/" cache-period="31536000"/>  

    <mvc:resources mapping="/images/**" location="/images/" cache-period="31536000"/>

方案三:使用 <mvc:default-servlet-handler /> 

<mvc:default-servlet-handler /> 会把 "/**" url 注册到 SimpleUrlHandlerMapping 的 urlMap 中,把对静态资源的访问由 HandlerMapping 转到 org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler 处理并返回。DefaultServletHttpRequestHandler 使用就是各个 Servlet 容器自己的默认 Servlet。


猜你喜欢

转载自blog.csdn.net/wentingleng/article/details/76837374
今日推荐