X第4章 struts2入门

1,167 views

Published on

struts2

  • Be the first to comment

  • Be the first to like this

X第4章 struts2入门

  1. 1. 第 4 章 Struts2 入门 <ul><li>Struts 一贯以结构清晰、简单易用而著称, Struts2 继承了这一传统。虽然复杂度提高了、功能上增强了,但在安装和配置上甚至比前面的版本更简单。 Struts2 还提供了丰富的实例程序,使初学者很容易上手,在由浅入深的学习中一点不会感觉困难。 </li></ul>
  2. 2. 4.1 下载与安装 Struts2 <ul><li>本节将介绍如何下载和 Struts2 ,并介绍 Struts2 包内都包含哪些文件,各自有什么作用,以及如何在 Tomcat 中安装 Struts2 。最后发布并测试 Struts2 自带的例子验证 Struts2 安装是否成功。 </li></ul>
  3. 3. 4.1.1 下载 Struts2 <ul><li>Struts2 的安装非常简单,首先请到 http://jakarta.apache.org/struts 下载 struts 2 ,应该选择完全发布版( Full Distribution ), 它包含必要的 jar 文件、自带的例子和文档,下载后得到的是一个 zip 文件,文件名为 struts-2.XXX-all.zip ,将 zip 包解开,可以看到 4 目录分别为: </li></ul><ul><li>( 1 ) src 为源代码目录, *.java 文件在此存放。 Struts2 是一个开源项目,可在此目录中所有的代码。 </li></ul><ul><li>( 2 ) docs 为文档目录。 </li></ul><ul><li>( 3 ) lib 为 Struts2 提供库目录,里面是提供给开发人员的 jar 文件,在开发过程中需要把这些 jar 加入的 CLASSPATH 。发布的时候需要把这些 jar 文件拷贝到 Web 工程的 WEB-INF/lib 下。 </li></ul><ul><li>( 4 ) apps 为例子目录,里面是 Struts2 给出的几个例子都是 *.war 文件。 </li></ul>
  4. 4. 4.1.2 发布 Struts2 自带的例子 <ul><li>把 apps 目录下文件名为 struts2-blank-2.0.11.war 文件拷贝到 Tomcat 的 webapps 下。重新 启动 Tomcat 。直接访问 </li></ul><ul><li>http://localhost:8080/struts2-blank-2.0.11/ 测试这个例子。 </li></ul>
  5. 5. 4.2 第一个 Struts2 程序 <ul><li>本节将介绍如何使用 Struts2 来开发 Web 应用,还是用一个 Hello Reader 的例子来说明 Struts2 基础配置和结构。 </li></ul>
  6. 6. 4.2.1 配置 web.xml <ul><li>Struts2 的配置非常简单,在 web.xml 中配置 Struts2 提供的过滤器并把所有的请求( /* )都要经过这个过滤器。如代码所示。 </li></ul><ul><li>代码 Sturts 2 示例: web.xml </li></ul><ul><li><?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> </li></ul><ul><li><web-app </li></ul><ul><li><display-name>Struts Blank</display-name> </li></ul><ul><li><filter> </li></ul><ul><li><!— 添加 filter--> </li></ul><ul><li><filter-name>struts2</filter-name> </li></ul><ul><li><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </li></ul><ul><li></filter> </li></ul><ul><li><filter-mapping> </li></ul><ul><li><filter-name>struts2</filter-name> </li></ul><ul><li><url-pattern>/*</url-pattern> </li></ul><ul><li></filter-mapping> </li></ul><ul><li></web-app> </li></ul><ul><li>注意:在 Struts1.x 中 web.xml 配置了一个全局的 Servlet 来执行分发的,而在 Struts2 中是一个过滤器( Filter )。 </li></ul>
  7. 7. 4.2.2 编写 JSP 界面 <ul><li>在使用 Struts2 提供的标签库之前需要在 JSP 中引入这个标签库,前缀定义为“ s” ,如代码所示,例子中用到了一个“ property” 标签来显示 message 这个属性值。 </li></ul><ul><li>代码 Sturts 2 示例: helloreader.jsp </li></ul><ul><li><!— 引入 Struts 标签 --> </li></ul><ul><li><%@ taglib prefix=&quot;s&quot; uri=&quot;/struts-tags&quot; %> </li></ul><ul><li><html> </li></ul><ul><li><head> </li></ul><ul><li><title>Hello Reader!</title> </li></ul><ul><li></head> </li></ul><ul><li><body> </li></ul><ul><li><!— 使用 property 标签来获取 Action 中的属性,直接显示在页面中 -> </li></ul><ul><li><h2><s:property value=&quot;message&quot; /></h2> </li></ul><ul><li></body> </li></ul><ul><li></html> </li></ul>
  8. 8. 4.2.3 编写 Action 类 <ul><li>Action 类是最基本的逻辑处理单元,在 MVC 模式中分发器分发给不同的 Action 类,来处理请求。在 Struts2 中 Action 类不必再实现 Action 接口,可以是任何类。但一般的还是需要继承 ActionSupport 类,后文中会讲到,因为 ActionSupport 提供了很多很好的基本功能如错误信息处理等。 </li></ul>
  9. 9. 4.2.4 添加映射到配置文件 <ul><li>Struts2 的配置文件是 struts.xml ,所有请求和分发以及其他配置都在这个文件中定义, struts.xml 文件应该放在 WEB-INF 目录下。在 Struts1.x 中这个文件的文件名为 struts-config.xml ,而在 Webwork 中这个文件名为 xwork.xml 。 </li></ul><ul><li>如代码 4-4 所示,配置了一个名称为 HelloReader 的 action ,处理类是 tutorial.HelloReader ,处理后的结果转到 HelloReader.jsp 。 </li></ul>
  10. 10. 4.3 发布与测试 <ul><li>本节将展示在 Tomcat 中如何发布一个借助 Struts2 框架开发的应用程序,并展示测试结果。最后通过分析这个例子是如何工作的,说明 Struts2 各个模块之间的关系,请求是如何在其间流转的。 </li></ul>
  11. 11. 4.3.1 发布 <ul><li>在 Tomcat 的 webapps 目录下创建一个 Web 应用目录 struts2 , JSP 文件应该放在这个目录下。在此目录下创建子目录 WEB-INF , web.xml 文件应该在此目录下。程序中编写的类 class 文件和 struts.xml 文件应该放在 WEB-INF/classes 目录下,最重要的是要把 Struts2 提供的 jar 文件拷贝到 WEB-INF/lib 下,这样在程序中才能引用到 Struts2 的 API 。 </li></ul>
  12. 12. 4.3.2 测试结果 <ul><li>重新启动 Tomcat ,访问 http://localhost:8080/struts2/HelloReader.action , </li></ul>
  13. 13. 4.3.3 分析处理流程 <ul><li>这个例子的处理流程如图所示。 </li></ul>
  14. 14. 4.4 小结 <ul><li>本章从 Struts2 的下载安装开始叙述,以一个简单的例子带领读者走入 Struts2 世界,并详细解读了 Struts2 最基本的业务处理流程:受用户请求、处理业务逻辑和返回结果页面。分析了请求如何在各个模块中流转。例子虽然简单,但包含了 Struts2 的几大要素, Action 、标签库、过滤器。下一章将详细说明 Struts2 的这些核心概念。 </li></ul>

×