Struts2入门:构建简易计算器应用

需积分: 0 0 下载量 148 浏览量 更新于2024-07-31 收藏 1.05MB PPT 举报
"LG1V2.0-Struts2入门" 本文将详细介绍Struts2框架的入门开发流程,以创建一个简单的“计算器”应用为例,帮助初学者掌握Struts2的基本架构和开发步骤。 首先,我们需要理解Struts2框架的角色和作用。Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它用于简化开发并提供更好的控制和组织。在Struts2中,Model代表业务逻辑,View负责展示,而Controller则处理用户请求,协调Model和View之间的交互。 Struts开发流程: 1. 添加Struts支持:在开始开发之前,我们需要在项目中引入Struts2框架的支持。在MyEclipse等集成开发环境中,可以通过Project Capabilities选项添加Struts2的库和配置文件。选择相应的Struts2版本,例如这里选择了Struts2.1。 2. 开发业务逻辑类(Model):在biz包下创建业务逻辑类,例如这里的Calculator类。这个类通常包含了应用的核心计算功能,如Calculator中的`add()`方法,用于实现两个数的相加。 ```java package biz; public class Calculator { public double add(double a, double b) { return a + b; } } ``` 3. 开发Action组件(Controller):在action包下,我们需要创建一个Action类,它是Struts2中的控制器组件。Action类负责接收用户请求,调用Model中的方法,然后返回结果给视图。例如,创建一个AddAction类,该类会调用Calculator的add()方法。 ```java package action; import org.apache.struts2.interceptor.SessionAware; import com.opensymphony.xwork2.ActionSupport; public class AddAction extends ActionSupport implements SessionAware { private double num1; private double num2; private Calculator calculator = new Calculator(); // getter and setter methods... public String execute() { double result = calculator.add(num1, num2); // 将结果存入session或返回结果给视图 return SUCCESS; } // 实现SessionAware接口的必要方法 @Override public void setSession(Map<String, Object> session) { // ... } } ``` 4. 开发JSP页面(View):在WebRoot目录下创建JSP页面,例如add.jsp,这是用户与应用交互的界面。在这个页面中,我们定义表单来接收用户的输入,然后提交到对应的Action。 ```jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>计算器</title> </head> <body bgcolor="#ffffc0"> <h1>算术计算器</h1> <form id="calcForm" method="post" action="add.action"> <table> <tbody> <tr> <td>第一个数</td> <td><input type="text" name="num1"/></td> </tr> <tr> <td>第二个数</td> <td><input type="text" name="num2"/></td> </tr> <tr> <td><input type="submit" value="加"/></td> </tr> </tbody> </table> </form> </body> </html> ``` 5. 调试运行:最后,配置好项目的部署描述符(web.xml),确保Struts2的过滤器已经正确配置。然后运行项目,通过浏览器访问add.jsp,输入数字并点击“加”按钮,Struts2框架会根据Action的配置处理请求,执行业务逻辑,并将结果返回给用户。 通过以上步骤,我们可以了解到Struts2开发的基本流程,包括添加Struts2支持,编写业务逻辑类,创建Action组件,设计JSP页面,以及项目的调试运行。这只是一个简单的示例,实际项目中可能涉及更复杂的逻辑和交互,但基本流程是一致的。熟练掌握这些步骤,将有助于更好地理解和应用Struts2框架进行Web开发。

192.168.85.1 - - [26/Jun/2022:06:07:07 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 24 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 24 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 24 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 200 12925 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 200 12925 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 200 12925 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 200 14 192.168.85.1 - - [26/Jun/2022:06:08:06 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 15 192.168.85.1 - - [26/Jun/2022:06:08:16 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 1227 192.168.85.1 - - [26/Jun/2022:06:10:15 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 79 192.168.85.1 - - [26/Jun/2022:06:13:25 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 404 752 192.168.85.1 - - [26/Jun/2022:06:16:42 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 35 192.168.85.1 - - [26/Jun/2022:06:16:57 -0400] "GET //struts2-showcase/hhh.jsp HTTP/1.1" 403 642 192.168.85.1 - - [26/Jun/2022:06:18:55 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 35 192.168.85.1 - - [26/Jun/2022:06:19:02 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 35 192.168.85.1 - - [26/Jun/2022:06:19:09 -0400] "GET //struts2-showcase/hhh1.jsp HTTP/1.1" 403 642 192.168.85.1 - - [26/Jun/2022:06:19:34 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 400 192.168.85.1 - - [26/Jun/2022:06:20:37 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 5 192.168.85.1 - - [26/Jun/2022:06:20:42 -0400] "GET //struts2-showcase/hhh1.jsp HTTP/1.1" 403 642 192.168.85.1 - - [26/Jun/2022:06:20:46 -0400] "GET //struts2-showcase/hhh.jsp HTTP/1.1" 403 642 192.168.85.1 - - [26/Jun/2022:06:20:51 -0400] "GET /struts2-showcase/hhh.jsp HTTP/1.1" 403 642

2023-07-12 上传