J2EE--Servlet

一、Servlet基础:
          Servlet是一种独立于操作系统平台和网络传输协议的服务器端的Java应用程序,它用来扩展服务器的功能,可以生成动态的Web页面。最大的用途是通过动态响应客户机请求来扩展服务器功能。Servlet不是从命令行启动的,而是由包含Java虚拟机的Web服务器进行加载。

二、Servlet工作原理 :
       Servlet运行在Web服务器上的Web容器里。Web容器负责管理Servlet。它装入并初始化Servlet,管理Servlet的多个实例,并充当请求调度器,将客户端的请求传递到Servlet,并将Servlet的响应返回给客户端。Web容器在 Servlet 的使用期限结束时终结该 Servlet。服务器关闭时,Web容器会从内存中卸载和除去 Servlet.
         J2EE--Servlet_第1张图片
          Servlet基本工作流程如下所示:
       (1)客户机将请求发送到服务器。
       (2)服务器上的Web容器实例化(装入)Servlet
       (3)Web容器将请求信息发送到 Servlet。
       (4)Servlet 创建一个响应,并将其返回到Web容器。
       (5)Web容器将响应发回客户机。
       (6)服务器关闭或Servlet空闲时间超过一定限度时,调用destory()方法退出。
三、Servlet生命周期:
          (1) 初始化

在下列时刻装入 Servlet:

如果已配置自动装入选项,则在启动服务器时自动装入

在服务器启动后,客户机首次向 Servlet 发出请求时

重新装入 Servlet 时装入 Servlet 后,服务器创建一个 Servlet 实例并且调用 Servlet 的 init() 方法。在初始化阶段,Servlet 初始化参数被传递给 Servlet 配置对象。

(2) 请求处理

    对于到达服务器的客户机请求,服务器创建特定于请求的一个“请求”对象和一个“响应”对象。服务器调用 Servlet 的 service() 方法,该方法用于传递“请求”和“响应”对象。service() 方法从“请求”对象获得请求信息、处理该请求并用“响应”对象的方法以将响应传回客户机。service() 方法可以调用其它方法来处理请求,例如 doGet()、doPost() 或其它的方法。

(3) 终止

当服务器不再需要 Servlet, 或重新装入 Servlet 的新实例时,服务器会调用 Servlet 的 destroy() 方法。

           生命周期图如下:
                    J2EE--Servlet_第2张图片

 

你可能感兴趣的:(J2EE)