java web应用开发技术与案例教程 教学课件 张继军 第11章_struts2框架技术

上传人:繁星 文档编号:88250594 上传时间:2019-04-22 格式:PPT 页数:100 大小:1.72MB
返回 下载 相关 举报
java web应用开发技术与案例教程 教学课件 张继军 第11章_struts2框架技术_第1页
第1页 / 共100页
java web应用开发技术与案例教程 教学课件 张继军 第11章_struts2框架技术_第2页
第2页 / 共100页
java web应用开发技术与案例教程 教学课件 张继军 第11章_struts2框架技术_第3页
第3页 / 共100页
java web应用开发技术与案例教程 教学课件 张继军 第11章_struts2框架技术_第4页
第4页 / 共100页
java web应用开发技术与案例教程 教学课件 张继军 第11章_struts2框架技术_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《java web应用开发技术与案例教程 教学课件 张继军 第11章_struts2框架技术》由会员分享,可在线阅读,更多相关《java web应用开发技术与案例教程 教学课件 张继军 第11章_struts2框架技术(100页珍藏版)》请在金锄头文库上搜索。

1、在线教务辅导网:http:/,教材其余课件及动画素材请查阅在线教务辅导网,QQ:349134187 或者直接输入下面地址:,http:/,第11章 Struts2框架技术,Struts框架,提供了一种基于MVC体系结构的Web程序的开发方法,具有组件模块化、灵活性和重用性等优点,使基于MVC模式的程序结构更加清晰,同时也简化了Web应用程序的开发。本章主要介绍Struts2框架的使用方法及其使用Struts2开发Web程序的过程及其设计案例。,第11章 Struts2框架技术,11.1 Struts2简介 11.2 Struts2的配置文件 11.3 Struts2的业务控制器Action类设

2、计 11.4 Struts2的OGNL表达式、标签库、国际化 11.5 Struts2的拦截器 11.6 Struts2的文件上传和下载 11.7 Struts2的输入验证 本章小结,11.1 Struts2简介,11.1.1 Struts2的组成与工作原理 11.1.2 搭建Struts2开发环境 11.1.3 Struts2入门案例 基于Struts2任意两数据的代数和 11.1.4 Struts 2的中文乱码问题处理,11.1.1 Struts2的组成与工作原理,Struts2是基于MVC模式的Web框架,Struts2框架按照MVC的思想主要有,控制器层,模型层,视图组件。,(1)模型

3、组件: 模型组件是实现业务逻辑的模块,由JavaBean或者EJB构成。 (2)视图组件: 视图组件主要有:HTML、JSP和Struts2标签,以及FreeMarker、Velocity等模板视图技术。 (3)控制器组件: 控制器组件主要由一个StrutsPrepareAndExecuteFilter核心控制器和业务控制器Action组成。,Struts2的处理流程图,当用户请求到达时,该Filter会过滤用户的请求。当请求转入Struts2框架处理时会先经过一系列的拦截器,然后再到Action。Struts2对用户的每一次请求都会创建一个Action,Action是线程安全的。,11.1.

4、2 搭建Struts2开发环境,1.下载Struts2 在搭建Struts2环境前,首先下载Struts2包文件。下载网站为:http:/struts.apache.org/download,下载压缩文件struts-2.x.x-all.zip(目前最新的版本为Strut-2.3.8-all-zip)。 下载后,解压该文件,其目录下包含4个子目录: apps:该文件夹下包含了基于Struts2的示例应用,这些示例应用对于学习者是非常有用的资料。 docs:该文件夹下包含了Struts 2的相关文档,包括Struts 2的快速入门、Struts 2的文档,以及API文档等内容。 lib:该文件夹

5、下包含了Struts 2框架的核心类库,以及Struts 2的第三方插件类库,在可发应用程序时,要将需要到的jar文件,导入工程中。 src:该文件夹下包含了Struts 2框架的全部源代码。,2搭建Struts2环境,对于一个应用程序(Web工程),搭建其所需要的Struts2环境,一般需要以下2步工作: 首先,找到开发Struts2应用所需要使用到的jar文件,并导入工程中; 其次,修改配置web.xml文件,在web.xml文件中加入Struts2 MVC框架启动配置。,(1)导入开发Struts2应用所依赖的jar文件,开发Struts 2应用程序最少需要的Jar包: struts2-

6、core-2.x.x.jar:Struts 2框架的核心类库。 xwork-core-2.x.x.jar:XWork类库。 ognl-2.6.x.jar:对象图导航语言,struts2框架通过其读写对象的属性。 freemarker-2.3.x.jar:Struts 2的UI标签的模板使用FreeMarker编写。 commons-logging-1.x.x.jar:支持Log4J和JDK 1.4以上的日志记录。 commons-fileupload-1.2.1.jar:文件上传组件。 javassist-3.11.0.GA.jar:对象图导航语言类库 commons-validator-1.

7、3.1.jar:验证类库,(2)在配置文件Web.Xml中配置Struts2的启动信息,Struts2通过StrutsPrepareAndExecuteFilter过滤器来启动,在web.xml文件中添加如下配置: struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* ,(3)建立一个Struts2应用的配置文件,Struts2默认的配置文件为struts.xml(对于MyEclipse开发环境,需要建立在scr子目录下)。对于刚建立的Web应用程序,struts.xml

