Java Servlet学习笔记
2. 当请求URL为"/abc", "/abc/*" 、 "/abc" 和"/*" 都可以匹配这个URL,Servlet引擎将调用Servlet3
3. 当请求URL为"/abc/a.do", "/abc/*" 和"*.do" 都可以匹配这个URL,Servlet引擎将调用Servlet1
4. 当请求URL为"/a.do", "/*" 和"*.do" 都可以匹配这个URL,Servlet引擎将调用Servlet2
5. 当请求URL为"/xxx/yyy/a.do", "/*" 和"*.do" 都可以匹配这个URL,Servlet引擎将调用Servlet2
注册和访问Servlet程序的过程
1. 在webapps目录中创建文件夹lesson
2. 在lesson目录中创建文件夹WEB-INF
3. 在WEB-INF目录中创建文件web.xml 并创建文件夹classes
注意:
URL: /action/*.xx格式有误
Servlet是不能被设置为web的默认网页文档
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<servlet>
<servlet-name> AnyName</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> AnyName</servlet-name>
<url-pattern>/demo/hello.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name> AnyName</servlet-name>
<url-pattern>/action/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name> AnyName</servlet-name>
<url-pattern> *.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file> test.do </welcome-file>
</welcome-file-list>
缺省Servlet
如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servelt就成为当前Web应用程序的缺省Servlet。
凡是在web.xml文件中找不到匹配的<servlet-mapping>元素的URL,他们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。
在<tomcat的安装目录>\conf\web.xml文件中注册了一个名称为org.apache.catalina.servlets.DefaultServlet,并将这个Servlet设置为了缺省Servlet。
当访问Tomcat服务器中的某个静态HTML文件和图片时,实际上是在访问这个缺省Servlet。