ITjob就业培训java教材.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ITjob就业培训java教材

第三十一章:Struts基础 学习目标 Struts如何实现Model 2, MVC Struts控制流程Struts组件介绍Struts Action Classes Struts Action Mapping MVC MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件: 模型、视图、控制器。 它们各自处理自己的任务。 模型(model) 模型表示企业数据和业务规则。 在MVC的三个部件中,模型拥有最多的处理任务。 模型与数据格式无关,一个模型能为多个视图提供数据。多个视图重用 视图(view) 视图是用户看到和交互的界面。 视图由Jsp HTML Flash XHTML ML/XSL,WML等标识语言。 视图中没有处理,不管这些数据如何存在,对视图来说,只是一种输出数据并允许用户操纵的方式。 控制器(Controller) 控制器接受输入并调用模型和视图去完成用户的需求。 控制器不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。 控制器一般由servlet承担 MVC的处理过程:首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。 struts框架的优势 良好的架构和设计 可重用,模块化,扩展性好 Open source Struts如何实现Model 2, MVC表列出了Struts的核心类,即对应的经典的MVC组件职责。 类描述ActionForward 用户指向或者视图选择ActionForm 状态改变的数据 ActionMapping 状态改变事件 ActionServlet 控制器,接受用户请求和状态改变,以及发出视图选择控制器的一部分,于模型交互,执行状态改变或状态查询,以及告诉Action ActionServlet 下一个选择的视图 除了这些核心类,Struts使用一些配置文件和视图助手(view helpers)来沟通控制器和模型。下表列出了Struts配置文件和描述了他们在架构中的角色。 文件目的ApplicationRperties 存储本地化信息和标签,以使应用可以国际化struts-config.xml 存储控制器对象的缺省配置,包括模型支持的用户指向,状态改变,状态查询 为将Struts配置数据暴露给视图,框架以JSP标签的形式提供了大量的助手类,如表:标记库描述符目的struts-html.tld 扩展HTML Form的JSP标记struts-bean.tld 扩展处理JavaBean的JSP标记 Struts 控制流 下图以UML时序图的方式展示了Struts 请求-响应流程 我们来按这个请求-响应流程走一边 客户请求匹配Action URI样式的路径 容器将请求传递给ActionServlet. 如果这个是模块化应用,ActionServlet选择响应的模块。 ActionServlet查询路径的映射。 如果映射标明了一个form bean,ActionServlet看是否已经有一个实例,或者创建一个新的实例。如果已经有一个form bean,ActionServlet重设它,并根据HTTP请求重新组装它。 如果mapping的validate属性设置为true,它将调用form bean的validate方法如果失败,Servlet将控制转发到input属性标明的路径,控制流终止。 如果mapping标明一个Action类型,如果它已经存在或已经实例化,它将被重用。 Action的perform或execute方法被调用,并传递一个实例化的form bean或者null。 Action可以组装form bean,调用业务对象,以及其他需要做的事情。 Action返回一个ActionForward给ActionServlet 如果ActionForward指向另一个Action URI,重新开始;否则,显示页面或者其他资源,流程结束。通常,结果是一个JSP页面,或者Jasper,或其它类似技术 (非Struts) 如果JSP使用Struts HTML标记,并且在请求中看到正确的ActionForm,他们会从ActionForm中组装HTML控件。否则,html:form标记将创建一个。从Struts1.1开始,如果form标记自行创建一个ActionForm,它将调用ActionForm的Reset方法。如果你只是想创建一个空白的表单,你可以使用标准的ForwardAction来通过Action传

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档