《基于新信息技术的Java-EE应用开发实训》课件第五章.pptx

上传人(卖家):momomo 文档编号:7669673 上传时间:2024-06-24 格式:PPTX 页数:26 大小:466.54KB
下载 相关 举报
《基于新信息技术的Java-EE应用开发实训》课件第五章.pptx_第1页
第1页 / 共26页
《基于新信息技术的Java-EE应用开发实训》课件第五章.pptx_第2页
第2页 / 共26页
《基于新信息技术的Java-EE应用开发实训》课件第五章.pptx_第3页
第3页 / 共26页
《基于新信息技术的Java-EE应用开发实训》课件第五章.pptx_第4页
第4页 / 共26页
《基于新信息技术的Java-EE应用开发实训》课件第五章.pptx_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、第5章 Struts 2基础5.1 了解Struts 25.2 Struts 2体系结构5.3 Struts 2项目资源5.4 如何学习Struts 25.5 Struts 2项目开发第5章 Struts 2基础5.1 了解Struts 2第5章 Struts 2基础5.1.1 Struts 2发展史Struts最早是Apache Jakarta项目的一个组成部分,创立者希望通过对该项目的研究,优化JavaServer Pages、Servlet、标签库以及面向对象的技术。其目的是为了减少运用MVC设计模型来开发Web时所用的时间。如果想混合使用Servlets和JSP来建立可扩展的应用,那么

2、Struts是一个不错的选择。随着JSP与Servlet技术在以Web为基础的应用程序中被广泛应用,Java开发人员认为应以较佳的模式来提升Web应用程序的可维护性与重复使用性。早期JSP 规格书中曾列举了两种可行的JSP应用架构,分别为Model 1与Model 2。图5-1显示了Model 1的程序流程。第5章 Struts 2基础在Model 1 架构中,JSP 直接处理Web浏览器送来的请求,并辅以JavaBean 处理应用相关逻辑。单纯编写Model 1架构比较容易,但在Model 1中JSP可能同时肩负View与Controller角色,若这两类程序代码混杂则不易进行维护。早期由大

3、量JSP页面所开发出来的Web应用,大都采用了Model 1架构。Model 2是基于MVC架构的设计模式。在Model 2架构中,前端控制器Servlet负责接收客户端发送的请求(在Servlet中只包含控制逻辑和简单的前端处理),后端JavaBean完成实际的逻辑处理,JSP页面处理显示逻辑。Model 2的程序流程如图5-2所示。如图5-2所示,Model 2中JSP不再承担控制器的责任,它仅为表现层角色,负责将结果呈现给客户,JSP页面第5章 Struts 2基础的请求与Servlet(控制器)交互,而Servlet负责与后台的JavaBean通信。在Model 2模式下,模型(Mod

4、el)由Javabean充当,视图(View)由JSP页面充当,而控制器(Controller)则由Servlet充当。开发者也把Model 2模式称为“MVC”模式。由于MVC模式的提出,彻底解决了Model 1模式的缺点,很多开发人员开始使用这种模式来解决他们实际工作中遇到的各种各样的Web项目开发问题。正是在这样一个大背景下,第一个运用了MVC模式,且使用人数最多的Web项目开发框架Struts诞生了。随着技术发展,越来越多的开发员在使用Struts框架的过程中,发现Struts在设计上面存在严重不足。与此同时一个来自Opensymphony开源组织的框架Webwork 2出现了,它以优

5、秀的设计思想和灵活的实现吸引了大批的Web开发者。2005年12月14日,Opensymphony开源组织与Apache社区宣布Struts项目和Webwork 2项目合并,并联合推出Struts 2,意在将其打造成下一代Web层的开发框架。第5章 Struts 2基础5.1.2什么是Struts 2Struts 2是一种基于MVC的轻量级Web应用框架。所谓框架,就是能完成一定基础功能的半成品软件。在没有框架的时候,所有工作都要从零做起;有了框架之后,它为开发提供了一定的基础功能,大大提高了开发的效率和质量。Struts 2具有以下特征:1.Web应用框架Struts 2的应用范围是Web应

