java web基础知识

java web基础知识

ID:5294890

大小:239.62 KB

页数:6页

时间:2017-12-07

java web基础知识_第1页
java web基础知识_第2页
java web基础知识_第3页
java web基础知识_第4页
java web基础知识_第5页
资源描述:

《java web基础知识》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、一、WEB服务器与应用程序服务器1.Web服务器处理HTTP请求(request),响应(response)HTML页面。2.应用程序服务器提供的是客户端应用程序可以调用的方法,即通过很多协议来为应用程序提供(serves)商业逻辑(businesslogic)。应用程序服务器的功能:安全服务(SecurityServices)状态和会话管理(StateandSessionManagement)负载平衡和失败恢复(LoadBanlancingandFail-Over)业务和处理逻辑(BusinessandPro

2、cessingLogic)胖客户访问服务器组件(Rich-ClientAccesstoServerComponents)胖客户可以直接访问服务器端组件。例如Javaapplet可以请求服务器实例化一个组件,然后就可以调用其方法。通常的执行顺序是:连接服务器,调用方法获得数据结果集,断开连接,显示数据给用户并允许对数据操作,执行本地数据更新,连接服务器,发送数据更新给服务器,执行服务器上数据更新,最后将数据存入数据库。HTML生成纯的瘦客户程序不能直接与服务器端组件通信,没有办法用客户浏览器的HTML或ECMA脚

3、本交换结果集。这意味着服务器端需要另一个组件来生成和处理HTML。应用程序服务器必须解码(decode)一个URL,来决定执行哪一个组件。该组件访问数据库或其他组件,获得结果集,将结果集包装为HTML(或XML),再将其返回给浏览器。应用程序服务器上的HTML生成组件变成了业务逻辑组件的客户。一旦页面被返回给浏览器,我们期待用户更改数据并提交回应用程序服务器。返回给服务器的数据可以作为URL参数(GET),通过表单字段(POST),或者通过cookie。服务器从HTTP请求中获取数据,使其为服务器端被调用的组件

4、使用。数据访问事务管理(TransactionManagement)连接池(ConnectionPooling)当页面被提交,数据被更新时,服务器必须连接数据库以完成工作。如果用户每次提交页面时都要执行数据库连接和断开,系统的性能和扩展性就会变得很差,因为在一个事务周期中建立到数据库的连接是一个开销相当大的操作。一个解决方案是当用户登录时建立连接,而当用户离开或超时时断开连接。但这个方案显然缺乏可扩展性,如果5000个用户同时登录,那么就需要5000个数据库连接。应用程序服务器不为每一个用户保持单独连接。实际上

5、,它维护了一个连接池,供所有服务器端组件共享。如果用户需要更新数据,相应组件就会请求服务器从连接池中分配一个可用连接,当所有的更新被完成后,组件负责通知服务器是否所有操作都成功。当一个事务结束后,连接被立刻释放。线程池和实例池(ThreadPoolingandInstancePooling)高端的应用程序服务器还提供线程池和实例池。因为对于线程或者组件实例而言,开销最大的操作来自创建和实例化过程。线程池和实例池可以提供更好的性能,线程和组件实例可以立刻被服务器所使用。但如果组件是有状态的,或者线程不能被快速释放

6、,线程池和实例池机制将不能发挥其优点。3.实际应用模式现在大多数应用程序服务器也包含了Web服务器,这就意味着可以把Web服务器当作是应用程序服务器的一个子集(subset)。虽然应用程序服务器包含了Web服务器的功能,但是开发者很少把应用程序服务器部署(deploy)成这种功能(capacity)(译者注:这种功能是指既有应用程序服务器的功能又有Web服务器的功能)。相反,如果需要,他们通常会把Web服务器独立配置,和应用程序服务器一前一后。这种功能的分离有助于提高性能(简单的Web请求(request)就不

7、会影响应用程序服务器了),分开配置(专门的Web服务器,集群(clustering)等等)。4.应用IIS、Apache、Tomcat都可以属于Web服务器,Weblogic、WebSphere都属于应用服务器。Apache是纯粹的web服务器,而Tomcat和IIS因为具有了解释执行服务器端代码的能力,可以称作为轻量级应用服务器或带有服务器功能的Web服务器。二、C/S模型1.三层C/S模型。客户层(clienttier)用户接口和用户请求的发出地,典型应用是网络浏览器和胖客户(如Java程序)。服务器层(s

8、ervertier)典型应用是Web服务器和运行业务代码的应用程序服务器。数据层(datatier)典型应用是关系型数据库和其他后端(back-end)数据资源,如Oracle和SAP、R/3等三层体系结构中,客户(请求信息)、程序(处理请求)和数据(被操作)被物理地隔离。三层结构是个更灵活的体系结构,它把显示逻辑从业务逻辑中分离出来,这就意味着业务代码是独立的,可以不关心怎样显示和在

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。