传智播客struts2课件

上传人:aa****6 文档编号:51078011 上传时间:2018-08-12 格式:PPT 页数:187 大小:1.56MB
返回 下载 相关 举报
传智播客struts2课件_第1页
第1页 / 共187页
传智播客struts2课件_第2页
第2页 / 共187页
传智播客struts2课件_第3页
第3页 / 共187页
传智播客struts2课件_第4页
第4页 / 共187页
传智播客struts2课件_第5页
第5页 / 共187页
点击查看更多>>
资源描述

《传智播客struts2课件》由会员分享,可在线阅读,更多相关《传智播客struts2课件(187页珍藏版)》请在金锄头文库上搜索。

1、高级软件人才实作培训专家 !北京传智播客教育 Struts2讲师:冯威高级软件人才实作培训专家 ! Struts2 概述Struts2 是一个用来开发 MVC应用程序的框架. 它提供了 Web 应用程 序开发过程中的一些常见问题的解决方案: 对页面导航活动进行管理对来自用户的输入数据进行合法性验证统一的布局可扩展性国际化和本地化支持 Ajax 表单的重复提交高级软件人才实作培训专家 !北京传智播客教育 Struts2的优点和struts1一样, Struts2也都是属于MVC框架。不过有一点大家需要注意的是:虽然Struts2 和struts1在名字上差别不大,但Struts2编码模式与str

