servlet的生命周期以及核心的类与接口
1.核心类与接口
servlet接口
所有的servlet都必须实现这个接口
这个接口定义了三个方法:
init(ServletConfig config):初始化方法
service(ServletRequest request,ServletResponse response):处理请求的方法
destory()销毁资源的方法
GenericServlet抽象类部分实现了servlet接口
ServletRequest继承了servlet接口
ServletResponse继承了servlet接口
HttpServlet抽象类继承GenericServlet,实现了service方法
HttpServletRequest继承了servletRequest接口
HttpServletResponse继承了servletResponse接口
2、什么是servlet的生命周期,是什么Servlet容器?
servlet实例分配资源,调用其方法,最后销毁的整个过程。
servlet容器是提供servlet运行环境,管理servlet生命周期,比如tomcat即是服务器也是servlet容器。
2.1创建对象的时机:当请求到达Servlet容器时候,如果没有servlet实例,先创建实例,如果有,直接使用。
2.1.1当服务器启动时候,会检查web.xml中的配置,如果<load-on-startup>1</load-on-startup>
1表示优先级,值越小优先级越高
2.2初始化:分配资源
servlet容器创建 Servlet实例之后,一定会执行一次。默认的init()方法,该方法只会执行一次。默认的
init()方法由GenericServlet来实现。也可以自己重写init()方法。
2.3就绪执行service方法
HttpServlet的service方法根据postget请求,调用对应的方法
2.4销毁:容器依据自己的算法,会删除Servlet实例,在删除前调用destroy方法,释放资源。该方法只会执行一次。