- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于JavaServerTM Faces和DAO
基于JavaServerTM Faces和DAO
摘 要 文章先介绍了JavaTM EE家族中的重要成员——JavaServerTM Faces这一技术。它位于JavaTM EE的 Faces;JSF;大型设备采购;信息系统1 前言 信息技术、计算机网络技术、数据库技术和软件工程技术的高速发展,使得计算机信息系统得到了长足的进步。高速网络和大型关系数据库的成熟,为构建计算机信息系统提供了良好的基石;软件工程技术的发展,使得人们可以设计并构建出灵活、功能强大和高质量的信息系统——基于MVC(Model-VieVC这一架构模式,JavaServerTM Faces技术就是其中的一种,开发者可以利用JSF技术开发出设计良好的系统。2 MVC架构模式 MVC模式将系统分割为三个独立的部分:Model、Vieodel代表应用数据和业务逻辑,VieVC架构模式示意图 MVC模式使系统各部分之间的耦合度降低,内聚度提高。这种设计方式能够有效地提高系统的可维护性。 VC架构模式受到了一定的限制,同时也必须做一些修改,这就是Model 2模型。在这个模型中,有一个前端Servlet作为Controller,侦听特定的URL请求。在收到请求后,Servlet与作为Model的JavaBean交互,再决定向哪一个Vieodel 2的结构图 HTTP的无状态性导致了这么一种结果:在Model 2中,Model的变更无法立即传播到相应的Vieodel 2架构,明确定义了Model、Vieodel(用户界面模型)。这个模型直接决定了JSF架构不同于传统odel(组件呈现模型):组件的功能由组件的类决定,而组件的显示可以由专门的呈现器来决定。这种功能和呈现分割的设计意味着:可以通过简单地替换呈现器,获得不同的显示效果,或者通过不同的呈现器,来适应不同的客户端。 ● Conversion Model(转换模型):某些用户界面数据,如输入框中的数据,是与服务器端的数据对象相联系的。服务器端的数据对象是有类型的,而用户界面组件内的内容全部都是String类型的,如果这两者数据类型不相容,就必须有一个转换器。转换模型定义了这方面的内容,程序员可以根据需要为用户界面组件搭配合适的转换器。图 3 JSF结构图 ● Validation Model(验证模型):这个模型定义了如何对来自于请求的数据进行验证。程序员可以通过它定义数据的格式。 ● Event and Listener Model(事件和监听模型):通过事件和监听模型,JSF技术提供了基于事件驱动的编程方式——用户界面产生event(事件),注册在其上的listeners(监听器)捕获这个事件,执行事先确定的任务。事件和监听模型提供了Listener类作为监听器的接口,一旦一个应用程序提供了对Listener类的实现,并且向相应的用户界面组件进行注册,就可以得到相应的通知。JSF支持三种事件:值变化事件、动作事件、数据-模型事件。3.2 JSF的请求处理生命周期 JSF系统的组成元素由用户界面模型来定义,这些元素如何协作则是由JSF的请求处理生命周期来定义的,这个步骤也被称为JSF页面的生命周期,如图4所示:
图 4 JSF页面的生命周期 ● Restore View(恢复视图):在这一阶段,JSF的服务器会为所接收的faces请求建立组件树,并将相应数据存入FacesContext实例中。在下一次访问这个页面时,FacesServlet将利用这些数据重建组件树。通过这种机制,可以在不同的请求之间保存数据,解决了HTTP本身无状态的问题。 ● Apply Request Values(应用请求值):在组件树建立之后,系统会从请求的参数中抽取参数值,将它们赋值给相应的组件,同时消息和事件会被存放于相应的消息或事件队列中。 ● Process Events(处理事件):系统将消息队列中的事件广播给相应的监听器,由监听器作相应处理。 ● Process Validations(处理验证):在这一阶段,系统读取组件的值,同时查看在相应组件上的验证器规则,通过比较值和验证规则,确定组件的值是否有效。 ● Update Model Values(更新模型值):将用户组件的值赋给相应的支持Bean。 ● Invoke Application(调用应用程序):在这个阶段,系统响应所有的ActionEvent事件,进行相应的处理。 ● Render Response(呈现响应):系统生成相应的响应,并将响应的状态保存起来,以便后续的请求进行访问。4 持久层的架构设计 本系统的持久层采用DAO(Data Access Object,数据访问对象)模式的设计。通过DAO模式对系统进行分割,将数据库访问层的实现封装到Data A
文档评论(0)