-
Struts 2 快速入门简介
2025-05-26 05:19:54 2014德国世界杯
1. 引言
Apache Struts 2 是一个基于MVC的企业级Java Web应用框架。它是原始Struts框架的完全重写,提供了开源API实现和丰富的功能集。
在这篇教程中,我们将对Struts2框架的核心组件进行初级介绍,并展示如何使用它们。
2. Struts 2框架概述
Struts 2 的一些特性包括:
基于POJO(Plain Old Java Objects)的动作:POJO意味着它不属于任何类型层次结构,可以作为独立的类使用。
插件支持REST、AJAX、Hibernate、Spring等
约定优于配置:简化了配置过程。
支持多种视图层技术
易于性能分析和调试
2.1. Struts2的不同组件
Struts2是一个基于MVC的框架,所有Struts2应用都包含以下三个组件:
动作类(Action class):一个POJO类,用于实现业务逻辑。
控制器(Controller):在Struts2中,HTTP过滤器充当控制器,负责拦截和验证请求/响应。
视图(View):用于呈现处理后的数据,通常是JSP文件。
3. 设计我们的应用
现在让我们开始开发Web应用。这是一个用户选择特定汽车品牌后,会收到定制消息的应用。
3.1. Maven依赖
在pom.xml中添加以下内容:
org.apache.struts struts2-core 2.5.10 org.apache.struts struts2-junit-plugin 2.5.10 org.apache.struts struts2-convention-plugin 2.5.10 您可以在这里找到最新版本的依赖。
3.2. 业务逻辑
创建一个动作类CarAction,它根据输入值返回一条消息。CarAction有两个字段:carName(用于存储用户输入)和carMessage(用于存储要显示的定制消息):
public class CarAction {
private String carName;
private String carMessage;
private CarMessageService carMessageService = new CarMessageService();
public String execute() {
this.setCarMessage(this.carMessageService.getMessage(carName));
return "success";
}
// getters and setters
}
CarAction类使用CarMessageService,该服务为特定的汽车品牌提供定制消息:
public class CarMessageService {
public String getMessage(String carName) {
if (carName.equalsIgnoreCase("ferrari")){
return "Ferrari Fan!";
}
else if (carName.equalsIgnoreCase("bmw")){
return "BMW Fan!";
}
else {
return "please choose ferrari Or bmw";
}
}
}
3.3. 接受用户输入
添加一个JSP,这是我们应用的入口点。这是input.jsp文件的内容: