Leoliu168,servlet容器

容器如何驱动Servlet在了解容器如何驱动Servlet之前,我们首先看一下容器的官方定义:简单的说,容器提供了Servlet的运行环境,提供了ServletAPI的实现 。为了描述Web容器如何驱动Servlet,我们看一下具体的处理过程:首先,请求到达服务器:接着容器创建request和response对象:接着调用service方法处理用户的请求(需要request和response作为参数):最后向客户端返回结果:这个过程主要就是容器驱动Servlet的过程,当然容器管理着Servlet的生命周期,包括创建、运行、回收以及运行过程中所产生的各种事件 。
Servlet容器为Servlet提供运行环境,里面的运行环境是什么?

Leoliu168,servlet容器


Servlet是Java Web的核心概念,理解Servlet对理解Java Web编程是至关重要的 。要清楚Servlet的运行机制,首先要了解Servlet容器与Servlet之间的关系 。当然,要让大家清楚的认识Servlet,有必要给大家呈现一个完整的Servlet图谱 。什么是Servlet要清楚Servlet的功能,我们首先要看一下Servlet的官方定义是怎么描述Servlet的 。
简单的概括一下Servlet:一个运行在服务器端的Java组件 。功能与CGI类似,但是运行环境却大不相同 。Servlet能处理用户的请求并动态生成回应 。Web Container是一个管理Servlet生命周期的特殊Java虚拟机,能以线程的方式处理请求 。这几点关于Servlet的定义中,需要着重描述的是第二点和第四点 。
第二点提到了CGI,CGI是动态Web的标准处理模式,是里程碑式的技术结构(缅怀一下),为了简单的描述一下CGI,我们看一下CGI的处理结构 。通过这个结构我们清楚了CGI的功能,其实Servlet在功能上与CGI是类似的 。Servlet定义的第四点是Servlet能以线程的方式处理请求,而这正是Servlet压倒CGI的重要原因,我们看一下Servlet处理请求的方式:图中清晰的描述了线程的处理方式,大家都知道Java在Web处理上有较大的性能优势,一个重要的原因是Servlet是以线程的方式处理请求的 。
Servlet在整个Java Web解决方案中充当了核心的角色,也就是控制器角色 。控制器是所有请求的入口,就像人类的大脑一样负责协调全身的各种功能,让这些功能能成为一个有机的整体 。我们看一下Java Web中经常出现的MVC结构图:图中除了描述Servlet外还描述了另外两个核心组件:JSP和JavaBean 。
这个结构是后续很多内容的起点,比如为了提高Web容器处理JavaBean的能力,出现了官方的EJB技术,也出现了Spring的非官方技术,但是Spring却被广大程序员热捧,关于SpringMVC的内容将在以后的文章中跟大家陆续分享 。容器如何驱动Servlet在了解容器如何驱动Servlet之前,我们首先看一下容器的官方定义:简单的说,容器提供了Servlet的运行环境,提供了Servlet API的实现 。
【Leoliu168,servlet容器】为了描述Web容器如何驱动Servlet,我们看一下具体的处理过程:首先,请求到达服务器:接着容器创建request和response对象:接着调用service方法处理用户的请求(需要request和response作为参数):最后向客户端返回结果:这个过程主要就是容器驱动Servlet的过程,当然容器还管理着Servlet的生命周期,包括创建、运行、回收以及运行过程中所产生的各种事件 。

    推荐阅读