黑马程序员技术交流社区

标题: WEB应用中的servlet的 service,doPost,doGet方法的关系 [打印本页]

作者: 李琼    时间: 2012-11-5 23:21
标题: WEB应用中的servlet的 service,doPost,doGet方法的关系
这个是刚学是会晕的,跟大家总结一下,献丑了。
Servlet的生命周期:
包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由 javax.servlet.Servlet接口的init,service和destroy方法表达。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX 方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
不管是post还是get方法提交过来的连接,都会在service中处理,然后,由service来交由相应的doPost或doGet方法处理,如果你重写了service方法,就不会再处理doPost或doGet了。

总的来说:
区别这几个方法可以从servlet生命周期来看:   
  实例化:Web容器创建servlet实例;   
  初始化:Web容器调用实例的init()方法,   
  此时servlet就做好准备来响应请求了,   
  如果此时有个http请求servlet,那个servlet的service()方法就会被调用,   
  在service()方法中会根据请求的类型来调用doGet(),doPost()方法,   
  因此,我们具体的操作代码一般都放在doGet()或doPost()方法中。




作者: 舒远    时间: 2012-11-6 10:50
总结的不错哈。。
作者: 崔利鹏    时间: 2012-11-6 11:27
真的总结很好呵呵,这是一道经典面试题哈




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2