### Struts2 简单程序详解:计算两个数之和 #### 一、环境搭建与准备工作 在开始实现一个简单的Struts2程序之前,首先需要进行必要的开发环境准备。 **1.1 安装Struts2** 创建一个新的Web项目,并按照以下步骤进行: - **命名项目**:将新创建的Web项目命名为`struts2`。 - **下载Struts2包**:前往Apache官方网站下载Struts2相关的包。 - **导入所需的JAR包**:将下载的包导入到项目中。具体包括: - `Struts2-core-2.0.11.1.jar` - `Xwork-2.0.4.jar` - `Commons-logging-1.0.4.jar` - `Reemarker-2.3.8.jar` - `Ognl-2.6.11.jar` 如果导入了更高版本的`ognl-3.0.jar`,还需要额外导入`javassist-3.7.gn.jar`。该包可以在`struts2-2.2.1/apps/struts2-blank-2.2.1.war`中找到。此外,如果出现编译错误,则需进一步导入: - `commons-fileupload-1.2.1.jar` - `commons-io-1.3.2.jar` 这些JAR包都位于Struts2提供的库中。 **1.2 配置web.xml** Struts2的运行需要一个过滤器(Filter)来启动。因此,需要在项目的`web.xml`文件中添加相应的过滤器配置。示例配置如下: ```xml <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ``` 以上配置确保了所有URL请求都将通过Struts2的过滤器处理。 #### 二、编写Action类 在Struts2中,Action类是处理用户请求的核心部分。下面展示如何编写用于计算两个数之和的Action类。 **2.1 创建Action类** ```java package action; import com.opensymphony.xwork2.ActionSupport; public class FirstAction extends ActionSupport { private int operand1; private int operand2; public String execute() throws Exception { if (getSum() > 0) { return "positive"; } else { return "negative"; } } // Getter and Setter 方法 public int getOperand1() { return operand1; } public void setOperand1(int operand1) { this.operand1 = operand1; } public int getOperand2() { return operand2; } public void setOperand2(int operand2) { this.operand2 = operand2; } public int getSum() { return operand1 + operand2; } } ``` 在这个例子中,`FirstAction`类继承自`ActionSupport`。其中的`execute()`方法实现了计算逻辑,根据计算结果返回不同的字符串作为执行结果。 #### 三、配置Action类 接下来,需要在`struts.xml`文件中配置上述Action类。`struts.xml`通常位于`WEB-INF/classes`目录下。 **3.1 编写配置文件** ```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="struts2" namespace="/mystruts" extends="struts-default"> <action name="sum" class="action.FirstAction"> <result name="positive">/positive.jsp</result> <result name="negative">/negative.jsp</result> </action> </package> </struts> ``` 这里定义了一个名为`struts2`的包,其中包含一个名为`sum`的Action,该Action指向`action.FirstAction`类。 #### 四、编写用户界面 最后一步是编写用户可以交互的界面。 **4.1 创建主界面(sum.jsp)** 在`web`目录下创建一个名为`sum.jsp`的文件,该文件用于接收用户输入并显示结果。 ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <form action="sum" method="post"> Operand1: <input type="text" name="operand1"><br> Operand2: <input type="text" name="operand2"><br> <input type="submit" value="Calculate"> </form> </body> </html> ``` **4.2 创建结果显示页面(positive.jsp 和 negative.jsp)** 这两个文件分别用于显示正数和负数的结果。可以根据实际情况设计它们的内容。 ### 总结 通过上述步骤,我们已经成功地构建了一个基于Struts2框架的简单应用,该应用能够接收用户输入的两个整数,并计算它们的和。这个示例不仅介绍了Struts2的基本用法,还展示了如何通过配置文件来管理Action及其视图。这对于初学者来说是非常有价值的实践经验和学习资源。


















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


最新资源
- 项目管理-采购管理.ppt
- 综合布线课程设计.pptx
- 国内医药电子商务营销的现状分析教材.pptx
- 物业新项目管理方案.doc
- 清华-谭浩强-C语言程序设计视频教程-第8章.ppt
- 通信工程工程量清单计价与投标快速报价实务全书.doc
- 云计算导论第6章.ppt
- 煤炭安全质量标准化精细化管理与信息化.ppt
- 电子商务培训班主持词.docx
- 基因工程习题答案.doc
- Python 实现数据结构的方法:助力课后作业与课程大作业
- 2023年最全的事业单位考试计算机基础知识试题.doc
- 信息化规划案例.doc
- 最新国家开放大学电大专科《信息化管理与运作》判断填空题题库及答案(试卷号:2499).docx
- 企业信息化教研中心实训方案.doc
- 施工现场安全管理网络及安全技术措施有用.doc


