JSP程序设计 高职软件专业 张文胜第9章 Struts 2

上传人:w****i 文档编号:92362576 上传时间:2019-07-09 格式:PPTX 页数:27 大小:1.41MB
返回 下载 相关 举报
JSP程序设计 高职软件专业 张文胜第9章 Struts 2_第1页
第1页 / 共27页
JSP程序设计 高职软件专业 张文胜第9章 Struts 2_第2页
第2页 / 共27页
JSP程序设计 高职软件专业 张文胜第9章 Struts 2_第3页
第3页 / 共27页
JSP程序设计 高职软件专业 张文胜第9章 Struts 2_第4页
第4页 / 共27页
JSP程序设计 高职软件专业 张文胜第9章 Struts 2_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《JSP程序设计 高职软件专业 张文胜第9章 Struts 2》由会员分享,可在线阅读,更多相关《JSP程序设计 高职软件专业 张文胜第9章 Struts 2(27页珍藏版)》请在金锄头文库上搜索。

1、9.1 MVC模型,第9章 Struts 2 框架入门,Struts的顶层设计遵循公认的MVC(Model View Controller,模型-视图-控制)设计模型。MVC结构是目前最常见的JAVA EE应用所基于的体系结构,MVC主要适用于交互式的Web应用,尤其是存在大量页面及多次客户访问及数据显示。 模型-视图-控制结构是交互式应用程序广泛使用的一种体系结构,有效地在存储和展示数据的对象中区分功能模块以降低它们之间的连接度,这种体系结构将传统的输入、处理和输入模型转化为图形显示的用户交互模型,或者说是多层次的Web商业应用。MVC体系结构具有三个层面,即模型(Model)、视图(Vie

2、w)和控制(Controller),每个层面有其各自的功能作用。MVC体系结构如图9-1所示。,9.1 MVC模型,第9章 Struts 2 框架入门,9.2 Struts 2 设计模型,第9章 Struts 2 框架入门,没有用过Struts 1的读者会误以为Struts2是Struts 1的升级版本,其实Struts 2更像是WebWork。Apache之所以命名为Struts2,因为Struts1.x是第一个真正意义上按照MVC架构模式搭建的Web开发框架,从它的第一个版本发布以来,就获得了众多开发人员的喜爱,拥有了大量的用户群,成为了市场占有率最高的Web开发框架。然而,随着时间的推移

3、、软件开发技术的进步以及Web开发需求的变化,Struts1设计上的缺陷逐渐显露出来。,9.2 Struts 2 设计模型,第9章 Struts 2 框架入门,1.核心控制器FilterDispatcher FilterDispatcher是Struts2框架的核心控制器,作为一个Filter运行在Web应用中,负责拦截所有的用户请求,当用户请求到达时进行过滤。如果用户请求以action结尾,该请求将被转入Struts2框架处理。 Struts2框架获得了*.action请求后,将根据.action请求的前面部分决定调用哪个业务逻辑组件。例如,对于login.action请求,Struts2将

4、调用名为login的Action来处理该请求。 Struts2应用中的Action都被定义在struts.xml文件中,并在定义的同时定义了该Action的name属性和class属性,其中name属性决定了该Action处理的用户请求,而class属性决定了该Action的实现类。,9.2 Struts 2 设计模型,第9章 Struts 2 框架入门,2.一个请求在Struts2框架中的处理步骤 ()客户端初始化一个指向Servlet容器(例如Tomcat)的请求,即Http Servlet Request请求。 ()这个请求经过一系列的过滤器(Filter)。 ()接着FilterDis

5、patcher被调用,询问ActionMapper来决定该请求是否需要调用某个Action。 ()如果ActionMapper决定需要调用某个Action,则FilterDispatcher把请求的处理交给ActionProxy。 ()ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action类。,9.2 Struts 2 设计模型,第9章 Struts 2 框架入门,2.一个请求在Struts2框架中的处理步骤 () ActionProxy创建一个ActionInvocation的实例。 () ActionInvocation实例使用命名

6、模式来调用。在调用Action的过程前后,涉及相关拦截器(Intercepter)的调用。 ()一旦Action执行完毕, ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。,9.3 Eclipse中第一个Struts2应用程序,第9章 Struts 2 框架入门,1.搭建Struts 2 开发环境,9.3 Eclipse中第一个Struts2应用程序,第9章 Struts 2 框架入门,2.创建Struts 2 项目,9.3 Eclipse中第一个Struts2应用程序,第9章 Struts 2 框架入门,3.导入Struts 2 类库,9.3 Ecli

7、pse中第一个Struts2应用程序,第9章 Struts 2 框架入门,5.编写Action类 Action是业务控制器,Struts 2 的Action可以是一个普通的Java类(POJO),与Struts 1 有很大的不同,一个action就是一段只有特定的URL被请求时才会执行的代码。Filterdispatcher根据请求URL 的不同来执行对应的Action 。在Struts 2 中, Action执行的结果(成功或者失败)通常都对应着一个要呈现给用户的result,该result可以是一个HTML页面。所有的result都是通过字符串名字来标识的,Filterdispatcher

8、根据Action返回的结果字符串来选择对应的result显示给用户。 Action与其对应的result是在一个名为struts.xml的配置文件中进行配置的。,9.3 Eclipse中第一个Struts2应用程序,第9章 Struts 2 框架入门,6.视图资源编写结果页面 在项目的WebContent目录上右击,从弹出菜单中选择【New】【File】,输入文件名“HelloWorld.jsp”后,单击Finish按钮。 7.配置struts.xml文件 一个action创建完成后,还需要为其配置一个URL后,FilterDispatcher才知道该URL对应的action,当截获到访问该U

