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这个文件,以防止出错。

 

你可能感兴趣的:(Web,jsp,servlet)