<servlet>
<servlet-name>Reg</servlet-name>
<servlet-class>com.RegServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Reg</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
请求顺序:
假如有一个请求为a href=“test”,接收到这个请求后会被<url-pattern>
所拦截,然后根据 <servlet-mapping>
中的<servlet-name>
寻找到 <servlet>
中的<servlet-name>
(所以两个<servlet-name>
名字必须相同,但名字可以随意起,只要一样就行,但一般都是用的要请求的servlet名),然后根据<servlet>
中的<servlet-name>
找到<servlet-class>
,这就是最终要访问的servlet类。
url-pattern的四种填写方式
1、完全匹配:以"/“开头,以字母(非”*")结束
<servlet-mapping>
<servlet-name>Reg</servlet-name>
<url-pattern>/Regslt</url-pattern>
</servlet-mapping>
这里url-pattern的第一个"/“表示的是工程目录.
tomcat规定这里必须是”/“开头的.换句话说,这个”/"表示http://localhost:8080/项目名称 这个目录
2、扩展名匹配:以" *. “开头,以扩展名结束,例如:a href=“regggg.do”,”.do"前面任意字符都可以,都能够找到servlet类
<servlet-mapping>
<servlet-name>Reg</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
3、 目录匹配: 以"/“开头且以” /* "结尾,例如:例如:a href=“test/action/uu”,"test/"后面任意字符都可以,都能够找到servlet类
<servlet-mapping>
<servlet-name>Reg</servlet-name>
<url-pattern>/test/*</url-pattern>
</servlet-mapping>
4、 默认缺省的Servlet,映射路径仅仅为一个正斜杠(/)
<servlet-mapping>
<servlet-name>Reg</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
凡是在web.xml文件中找不到匹配的servlet-mapping元素的URL,它们的访问请求都将交给缺省Servlet处理
那么这个Servlet就成为当前Web应用程序的缺省Servlet