myeclipse 2024 不再支持 struts 向导,需手动配置:新建 dynamic web project → 复制 struts 2.5.34 全量 jar 到 web-inf/lib → 配置 web.xml 的 strutsprepareandexecutefilter → 创建 utf-8 编码、匹配 2.5 dtd 的 struts.xml → 编写继承 actionsupport 的 action 类 → 部署验证访问 /hello。

确认项目基础结构
新建一个 Dynamic Web Project,注意勾选生成 web.xml(版本建议选 Java EE 8 或 Jakarta EE 9+,若用 Tomcat 10 需注意命名空间迁移);
项目编码设为 UTF-8;
Target runtime 选择已配置好的 Tomcat 实例;
确保 WebRoot/WEB-INF/lib 目录存在(MyEclipse 中通常显示为 lib 文件夹,右键 Build Path → Add to Build Path 即可纳入编译)。
导入 Struts 2 核心 JAR 包
从Apache 官网下载 Struts 2.5.34(截至 2026 年最新稳定版):
解压后进入 lib/ 目录,将以下 JAR 全部复制到项目的 WebRoot/WEB-INF/lib(或 MyEclipse 中的 lib 文件夹):
- struts2-core-2.5.34.jar
- xwork-core-2.5.34.jar
- ognl-3.3.4.jar
- freemarker-2.3.32.jar
- commons-logging-1.2.jar
- commons-fileupload-1.5.jar
- commons-io-2.11.0.jar
- javassist-3.29.2-GA.jar
- asm-9.4.jar、asm-commons-9.4.jar、asm-tree-9.4.jar
⚠ 注意:不要遗漏 asm 系列或 javassist,否则运行时会报 NoClassDefFoundError 或 AOP 失效;
推荐直接复制 struts2-blank.war 解压后的全部 lib 内容,最稳妥。
配置 web.xml 启用 Struts 过滤器
打开 WebRoot/WEB-INF/web.xml,在 <web-app></web-app> 根节点内添加如下标准 Filter 配置:
<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>
⚠ 关键点:
• 类名必须是 StrutsPrepareAndExecuteFilter(不是已废弃的 FilterDispatcher 或拼写错误的 ExcuteFiler);
• <url-pattern>/*</url-pattern> 是推荐写法,可拦截所有请求(包括静态资源),后续可通过 <constant name="struts.action.excludePattern" value="/css/.*?,/js/.*?"></constant> 排除;
• 若用 Jakarta EE 9+(Tomcat 10),web.xml 的 xmlns 应为 https://jakarta.ee/xml/ns/jakartaee,但 Filter 类路径不变,无需修改。
创建并校验 struts.xml
在 src 目录下新建文件 struts.xml,内容如下(以 Struts 2.5 为准):
Eclipse IDE 是一款由 Eclipse 基金会管理的开源、跨平台集成开发环境。其核心基于 Java 构建,通过强大的插件架构可扩展支持 C/C++、Python、PHP 等多种编程语言。它提供丰富的代码编辑、调试和重构工具,并紧密集成 Git、Maven 等现代开发工具链,是全球众多开发者首选的 Java 开发利器。
<?xml version="1.0" encoding="UTF-8"?><struts><package name="default" extends="struts-default" namespace="/"><action name="hello" class="com.example.HelloAction"><result>/success.jsp</result></action></package></struts>
⚠ 必须核对:
• DOCTYPE 中的 DTD URI 必须与所用 Struts 版本严格匹配(2.5.x 对应 struts-2.5.dtd);
• 文件保存编码为 UTF-8;
• 若 Eclipse 报红提示“Cannot resolve URI”,需手动添加 XML Catalog:
→ Window → Preferences → XML → XML Catalog → Add → Key Type 选 URI → Key 填 https://struts.apache.org/dtds/struts-2.5.dtd → Location 选本地下载的 dtd 文件或留空让 IDE 自动联网获取。
编写首个 Action 并验证
在 src/com/example/ 下新建 HelloAction.java:
package com.example;
import com.opensymphony.xwork2.ActionSupport;
public class HelloAction extends ActionSupport {
public String execute() { return SUCCESS; }
}
在 WebRoot/ 下新建 success.jsp(内容任意,如 <h2>Struts2 is running!</h2>);
部署项目到 Tomcat,启动后访问:
http://localhost:8080/your-project/hello(不带 .action 后缀);
若页面正常显示,说明 Struts 初始化成功。