6、用。Struts 2更注重将Web应用领域的日常工作和常见问题抽象化,为用户提供一个平台,让用户能基于这个平台快速地完成Web应用开发。Struts 2 是Web应用框架,也就是说Struts 2的运行环境是Web容器。运行于Web容器中的程序必须遵循基本的开发标准和规范:Servlet标准和JSP标准等。2.轻量级轻量级是相对于重量级而言的,指的是Struts 2在运行的时候,对Web服务器的资源消耗较少,比如CPU、内存等,但是运行速度相对较快。第5章 Struts 2基础3.基于MVCStruts 2着力于在MVC的各个部分为用户提供相应的帮助。Struts 2 MVC结构如图5-3所示

7、。第5章 Struts 2基础5.2 Struts 2体系结构第5章 Struts 2基础5.2.1 Struts 2请求流程Struts 2中用户提交请求的流程如图5-4所示。(1)用户发送请求:用户为访问资源向服务器发送请求。(2)FilterDispatcher决定适当的Action:FilterDispatcher接受请求并决定调用适当的Action。(3)调用拦截器:调用拦截器并执行。(4)执行Action:Action将调用存储数据、检索数据等与数据库有关的操作。(5)呈递输出:结果呈递到输出。(6)返回请求:请求通过拦截器按照相反的顺序返回。(7)向用户展示结果。第5章 Stru

8、ts 2基础5.2.2 Struts 2框架结构Struts 2框架具有简洁性,它拥有易扩展的前端控制器。对于模型层来说,Struts 2可以使用任何数据访问技术,如JDBC、EJB、Hibernate等。对于视图层来说,Struts 2可以与JSP、JTL、JSF、Jakarta Velocity Engine、Templates、PDF、XSLT等整合。Struts 2还可以对异常进行拦截处理。图5-5描述了Struts 2框架的结构,图中含有4种不同颜色的图形,它们分别表示了Struts 2的4个组成部分。第5章 Struts 2基础5.2.3 Struts 2组成介绍Struts 2框

9、架中每部分的作用如下:FilterDispatcher:整个Struts 2的调度中心,它会根据ActionMapper的结果来决定是否处理请求,如果ActionMapper指出URL应该被Struts 2处理,那么它将执行Action处理,并停止过滤器链上还没有执行的过滤器。ActionMapper:提供了HTTP请求与Action执行之间的映射,简单地讲,ActionMapper会判断当前请求是否应该被Struts 2处理,如果需要Struts 2处理,那么ActionMapper会返回一个对象来描述请求所对应的ActionInvocation信息。ActionProxy:一个特别的中间层

10、,位于Action和xwork之间。ConfigurationManager:xwork配置的管理中心,通俗地讲,它可以看作是struts.xml在内存中的对应。struts.xml:Struts 2的应用配置文件,负责URL与Action之间映射的配置、执行后页面跳转的Result配置等工作。ActionInvocation:调用并执行Action。它拥有Action实例和这个Action依赖的拦截器实例。第5章 Struts 2基础Interceptor:一些无状态的类,可以自动拦截Action,它们给开发者提供了在Action运行之前或Result运行之后执行某些功能代码的机会。Acti

11、on:Struts 2中的动作执行单元,它能处理用户请求,并封装业务所需要的数据。Result:不同视图类型的抽象封装模型。注意,不同的视图类型会对应不同的Result实现。Struts 2中支持多种视图类型,如JSP、FreeMarker等。Templates:各种视图类型的页面模板,例如JSP。Tag Subsystem:Struts 2的标签库。第5章 Struts 2基础5.3 Struts 2项目资源第5章 Struts 2基础5.3.1 Struts 2相关资源下载在Struts的官方网站(http:/struts.apache.org)中可以找到Struts项目的相关资源信息。S

12、truts 2.X版本称为Struts 2。本书介绍的内容都是围绕Struts 2.X进行的。在左侧的“Documentation”的分类导航子菜单中,找到Struts 2某一版本的链接,本书选用Struts 2.3.4.1(GA)版本,点击链接后就会进入到Struts 2相应版本的主页,其中可以找到Struts 2的下载链接(一个蓝色的“Download Now”按钮),如图5-6所示。第5章 Struts 2基础点击“Download Now”按钮进入下载页面,其中包含各种类型资源的下载包,如图5-7所示。此时点击struts-2.3.4.1-all.zip就能获得Struts 2项目的所

