总体来说,WEB服务器通过Http只是简单地处理一个请求并返回一个响应供客户端浏览。在这里需要注意的是,WEB服务器处理请求是不可以重用的,即客户端每发送一次请求(相同的请求),WEB服务器就要重新进行一次处理,因为客户端请求的信息时内嵌在HTML里面的,这对于一些重复请求来说效率很低。
应用服务器是通过各种协议,可以包括HTTP,把商业逻辑暴露给(expose)客户端应用程序。前面说过WEB服务器主要是通过处理请求以返回HTML页面供客户端浏览,而应用服务器是提供访问商业逻辑的途径供客户端使用。大多数情况下,应用服务器是通过提供应用程序接口(API)的形式把商业逻辑暴露给客户端的。因此,当客户端发出一个请求时,它只要通过使用应用服务器暴露给它的商业逻辑对请求进行处理并返回响应。这样大大提高了商业逻辑的可重用性。
JSP/Servlet中的应用服务器我们把它称作Servlet引擎(Servlet engine)。常见的Servlet引擎有Tomcat, Resin ,Jety等。Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。Tomcat不仅仅是一个Servlet引擎,同时它也是一个WEB服务器,因此它也可以用来处理HTML页面。但是与WEB服务器Apache相比,Tomcat处理页面的效率要低。因此我们可以把Apache和Tomcat集成起来一起使用,用Apache来处理HTML页面,用Tomcat来处理JSP和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。 Jetty 是一个开源的Servlet引擎,它为基于Java的web内容,例如JSP和servlet提供运行环境。
下面让再详细说明下:
Web服务器(Web Server)
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服务器的代理模型(delegation model)非常简单。当一个请求(request)被送到Web服务器里来时,它只单纯的把请求(request)传递给可以很好的处理请求(request)的程序(译者注:服务器端脚本)。Web服务器仅仅提供一个可以执行服务器端(server-side)程序和返回(程序所产生的)响应(response)的环境,而不会超出职能范围。服务器端(server-side)程序通常具有事务处理(transaction processing),数据库连接(database connectivity)和消息(messaging)等功能。
虽然Web服务器不支持事务处理或数据库连接池,但它可以配置(employ)各种策略(strategies)来实现容错性(fault tolerance)和可扩展性(scalability),例如负载平衡(load balancing),缓冲(caching)。集群特征(clustering―features)经常被误认为仅仅是应用程序服务器专有的特征。
应用程序服务器(The Application Server)
根据我们的定义,作为应用程序服务器,它通过各种协议,可以包括HTTP,把商业逻辑暴露给(expose)客户端应用程序。Web服务器主要是处理向浏览器发送HTML以供浏览,而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用。应用程序使用此商业逻辑就象你调用对象的一个方法(或过程语言中的一个函数)一样。
应用程序服务器的客户端(包含有图形用户界面(GUI)的)可能会运行在一台PC、一个Web服务器或者甚至是其它的应用程序服务器上。在应用程序服务器与其客户端之间来回穿梭(traveling)的信息不仅仅局限于简单的显示标记。相反,这种信息就是程序逻辑(program logic)。 正是由于这种逻辑取得了(takes)数据和方法调用(calls)的形式而不是静态HTML,所以客户端才可以随心所欲的使用这种被暴露的商业逻辑。
在大多数情形下,应用程序服务器是通过组件(component)的应用程序接口(API)把商业逻辑暴露(expose)(给客户端应用程序)的,例如基于J2EE(Java 2 Platform, Enterprise Edition)应用程序服务器的EJB(Enterprise JavaBean)组件模型。此外,应用程序服务器可以管理自己的资源,例如看大门的工作(gate-keeping duties)包括安全(security),事务处理(transaction processing),资源池(resource pooling), 和消息(messaging)。就象Web服务器一样,应用程序服务器配置了多种可扩展(scalability)和容错(fault tolerance)技术。
分享到:
相关推荐
小议外汇期权会计在新规则中的应用,是指对外汇期权的确认、计量、披露和应用的探讨。外汇期权是一种金融衍生工具,能够规避外汇风险,但其会计处理也存在一定的复杂性和挑战性。因此,企业需要对外汇期权的确认、...
- **理论与实训结合**:理论教学与实践操作相融合,通过项目实践让学生更好地理解和应用所学知识,提高解决实际问题的能力。 5. **教学改革策略**:改革应关注学生个体差异,实施个性化教育,鼓励创新思维,同时...
小议情势变动规则的应用.doc
同时,教学不应过于繁杂,要使学生能够深入理解和应用所学知识,而非仅仅停留在表面。 在能力培养方面,强调自主学习能力的培养,教师应扮演引导者的角色,激发学生的学习积极性,使其能在生活中主动学习新知识。...
小议计算机应用基础教学方式的革新.docx
小议计算机电子信息工程技术的应用和安全管理.pdf
本文探讨了现金流量在公立医院财务管理中的重要性和应用,尤其在新医改背景下,医院需要更加重视财务管理和监管。现金流量表作为一种关键的财务信息,已经成为医院与国际会计标准接轨的重要举措。在市场经济环境下,...
此外,Quartz还支持并发性和持久性,即使服务器重启,也能恢复已安排的作业。Quartz的工作原理包括Scheduler、JobDetail、Trigger和Calendar等核心组件,它们协同工作以实现高度灵活的定时任务管理。 Quartz的配置...
【小议动态网页开发中JSP技术】 JSP(JavaServer Pages)技术是Web开发领域中的重要工具,尤其适用于构建动态...通过熟练掌握JSP和JDBC,开发者可以构建出高效、可靠的动态Web应用程序,满足各种复杂业务场景的需求。
小议排水设计在高速公路的应用.doc
小议EC加IO联合模型及应用.doc
【虚拟演播室系统在电视节目制作中的应用】 虚拟演播室系统是现代电视节目制作中的一个...随着技术的不断进步,虚拟演播室系统在电视节目制作中的应用将更加广泛,对提升电视节目的观赏性和艺术表现力具有重要意义。
系统采用C/S(客户机/服务器)和B/S(浏览器/服务器)混合模式,既保证了数据处理速度,又实现了Web服务的便捷访问。用户通过浏览器即可查看煤矿运行的基本参数、实时和历史数据,以及异常信息,实现资源的共享和...
小议成本管理在投资项目的应用综述.doc
【道路智能交通和自动行车中的应用】 1. **智能化交通系统**:GPS技术在智能交通控制系统中扮演关键角色,通过测定车流密度和数量,为交通管理提供数据支持。 2. **自动驾驶**:GPS与RTK技术的结合,增强了自动...
《小议GPS技术在工程测量中的应用》这篇文章探讨了GPS技术在现代工程测量中的重要作用和广泛应用。GPS,即全球定位系统,自20世纪70年代起由美国研发,最初用于军事目的,如今已经成为全球范围内不可或缺的定位和...
MVC(Model-View-Controller)模式是一种广泛应用于Web应用程序设计的架构模式,它的核心思想是将业务逻辑、数据处理和用户界面进行分离,以提高代码的可维护性和可扩展性。在本文中,我们将深入探讨MVC模式的组成...
小议网络安全中计算机信息管理技术的应用.pdf
小议电气自动化中人工智能技术的应用.pdf