8、文件的配置信息模版: 各种配置信息 在以后的设计中,需要对该文件进行修改,添加有关的配置信息,11.1.3 Struts2入门案例 基于Struts2任意两数据的代数和,【例12-1】设计一个简单的Web程序,其功能是让用户输入两个整数,并提交给Action,在Action中计算这两个数的代数和,如果代数和为非负数,则跳转到ch11_1_Positive.jsp页面,否则跳转到ch11_1_Negative.jsp页面。,【分析】该问题可设计3个大组件,视图组件、模型组件和控制组组件,但由于该问题较简单,只需要视图组建和控制组建。其中,视图组建有3个Jsp页面:输入两个数据的提交页面(ch11

9、_1_Input.jsp)、代数和为非负数,跳转到ch11_1_Positive.jsp页面,否则跳转到ch11_1_Negative.jsp页面;控制器有一个Action:Ch11_1_Action,该类有三个属性(int x,int y,int sum),分别存放加数、被加数以及和值。其逻辑关系,如图所示。,【设计步骤】 由上面的分析,该程序的开发步骤为: (1)建立Web工程并在web.xml中配置核心控制器。 (2)设计和编写视图组件(使用JSP编写页面)。 (3)编写视图组件对应的业务控制器组件Action。 (4)配置业务控制器Action,即修改struts.xml配置文件,配置

10、Action。 (5)部署及其运行程序。,【系统的实现】按设计步骤,依次实现:,(1)在MyEclipse中创建Web工程ch11_1_StrutsAdd(注意:在创建Web工程时,最好选用JavaEE规范),并导入Struts2必需的jar包。 (2)修改web.xml配置文件,在web.xml中添加如下的配置信息: struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* ,(3)编写JSP页面 由图11-3可知,该系统需要3个页面: ch11_1_Input.jsp c

11、h11_1_Positive.jsp ch11_1_Negative.jsp, 提交数据页面:ch11_1_Input.jsp代码: 提交两数据页面 请输入两个整数: 加数: 被加数: , 代数和为非负数时要跳转到页面ch11_1_Positive.jsp代码: 显示页面代数和为非负整数 代数和为非负整数: , 代数和为负数时要跳转到页面ch11_1_Negative.jsp代码: 显示页面代数和为负整数 代数和为负整数: ,(4)设计控制类(Action类):Ch11_1_Action.java 属性x、y用于接受用户提交的数据,而sum用于保存计算结果,package Action; pu

12、blic class Ch11_1_Action private int x; private int y; private int sum; public int getX() return x; public void setX(int x) this.x = x; public int getY() return y; public void setY(int y) this.y = y; public int getSum() return sum; public String execute() sum=x+y; if(sum=0) return “+“; else return “

13、-“; ,(5)修改struts.xml配置文件,配置Action /ch11_1_Positive.jsp /ch11_1_Negative.jsp ,(6)部署该程序到服务器Tomcat中,运行。,11.1.4 Struts 2的中文乱码问题处理,中文乱码问题一般指的是当请求参数有中文时,无法再Action中得到正确的中文。 Struts2中有两种方法可以解决这个问题: (1)设置JSP页面的pageEncoding=“UTF-8“,就不会出现中文乱码。 (2)如果JSP页面的pageEncoding=“GBK“,那么需要在源包(src)下,建立一个属性文件struts.properite

14、s,并在该文件内填写如下内容,修改有关的属性值: struts.locale=zh_CN struts.i18n.encoding=gbk 思考:修改例11-1,实现两个汉字字符串的连接,当连接后的串长度大于10,就显示连接结果并显示“串太长”;当连接串的长度小于10,则显示连接结果并显示“串长度较短”。,11.2 Struts2的配置文件, /login/login.jsp ,包配置: 配置格式如下: 在该包下的Action配置 其中: (1)name属性:必须指定name属性,该name属性值可以任意取名。 (2)namespace属性:namespace属性用于定义该包的命名空间,命名空

15、间作为访问该包下Action的路径的一部分。 (3)extends属性:通常每个包都应该继承struts-default包,当包继承了struts-default才能使用struts2提供的核心功能。struts-default包是在struts2-core-2.x.x.jar文件中的struts-default.xml中定义。struts-default.xml也是Struts2默认配置文件。Struts2每次都会自动加载 struts-default.xml文件。,Action配置 Struts2中Action类的配置能够让Struts2知道Action的存在,并可以通过调用该Action

16、来处理用户请求。Struts2使用包来组织和管理Action。 Action的一般配置格式: /page/hello.jsp 元素的常用属性有: name:指定客户端发送请求的地址映射名称,必选项。 class:指定Action对应的实现类,默认值为:ActionSupport类。 method:指定Action类中处理方法名,默认值为Action中的execute方法。 converter:指定Action类型转换器的完整类名,可选项。,结果配置: Action的result子元素用于配置Action跳转的目的地,结果配置格式: 跳转的目的地 元素的常用属性有: name:指定Action返回的逻辑视图,默认值为“success”。 type:指定结果类型定向到其他文件,可以是JSP文件或者Action类,默认值为JSP页面程序。,result类型type属性及其属性值 t

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

当前位置:首页 > 办公文档 > 工作范文

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