- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java Web开发技术 Java Web开发技术 第9章 Struts架构 第9章 Struts架构 9.1 MVC设计模式 9.2 Struts架构简介 9.3 第一个Struts程序 9.4 用JBuilder开发Struts应用 9.5 Struts配置文件:struts-config.xml 9.6 Struts标记库 9.7 Validator验证框架 9.8 本章小结 9.1 MVC设计模式 9.1.1 设计模式 9.1.2 MVC设计模式 9.1.3 JSP Model 1和JSP Model 2 9.1.1 设计模式 在SmallTalk手册中的设计模式定义为:“对反复出现问题的重复解决方案。 BrschmanMeunier等1996年给出的设计模式定义为:“用以解决在特定设计情况下出现的反复设计问题,并给出该问题的一种解决方案。” 设计模式分类 设计模式分成三大类:创建型模式、结构型模式和行为型模式 创建型模式帮助我们创建对象,但不必直接实例化对象; 结构型模式有助于将对象组成更大对象; 行为型模式帮助定义系统间的通信以及在复杂程序中控制流程 创建型模式 创建型模式详细分为:工厂模式、抽象工厂模式、构造器模式、原型模式、单例模式等。 工厂模式是提供一个简单的决策类,根据提供的数据,返回抽象基类的若干子类中的一个。抽象工厂模式是提供一个接口,创建和返回多个实现该接口的相关对象系列中的一个系列。构造器模式是将对象的创建与其表示分离,根据程序需要创建多种不同表示。 结构型模式 结构型模式又详细分为:适配器模式、桥接模式、组合模式、代理模式、亨元模式、外观模式、装饰器模式等。 适配器模式主要起到降低接口复杂性的作用,如WindowAdapter,MouseAdapter等;桥接模式是指无论底层如何变化都保持客户编程接口不变,如JDBC-ODBC桥;装饰器模式是指无须创建子类就可为类增加新的责任。 行为型模式 行为型模式又详细分为:职责链模式、命令模式、迭代器模式、中介者模式、观察家模式、状态模式、策略模式、模板模式、访问者模式等。 职责链模式是通过链方式将请求从一个对象传到另一对象直到识别,如异常捕捉;迭代器模式是将遍历数据表的行为规范到一个类中;观察家模式是利用中间对象观察并辅助命令的执行 9.1.2 MVC设计模式 MVC是Model-View-Controller的简称,即模型-视图-控制器。MVC是Xerox PARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式。 MVC强制性地把应用程序的输入、处理和输出分开。它把应用程序分成三个核心模块:模型、视图和控制器,它们分别担负不同的任务。 视图 视图是用户看到并与之交互的界面。 视图能接收用户的请求并向用户显示相关的数据,但是它并不处理请求,仅仅是个界面。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。 模型 模型是应用程序的主体部分,它能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。 模型可以表示业务数据和业务逻辑。表示业务数据的模型称为状态模型,它定义当前值的集合;表示业务逻辑的模型称为动作模型,它修改状态模型的状态,是控制器与状态模型交互的中间层。 控制器 控制器接受用户的输入并调用模型和视图去完成用户的需求。 当Web用户单击Web页面中的提交按钮来发送HTML表单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。除了基本控制功能外,控制器还负责很多底层工作,如:安全性、事件标识、处理事件、处理错误等。 MVC设计模式图 MVC的优点 1.适合可扩展性、可维护性的需要。由于MVC的三个模块相互独立,耦合极低,改变其中一个不会影响其他两个,所以能构造良好的松藕合的构件。 2.一个模型可以呈现给多个视图,大大提高代码重用性。用户不直接访问分散的UI,这样可以通过配置文件或则流程定义的方式,在不同的环节、时间将不同的页面推向给用户。 MVC的优点(续) 3.控制器提高了应用程序的灵活性和可配置性,为构造应用程序提供强有力的手段。给定一些可重用模型和视图,控制器可以根据用户的需求选择适当的模型进行处理,然后选择适当的视图将处理结果显示给用户。 4.通过将表示与模型分离,使开发者可以明确分工,从而使产品更快地推向市场。 9.1.3 JSP Model 1和JSP Model 2 早期的Java Web应用中,JSP文件是一个独立的、自主完成所有任务的模块,它既负责创建HTML,又负责控制网页流程并做业务逻辑,这给Web开发带来一系列问题:HTML代码和J
您可能关注的文档
- IT职业英语 高巍巍 Unit6 Surf The Network 6 2 listening新.ppt
- IT职业英语 高巍巍 Unit6 Surf The Network 6 3 speaking新.ppt
- IT职业英语 高巍巍 Unit6 Surf The Network 6 4 writting新.ppt
- IT职业英语 高巍巍 Unit7 Selling Products 7 2 listening新.ppt
- IT职业英语 高巍巍 Unit7 Selling Products 7 4 writting新.ppt
- IT职业英语 高巍巍 Unit8 With Customers 8 2 listening新.ppt
- IT职业英语 高巍巍 Unit8 With Customers 8 4 writting新.ppt
- IT职业英语 高巍巍 Unit9 Solutions 9 2 listening新.ppt
- IT职业英语 高巍巍 Unit9 Solutions 9 4 writting新.ppt
- IT职业英语 高巍巍 Unit10 Computer Security 10 1 reading新.ppt
- 2025年湖南电气职业技术学院单招英语2014-2024历年真题考点试卷摘选含答案解析.docx
- 2025年湖南电子科技职业学院单招(数学)历年真题考点含答案解析.docx
- 开启海外征程:2025-2030年画作材料科学研究行业跨境出海战略研究报告.pdf
- 微信:一个必须研究的产品.pdf
- 2025年湖南石油化工职业技术学院单招英语2014-2024历年真题考点试卷摘选含答案解析.docx
- 2025年湖南石油化工职业技术学院单招语文2019-2024历年真题考点试卷含答案解析.docx
- 2025年湖南石油化工职业技术学院单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析.docx
- 2025年湖南安全技术职业学院单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析.docx
- 2025年湖南理工职业技术学院单招英语2014-2024历年真题考点试卷摘选含答案解析.docx
- 《一个小村庄的故事》说课稿.pdf
文档评论(0)