一、基本概念

Servlet(Server Applet):全称Java Servlet,是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。

Servlet生命周期:

servlet有良好的生存期定义,包括加载,实例化,初始化,处理请求以及服务结束!这个生存周期分别由java.servlet.Servlet接口的init,service和destroy方法表达!

1,第一个到服务器的HTTP请求被委派到servlet容器。

2,servlet容器装载,然后再调用这个servlet的service()方法。

3,然后servlet容器产生多个线程,每个线程执行一个单一的servlet实例的service()方法的处理多个请求。

二、主要方法概述

2.1,init()

<span style="font-family:KaiTi_GB2312;font-size:18px;">public void init() throws ServletException {
// Initialization code...
}</span>

Servlet被服务器实例化后,容器运行其init方法,这个方法只运行一次,作用于servlet整个生命周期!

2.2,service()

<span style="font-family:KaiTi_GB2312;font-size:18px;">public void service(ServletRequest request,
ServletResponse response)
throws ServletException, IOException{
}</span>

service()方法是主要的方法来执行实际的任务。请求到达时,运行servlet的service方法检查HTTP请求类型(GET,POST,PUT,DELETE等),并调用doGet,doPost方法,doPut,doDelete,等适当的方法。由于service是调用其他方法,所以,在实际运用的时候,主要重写相应的doGet、doPost方法等。什么时候重写doGet或是doPost,请看博客:[drp
8]get和post的区别,以及乱码问题的解决

2.3,destroy()

<span style="font-family:KaiTi_GB2312;font-size:18px;">public void destroy() {
// Finalization code...
}</span>

这个方法,是servlet生命周期的最后一步,在整个生命周期中只执行一次,在这个方法中,可以做关闭数据库连接,停止后台线程等释放内存类似的工作。

三、总结

对于servlet生命周期的理解,其实感觉和平常用的try{ }catch{ }finally{ }代码段很像,在我们用try的时候,会在之前声明一些变量或者赋值等,算是一种前期准备,这个就相当于init初始化方法,然后,我们在try语句段去执行我们真正想要执行的方法,也就是servlet里面的service方法。最后捕捉完异常,我们会用finally语句段去做最后的处理,如:关闭数据库,事务回滚等,这就等同于servlet的destroy方法。

对于基础知识的总结学习,还任重而道远!

【drp 9】Servlet生命周期的更多相关文章

  1. Servlet 生命周期与web容器的关系

    servlet生命周期由web容器(如tomcat)管理,初始化一次,直到web容器关闭才会被销毁.1.servlet是单例多线程,每个请求过来容器都会启用一个新线程 2.servlet在容器中保持单 ...

  2. 测试Servlet生命周期学习笔记

    测试环境:windows xp旗舰版 软件环境:myclipse8.5+tomcat7.0 ****************************************************** ...

  3. Servlet生命周期及工作原理

    1 Servlet生命周期Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁. init():在Servlet的生命周期中,仅执行一次init()方 ...

  4. Java开发之Servlet生命周期

    Servlet会在服务器启动或第一次请求该Servlet的时候开始生命周期,在服务器结束的时候结束生命周期.无论请求多少次Servlet,最多只有一个Servlet实例.多个客户端并发请求Servle ...

  5. Java Servlet系列之Servlet生命周期

    Servlet生命周期定义了一个Servlet如何被加载.初始化,以及它怎样接收请求.响应请求,提供服务.在讨论Servlet生命周期之前,先让我们来看一下这几个方法: 1. init()方法 在Se ...

  6. servlet生命周期与工作原理

    →   Jsp的本质是Servlet,Servlet是服务器端的小程序,运行在服务器,用于处理及响应客户端的请求. Servlet和JSP的区别: servlet是特殊的Java类,必须继承HttpS ...

  7. javaWeb中servlet开发(3)——Servlet生命周期

    生命周期:是一个程序的存在周期,servlet由于是受容器的管理,所以容器来决定其生命周期 1.servlet生命周期 2.servlet生命周期对应的方法 3.servlet生命周期代码 publi ...

  8. Servlet 生命周期、工作原理

    按照单例的编码规则,Servlet本身只是一个Java,结构并不是单例结构. 只是Web容器在维护这些Servlet的时候只给创建一个实例存在JVM中,用户请求服务时,服务器只调用它已经实例化好的Se ...

  9. Servlet生命周期+工作原理

    Servlet生命周期+工作原理 1.Servlet的生命周期:     Servlet加载,加载,服务,销毁. 2.典型函数解释:     Init():这个函数是用来初始化Servlet对象的.在 ...

随机推荐

  1. javascript 异步编程-setTimeout

    javascript的执行引擎是单线程的,正常情况下是同步编程的模式,即是程序按照代码的顺序从上到下依次顺序执行.只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行.常见的浏览器无 ...

  2. ADF_General JSF系列2_创建JSF类型的页面向导

    2015-02-17 Created By BaoXinjian

  3. DBA_Tablespace表空间的概念和管控(概念)

    2014-07-24 Created By BaoXinjian

  4. 0814JavaScript简介、基本语法、运算符、转换

    一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司 ...

  5. studio--如何将Eclipse中的项目迁移到Android Studio 中

    如果你之前有用Eclipse做过安卓开发,现在想要把Eclipse中的项目导入到Android Studio的环境中,那么首先要做的是生成Build Gradle的文件.因为Android Studi ...

  6. EditText获取焦点显示输入法时布局自动改变的解决方案

    最近在调试Android时,发现当屏幕下方的EditText获取焦点,显示输入法时候.页面布局重新调整而不是整体上移.导致部分控件显示不完全. 最终解决方案是修改项目AnroidManifest.xm ...

  7. 关于微信网页调用js-sdk相关接口注意事项目(一级域名与二级域名互相干扰!!!)

    不知道有没有网友遇到过同一个web应用用不同的域名(一级或二级域名)在两个公众号中调用JSSDK相关接口实现功能, 这种做法本来没有问题,问题在于用二级域名(同属一级域名下的二级域名)绑定另一个web ...

  8. FBI传授9秘诀:如何看穿对方在撒谎 z

    第1招:不提及自身和姓名 美国赫特福德郡大学的心理学家韦斯曼说,〝人们在说谎时会本能地把自己从他们所说的谎言中剔除出去〞.所以如果你向某人提问时,他们总是反覆地省略〝我〞,他们就有被怀疑的理由了.反过 ...

  9. Airbnb面试的27个奇葩问题,你 hold 住吗?

    Airbnb 目前估值 255 亿美金,排名世界科技公司第三.但如果你想去他家工作,可能首先需要回答一些很棘手的问题. 以下,是 BI 通过 Glassdoor 信息收集到的:曾经历 Airbnb 面 ...

  10. 轻量级的.Net ORM框架介绍

    轻量型 ORM 组件 FluentData 官网https://fluentdata.codeplex.com/ http://www.cnblogs.com/babietongtianta/p/43 ...