- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于JSF框架Web应用开发研究
基于JSF框架Web应用开发研究
摘要:
利用JSF框架在表示层上的强大功能,针对JSF框架在业务、数据持久化管理方面的不足,采用MVC(model-view-controller)model-2模式设计一种Web应用开发方案。该方案采用表示层、业务层、持久层三层结构进行设计。工程实践表明,利用该方案进行Web开发有结构清晰、维护方便和高复用性等优点。
关键词:MVC model-2模式; JSF(JavaServer faces)框架; 业务层; 持久层
中图分类号:TP311.5文献标志码:A
文章编号:1001-3695(2007)12-0272-04
0引言
网络信息为企业提供了种种机遇和广阔的发展空间,Web应用平台的建立成为商业企业的制胜法宝。传统基于J2EE的Web开发模式存在着显示与业务逻辑高度耦合、后期维护困难、软件难以复用等问题[1]。为解决这些问题,近年来出现许多基于J2EE的Web框架[2],即JSF、Struts、WebWork、Spring和Tapestry等。在众多框架中JSF具有独特优势[3]:a)标准化。很多框架可供选择是有很多益处,但也可能会分裂Java开发社区,JSF为Web应用开发提供了一种标准。b)强工具支持。一个标准的Web应用框架,同时有良好文档化的API,使得所有基于Java的IDE或其他工具会更容易做出对JSF的支持。c)组件化。JSF提供了可重用并可扩展的用户界面组件,使得Web页面的开发更方便、快捷。但是JSF的侧重点均在表示层上,对于业务、数据持久化管理没有统一规范。当然可以使用EJB或者集成Hibernate框架进行数据持久化。但这样也把EJB的复杂性以及框架集成所出现的新问题引了进来,给Web开发带来了难度[3~5]。针对这一问题,本文设计了一种基于JSF的Web应用开发方案。该方案采用三层结构(表示层、业务层、持久层)进行设计,充分利用了JSF在表示层上的强大功能,补充了JSF在业务层和持久层方面考虑的不足。经实例验证,利用该方案进行Web应用开发层次结构清晰、人员分工明确、后期维护方便、程序复用率高。
1MVC model-2模式和JSF框架
1.1适用于Web的MVC model-2[?B3]模式
传统的MVC模式旨在将交互性应用分为三个单独的组件[3],即model(模型)、view(视图)和controller(控制器)。Model-2模式是传统MVC模式为适应Web所作的改编。这是由于Web应用依赖于超文本传输协议(HTTP)。Web下的model-2结构如图1[3]所示。
用户与Web页面交互,并最终向服务器发送一个请求来获取更多信息(如点击一个按钮)。设计和部署时就指定好的controller servlet侦听特定的URL请求。当接收到一个请求,servlet和model进行交互,然后决定向哪个view组件(JSP页面)派发控制以生成响应。为了生成响应,view组件可能会查询model[3~5]。
1.2JSF框架
JSF规范是由JCP(Java community process)下的JSR-127专家组开发的[3]。它通过提供以下特性来加速开发进程[4]:标准可扩展的用户界面组件、易配置的页面导航、方便的数据验证和转换、自动化Bean管理、事件处理、方便的错误处理以及内置对国际化支持。JSF提供了对model、view、controller的明确定义[3~5]:
a)Model。它是进行业务操作的部分,用来实现业务逻辑。一般使用JavaBean或者EJB(enterprise JavaBean)来建立复杂的企业应用。
b)View。由JSF标签构成的JSP页面组成,通过一个字符串松耦合到controller。View通过发送事件来间接调用controller的逻辑。
c)Controller。主要包括FacesServlet、配置文件和action处理器。FacesServlet负责从客户端接收请求,然后执行一组合理步骤(重建组件树、应用请求值、处理验证、更新模型值、调用应用、呈现响应)来准备和派发响应。
随着JSF的引入,可以简单地通过一组可重用组件创建用户界面。针对JSF在业务、数据持久化管理方面的不足,笔者设计了业务层、持久层专门用来处理业务和数据持久化管理,以方便用户开发。
2基于JSF框架应用开发方案的设计
该方案采用了三层结构,即表示层、业务层和持久层。表示层主要用来构建用户界面、控制页面转发、响应用户请求并调用相应业务逻辑进行处理;业务层封装了整个系统的业务逻辑;持久层也
文档评论(0)