13、有资源。除了struts-2.3.4.1-all.zip下载链接外,还有4个下载链接,分别是Struts 2的实例项目、基础依赖类库、文档资源和源码下载,它们是Struts 2项目资源的分发包。第5章 Struts 2基础5.3.2 Struts 2项目的目录结构下载struts-2.3.4.1-all.zip后将其解压,可以得到struts 2的所有资源,如图5-8所示。第5章 Struts 2基础5.4 如何学习Struts 2第5章 Struts 2基础学习Struts 2最好的方法,就是通过Struts 2项目提供的文档资料结合Struts 2项目的源代码进行学习。原因有以下两点:(1

14、)权威性。Struts 2项目包含的文档资料大多出自开源框架的作者或者开发人员之手,他们比任何人都了解自己的产品,具有较高的权威性。(2)正确性。官方文档资料的正确性较高,且文档中推荐了许多最佳实践,更方便学习、使用。Struts 2是一个开源项目,通过直接阅读项目源代码可以深入了解项目的设计构造,提高自身编写代码的能力。第5章 Struts 2基础5.5 Struts 2项目开发第5章 Struts 2基础5.5.1 简单示例本节以一个简单的“Hello World”应用程序,来展示Struts 2项目搭建。1.添加Struts 2依赖库使用Eclipse创建一个动态Web工程,为了让该工程

15、具有Struts 2支持功能,必须将Struts 2框架的核心类库增加到Web应用中。将Struts 2框架lib路径下的struts2-core-2.3.4.1.jar、xwork-core-2.3.4.1.jar、freemarker-2.3.19.jar、javassist-3.11.0.GA.jar、ognl-3.0.5.jar、commons-lang3-3.1.jar和commons-io-2.0.1.jar等Struts 2框架的核心类库复制到Web应用的lib路径下,也就是工程目录下的“WebRootWEB-INF lib”路径下,如图5-9所示。第5章 Struts 2基础2

16、.添加FilterStruts 2的入口点是一个过滤器(Filter)。因此,Struts 2要按过滤器的方式配置。下面是在web.xml 中配置Struts 2的代码:struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /*第5章 Struts 2基础3.显示页面通常由JSP页面来呈现信息。HelloWorld.jsp页面代码如下:Hello World!4.编写Action类在Action类中实现execute()方法,代码如下:第5章 Struts 2基础import

17、com.opensymphony.xwork2.ActionSupport;public class HelloWorld extends ActionSupport public static final String MESSAGE=Struts is up and running ;public String execute()throws Exception setMessage(MESSAGE);return SUCCESS;private String message;public void setMessage(String message)this.message=messag

18、e;public String getMessage()return message;第5章 Struts 2基础 5.配置文件在配置文件中,进行配置Action。编辑Src下struts.xml文件,其内容如下:/HelloWorld.jsp 第5章 Struts 2基础 6.运行程序部署应用程序并打开http:/localhost:8080/struts2_ch01_blank/HelloWorld.action,看到标题栏为“Hello World”,内容为“Struts is up and running!”的页面。5.5.2 代码流程浏览器向Web服务器发送了http:/localh

19、ost:8080/struts2_ch01_blank/HelloWorld.action(注:struts2_ch01_blank为部署在Tomcat中的项目名称)的URL请求后,服务器做了如下工作:(1)容器接收到了Web服务器对资源HelloWorld.action的请求,根据web.xml中的配置,服务器将包含有.action后缀的请求转到org.apache.struts2.dispatcher.FilterDispatcher类进行处理。这个FilterDispatcher是框架的一个进入点。(2)框架在struts.xml配置文件中找到名为HelloWorld的action对应的类。框架初始化该Action并且执行该Action类的execute方法。第5章 Struts 2基础(3)execute方法将信息放入message变量中,并返回成功。框架检查配置以查看当返回成功时对应的页面。框架告诉容器来获得请求返回的结果页面HelloWorld.jsp。(4)在HelloWorld.jsp执行完后,标签调用HelloWorld的Action类中的getMessage方法来获得message的值,并将页面呈现给用户。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《基于新信息技术的Java-EE应用开发实训》课件第五章.pptx)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|