一、由于客户端是通过URL地址访问web服务器中的资源,所以Servlet程序若想被外界访问,必须把servlet程序映射到一个URL地址上,这个工作在web.xml文件中使用<servlet>元素和<servlet-mapping>元素完成。
<servlet>元素用于注册Servlet,它包含有两个主要的子元素:<servlet-name>和<servlet-class>,分别用于设置Servlet的注册名称和Servlet的完整类名(java)。
一个<servlet-mapping>元素用于映射一个已注册的Servlet的对外访问路径,它包含两个元素;<servlet-name>和<url-pattern>,分别用于指定Servlet的注册名称和Servlet的对外访问路径。
二、
1、同一个Servlet可以被映射到多个URL上,具体反映在<Servlet-mapping>元素的<servlet-name>子元素的设置值可以是同一个Servlet的注册名。
在Servlet映射到URL中也可以使用*通配符,但是只能有两个固定的格式:(1)“*.扩展名”(2)/正斜杠开头,并以“/*”结尾。
三、通常情况下,服务器只会创建一个Servlet实例对象,也就是说Servlet一旦创建,它就会驻留在内存中,为后续的其他请求服务,直到web容器退出,servlet实例对象才会销毁。
在servlet的整个生命周期,init方法只被调用一次,每次调用都导致Serfvlet引擎调用servlet的service方法;每次访问创建一个reques或者response响应对象,将这两个对象作为一个参数传递给service方法,sevice方法调用相应的Doxxx方法。
四、
如果在<servlet>元素中配置了一个<load-on-startup>元素,web应用程序会在启动时,装载并创建Servlet的实例对象。
五、
1、servlet映射路径为一个斜杠,这个servlet就成为当前web应用程序的缺省servlet。
2、如果在web.xml中找不到匹配的元素url,他们的访问都交给缺省Servlet处理。
3、tomcat的sevlet.xml配置了缺省Servlet