WEB基础--Servlet架构研究

Servlet基本介绍:

         Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。

        狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。(来源于百度百科)

基本架构图

WEB基础--Servlet架构研究

架构图说明

  1.  Servlet接口:定义一个Servlet
  2. ServletConfig接口:定义了Servlet的配置信息
  3. ServletContext接口:一个web应用Servlet容器只会为他创建一个ServletContext对象,是所有的Servlet的共享的对象
  4. ServletRequest接口:定义了请求信息的封装结构
  5. ServletResponse接口:定义了响应用户的信息的结构
  6. GenericServlet抽象类:实现了Servlet和ServletConfig,并聚合了ServletConfig,聚合的ServletConfig的目的在于将类中需要使用到ServletConfig的方法,抛向上层ServletConfig的实现类 。需要实现其他协议的Servlet就可以直接继承此类
  7. HttpServlet抽象类:继承自GenericServlet,封装了Http协议的Servlet
  8. Servlet 顶层由一个Servlet接口扩展开来,接口规定了Servlet的生命周期,期中包括:init()、service()、destroy()
  9. Servlet 的初始化,销毁和执行业务(service)都是由Servlet容器来调用的
  10. 一个完整的请求流程:用户请求进来,Servlet容器加载响应的Servlet并初始化,注入响应的ServletConfig 配置信息,并创建一个ServletRequest和一个ServletResponse,调用service()方法执行具体的请求,并将响应写入ServletResponse对象的缓冲区,Servlet容器将ServletResponse缓冲区中的内容按照HTTP协议封装成相应的HTTP响应,响应给客户端

如有问题,望大佬赐教。