〓【球友会】分享IT计算机各类电子书,包括各类编程语言,人工智能,机器学习、深度学习以及各类大数据、算法等内容的电子书
Java Web开发技术概述
Java Web开发技术概述

Java Web开发技术概述

本章首先分析了J2EE体系结构,然后在此基础上介绍了容器,组件,Web应用,J2EE应用等与Java Web开发技术密切相关的基本概念.最后,阐述了组成J2EE体系结构的各层所应用的Java Web开发技术,运行原理以及所提供的各种服务.

J2EE体系结构如图1.1所示.与最终用户进行交互的前端表示组件在逻辑上被划分到了客户层,而提供数据存储与访问功能的组件被划分到了数据层.另一方面,在逻辑上驻留在前端与后端之间的中间层可能由一个表示逻辑层和一个业务层组成.表示逻辑层包括基于Internet协议和Web协议(HTTP,HTTPS,HTML和XML)提供应用功能的组件,业务层由捕获企业业务逻辑的组件组成,这两个层在逻辑上可划分为完全分离的两层,每一个分离的层都是独立的,从而使J2EE支持分布式4层(或者n层)应用.J2EE是一个灵活的结构,它不将开发人员锁定到特定数量的层上,并且不详细规定对于这些逻辑分组的物理分离.在网络计算环境上,一个普通的应用可以在一台计算机上同时运行表示逻辑层和业务层(甚至可以包括数据层),而高级的应用可以在若干台计算机上从物理上分隔每一层.

随着Web和Internet的发展,越来越多的企业开始开发与部署基于Web的企业内部网和外部网,而J2EE为基于Web的企业应用提供了强有力的支持.

在Web环境下,术语企业(enterprise)描述的是依照一组公共规则进行运作的任何组织.从广义上说,J2EE应用(J2EE application)只是特定于企业的软件程序,它基于控制组织的一般规则中的某一部分来提供某种形式的功能.例如,企业可以使用J2EE创建自动化的购货订单处理应用,而大学则可以使用J2EE来构建学生选课系统.

从组件开发的视角看,J2EE支持简化的,基于组件的开发模型.在这种模型中,企业应用是通过使用Java语言编写的重用软件组织进行组装而成的.J2EE是使用Java构建新型分布式多层应用的事实标准,是完全基于J2SE的.也就是说,J2EE实际上是在J2SE之上加入了大量的企业级API和功能,从企业应用开发中提取关键要素,进而使开发人员能够简单而有效地创建广泛的分布式应用.

从开发层次上看,J2EE是基于分布式多层应用模型的.在这种模型中,应用功能在逻辑上分布在联网计算环境中各个级别或各个层上,每一层表示大多数企业应用所共有的相关概念集合.也就是说,J2EE应用由软件组件构成,而这些软件组件根据它们在整个应用结构中所起的作用进行了分组,J2EE组件在其对应的层上部署,并且在对应层的容器中运行.容器能够提供标准的服务,同时使组件能够访问对应层的API.

分布式多层应用(Distributed Multitiered Application)描述的是其各部分的软件组件分布在网络各个不同的层或计算级别上的软件应用.多层结构是J2EE的核心,在多层结构中,组成应用的各种组件在逻辑上是分离的或者是分布式的,跨越网络计算环境的各个级别或各层.多层应用在逻辑上对组件进行分组的依据是这些组件在整个应用结构中执行的功能,所以这里的层代表功能的逻辑层或逻辑级别.

容器(container)指的是提供特定程序组件服务的标准化运行时环境,通过这些组件,可以在任何供应商提供的J2EE平台上得到所期望的服务.容器的作用是为组件提供与部署,执行,生命周期管理,安全和其他组件需求相关的服务.此外,不同类型的容器明确地为它们管理的各种类型的组件提供附加服务.例如,J2EE Web容器都提供响应客户请求,执行请求时间的处理,以及将结果返回到客户端的运行时环境支持.J2EE容器还负责管理某些基本服务,像诸如组件的生命周期,数据库连接资源的共享,数据持久性等.

一般地,软件开发人员只要开发出满足J2EE应用需要的组件并能安装在容器内就可以了.程序组件的安装过程包括设置各个组件在J2EE应用服务器中的参数,以及设置J2EE应用服务器本身,这些设置决定了在底层由J2EE服务器提供的多种服务(例如,安全,交易管理,JNDI查寻和远程方法调用等).

EJB容器——为Enterprise JavaBean组件提供运行时环境,它对应于业务层和数据访问层,主要负责数据处理以及和数据库或其他Java程序的通信.

Web容器——管理JSP和Servlet等Web组件的运行,主要负责Web应用和浏览器的通信,它对应于表示层.

应用客户端容器——负责Web应用在客户端组件的运行,它对应于用户界面层.

每种容器内都使用相关的各种Java Web编程技术.这些技术包括应用组件技术(例如,Servlet,JSP,EJB等技术构成了应用的主体),应用服务技术(例如,JDBC,JNDI等服务保证组件具有稳定的运行时环境),通信技术(例如,RMI,JavaMail等技术在平台底层实现机器和应用程序之间的信息传递)等3类.

为了降低软件开发成本,适应企业快速发展的需求,J2EE平台提供了基于组件的方式设计,开发,组装和部署企业应用系统.按照这种方式开发出来的J2EE组件,不依赖于某个特定厂商提供的产品或者API.不管是开发商还是最终用户,都有最大的自由去选择那些能更好地满足业务或技术需求的产品或组件.

组件(component)是指在应用程序中能发挥特定功能的软件单位.组件实质上就是几种特定的Java程序,只不过这些程序被规定了固定的格式和编写方法,它们的功能和使用方式在一定程度上被标准化了.例如,在Java 2标准版中提供的JavaBean组件,就是按照特定格式编写的Java类文件.JavaBean可以通过getXXX( )和setXXX( )方法访问实例变量中的数据.

组件与容器的关系概括如下:组件是组装到J2EE应用中独立的软件功能单元,每一个J2EE组件在容器中执行,容器为组件提供标准服务和API,容器充当通向底层J2EE平台的接口.连接器(connector)在概念上驻留在J2EE平台的下方,连接器提供了可移植服务的API,J2EE应用使用这些API来插入到现有的企业应用中.连接器也称为资源适配器,连接器为J2EE体系结构增加了另一种灵活性.

组成J2EE应用的各种组件在对应容器中执行,容器为组件提供底层J2EE API的统一视图.

容器管理组件,并且为组件提供多种系统级服务.例如,生命周期管理,事务管理,数据缓存,异常处理实例池,线程以及安全性.也就是说,J2EE应用以分布式组件集合的形式存在,而各分布式软件组件在其各自的容器中运行.

J2EE客户为应用提供用户界面.客户端向最终用户提供了一个窗口,最终用户可以通过该窗口使用J2EE应用提供的各种服务.

客户层用来处理J2EE应用的客户表示和用户界面.客户层用现实世界中的桌面计算机,Internet设备或者无线EE应用可以和多种客户端程序实现连接,主要包括W

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注