版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章JavaWeb开发技术概述本章首先分析了J2EE体系结构,然后在此基础上介绍了容器、组件、Web应用、J2EE应用等与JavaWeb开发技术密切相关的基本概念。最后,阐述了组成J2EE体系结构的各层所应用的JavaWeb开发技术、运行原理以及所提供的各种服务。第1章JavaWeb开发技术概述1.1J2EE体系结构1.2J2EE容器和组件1.3客户层技术1.4Web层技术1.5EJB层技术1.6数据层技术1.7J2EE平台中角色与任务1.1J2EE体系结构J2EE体系结构定义了4个不同的层,自上而下的方向分别是:客户层(clienttier)表示逻辑层(presentationlogictier),也称为Web层(webtier)业务层(businesstier)数据层(datatier)1.概述客户层与最终用户进行交互的前端表示组件数据层而提供数据存储与访问功能的组件表示逻辑层和业务层在逻辑上驻留在前端与后端之间的中间层1.概述2.J2EE应用企业(enterprise)描述的是依照一组公共规则进行运作的任何组织J2EE应用(J2EEapplication)是特定于企业的软件程序,它基于控制组织的一般规则中的某一部分来提供某种形式的功能1.2J2EE容器和组件1.2.1容器1.2.2组件Web应用一个由HTML/XML、Servlet、JSTL、类以及其他任何可以捆绑起来,并在来自多个厂商的多个Web容器上运行的Web资源构成的集合;可以将Web应用从一个服务器移到另外一个,或移动到同一服务器的不同位置,而不需要对组成Web应用的任何种类的文件作任何改动。1.2.1容器容器(container)指的是提供特定程序组件服务的标准化运行时环境,通过这些组件,可以在任何供应商提供的J2EE平台上得到所期望的服务。容器的作用为组件提供与部署、执行、生命周期管理、安全和其他组件需求相关的服务。1.2.1容器EJB容器为EnterpriseJavaBean组件提供运行时环境,对应于业务层和数据访问层,主要负责数据处理以及和数据库或其他Java程序的通信。Web容器管理JSP和Servlet等Web组件的运行,主要负责Web应用和浏览器的通信,对应于表示层。1.2.1容器应用客户端容器负责Web应用在客户端组件的运行,对应于用户界面层。Applet容器负责在Web浏览器和Java插件(JavaPlug-in)上运行Applet程序,对应于用户界面层。提示:第2章介绍开发Web应用的集成开发环境OracleJDeveloper10g;第3章介绍如何基于OracleJDeveloper10g开发Java应用程序;第4章介绍Web开发的执行环境OC4J(OracleContainersForJ2EE)10g。1.2.2组件1.组件的概念2.组件的类型1.组件的概念组件(component)在应用程序中发挥特定功能的软件单位组件实质上是几种特定的Java程序,只不过这些程序被规定了固定的格式和编写方法,它们的功能和使用方式在一定程度上被标准化了
2.组件的类型客户端组件客户端的Applet和客户端应用程序Web组件Web容器内的JSP、Servlet、Web过滤器、Web事件监听器EJB组件EJB容器内的EJB组件2.组件的类型组件与容器的关系组件是组装到J2EE应用中独立的软件功能单元,每一个J2EE组件在容器中执行容器为组件提供标准服务和API,容器充当通向底层J2EE平台的接口2.组件的类型J2EE应用由软件组件构成,这些软件组件根据其各自所属的层进行了分类组成J2EE应用的各种组件在对应容器中执行,容器为组件提供底层J2EEAPI的统一视图容器管理组件,并且为组件提供多种系统级服务J2EE客户为应用提供用户界面。1.3客户层技术1.3.1Web客户1.3.2Applet客户1.3.3应用客户1.3.1Web客户Web客户的组成:Web页面由浏览器提供,用来向最终用户提供进入企业应用的界面浏览器负责将页面正确地显示给用户,并不承担复杂的数据检索和计算任务1.3.1Web客户浏览器的主要功能:
以特定格式显示HTML文件获取客户的点击并转化成HTTP请求(request)连接Web服务器,发出HTTP请求并接收处理响应(response)管理客户和服务器之间的对话状态(SessionState)1.3.1Web客户优先考虑使用Web客户的情形:J2EE应用的最终用户驻留在企业的外部J2EE应用的最终用户由于只需要使用Web浏览器而不容易进行管理最终用户不一定要下载或安装任何特殊的软件1.3.2Applet客户Applet使用Java语言编写的轻量级客户程序,一般是在Web浏览器的上下文中执行Applet容器负责管理Applet客户的运行时执行,由Web浏览器和Java插件组成Applet的优点可以提供在一处管理的丰富图形用户界面主要缺点是Applet很难部署,尤其是当浏览器运行在一个嵌入不同版本的Java虚拟机上时更是如此1.3.3应用客户应用客户使用Java语言编写,在标准的JVM上运行的Java应用程序对J2SEAPI具有完全的访问能力,可以使用Java的Swing和AWT库构建具有复杂功能和丰富的图形用户界面1.3.3应用客户客户端技术的选择:电子商务网站,采用Web浏览器作为客户端要求使用者随时地获取信息,程序的客户端可以采用无线设备要求具有复杂快速的用户界面,就应该考虑在客户端使用Applet或独立运行的Java应用程序要求用户可在各种操作系统上都能使用,就尽量使用标准的浏览器和Java技术作为程序客户端1.4Web层技术1.4.1Web组件1.4.2Web层基本结构1.4.3Web组件的选择Web层与客户层的主要区别:Web层主要在Web服务器端工作,而用户界面通过Web浏览器在客户端工作,两者之间通过Web通信Web层侧重于信息格式的处理,而用户界面则主要是方便人的理解和操作1.4.1Web组件1.JavaServletServlet是在服务器上运行的,用Java语言编写的程序Servlet是用Java语言书写的一种协议,是与平台无关的服务器端组件,可在支持Servlet的Web服务器上运行Servlet被装载到Web服务器后,在JVM上执行,所以不需要任何图形用户界面Servlet的基本运行方式JavaServlet具有以下主要优点可移植性方便性高效性通用廉价提示:第5章介绍了Servlet的基本概念、工作原理、基本程序结构,阐述了如何基于OracleJDeveloper10g和OC4J开发Servlet第6章介绍了ServletAPI中主要的类和接口的用法,阐述了如何基于ServletAPI开发Web应用2.JSPJSP技术规范由Sun制定,定义了如何在服务器和JSP之间进行交互,描述了页面的格式和语法。JSP使用XML标签和Scriptlets封装生成页面内容的逻辑。JSP将各种格式的标签直接传递给响应的页面。通过这种传送方式,JSP实现了页面逻辑与其设计和显示的分离。2.JSPJSP技术主要优点简单实用移植性和规范性好3.过滤器是驻留在Web层上的软件对象,在Servlet或JSP容器中运行,可对到来的客户请求由Servlet或JSP页面创建的应答响应进行动态变换过滤器并不创建针对请求的响应,而是对由Web预先创建的响应进行过滤。实现过滤的方式是在响应文档返回给客户之前对该响应文档进行修改4.事件监听器是一些Java类,用于实现一个或多个Servlet事件监听接口,接收特定类型的面向Servlet的事件通知例如,可以创建事件监听器来监听与Servlet上下文有关的生命周期和状态变化、HTTP会话和与Servlet请求相关的事件等提示:第6章介绍了Servlet过滤器与事件监听器的基本概念,以及在Web开发中应用。第7章介绍了JSP的基本概念、工作原理、基本语法,阐述了如何基于OracleJDeveloper10g和OC4J开发JSP程序。第8章阐述了如何基于JSP指令、操作以及JavaBean开发Web应用。1.4.2Web层基本结构基本结构Web层的主体是Web服务器,主要包括Web连接器和Web容器Web服务器是Web应用运行的平台,是一套能够编译和运行Web组件的Java动态运行时环境Web层的基本功能是管理、运行和设置Web应用,并使其能够对Web客户的请求做出正确的响应和处理1.4.2Web层基本结构运行机制当浏览器向Web服务器发出HTTP请求时,HTTP连接器负责接收请求,并分析出该请求对应的Web应用和资源Web容器在部署Web应用时,根据其部署描述文件规定了每个Web组件的URL地址,在Web服务器中描述了URL和程序资源的对应关系Web容器可根据Web组件的种类进行处理1.4.2Web层基本结构1.4.3Web组件的选择程序的规模和功能要求如果是相对简单而不要求在分布式服务器上运行的程序,可以选择使用Servlet/JSP而不需要使用EJB。项目的资金能力如果购买Web服务器的费用太贵,可以选择像ApacheTomcat这样免费而被广泛使用的Web服务器。技术的复杂性EJB技术要比Servlet/JSP和JavaBean技术复杂。如果编程人员要快速地开发Web应用,使用Web层的Servlet/JSP技术而不用EJB技术是比较合适的选择。1.5EJB层技术在J2EE体系结构中,EJB(EnterpriseJavaBean)在服务器端执行,服务器方处于一种管理环境中,这种环境对事务、可伸缩性和安全性提供内置支持。EJB驻留在业务层上,在业务层的EJB容器中执行,EJB容器在J2EE应用服务器上运行。因为EJB部署在业务层中来提供J2EE应用的业务逻辑功能,所以EJB有时也称为业务组件。1.6数据层技术1.6.1J2EE平台1.6.2命名服务与目录服务1.6.3部署服务与管理服务1.6.4OracleDBXE1.6.5基于JDBCAPI的数据库服务1.6.6数据事务服务1.6.1J2EE平台J2EE平台由标准服务包、API、协议和数据格式组成,这些要素共同提供了开发、部署和维护分布式多层应用必需的功能。J2EE1.4平台为网络通信、事务、安全、CORBA交互、数据库访问、消息传递、命令和目录访问、邮件、XML解析和Web服务提供标准服务。1.6.1J2EE平台要求支持以下的Internet和Web协议:TCP/IP协议簇HTTP1.1SSL3.0和TLS1.0SOAP(SimpleObjectAccessProtocol)1.1其它通信协议——RMI协议、IIOP协议、EJB互操作协议和CORBA(CommonObjectRequestBrokerArchitecture)协议等1.6.2命名服务与目录服务Java命名和目录接口JNDI是用于从Java应用程序中访问名称和目录服务的一组API“命名服务”是将名称与对象相关联,以便能通过相应名称来访问这些对象“目录服务”是对象具有属性及名称的“命名服务”1.6.2命名服务与目录服务J2EE平台提供的“命名服务”允许对象按名称进行查找;另一方面,“目录服务”是“命名服务”的一个补充,“目录服务”允许对象基于其属性(功能)进行查找JNDI为J2EE应用组件(Servlet、JSP、EJB等)提供了一个命名环境,简化了在开发高级网络应用程序中对目录基础设施访问的复杂度1.6.3部署服务与管理服务模块(module)是J2EE软件单元,由一个或多个相同组件类型(客户组件,Web组件,EJB)的组件构成。这些组件连同相应的部署描述文件(deploydescriptor)一同绑定到JAR(JavaArchive,Java归档文件)文件中部署描述文件是XML文件,包含声明语句,而不是程序代码。这些声明语句描述了部署模块中的每一个组件和组装指令(组装指令是用于描述如何将组件组装到J2EE应用中的)所必需的数据1.6.3部署服务与管理服务在J2EE平台之上将组件整合为模块,再将模块整合为J2EE应用,这个操作过程称之为“打包”“部署J2EE应用”指将组件按照规定的格式打包,并放置在应用服务器的容器内EAR文件结构1.6.3部署服务与管理服务J2EE模块有以下4种类型,每种类型的模块对应一类组件:EJB模块Web模块资源适配器(resourceadapter)模块应用客户模块1.6.4OracleDBXEOracleDB10gExpressEdition(简称OracleDBXE)是基于OracleDatabase10g第2版代码库的一种入门级、小体积(206MB)的数据库服务器,使用它进行开发、部署和分发都是免费的,而且它下载快速且易于管理。提示:第9章介绍了OracleDBXE的软硬件环境、初始化方法、体系结构、创建用户等方面的知识。第10章介绍了OracleDBXE模式对象等基本概念,以及如何用OracleDBXE提供的对象浏览器工具创建和维护数据表。第11章介绍了OracleSQL函数和操作符,以及如何用SQL语言访问OracleDBXE。1.6.5基于JDBCAPI的数据库服务JDBCAPI由一组用Java语言编写的类和接口组成,提供了用于处理列表和关系数据的标准API通过调用JDBCAPI中提供的类和接口中的方法,客户机能够以一致的方式连接不同类型的数据库,进而使用标准的SQL语言存取数据库中的数据,而不必再为每一种数据库系统编写不同的Java程序代码1.6.6数据事务服务数据事务服务用于保证数据读写时不会出错。当应用程序进行数据库操作时,要么成功完成,要么一点也不改变数据库中的数据。数据事务服务有一个“不可分微粒”的概念,就是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卫生院院ct诊断合作协议书(2篇)
- 产品采购合同范本
- 离职协议保证
- 二零二四年度精密仪器设备维修与保养合同
- 软装货品选购合同格式
- 房屋买卖合同的权益保护
- 建筑工程钢结构部分施工质量验收资料
- 好运石材料采购协议
- 纸张购销合同范例
- 铜墙铁壁防盗门购销合同
- 《中国移动渠道》课件
- (完整版)彩钢瓦屋面施工方案
- (中职)ZZ029养老照护赛项规程(8月18日更新)
- 《指环王电影介绍》课件
- 民用爆炸物品安全技术基础培训试题
- 教科版小学科学三上3-1《我们关心天气》课件
- 犹太律法613条具体条款
- 提升内驱力-高中主题班会优质课件
- 北师大版六年级数学教材分析
- 供应商应急响应服务方案
- 新QC七大手法(培训课件)
评论
0/150
提交评论