一.Servlet生命周期的三个阶段
1.init():初始化仅执行一次,主要负责加载Servlet时初始化Servlet对象
2.service():核心方法一般httpServert中会有get,post两种处理方式,再调用doGet,doPost方法时会构造HttpServletRequest和HttpServertResponse请求和响应两个对象作为参数
3.destory():在停止或卸载Servlet时执行,负责释放资源
初始化阶段:servlet启动会读取配置文件信息,指定的Servlet 对象,创建ServletConfig对象,将ServletConfig作为参数来调用intit()方法。
二.Java中有关servlet的层级结构和常用的类的描述:
1. GenericServlet类:抽象类,定义一个通用的、独立于底层协议的Servlet。
2. 大多数Servlet通过从GenericServlet或HttpServlet类进行扩展来实现
3. ServletConfig接口定义了在Servlet初始化的过程中由Servlet容器传递给Servlet得配置信息对象
4. HttpServletRequest接口扩展ServletRequest接口,为HTTP Servlet提供HTTP请求信息
HttpServlet是GenericServlet的子类。
GenericServlet是个抽象类,必须给出子类才能实例化。它给 出了设计servlet的一些骨架,定义了servlet生命周期,还有一些得到名字、配置、初始化参数的方法,其设计的是和应用层协议无关的,也就是说 你有可能用非http协议实现它。
HttpServlet是子类,当然就具有GenericServlet的一切特性,还添加了doGet, doPost, doDelete, doPut, doTrace等方法对应处理http协议里的命令的请求响应过程。
一般没有特殊需要,自己写的Servlet都扩展HttpServlet 。