Servlet生命周期+工作原理

1、Servlet的生命周期:

    Servlet加载,加载,服务,销毁。

2、典型函数解释:

    Init():这个函数是用来初始化Servlet对象的。在Servlet的生命周期中,仅仅执行一次Servlet函数。

    Destroy():这个函数是用来销毁Servlet对象的,同样的,在Servlet的生命周期中,仅仅执行一次Servlet函数。

    Service():这个函数是Servlet对象响应客户请求时候使用的。是Servlet的核心函数。有两个参数:HTTPRequest,HTTPResponse。HTTPServlet中已经有了Service方法,默认的服务功能是调用和请求方法一致的do功能。

3、tomcat和Servlet是怎么工作的:

  1. Web client向Servlet容器(tomcat)发出请求
  2. Tomcat接收请求
  3. Servlet容器中创建一个HTTPRequest对象,将Web client请求信息放进来。
  4. Servlet容器中创建一个HTTPResponse对象。
  5. Servlet容器调用HTTPServlet对象的Service方法,将HTTPRequest和HTTPResponse放入Service函数中去。
  6. HTTPServlet调用相关方法获取HTTPRequest中的请求信息。
  7. HTTPServlet调用相关方法去生成HTTPResponse。
  8. Servlet将相应结果返回给Web client。

4、Servlet的工作原理:

    客户发送一个请求,然后Servlet容器会创建基于这个请求的ServletRequest和ServletResponse,    然后调用Servlet的Service方法,获得请求信息,处理信息,返回响应信息。

    其中Service方法中选择与请求方法对应的do功能,例如doGet,doPost方法。在Servlet和GenericServlet中是没有这些方法的,需要自己去定义。虽然HTTPServlet中有这些方法,但是返回Error信息,需要我们自己去重载。

    Servlet和GenericServlet是不基于任何协议的,而HTTPServlet是基于HTTP协议的。

Servlet生命周期+工作原理的更多相关文章

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

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

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

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

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

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

  4. Servlet生命周期与工作原理(转载)

    Servlet生命周期分为三个阶段: 1,初始化阶段  调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet初始化阶段: 在 ...

  5. 【转】Servlet 生命周期、工作原理

    Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁. init():在Servlet的生命周期中,仅执行一次init()方法.它是在服务器装入Ser ...

  6. Servlet 生命周期、工作原理-是单实例多线程

    Servelet是单实例多线程的 参考:servlet单实例多线程模式 一.Servlet生命周期 大致分为4部:Servlet类加载-->实例化-->服务-->销毁 1.Web C ...

  7. Servlet 生命周期、工作原理(转)

    原文链接:Servlet 生命周期.工作原理 Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁. init():在Servlet的生命周期中,仅执 ...

  8. 面试题思考:Servlet 生命周期、工作原理

    Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁. init():在Servlet的生命周期中,仅执行一次init()方法.它是在服务器装入Ser ...

  9. Servlet基础(工作原理、生命周期)

    (一)Servlet开发与配置 1.1 开发步骤 1)编写java类,继承HttpServlet类 2)重新doGet和doPost方法 3)Servlet程序交给tomcat服务器运行! 配置信息: ...

随机推荐

  1. [Bootstrap]7天深入Bootstrap(1)入门准备

    由于申请了一个域名,一个云主机,开始弄个人网站. 发现Bootstrap非常方便,和重要,故开始学习与分享关于Bootstrap的技术. 推个广告 个人网站:http://www.neverc.cn ...

  2. sprint2 项目部署+展示

    项目展示网址: http://160q49b998.51mypc.cn/ (注:所有用户密码都为123456,校内断网时访问不了)

  3. 使用Eclipse Installer安装Eclipse

    由于一些原因,需要重新安装Eclipse,登陆到Eclipse官网下载Eclipse时发现社区又推出了Eclipse Installer.所以就下下来尝尝鲜. 刚开始确实有些选项不太明白,不过现在挺喜 ...

  4. SQL Server 2008 评估期已过解决方法

    SQL Server 2008有180天的试用期,过期后会提示“评估期已过”的提示. 1.进入SQL Server安装中心: 2.选择“维护”-“版本升级” 3.输入密钥: 其他的根据提示操作. 附S ...

  5. C#中dategridview数据导出为excel文件

    先从数据库中获取数据,绑定在datagridview中,再从dategridview中导出为excel文件 1.新建窗体,把控件datagridview和按钮设置好,如图

  6. 怎样用C#代码屏蔽任务管理器?

    这是我在网上找的并多加了一些我自己需要的代码,经过我的测试,可以屏蔽任务管理器,但还有一些瑕疵. 首先,我在vs2012中新建一个项目,选择window下的window窗体应用程序,把窗体form1拉 ...

  7. javascript: jquery.gomap-1.3.3.js

    from:http://www.pittss.lv/jquery/gomap/solutions.php jquery.gomap-1.3.3.js: /** * jQuery goMap * * @ ...

  8. [javaSE] 练习队列线程和对象序列化

    主要练习了队列数据结构,对象序列化和反序列化,多线程操作 import java.io.BufferedReader; import java.io.File; import java.io.File ...

  9. ahjesus 获取当前方法被调用执行的具体位置,包括命名空间和方法

    MethodBase method = ).GetMethod(); string ahjesus = method.ReflectedType.FullName + "." + ...

  10. mysql awr v1.0.2发布

    改进说明: 1.新增监控Mysql实例通过web控制台http://ip:port/hosts.html进行,无需更改mysql-jdbc.properties配置文件和spring-servlet. ...