内容发布更新时间 : 2024/11/19 18:37:01星期一 下面是文章的全部内容请认真阅读。
中间件:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。 中间件的特征: 独立于系统;用于分布式环境;本身是开发平台;可以实现应用之间的互操作;具有网络通信功能
中间件的分类: 把支持单个的应用系统或解决一类问题的中间件称为底层中间件,一般包括交易中间件、应用服务器、消息中间件、数据访问中间件。把用于与各种应用系统关联,完成系统整合的中间件称为高层中间件,一般包括企业应用集成中间件、工作流中间件、门户中间件等。 中间件的特点: 满足大量应用的需要;运行于多种硬件和操作系统平台;支持分布式计算;提供网络、硬件、操作系统的透明性的交互功能;支持标准的协议;支持标准的接口
中间件的作用: 促进软件标准化;简化最终开发;保护已有投资;稳定应用环境;集成和协调应用软件
Web应用和应用服务器的发展:静态网页技术;动态网页技术;C/S体系结构模式与B/S体系结构模式;多层应用体系结构
HTML(Hyper Text Markup Language,超文本标记语言) CSS (Cascading Style Sheets,层叠样式表单) CGI(Common Gateway Interface,通用网关接口) ASP(Active Server Page,动态服务器页面) JSP(Java Server Page,Java服务器页面)
PHP(Hypertext Preprocessor,超级文本预处理语言)
CORBA(Commen Object Request Broker Architecture,公共对象请求代理架构) Java EE应用模式:使用分布式多层应用来解决企业应用问题。遵循“实际问题→应用逻辑→组件→应用系统”的工作模式。工作流程:按照应用系统的需求分解为若干不同的部分和不同的功能,寻找到适合需要的全部组件,搭建出这些不同的部分和不同的功能。组件可以由不同的人来开发,由应用系统的设计者将这些组件最终安装部署成所需的应用系统。 Java EE组件分4种:Application客户端组件、Applet客户端组件、Web组件、EJB组件。 容器是介于组件与支持组件运行的底层特定平台功能之间的接口。 几种容器之间的关系
Web应用(Web Application)及其分类: Web应用可以看成是动态的Web,或者是应用服务器的Web化。面向外观的Web应用:生成有各种标记语言的网页,对于客户端的请求予以回应。面向服务的Web应用:实现了Web服务
Web容器:Web组件是由运行时平台的服务来支持的,这个平台称为Web容器。
Web应用的一般工作过程 :Web客户端向Web服务器传递一个HTTP request,由Java servlets和JavaServer Faces技术实现的Web服务器将其转换为一个HTTPServletRequest对象实例,这个对象实例被转交给能够与JavaBeans组件或者数据库进行交互的Web组件,这个web组件或者将其传递给另外的Web组件继续处理,或者随后生成一个HTTPServletResponse对象实例,Web服务器会将最终生成的HTTPServletResponse对象实例转换成HTTP response并且返回给Web客户端。
Web应用的生命周期 1、开发Web组件的代码2、开发Web应用的部署描述符3、编译Web应用的组件及其所涉及的辅助类4、打包Web应用为部署单元5、向Web容器中部署Web应用6、访问指向该Web应用的URL。
JavaServer Faces:JavaServer Faces(JSF)是一种新的服务器端标准Java框架,用以构建基于Java技术的Web应用程序。它提供了一种以组件为中心来开发Java Web用户界面的方法,从而简化了开发 JavaServer Faces应用的生命周期:JavaServer Faces应用的生命周期开始于客户端对Web页面的请求,结束于服务器的页面回应。
生命周期包含两个主要的阶段:执行阶段和回应阶段。执行阶段可能发生的行为有:应用视图被生成或储存;请求参数值被应用;组件值的转换和验证被实施;Backing beans被用组件值更新;应用逻辑被行使。回应阶段,请求视图被以客户端应答回应,典型地表现为用HTML或XHTML生成的能被浏览器所识别的输出。 生成一个简单的JavaServer Faces应用步骤:开发Backing Bean;加入管理bean的声明;生成Web页面;映射FacesServlet对象实例
Facelets:Facelets是强大的、轻量级的页面声明语言,用来以HTML方式模板创建JavaServer Faces视图,创建组件树。
Facelets的特征包括:使用XHTML生成Web页面;支持除JavaServer Faces和JavaServer Pages Standard Tag Library标签库之外的Facelets标签库;支持表达式语言EL;提供组件和页面模板
使用Facelets的好处:通过模板和复合组件支持代码重用;通过用户化扩展组件和服务器端对象的能力;更快的编译时间;编译时EL验证;高性能回应 开发一个简单的Facelets应用:开发Backing Bean;用组件标签生成页面;定义页面导航;映射FacesServlet实例;添加管理bean声明 转换器(Converter):JavaServer Faces的实现提供了一套转换器(Converter)供用户实现组件数据的转换
使用标准的转换器 转换组件值方法:1、绑定组件的一个值到backing bean的一个具有相同类型的属性上2、直接在组件中描述转换器3、嵌套转换器到组件标签中,或者用“converter”标签的“converterId”描述,或者用绑定的转换器描述。 验证器(Validator):JavaServer Faces技术提供了一系列标准类和辅助标签,网页作者和应用开发者可以用来验证组件值,这些标准类称为标准验证器(Validator)。 用户化UI组件(Custom UI Components):利用组件架构的可扩展性,采用JavaServer Faces对现有的组件进行升级,生成新的组件,可以称这样的组件为用户化UI组件(Custom UI Components)。 采用JavaServer Faces技术生成用户化组件的步骤包括:1、生成用户组件类2、如果组件不处理回复,则将回复委托给回复器3、注册组件4、如果组件是能生成事件的,则生成事件处理器5、借助于扩展javax.faces.webapp.UIComponentELTag类,写标签处理器类。此种类中需要三个方法:getRendererType方法返回用户回复器的类型,getComponentType方法返回用户组件类型,setProperties方法设置组件中的新属性6、生成定义用户标签的
组件标签库描述。
Servlet:servlet是一种Java程序类,是一种用来扩展以请求-应答程序模式运行应用程序的服务器的能力的一种Java程序。
Servlet的生命周期:1、装载初始化阶段:如果这个servlet的实例不存在于容器中,容器将调用servlet类,生成这个servlet类的实例,并通过运行init方法初始化实例2、执行时期:借助service方法完成请求和应答的处理,通常情况下,Web服务器会在比较长的时间里不停地处理请求和应答,所以servlet类的实例的执行时期会持续比较长3、结束时期:如果必要的话,容器将通过运行servlet类的destroy方法将servlet类的实例从容器中去除,从而能结束servlet。
过滤器:过滤器是一个能够改动请求和应答的内容的对象,其主要工作如下:质询请求并相应地行动,阻断请求与应答的搭配,更改请求的头和数据,更改应答的头和数据,与外部资源交互。
Web服务:Web服务就是一个应用程序,它提供一个可以从外部访问的API,用户能够通过编写一个应用程序来访问这个应用程序,访问Web服务应用程序的应用程序叫做客户端。 Java EE 6 Web服务技术包括:JAX-WS(Java API for XML Web Services,面向XML Web服务的Java API);JAX-RS(Java API for RESTful Web Services,面向RESTful Web服务的Java API)
JAX-WS提供“大”Web服务的功能,“大”Web服务使用遵从SOAP协议标准的XML消息,XML语言定义了消息的架构和格式。这样的系统通常包含服务所提供的机器可读的操作描述,这种描述用WSDL语言写成;“RESTful”(Representational State Transfer,表述性状态转移)Web服务则是由JAX-RS提供的,“RESTful”Web服务通过HTTP直接传输数据,与HTTP的结合要好于基于SOAP的Web服务。
JAX-WS规范:是用XML通讯建立Web服务和客户端的技术,是一组XML格式的Web服务的Java API 企业bean(Enterprise Bean):是用Java语言写成的概括应用的业务逻辑的服务器端组件,所谓业务逻辑是履行了应用的目标的代码。 使用EJB的理由:因为EJB(Enterprise JavaBean)容器给企业Bean提供了系统级的服务,所以企业bean的开发者完全可以将思想集中于解决业务问题另外,因为企业bean比客户端包含了更多的应用业务逻辑,客户端的开发者可以着重于客户端的外观表现,而不必去编写实现业务规则或访问数据库的代码。
在以下几种情况下,系统设计者可以考虑使用企业bean:如果系统必须被设计成可升级的。为了顺应日益增加的用户数量,需要将应用组件分布到多台机器上,这不仅意味着企业bean需要在不同的机器上运行,而且其在系统中的位置还要对客户端保持透明;事务必须确保数据的完整。企业bean支持事务这种管理共享对象的并发访问的机制;应用有多种客户端。仅需为数不多的代码,远程客户端就能容易地定位企业bean,这些客户端可以是瘦的、多种多样的和为数众多的。
企业Bean的类型:会话bean和消息驱动bean等两种企业bean。会话bean又分为有状态会话bean、无状态会话bean和单身会话bean三种
开发企业Bean的一般步骤:开发企业bean,必须提供以下文件:企业bean类:实现企业bean的业务方法和生命周期回调方法;业务接口:定义由企业bean类实现的业务方法,如果企业bean公开了本地无接口视图,则业务接口不是必须要求的;帮助类:企业bean类需要的其他类,如异常类和实用类。将上述文件打包到EJB JAR(Java Archive)文件或WAR(Web Archive)文件中,即可实现安装部署等工作。
会话bean:会话bean囊括了客户端可以通过本地的、远程的和Web服务客户端所能够程序