9、RL的请求时,FilterDispatcher就调用对应的action对请求进行处理。,9.3 Eclipse中第一个Struts2应用程序,第9章 Struts 2 框架入门,8.发布并部署 我们只需将HelloWorld程序发布到Tomcat服务器中,然后启动服务器后打开浏览器,输入访问action的URL,即可看到“HelloWorld!”。 可以直接在Eclipse中发布Web应用程序。在Eclipse开发环境下面的“Servers”窗格视图中选中“Tomcatv6.0 Server at localhost”,单击“Servers”窗格工具栏上“Start the sever ”的绿

10、色按钮,启动Tomcat服务器。如图9-7所示。,9.4 Struts 标签,第9章 Struts 2 框架入门,Struts 2标签库提供了非常丰富的功能,因此Struts 2标签库也是Struts 2中最重要的一部分,这些标签不仅提供了表示层的数据显示处理,而且还提供了基本的流程控制功能,同时还支持国际化和Ajax等。之所以使用Struts 2标签,是因为这些标签可以为开发者减少大量的代码书写,而且使用也非常方便。 Struts 2标签库的功能非常复杂,可以完全替代JSTL标签库,而且Struts 2的标签支持表达式的语言。,9.4 Struts 标签,第9章 Struts 2 框架入门,

11、Struts 2 的标签分为两大类,即非UI标签和UI标签。 非UI标签包含控制标签和数据标签。 (1)控制标签 if:用于控制选择输出的标签。 elseifelse:与if标签结合使用,用于控制选择输出的标签。 append:用于将多个集合拼接成一个新的集合。 generator:一个字符串解析器,用于将一个字符串解析成一个集合。 iterator:一个迭代器,用于将集合迭代输出。 merge:用于将多个拼接成一个新的集合,但与append的拼接方式不同。 sort:用于对集合的部分元素进行排序。 subset:截取集合的部分元素,形成新的集合。,9.4 Struts 标签,第9章 Stru

12、ts 2 框架入门,()数据标签 action:该标签用于在JSP页面中直接调用一个Action,通过指定executeResult参数,还可将该Action的处理结果包含到本页面来。 bean:该标签用于创建一个javabean实例。如果指定了id属性,则可以将创建的javabean实例放入StackContext中。 date:用于格式化输入一个日期。 debug:用于在页面上生成一个调试链接,当单击该链接时,可以看到当前ValueStack和StackContext中的内容。 il8n:用于指定国际化资源文件的baseName。 include:用于在JSP页面中包含其他的JSP或Ser

13、vlet资源。,9.4 Struts 标签,第9章 Struts 2 框架入门,()数据标签 param:用于设置一个参数,通常是用做bean标签和url标签的子标签。 push:用于将某个值放入ValueStack的栈顶。 set:用于设置一个新变量,并可以将新变量放入指定的范围内。 text:用于输出国际化消息。 url:用于生成一个URL地址。 property:用于生成输入某个值,包括输出ValueStack、StackContext和ActionContext中的值;,9.4 Struts 标签,第9章 Struts 2 框架入门,UI标签包含表单标签、非表单标签和Ajax标签。 常

14、用UI标签: textfield:输出一个HTML单行文本输入控件。 textarea:输出一个HTML多行文本输入控件。 radio:输出单选按钮。 checkboxlist:复选框。 file:用于上传文件(accept属性,指出接收文件的MIME类型)。 submit:输出一个按钮。 select:输出一个下拉列表框。 doubleselect:输出关联的两个HTML列表框,产生联动效果。 updownselect:创建一个带有上下移动按钮的列表框。 optiontransferselect:创建一个选项转移列表组建。,9.5 Struts 2国际化,第9章 Struts 2 框架入门,

15、国际化的作用就是根据不同国家的用户在访问Web或其他类型的程序时,将各种信息以本地的常用形式显示出来。如界面信息在中国,则显示中文信息;在以英文为主的国家里,则显示英文信息。还有一些信息的格式,如日期格式等。 从属性文件中获得字符串信息是国际化的基本应用。在Struts2中使用的属性文件就是Java属性文件,扩展名为properties。资源文件的命名格式如下:,9.6 类型转换与校验,第9章 Struts 2 框架入门,1.Struts 2 的内置类型转换器 对于大部分常用类型,程序员不用创建自己的类型转换器,因为Struts 2 可以完成大多数常用的类型转换,包括如下几种类型:,9.6 类

16、型转换与校验,第9章 Struts 2 框架入门,1.Struts 2 的内置类型转换器 对于大部分常用类型,程序员不用创建自己的类型转换器,因为Struts 2 可以完成大多数常用的类型转换,包括如下几种类型:,9.6 类型转换与校验,第9章 Struts 2 框架入门,Struts2提供了下面几种类型的校验框架: required:检查字段是否为空。 requiredstring:检查字段是否为字符串且是否为空。 int:检查字段是否为整数且在min,max范围内。 double:检查字段是否为双精度浮点数且在min,max范围内。 date:检查字段是否为日期格式且在min,max范围内。 expression:对指定OGNL表达式求值。 fieldexpression:对指定OGNL表达式求值。 email:检查字段是否为E-mail格式。,9.6 类型转换与校验,第9章 Struts 2 框架入门,Struts2提供了下面几种类型的校验框架: ur

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号