Java Web程序设计教程(第二版)(微课版)05 Struts 2框架基础_第1页
Java Web程序设计教程(第二版)(微课版)05 Struts 2框架基础_第2页
Java Web程序设计教程(第二版)(微课版)05 Struts 2框架基础_第3页
Java Web程序设计教程(第二版)(微课版)05 Struts 2框架基础_第4页
Java Web程序设计教程(第二版)(微课版)05 Struts 2框架基础_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章Struts2框架基础本章概述本章学习目标主要内容JavaWeb程序设计教程(第二版)(微课版)

第五章Struts2框架基础

第1页MVC是一种优秀的框架模式,自MVC提出以后,随之诞生了许多MVC框架,其中Struts是第一个使用MVC架构的框架。但是,随着时间的推移,Struts被证明存在一定的缺陷,开发人员决定寻找一种更好的解决方案,于是出现了Struts2。Struts2建立在Struts和WebWork基础之上,集成了Struts和WebWork两个框架的优点,拥有更好的可扩展性、更强大的功能。虽然Struts2在实际应用中也存在一定的漏洞,但其设计思想和工作原理还是值得学习和借鉴的。通过本章的学习,读者可了解MVC架构的主要内容、Struts2的工作流程以及如何使用Struts2开发Web应用程序。JavaWeb程序设计教程(第二版)(微课版)

第2页本章概述第五章Struts2框架基础

JavaWeb程序设计教程(第二版)(微课版)

第3页本章学习目标了解MVC框架的内容了解MVC的优点掌握Struts2的工作流程了解Action的工作原理掌握struts.xml文件的配置了解Struts2标签库的用法掌握拦截器的工作机制掌握Struts2拦截器的用法第五章Struts2框架基础

JavaWeb程序设计教程(第二版)(微课版)

第4页主要内容5.1MVC框架 5.2Struts2基础 5.3拦截器5.4本章小结 5.5思考和练习

第五章Struts2框架基础

JavaWeb程序设计教程(第二版)(微课版)

第5页5.1MVC框架MVC的全名是ModelViewController,是模型(Model)-视图(View)-控制器(Controller)的英文缩写。MVC是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到各个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特地发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。第五章Struts2框架基础

MVC是一种框架模式,它强制性地使应用程序的输入、处理和输出分开。它把应用程序分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务,如图所示。框架内容JavaWeb程序设计教程(第二版)(微课版)

第6页第五章Struts2框架基础

框架和设计模式的区别JavaWeb程序设计教程(第二版)(微课版)

第7页第五章Struts2框架基础

1.框架:框架通常是代码重用,可以用代码表示,能够直接执行和复用;2.设计模式是设计重用,设计模式只有实例化之后才能用代码表示;3.架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用;4.设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式;5.框架总是针对某一特定应用领域,但同一模式却可适用于各种应用;6.设计模式和框架都是软件层面的,架构还包括硬件层面的,比如部署系统所需的物理器件等。MVC的优点JavaWeb程序设计教程(第二版)(微课版)

第8页低耦合性高重用性和可适用性较低的生命周期成本快速部署可维护性有利于软件工程化管理第五章Struts2框架基础

JavaWeb程序设计教程(第二版)(微课版)

第9页主要内容5.1MVC框架

5.2Struts2基础 5.3拦截器5.4本章小结 5.5思考和练习

第五章Struts2框架基础

5.2Struts2基础JavaWeb程序设计教程(第二版)(微课版)

第10页

当MVC在JavaEE应用中大放异彩之后,各种基于MVC架构的框架雨后春笋般涌现出来,Struts2就是其中一个。Struts2是Struts的下一代产品,是在Struts1和WebWork技术的基础上进行了合并的全新框架。虽然称为Struts2,但它的体系结构与Struts1的体系结构有着巨大差别,反而与WebWork有着更多相似之处。Struts2引入了几个新的框架特性:从逻辑中分离出横切关注点的拦截器、减少或者消除配置文件、贯穿整个框架的强大表达式语言、支持可变更和可重用的基于MVC模式的标签API.Struts2充分利用了从其他MVC框架学到的经验和教训,使得Suts2框架更加清晰灵活。第五章Struts2框架基础

JavaWeb程序设计教程(第二版)(微课版)

第11页Struts2是一个基于MVC架构的框架,它的MVC架构图如图所示。

Struts2中的MVC第五章Struts2框架基础

Struts2的工作流程JavaWeb程序设计教程(第二版)(微课版)

