记首次发文

今天终于鼓起勇气开通了博客,之所以选择博客园安家,因为这里是程序员的家园,也是我常闲逛的地方,而我也正走在程序员的路上.... 选择发文,其实内心纠结了很久,到底自己能坚持多久?好比我对编程的兴趣,不知是否会在某天变成乏味。更何况我并不是一个善于记录的人,拙笔是否会让自己成为唯一的读者? 第一次发文,还是留下点东西吧。最近几天都在学习Servlet,而面试中常会有问到Servlet生命周期的问题,今天就Servlet的生命周期做个总结吧。 servlet的生命周期 1)什么是servlet的生命周期? servlet容器如何创建一个servlet对象,如何对该对象进行初始化,并且调用该对象的相应的方法 来处理请求及如何在不需要使用该对象时销毁该对象的整个过程。 a.实例化(创建servlet对象) a1.什么时候实例化 第一种情况:容器在收到请求之后,会依据请求资源路径查找与之匹配的servlet对象是否存在, 如果不存在,则创建servlet对象,否则不会创建。 第二种情况:容器在启动的时候会先创建好某个servlet对象,需要对servlet添加 1其值越小,优先级越高。 a2.如何实例化 调用缺省的构造器。 b.初始化 容器在完成servlet对象的创建之后,会立即调用该对象的init()方法 容器在调用init方法之前,会先创建好一个config对象(符合ServletConfig接口要求) 可以调用config.getInitParameter(String paraname)方法来访问servlet的初始化参数。 可以在web.xml文件里使用:(来获得参数值) 写在之前。 可以override init()方法,来实现自己的初始化逻辑。 c.就绪,处理请求 容器会调用service方法来 d.销毁 容器在删除servlet对象之前,会先调用destory()方法,该方法只会执行一次 2)声明周期相关的接口与类 a.Servlet接口 init(ServletConfig config):初始化 destroy():销毁 service(ServletRequest req,ServletResponse res):处理请求 b.GenericServlet抽象类 实现了init,destroy两个方法。这两个方法只会执行一次。 c.HttpServlet抽象类 继承了GenericServlet抽象类,实现了service方法。 该service方法会依据请求方式的不同分别调用doGet(),doPost()方法来处理。 doGet,doPost方法的默认实现是抛出一个异常。 doGet和doPost也是"钩子" d.ServletConfig接口 e.ServletRequest接口 f.Servlet

posted on 2012-09-27 23:28  一诀  阅读(123)  评论(0)    收藏  举报

导航