我正在学习Spring MVC。
在web.xml中配置servlet映射。
谁能说出他们之间的区别
<servlet-name>login</servlet-name>
<url-pattern>/login/</url-pattern>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
<servlet-name>login</servlet-name>
<url-pattern>/</url-pattern>
<servlet-name>login</servlet-name>
<url-pattern>/*</url-pattern>
<servlet-name>login</servlet-name>
<url-pattern>/*.do</url-pattern>
也许更多......
我真的有必要知道,所以新的servlet不会被其他servlet拦截。
答案 0 :(得分:2)
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
这是精确的url模式,只有当url像someThing.com/login
<servlet-name>login</servlet-name>
<url-pattern>/*</url-pattern>
这是目录网址模式。因此/someString
或/someOtherString
或/some/someOther
将调用相同的login
servlet。
<servlet-name>login</servlet-name>
<url-pattern>/*.do</url-pattern>
这是扩展网址模式。任何后缀为.do
的内容都将映射到此。例如/someUrl.do
或/some/someOther.do
将调用login
servlet。
答案 1 :(得分:-1)
这看起来很奇怪,你有这个
<servlet-name>login</servlet-name>
<url-pattern>/*</url-pattern>
这就是你所需要的,其余的映射都是空洞的。但是调用spring servlet登录有点奇怪。通常你会将它称为spring-servlet或类似的,然后将所有内容映射到该servlet,并且特定的请求映射由不同的控制器处理 - 您可以在控制器方法上使用RequestMappign annoation。