servlet的继承结构:
首先有一个Servlet的接口,里面申明了3个方法,包括Init(),service(),destroy()
接着有一个GenericServlet的抽象类,实现了Servlet接口,这个抽象类与协议无关
接着是一个HttpServlet的抽象类,该类继承自GenericServlet,实现了Http协议
最后是自定义的servlet,需要继承HttpServlet,一般是重写doGet()与doPost()
实现一个servlet的步骤:
继承HttpServlet
重写doGet或doPost
在web.xml中注册
servlet的初始化时机:
servlet容器启动时自动装载某些servlet,需要在web.xml中配置一下:
<lodadon-startup>num</loadon-startup>
num越小,优先级越高,在这种情况下,若有两个servlet,A的优先级为1,B的优先级为2,则先执行A的构造方法,在执行A的初始化方法,再执行B的构造方法,再是B的初始化。这种方式在客户端还未请求时,servlet就已经装载到服务器内存中了。- 第一次使用servlet的时候,系统会初始化一个servlet实例并置于内存,直到需要销毁时。它的执行顺序 是:执行servlet的构造方法,执行init方法,执行service方法,最后系统关闭时执行destroy方法。
- servlet文件被更新后,会自动装载servlet(重新编译servlet类)