欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    MVC模式在Portlet应用开发中的研究和应用.pdf

    • 资源ID:69718061       资源大小:310.50KB        全文页数:6页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MVC模式在Portlet应用开发中的研究和应用.pdf

    http:/ MVC模式在模式在Portlet应用开发中的研究和应用应用开发中的研究和应用1 高崇1,周南1,邱小彬1 1中国农业大学网络中心,(100083)E-mail: 摘摘 要:要:Portlet 是 Portal 的核心组件,是运行于 Portlet 容器内的 Java 程序。本文介绍了 Portlet 的基本结构和 API,分析了直接采用 Portlet API 和采用 MVC 模式进行 Portlet的开发的特点。通过比较得出采用 MVC 模式开发 Portlet 应用,能使 Portlet 应用具有开发灵活、易于扩展、便于维护等优点。最后给出了一个实际项目中应用的实例。关键词:关键词:Portlet、MVC、Portal、设计模式 1.引1.引 言 言 提到 Portlet 就不能不提 Portal。Portal 即门户,它是一种基于 web 的应用,能实现内容整合、单点登陆、个性化以及查询等功能,用于存放和管理系统的表示层。Portal 主要通过镶嵌在 Portal 页面中的 Portlet 与后端系统交互,Portlet1是 Portal 中的核心组件。Portlet 本身是一种基于 Java 的 web 组件,用 Portlet API 来编写,运行在 Portal 环境中。然而直接采用 Portlet API 进行 Portlet 开发,具有开发效率低、业务逻辑不能复用和开发功能复杂的 Portlet 较困难等问题。将 MVC 模式运用在 Portlet 开发中能提高开发效率、更好的实现复用和易于进行复杂的 Portlet 的开发。采用 MVC 模式的关键是对 Portlet进行模型(Model)、视图(View)和控制器(Controller)的分离。2.Portlet 和和 MVC 模式模式 2.1 Portlet 技术技术 Portlet 是以 Java 技术为核心的 Web 组件,由 Portlet 容器进行管理,用以生成动态内容片段(fragment)并且同时具有可定制性。客户端和 Portlet 的互动是由 Portal 通过的 request/response 方式实现的,Portal Server 将请求通过 Portlet 容器传递给具体的 Portlet,而后这些 Portlet 产生相应的内容片段(Fragment),Portal 再将这些片段组合成 Portal 页面呈现给客户。Portlet 是用 Portlet API 来编写的,所有的 Portlet 都要实现 javax.portlet.Portlet接口或者继承 javax.portlet.GenericPortlet 这个类。GenericPortlet 提供了一些包括处理 Render 请求在内的 Portlet 默认功能的实现,并指定了三种默认的 VIEW、EDIT、HELP模式(Mode)和他们相应的逻辑方法 doView()、doEdit()、doHelp()。1 本课题得到科技部中小企业技术创新基金(03C26211100786)资助。-1-http:/ 2.2 MVC 模式 MVC 模式 MVC 模式起源于 Smalltalk,它包括模型(Model)、视图(View)、控制器(Controller)三部分。模型:用于表示应用系统商业逻辑的一组对象。在基于 MVC 的系统中,它用来维持系统的状态和提供用于改变系统状态的方法。视图:向用户表示信息的一种具体方式。在 web 系统中,视图通常采用 JSP(Java Server Pages)技术。控制器:是应用 MVC 系统中的核心部分,用于处理具体流程和导向,使请求、视图和模型联系起来。客户的行为作为请求发送给控制器,控制器将客户端行为转变为相应模型的操作,操作的结果是对系统状态的改变,然后指定相应的视图将更新后的状态反映给客户。MVC 模式的关键在系统模型中将模型(系统状态)、视图(系统的界面表示)、控制器(将请求传递给相应模型的机制)分离,使三者相互独立,具有很好的扩展性和伸缩性。3.MVC 模式与模式与 Portlet 应用开发应用开发 3.1 直接采用直接采用 Portlet API 进行进行 Portlet 开发开发 主要接口和类简介3:javax.portlet.Portlet 是所有 Portlet 都要实现的接口;javax.portlet.PortletConfig 接口提供对 Portlet 相关信息的只读方式的访问,这些信息来源于 Portlet 的部署描述文件;javax.portlet.PortletContext 接口定义了 Portlet 容器的 Portlet 视图,同时也使得 Portlet 能获得资源,Portlet 使用 PortletContext 可以访问 Portlet 日志和获得对资源的 URL 引用;javax.portlet.GenericPortlet 提供了对javax.portlet.Portlet 接口的默认实现,提供了一个 Portlet 实例类应该具有的方法。通常编写 Portlet 类是继承 GenericPortlet 类的方法2,并覆盖以下方法中的至少一个方法:1)处理业务逻辑的方法:processAction,处理 action 请求,业务逻辑调用和持久化只能在该方法内实现;2)显示部分的方法:Portlet 中的 Mode(模式)代表 Portlet 正在执行的功能,doView,在VIEW模式下处理render请求;doEdit,在EDIT模式下处理render请求;doHelp,在 HELP 模式下处理 render 请求;最终处理完 render 请求并产生响应片段(Fragments)给 Portal 引擎。3)生命周期控制方法:init 和 destroy,用于管理 Portlet 生命周期中占用的资源。-2-http:/+init()+process()+doView()+doEdit()+doHelp()+destroy()+getPortletConfig()+getPortletContext()javax.portlet.GenericPortlet+init()+process()+render()+destory()javax.portlet.Portlet+init():void+process():void+doView():void+doHelp():void+doEdit():void+destroy():void+myMethod()MyPortlet+getInitParameter()+getInitParameterNames()+getPortletContext()+getPortletName()+getResourceBundle()javax.portlet.PortletConfig+getAttribute()+getInitParameter()+getPortletContextName()+getResourceAsStream()+log()+removeAttribute()+setAttribute()javax.portlet.PortletContext 图一 Portlet 类图 从图一可以看出进行 Portlet 应用的编写时,Portlet 本身作为一个控制器,而业务逻辑和与用户交互的视图接口只是作为 Portlet 的不同方法来使实现的。因此作为基于 Java的 Web 组件的 Portlet 就没有将它应有的业务逻辑和用户视图做很好的分离,Portlet 的开发工作就很难细化和继续分工,不能发挥各类开发人员的特长。功能复杂的 Portlet 开发起来就更加困难,而且不利于后期维护。在 Portlet 开发中采用 MVC 框架能很好的解决上述问题。3.2 采用采用 MVC 模式的模式的 Portlet 开发开发 采用MVC模式首先需要解决的问题就是对Portlet中模型、视图和控制器的抽象和分离。由于在 Portlet 中 Request 分 ActionRequest 和 RenderRequest 两种,Session 的作用域分为 Application 和 Portlet 两种,对请求的处理分为 processAction 和 render 两种,因此在截获 Portlet Request 的时候区分这两类的 Request;而在模型部分 processAction 用于完成业务是逻辑和持久化,render 则用于显示逻辑和对客户端的 Cookie 进行设置等等;信息根据需要确定共享在 Session 的 Application 范围或 Portlet 范围内。将 Portlet 作为整个 MVC 的控制器,能充分利用 Portlet 容器提供的服务。进一步将Portlet 中的业务处理方法 processAction 和客户视图生成方法 render 分离出来,并分别包装在ActionProcessor和RenderProcessor两类各自的process方法中。在ActionProcess的 process 方法中可以进行对业务组建如 EJB、EIS、JDO 或远程 DataBase 的调用来完成业务功能,在 RenderProcessor 的 process 方法中调用 JSP 等来生成用户视图。在 Portlet的配置文件中将相关配置信息配置好,通过 PortletConfig 的实例类对其包装,在 Portlet中引用并访问它。图二给出了 MVC 框架的核心控制器部分 ControllerPortlet 的相关类图。-3-http:/+init()+destroy()RequestProcessor+process()ActionProcessor+process()RenderProcessorjavax.portlet.PortletRequestjavax.portlet.ActionRequestjavax.portlet.RenderRequestjavax.portlet.PortletResponsejavax.portlet.ActionResponsejavax.portlet.RenderResponse+init()+processAction()+render()+preprocessAction()+preprocessRender()+destroy()ControllerPortletjavax.portlet.Portlet*javax.portlet.PortletConfig 图二 控制器类 ControllerPortlet 的类图 图三给出了 Portlet 的 MVC 框架的 Architecture(框架图),其中 PortletSession 可以在 Portlet 范围内共享信息也可以在 Portlet 之间共享信息。ClientController PortletPortal ServerAggregated JSPRenderProcessorJSPBeanActionProcessorPortletSessionRequest视图部分模型部分EJB、EIS或远程DataBaseController PortletRenderProcessorJSPBeanActionProcessorPortletSession视图部分模型部分EJB、EIS或远程DataBasePortletSessionResponse 图三 Portlet 的 MVC 架构图 采用 MVC 框架的 Portlet 开发主要面对的工作是 ActionProcessor 的开发和RenderProcessor 的开发以及他们在 Portlet 中的配置。在 ActionProcessor 中主要完成相关业务逻辑的调用,而在 RenderProcessor 中主要工作将进一步外移到用户视图组建 JSP的开发。3.3 两者的比较两者的比较 分离稳定的代码和易变的代码是面向对象设计的一个基本原则6。MVC 设计模式分离了程序的表现、控制和数据,具有设计清晰、易于扩展、运用可分布的特点,因此在构建 Web 应用中具有显著的优势。与 Servlet 相比 Portlet 具有对 MVC 模式更好的支持,在 Servlet中有 service 方法处理请求完成业务逻辑和生成用户试图接口,而在 Portlet 中则由processAction 和 render 两个方法完成相应的任务,使模型和试图得到了分开,但采用实现 MVC 模式的框架进行 Portlet 的开发比直接采用 Portlet 进行开发更具优势,主要体现以-4-http:/ 下几点:1)将数据模型、用户视图分开,使得程序设计的过程更清晰,提高了可复用程度;2)MVC 框架提供一些额外的服务如丰富的标签库、国际化支持等,使 Portlet 的开发更加容易进行;3)通过将更加细化的模型类、视图组建之间的关系从具体的程序代码中提升到统一的配置文件中,使得对 Portlet 应用的查看、理解和修改都更加方便。4)各部分的责任划分得很清楚,从而能使各类开发人员发挥自己的特长专注于擅长的部分,并简化了测试工作,维护人员也能很容易了解程序的结构,便于维护工作的进行;5)对于功能复杂的 Portlet,由于 MVC 模式能使 Portlet 的开发更加清晰,所以具有这方面的优势。6)提高了系统灵活性,因为模型、用户交互和视图等部分都可以设计为可插入式组件。3.4 MVC 模式在实际模式在实际 Portlet 项目开发中的应用项目开发中的应用 JSR168 是由JCP(Java Community Process)制定的关于Java Portlet的规范,是Portlet和Portlet Container开发需要遵循的标准。符合该标准的Portlet可以运行在任意实现该标准的Portlet Container中移植和运行。现在直接针对JSR Portlet进行开发的MVC框架有MVCPortlet4(由Nabh 信息系统公司开发的开源项目)、WWPortlet5(由SourceForge组织开发的开源项目)等等。本项目源于科技部中小企业创新基金支持的基于网络的物流配送平台,如图四实现了物流门户整合四个已有采用J2EE技术实现Web系统,实现统一的用户和权限管理。本项目充分利用了MVCPortlet框架实现了Portlet应用的部分,实现了用户管理、权限管理、子系统管理和子系统登录功能的Portlet的开发,取得了很好的效果。MVCPortletControllerPortlet数码仓库系统调度平台系统车辆调度系统数码配送系统各种JSP视图中心ActionProcessor中心RenderProcessor用户管ActonProcessor权限管理ActonProcessor子系统登入ActonProcessor子系统接入管理ActonProcessor图四 MVCPortlet 框架开发 Portlet 4.总结总结 通过 MVC 模式在 Portlet 应用开发中的应用,使 Portlet 应用具有松耦合、易扩展、便于后期维护等特性。同时采用直接面对 JSR168 Portlet 的 MVC 框架开发出来的 Portlet 可以在任意符合 JSR168 规范的 Portlet 容器间轻松的移植,这对移植性要求较高的系统是非常有价值的。采用 MVC 模式使 Portlet 应用的设计、开发、部署都很简单方便。-5-http:/ 参考文献参考文献 1 Java Community Process.Java Portlet Specification Version 1.0EB/OL.http:/www.jcp.org/en/jsr/detail?id=168 2 Jeff Linwood,Dave Minter.Building Portals with the Java Portlet APIM.USA.APRESS.2004 3 BlueS.Java Portlet APIEB/OL.http:/ 4 Nabh Information System.MVCPortlet框架EB/OL.http:/ 5 .WWPortlet框架EB/OL.http:/ 6 任中方,张华,闫明松,陈世福.MVC 模式研究的综述.计算机应用研究J.2004(10):1-4 Research and Application of Portlet Application Development with MVC Model Gao Chong Zhou Nan,Qiu Xiaobin Network Center,China Agriculture University,Beijing,PRC,100083 Abstract Portlet is the key component of portal which is a Java Application running in portlet container.The architecture and API of portlet is introduced.After that the characteristic of portlet development directly with java portlet API and with MVC mode is analyzed.Through the comparison between the tow way,the second way is proved to be better with the of excellent flexibility,better extensibility and easier maintenance.At last a practical example is given out.Keywords:Portlet MVC Portal Design Pattern 作者简介:作者简介:高崇(1981-),硕士生,计算机网络应用;周南,女,副教授,硕士生导师,通讯作者,E-mail:。-6-

    注意事项

    本文(MVC模式在Portlet应用开发中的研究和应用.pdf)为本站会员(asd****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开