[英]What is the difference between “/” and “/*” ?
我试图用谷歌搜索这个问题,但是,似乎谷歌搜索引擎将其读取为某些特殊字符。
那么将服务器映射到“ /”和“ / *”之间有什么区别?
路径映射使用以'/'
字符开头并以'/*'
后缀结尾的字符串。
'*.'
开头的字符串'*.'
前缀用作扩展名映射。 '/'
字符的字符串表示应用程序的“默认” servlet。 在这种情况下,Servlet路径是请求URI减去上下文路径,并且路径信息为null。 所有其他字符串仅用于完全匹配。
我的重点
<servlet-mapping>
<servlet-name>XServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
如果看到映射到匹配所有请求的XServlet
,并且每个请求都命中XServlet
在哪里
<servlet-mapping>
<servlet-name>XServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
现在, XServlet
是我的默认应用程序Servlet,它可以提供static
资源。
只是为了澄清进一步的混乱: 在/ *上映射全局前端控制器servlet时如何访问静态资源
模式/将使您的servlet成为应用程序的默认servlet,而模式/ *将使所有内容都通过您的servlet。
如果您映射到/,则只有一个URL将匹配:您的服务器URL( http://my.example.org/ )。 如果映射到/ *很多URL的匹配: http://my.example.org/logo.gif , http://my.example.org/index.jsp , http://my.example.org /detail.html等。
如果您只有1个servlet,并且您的资源不在webapp的根目录下,则使用/可能会有用(无论如何都不应该这样)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.