zoukankan      html  css  js  c++  java
  • 关于使用"/"来 dispatcherServlet 的url-pattern带来的问题

    之前一直使用*.do来做的,但是绝的*.do很丑,于是就改用“/”来配置:

    <servlet>  
         <servlet-name>dispatcherServlet</servlet-name>  
         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
         <load-on-startup>1</load-on-startup>  
     </servlet>  
      
     <servlet-mapping>  
         <servlet-name>dispatcherServlet</servlet-name>  
         <url-pattern>/</url-pattern>  
     </servlet-mapping> 

    但是带来的问题是如何访问到静态的文件,如jpg,js,css?

    如果你的DispatcherServlet拦截"*.do"这样的有后缀的URL,就不存在访问不到静态资源的问题。

    如果你的DispatcherServlet拦截"/",为了实现REST风格,拦截了所有的请求,那么同时对*.js,*.jpg等静态文件的访问也就被拦截了。

    我们要解决这个问题。

    目的:可以正常访问静态文件,不可以找不到静态文件报404。

    方案一:激活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>  

    要写在DispatcherServlet的前面, 让 defaultServlet先拦截请求,这样请求就不会进入spring了,我想性能是最好的吧。

  • 相关阅读:
    [HAOI2014]贴海报
    【模板】高斯消元法
    2015FAI
    ASP.NET网站图标,始终不显示是怎么回事
    小说自动生成项目
    电脑写小说可行吗?(四)情绪的本质
    电脑写小说可行吗?(三)智能体
    电脑写小说可行吗?(二)情感理论
    电脑写小说可行吗? (一)电脑能做什么
    留言板
  • 原文地址:https://www.cnblogs.com/winner-0715/p/6028864.html
Copyright © 2011-2022 走看看