servlet mapping 规则
servlet mapping有三种<url-pattern>:
1. exact match
<url-pattern>/Beer/SelectBeer.do</url-pattern>
这种形式必须以slash开始,结尾的do后缀不是必需的。
2. directory match
<url-pattern>/Beer/*</url-pattern>
同样以斜杠开始,以星号结尾。directory同样可以是虚拟的。
3. extension match
<url-pattern>*.do</url-pattern>
servlet容器是按exact match, directory match, extension match来查找的。如果符合有多个directory match,则按照最长的一个来匹配。
在匹配的时候同样要看request,以slash结尾的request会按directory match来算。
但无法找到匹配的页面或servlet时,就需要设置welcome page,在web.xm里面如下:
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
index.jsp不能以slash开头。表示这只是相对path,这样就会根据request的path来找相应的index.jsp。所以至少要保证在web下有index.jsp这个文件,以防止出错。