第12页Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以被理解为WebWork的更新产品。第五章Struts2框架基础

JavaWeb程序设计教程(第二版)(微课版)

第13页一个简单的Struts2应用下载Struts2创建工程创建Action类和视图页面部署并测试Struts2应用第五章Struts2框架基础

JavaWeb程序设计教程(第二版)(微课版)

第14页Action详解对于Struts2应用中的开发者来说,Action是整个应用系统的核心,开发者需要提供大量的Action类,并且在struts.xml文件中对Action类进行配置,Action中包含了对用户请求的处理逻辑,因此,我们也称Action为业务控制器。Struts2中的Action可以以多种形式存在:1.普通的Java类:execute()、私有属性及其set和get方法;2.实现Action接口:com.opensymphony.xwork2.Action接口;3.继承ActionSupport类。第五章Struts2框架基础

struts.xml配置详解JavaWeb程序设计教程(第二版)(微课版)

第15页struts.xml是Struts2中的一个核心配置文件,它是整个工作流程的依据。该文件的根元素是<struts>,其中可以包含4个子元素:1.<include>2.<constant>3.<bean>4.<package>第五章Struts2框架基础

<package>元素的子元素Struts2标签库JavaWeb程序设计教程(第二版)(微课版)

第16页Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。Struts2标签包含很多内容,可以按照功能大致分为3类:1.数据标签:用来从值栈上取值或者向值栈赋值;2.控制标签:控制程序的运行流程;3.UI标签:用来显示UI界面的标签。第五章Struts2框架基础

JavaWeb程序设计教程(第二版)(微课版)

第17页主要内容5.1MVC框架

5.2Struts2基础

5.3拦截器5.4本章小结 5.5思考和练习

第五章Struts2框架基础

5.3拦截器JavaWeb程序设计教程(第二版)(微课版)

第18页拦截器(Interceptor)是Struts2的核心组成部分,它可以动态拦截Action调用的对象,类似于Servlet中的过滤器。Struts2的拦截器是AOP(Aspect-Object-Programming,面向切面编程)的一种实现策略,是可插拔的。它可以任意地组合Action提供的附加功能,而不需要修改Action的代码,开发者只需要提供拦截器的实现类,并将其配置在struts.xml中即可。第五章Struts2框架基础

拦截器的工作机制JavaWeb程序设计教程(第二版)(微课版)

第19页以日志和安全功能为例,介绍拦截器的工作机制:第五章Struts2框架基础

未使用拦截器的Action执行流程使用拦截器的Action执行流程Strtus2内置拦截器JavaWeb程序设计教程(第二版)(微课版)

第20页Struts2框架内置了大量的实现各种功能的拦截器,多个拦截器还可以组成一个拦截器栈。系统为我们配置了一个默认的拦截器栈defaultStack。这些内置的拦截器和拦截器栈都可以在Struts2的核心包struts2-core-2.3.30.jar的struts-default.xml中找到。第五章Struts2框架基础

自定义拦截器JavaWeb程序设计教程(第二版)(微课版)

第21页如果内置的拦截器和拦截器栈还不能满足实际的应用需求,Struts2还支持用户自定义拦截器,自定义一个拦截器需要三步:1.自定义一个实现Interceptor接口(或者继承自AbstractInterceptor)的类。2.在struts.xml中注册上一步中定义的拦截器。3.在需要使用的Action中引用上述定义的拦截器,为了方便也可将拦截器定义为默认的拦截器,这样在不加特殊声明的情况下所有的Action都被这个拦截器拦截。第五章Struts2框架基础

JavaWeb程序设计教程(第二版)(微课版)

第22页主要内容5.1MVC框架

5.2Struts2基础 5.3拦截器5.4本章小结

5.5思考和练习

第五章Struts2框架基础

本章小结JavaWeb程序设计教程(第二版)(微课版)

第23页本章讲述了Struts2框架的工作流程和使用技巧。首先介绍了MVC框架模型,MVC是Web领域比较流行的架构模式,详细介绍了MVC框架中的3部分以及MVC的优点;接下来介绍了一个基于MVC架构的框架——Struts2,包括Struts2的工作流程等;最后对Struts2中的拦截器做了简单介绍。虽然Struts2在实际项目中逐渐被更优秀的框架替代,但是其工作原理和设计思想还是值得学习和借鉴的,其中一些重要技术更是被很多优秀的框架吸取。第五章Struts2框架基础

JavaWeb程序设计教程(第二版)(微课版)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论