/和/*的区别(转载)

  <url-pattern>/</url-pattern>

  会匹配到到/SpringMvc这样的路径,不会匹配到模式*.jsp这样后缀的url。

  <url-pattern>/*</url-pattern>

  会匹配到所有的url:路径型和后缀型的url(/springMvc和*.jsp,*j.s,*.html等等)。

  <url-pattern>/*</url-pattern>

  这种形式会覆盖所有的其他的servlet,不管你发出什么样的请求,最终都会在这个servlet中结束。因此,对于servlet来说,这是一个很糟糕的URL模式。

  通常来讲,你只会想在一个Filter中使用这种模式。它可以通过调用doFilter()来使请求继续。

  <url-pattern>/</url-pattern>

  这种形式不会覆盖其它的servlet,它仅仅替换了servlet容器中内建的servlet。这种形式通常只用来请求静态资源(css/html等)和展示目录的列表。

  servlet容器中建的默认servlet同样可以处理HTTP cache请求、媒体(声音/视频)流以及文件的下载。通常来说,你不会想要覆盖这个默认的servlet,否则,你将不得不自己处理一些琐碎的任务。因此,对  于sevlet来说,这同样是一个糟糕的URL模式。说到为什么JSP页面的请求并不会命中这个servlet,那是因为servlet容器内建的JSP servlet将会被调用,而这个容器内建的JSP servlet已经默认地映射在了*.jsp上。

  <url-pattern></url-pattern>

  这种空串的形式。当上下文的根被请求的时候,它将被调用。这与<welcome-file>的方式是不同的,因为这种形式在当任何子目录被请求的时候不会被调用。当你期望一个“首页servlet”的时候,这种URL模式就是适合你的。

 

  

  

posted @ 2019-10-27 12:12  听~风在北边  阅读(762)  评论(0编辑  收藏  举报