### Struts2 使用步骤详解 #### 一、Struts2简介与环境搭建 Struts2 是 Apache 软件基金会下的一个开源项目,它继承了 Struts 的模型并结合了 WebWork、XWork 和 Interceptors 等技术,提供了一个灵活、强大的 MVC 框架。对于初学者来说,掌握 Struts2 的基本使用步骤是非常重要的。 **环境搭建**: 1. **下载所需库文件**:根据题目中给出的信息,我们需要下载以下库文件: - xwork-core-2.2.1.jar - struts2-core-2.2.1.jar - ognl-3.0.jar - freemarker-2.3.16.jar - commons-fileupload-1.2.1.jar - commons-io-1.3.2.jar - javassist-3.7.ga.jar (适用于 Struts2.2.2 版本) 2. **配置 web.xml 文件**:为了使 Struts2 能够在 Web 应用程序中正常工作,我们需要在 `web.xml` 文件中配置过滤器。具体配置如下: ```xml <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ``` 这段配置指定了 Struts2 过滤器的名称、类以及应用范围(所有请求)。 #### 二、Struts2 配置文件详解 **Struts 配置文件**: 1. **example.xml**:这是一个示例配置文件,展示了如何配置包、全局结果、动作等。 ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="example" namespace="/example" extends="struts-default"> <global-results> <result name="success" type="redirect">/example/success.jsp</result> </global-results> <action name="hello" class="com.example.struts.action.HelloWorldAction"> </action> <action name="test_*" method="{1}" class="com.example.struts.action.TestMethodAction"> </action> <action name="*" class="com.example.struts.action.ExampleAction"> <result>/example/{1}.jsp</result> </action> </package> </struts> ``` 这个配置文件定义了一个名为 `example` 的包,并且配置了三个动作:`hello`、`test_*` 和 `*`,其中 `test_*` 表示带有前缀 `test` 的所有动作都可以映射到同一个类中的不同方法。 2. **struts.xml**:这是 Struts2 的主要配置文件,用于配置框架的行为和属性。 ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <!-- 设置默认字符编码 --> <constant name="struts.i18n.encoding" value="UTF-8"/> <!-- 设置默认的 action 扩展名 --> <constant name="struts.action.extension" value="do"/> <!-- 是否启用浏览器缓存,默认为 false --> <constant name="struts.serve.static.browserCache" value="false"/> <!-- 是否自动重新加载配置文件,默认为 true --> <constant name="struts.configuration.xml.reload" value="true"/> <!-- 是否开启动态方法调用,默认为 false --> <constant name="struts.enable.DynamicMethodInvocation" value="false"/> <!-- 开发模式,默认为 false --> <constant name="struts.devMode" value="false"/> <!-- 默认主题 --> <constant name="struts.ui.theme" value="simple"/> </struts> ``` 该配置文件设置了一系列的常量来控制框架的行为,例如默认的字符编码、action 的扩展名、是否允许动态方法调用等。 #### 三、创建与测试 Struts2 动作 1. **编写 Java 动作类**:根据 `example.xml` 中的动作配置,我们需要创建对应的 Java 类。例如,`HelloWorldAction` 类可能如下所示: ```java package com.example.struts.action; public class HelloWorldAction { public String execute() { return "success"; } } ``` 2. **测试**:部署应用并启动服务器后,可以通过访问相应的 URL 来测试动作是否正确执行。例如,访问 `http://localhost:8080/your-app/example/hello.do` 来测试 `hello` 动作。 #### 四、总结 通过以上步骤,我们已经完成了 Struts2 应用的基本搭建。对于初学者而言,理解这些基本概念和操作是非常重要的,它们构成了后续学习和开发的基础。未来还可以进一步探索更高级的功能,如拦截器、自定义结果类型等。




















一:普通的struts2 Web工程依赖的jar文件如下:
xwork-core-2.2.1
struts2-core-2.2.1
ognl-3.0
freemarker-2.3.16
commons-fileupload-1.2.1
commons-io-1.3.2
javassist-3.7.ga(在struts2.2.2版本中此文件不能少)
二、web.xml添加对struts2的支持配置
<!-- struts2 filter config -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
三、在src目录下添加example.xml和struts.xml配置文件也可以只添加struts.xml,本例将配置多struts配置文件的实例
example.xml文件内容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>


- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 互联网+时代的计算机应用技术初探.docx
- Matlab空间数据误差处理实习分析方案.doc
- excel计算大全钢结构计算表格用钢量.xls
- 单片机常用模块电路大全.docx
- 基于CDIO理念的电气控制及PLC三级项目管理教学改革研究.doc
- IDC行业市场竞争格局及发展前景分析-云计算冲击IDC市场格局第三方IDC厂商.docx
- 电力大数据处理平台及应用.docx
- 基于Paxos算法的分布式计算模型探究.docx
- ASP008大学本科方案设计书花店.doc
- 通信技术工作总结.doc
- 220kv输电线路工程监理标准化项目管理试题.doc
- 通信工程施工工艺.doc
- 互联网+背景下小学美术纸艺创客教学探究.docx
- 互联网+时代下高职英语教学发展策略研究.docx
- 中专院校计算机基础课程教学改革的必要性和策略探究.docx
- 加快推进信息化人社建设问题研究.doc


