servlet的配置及其生命周期
Tomcat是servlet容器
作用:
- 创建servlet 并且调用servlet的相关生命周期
- Jsp tag listener等都运行在容器中
Servlet生命周期的方法:以下方法都是由servlet容器负责调用
- 构造器:第一次请求servlet时,创建servlet的实例,调用构造器,这说明servlet是单实例的(即只被调用一次)
- Init方法:只被调用一次,在创建好实例之后立即被调用用于初始化servlet
- Service:被多次调用,每次请求都会被调用,实际用于响应请求的。
- Destroy:只被调用一次,在当前servlet所在的web应用被卸载前调用,用于释放当前servlet所占的资源。
- load-on-startup> x </load-on-startup:
配置在servlet节点中,可以指定servlet被创建的时机,if(x<0)servlet被立即执行;否则在当前servlet容器加载时创建实例,且数字越小越早被创建
Servlet容器响应客户请求的过程 - servlet引擎检查是否已经装载并创建了该servlet的实例对象。如果是,则直接转到4,斗则执行2
- 装载并创建该servlet的一个实例对象:调用改servlet的构造器
- 调用servlet的实例对象的init()方法
- 创建一个用于封装请求的servletrequest对象和一个代表响应消息的servletrequest对象,然后调用servlet的service方法并将请求和响应对象作为参数传递进去。
- Web应用程序被停止或者重启启动之前,servlet引擎将卸载servlet,并在卸载之前调用destroy()方法。
Servlet的注册和运行
1.Servlet必须通过servlet容器来启动运行,并且储存在<web应用程序目录>\web-inf\classes\目录中。
2.Servlet程序必须在web应用程序的web.Xml文件中进行注册和映射其访问路径,才可以被servlet引擎加载和被外界访问。
3.一个元素用于注册一个servlet,
她包含两个主要的子元素:
:用于设置servlet的注册名称
:用于设置servlet的完整类名 - 一个元素用于映射一个已经注册的servlet的一个对外访问路径,它包括两个子路径:
:用于指定 servlet的注册名称
:用于指定servlet的对外访问路径
Servlet映射细节
1.一个servlet可以有多个
2.使用通配符的两种形式 即“.扩展名”或者“/ /”