Struts2.ppt_第1页
Struts2.ppt_第2页
Struts2.ppt_第3页
Struts2.ppt_第4页
Struts2.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、Struts2入门,目 标,1、回顾model1和model2 2、了解Struts; 3、Struts2框架介绍 4、Struts2开发环境搭建 5、Struts2简单实例开发,Model1回顾,JSP 页面接收客户端请求,并直接直接作出响应。其间辅以JavaBean实现相关的业务逻辑。JSP担任View和Controller两种角色 优点:实现简单,适合快速开发小型项目 缺点:但是由于分工不够明确,当相关的控制逻辑变得越来越复杂 时,控制逻辑和表现层逻辑混杂在一起,导致代码重用性和可扩展 性下降、维护困难。,经典MVC设计模式,MVC(Model-View Controller)模式的核心

2、思想是将程序代码分成相对独立、而又能协同工作的三个组成部分: 模型(Model):业务逻辑层。 视图(View):显示层。 控制器(Controller):控制层控制业务流程控制,实现View 和Model 的协同工作。,JSP设计模式 Model2,基于MVC架构 采用只包含控制逻辑的Servlet作为前端控制器,接收客户端请求,再转发到对应的JSP页面处理显示逻辑。辅以JavaBean实现具体的业务逻辑。 由于引入了MVC设计模式,Model 2实际上实现了基于组件的开发,在整个软件开发过程中实现了清晰的逻辑划分,能够有效的区分不同的角色,这就更适合于大规模系统的开发和管理。当然与此同时,

3、也增加了应用开发的复杂程度。,JSP 设计模式 Model2(续),JSP 设计模式 Model2(续),优点:适用于大规模系统的开发和管理 缺点:增加了应用开发的复杂程度,原来一个简单的JSP页面就能实现的应用现在被分解成多个协同工作的成分,开发者需要花些时间才能真正的掌握其设计和实现的过程,Struts的源起,Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的技术水准。 Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。这个框架之所以叫Strut

4、s,是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我们踩高跷时候的基础支撑。,软件开发架构的意义,Web应用开发架构FrameWork 组件的复用,可重用,模块化,扩展性好Open source,什么是架构(Framework),架构:对被验证为有效的、相同类型问题的解决方案进行抽象,提取而成的应用程序框架结构。 通常在Framework结构中都会包含一个“命令和控制”组件(“command and control” component),类似于生活中各种机构的“指挥中心”,开发人员可以通过它很容易的控制、扩充和实现该Framework上开发结构,Struts2框架发展 Apache S

5、truts 在 2000年5月由Craig McClanahan 发起,并于2001年7月发布了1.0版本。 Struts一出现便大受欢迎,更成为了以后几年内web 开发的实际标准。 Struts2是Struts的下一代产品,是在WebWork的技术基础上进行了合并。,Struts2框架,Struts2框架特点 基于Action的MVC框架 拥有由积极活跃的开发人员与用户组成的成熟社区 Annotation和XML配置选项 基于POJO并易于测试的 Action 与Spring,SiteMesh 和Tiles的集成 与OGNL达式语言的集成 基于主题的标签库与Ajax标签 多种视图选项(JSP

6、,Freemarker,Velocity 和 XSLT) 使用插件来扩展或修改框架特性,Struts2框架,Struts2的入门理论,Struts Prepare And Execute Filter,用户请求,Action,Action,Action,struts.xml,Web容器,web.xml,Struts2 是一个基于Action的MVC框架,Struts2框架,Struts2框架,Struts2的过滤器和拦截器充当控制器的角色 拦截请求 流程控制 Action组件充当模型 封装数据 处理业务 JSP页面或其他模板充当视图结果,Struts2框架,Struts2基本的工作原理: 由S

7、truts框架的过滤器FilterDispatcher拦截所有请求 如果请求的是Action组件,则按照默认的拦截器栈中的配置的拦截器逐个对请求进行拦截处理,其中params拦截器可将请求中的参数信息封装到Action组件对应的属性中 拦截器处理完毕,会调用Action组件的默认业务方法execute()进行业务请求处理 最后根据业务方法返回结果值来选择适当的视图,视图页面可从Action组件中的属性中获取处理结果并显示以回应客户端。,Struts2开发环境的搭建,1、从apache官方网站下载二进制分发包最新版本比如Struts-2.1.6-lib.zip,Struts2开发环境的搭建,2、

8、解压apps目录下的struts2-blank-2.1.6.war 3、在Eclipse中创建一个Web项目 4、将解压目录中lib目录下的Struts2必须的几个Jar包复制到Web项目的WEB-INF/lib目录下,Struts2开发环境的搭建,5、在web.xml中配置Struts2的过滤器,体验Struts2开发过程,HelloWorld简单实例 功能要求:客户端某个action请求,该组件回应一个jsp,并显示”Hello,World”的信息,体验Struts2开发过程,问题是Struts2怎么知道某个请求的是Action呢? 关键在于Struts2的配置文件struts.xml 在

9、项目的源文件夹下编写一个struts.xml文件:,体验Struts2开发过程,struts.xml文件内容如下:,体验Struts2开发过程,配置说明如下: 标记是对Struts2的一些特性进行设置,这里将strtus.devMode设置为true,表明可进行调试信息输出。 标记用来配置有关应用,通过属性 extends=struts-default 可继承struts2缺省配置,比如使用默认的拦截器栈 在标记中使用标记来配置Action组件,name属性用来指定Action的映射URL 在标记中使用标记来指定回应的视图。,体验Struts2开发过程,编写视图页面hello.jsp,显示结果:,体验Struts2开发过程,部署该web应用,进行测试 在地址栏输入URL来请求Action组件,其URL地址格式如下: http:/localhost:8080/strutsdemo/hello .actio

温馨提示

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

评论

0/150

提交评论