2、uts1几乎可以说是不一样的。那么既 然有了struts1,为何还要推出struts2。主要是因为struts2有以下优点: 1 在软件设计上Struts2没有像struts1那样跟Servlet API和struts API有着紧密的耦合,Struts2的应用可以 不依赖于Servlet API和struts API。 Struts2的这种设计属于无侵入式设计,而Struts1却属于侵入式 设计。 public class OrderListAction extends Action public ActionForward execute(ActionMapping mapping, Ac

3、tionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception 2 Struts2提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等功能。 3 Strut2提供了类型转换器,我们可以把特殊的请求参数转换成需要的类型。在Struts1中,如果我 们要实现同样的功能,就必须向Struts1的底层实现BeanUtil注册类型转换器才行。 4 Struts2提供支持多种表现层技术,如:JSP、freeMarker、Velocity等 5 Struts2的输入校验可以对指定方法进

4、行校验,解决了Struts1长久之痛。 6 提供了全局范围、包范围和Action范围的国际化资源文件管理实现高级软件人才实作培训专家 ! 从 Struts1 升级到 Struts2lStruts2 从本质上讲已不是从 Struts1 扩展而来的, 说它是一个 换了品牌标签的 WebWork 更合适l从 Struts1 升级到 Struts2:Struts1 里使用 ActionServlet 作为控制器; Struts2 使用了一个过滤 器作为控制器Struts1 中每个 HTML 表单都对应一个 ActionForm 实例. Struts2 中, HTML 表单将被直接映射到一个 POJO.

5、Struts1 的验证逻辑编写在 ActionForm 中; Struts2 中的验证逻辑 编写在 Action 中.Struts1 中, Action 类必须继承 org.apache.struts.action.Action 类; Struts2 中任何一个 POJO 都可以是一个 Action 类. Struts2 在页面里使用 OGNL 来显示各种对象模型, 可以不再使用 EL 和 JSTL 高级软件人才实作培训专家 !Struts2入门高级软件人才实作培训专家 !北京传智播客教育 搭建Struts2开发环境的步骤搭建Struts2环境时,我们一般需要做以下几个步骤的工作: 1创建ja

6、vaweb工程 2找到开发Struts2应用需要使用到的jar文件. 3创建jsp文件. 4创建action文件 5编写Struts2的配置文件 6在web.xml中加入Struts2 MVC框架启动配置高级软件人才实作培训专家 ! 1 创建javaweb工程创建struts2test工程高级软件人才实作培训专家 !北京传智播客教育 2 开发Struts2需要的jar文件到http:/struts.apache.org/download.cgi#struts2014下载struts-2.x.x-all.zip,目 前最新版为2.1.8。下载完后解压文件,开发struts2应用需要依赖的jar文

7、件在解 压目录的lib文件夹下。不同的应用需要的JAR包是不同的。下面给出了开发 Struts 2程序最少需要的JAR。struts2-core-2.1.8.1.jar :Struts 2框架的核心类库xwork-core-2.1.6.jar :XWork类库,Struts 2在其上构建ognl-2.7.3.jar :对象图导航语言(Object Graph Navigation Language), struts2框架通过其读写对象的属性freemarker-2.3.15.jar :Struts 2的UI标签的模板使用FreeMarker编写commons-logging-1.1.x.jar

8、 :ASF出品的日志包,Struts 2框架使用这个日志包来支持Log4J和JDK 1.4+的日志记录。commons-fileupload-1.2.1.jar 文件上传组件,2.1.6版本后需要加入此文件commons-io-1.3.2.jar,上传文件依赖的jar包高级软件人才实作培训专家 !北京传智播客教育 3 创建jsp文件定义test.jsp文件 增加如下连接:helloworld高级软件人才实作培训专家 !北京传智播客教育 4 创建action文件import com.opensymphony.xwork2.Action; public class HelloWorldAction

9、 implements Action public String execute() throws Exception System.out.println(“helloWorld“); /转到成功页面 return “success“; 注:struts2中action要实现action的接口高级软件人才实作培训专家 !北京传智播客教育 5 编写Struts2的配置文件Struts2默认的配置文件为struts.xml ,该文件需要存放在WEB- INF/classes下,也就是当前工程的src下,该文件的配置模版如下:配置 package 元素Struts2 把各种 Action 分门别类

10、地组织成不同的包. 可以把包想 象为一个模块. 一个典型的 struts.xml 文件可以有一个或多个包每个 package 元素都必须有一个 name 属性namespace 属性是可选的, 如果它没有给出, 则以 “/” 为默认 值. 若 namespace 有一个非默认值, 则要想调用这个包里的 Action, 就必须把这个属性所定义的命名空间添加到有关的 URI 字符串里package 元素通常要对 struts-default.xml 文件里定义的 struts-default 包进行扩 展. 这么做了以后, 包里的所有动作就可以使用在 struts-default.xml 文件里的

11、 结果类型和拦截器了. 高级软件人才实作培训专家 !北京传智播客教育 5 编写Struts2的配置文件配置 action 元素action 元素嵌套在 package 元素内部, 它表示一个 Struts请求. 每个 action 都必须有一个 name 属性, 该属性和 用户请求 servletPath 之间存在着一一对应关系action 元素的 class 属性是可选的. 如果没有配置 class 属性, Struts 将把 com.opensymphony.xwork2.ActionSupport 作为其默认值. 如果配置了 class 属性, 还可以使用 method 属性配置该类的一

12、个动作方法. method 属 性的默认值为 execute 高级软件人才实作培训专家 !北京传智播客教育 5 编写Struts2的配置文件配置 result 元素result 元素: 的一个子元素, 它告诉 struts 在完成动作后把控制权转 交到哪里. result 元素(的name 属性)对应着 Action 方法的返回值. 因为动作 方法在不同情况下可能返回不同的值, 所以同一个 action 元素可能会有多个 result 元素result 元素的 name 属性建立 和 Action 方法返回值之 间的映射关系。name 属性的默认值为 “success”result 元素的 t

13、ype 属性负责指定结果类型. type 属性的值必 须是在包含当前包或者是当前包的父包里注册过的结果类 型. type 属性的默认值为 dispatcher高级软件人才实作培训专家 !北京传智播客教育 5 编写Struts2的配置文件在struts2框架中使用包来管理Action,包的作用和java中的类包是非常类似的,它主要用于管理一组业务功能 相关的action。在实际应用中,我们应该把一组业务功能相关的Action放在同一个包下。 配置包时必须指定name属性,如果其他包要继承该包,必须通过该属性进行引用,注意:name名称是唯一 。包的namespace属性用于定义该包的命名空间。该

14、属性可以不配置,对本例而言,如果不指定该属性,默认 的命名空间为“/”通常每个包都应该继承struts-default包, struts-default包是由struts内置的,它定义了struts2内部的众多拦截器和 Result类型。而Struts2很多核心的功能都是通过这些内置的拦截器实现。如:从请求中把请求参数封装到 action、文件上传和数据验证等等都是通过拦截器实现的。当包继承了struts-default包才能使用struts2为我们提 供的这些功能。 struts-default包是在struts2-core-2.x.x.jar文件中的struts-default.xml中定

15、义。 struts-default.xml也是 Struts2默认配置文件。 Struts2每次都会自动加载 struts-default.xml文件。包还可以通过abstract=“true”定义为抽象包,抽象包中不能包含action。高级软件人才实作培训专家 !北京传智播客教育 6 Struts2的启动配置在struts1.x中,struts框架是通过Servlet启动的.在struts2中,struts框架是 通过Filter启动的。在web.xml中的配置如下:StrutsPrepareAndExecuteFilterorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterorg.apache.struts2.dispatcher.FilterDispatcher StrutsPrepareAndExecuteFilter/*在StrutsPrepareAndExecuteFilter的init()方法中将会读取类路径下默认 的配置文件struts.xml完成初始化操作。注意:struts2读取到struts.xml的内容后,是将内容封装进javabean对象然后存放在内存 中,以后用户的每次请求处理将使用内存中的数据,而不是每次请求都读取struts.x

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

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