【容器】
容器是组件与底层服务之间的接口,在web组件或者ejb等运行之前,必须部署到容器中。
容器提供在标准运行环境下的组件服务。比如web容器都支持对http协议,web容器将其封装成组件(如servlet)可以使用的response和request
容器提供在编译或者部署的时候选择程序的能力,这种能力通过部署文件实现,这种文件是用定义好的xml标签来描述组件行为的纯文本文件。
javaEE定义了4种不同的容器:(1)EJB容器 :管理运行的EJB(2)WEB容器:管理其中运行的jsp和servlet组件(3)Applet容器:管理applet的运行,由浏览器与java插件组成(4)应用客户端程序:管理其中运行的client的组件
【应用服务器】
一般会将上述WEB容器和EJB容器集成在一起,构成javaEE服务器,即应用服务器。
现在常用的应用服务器软件主要有:weblogic,application server,ibm websphere和apache tomcat
【中间层】
Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序例如CGI脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端(server-side)JavaScript,或者一些其它的服务器端(server-side)技术。无论它们(译者注:脚本)的目的如何,这些服务器端(server-side)的程序通常产生一个HTML的响应(response)来让浏览器可以浏览。
【常用概念的解释】
介绍web的知识的教材比较多,引述的概念也比较繁杂,对一下常用说法进行解释
(1)很多地方提到servlet容器,其实应该是web容器
(2)关于web服务器和应用服务器的差异:应用服务器属于中间层,web服务器包括中间层和运行数据库的机器
(3)web容器与web应用服务器的差异:web应用服务器除了包括web容器,还可能包括EJB容器