Struts2框架:通配符定义Action详解与配置
需积分: 3 78 浏览量
更新于2024-08-18
收藏 152KB PPT 举报
"本文将深入探讨Struts2框架中如何使用通配符定义Action,以及Struts2开发所需的基本依赖库和启动配置。"
在Struts2框架中,使用通配符定义Action是为了实现更灵活的请求映射。在给出的示例中,我们看到一个名为`itcast`的包被定义,其命名空间为`/test`,并扩展了`struts-default`。`<action>`元素的`name`属性设为`helloworld_*`,这里的星号(*)就是通配符,它允许匹配任何字符序列。`class`属性指定了Action类`cn.itcast.action.HelloWorldAction`,而`method`属性使用了`{1}`占位符,这表示来自URL的第二部分将被用作执行的方法名。
当用户请求 `/test/helloworld_other.action` 时,`HelloWorldAction` 类的 `other()` 方法将被调用,因为URL中的`_other`匹配了通配符,并且被用作方法名。`execute()` 方法是默认的方法,如果没有指定方法名,系统会自动调用此方法。每个方法返回的字符串(如`"success"`)作为结果名称,与`<result>`元素的`name`属性匹配,确定后续的视图页面。在这个例子中,无论哪个方法执行成功,都会重定向到`/WEB-INF/page/hello.jsp`。
了解通配符Action的使用后,我们转向Struts2的开发依赖。要开发Struts2应用,首先需要从Apache Struts官方网站下载`struts-2.x.x-all.zip`,包含所有必要的JAR文件。这些依赖包括:
1. `struts2-core-2.x.x.jar`: 包含Struts2框架的核心组件。
2. `xwork-2.x.x.jar`: XWork框架的基础,Struts2建立在它的之上。
3. `ognl-2.x.x.jar`: 对象图导航语言,用于表达式处理和数据绑定。
4. `freemarker-2.3.x.jar`: 支持FreeMarker模板引擎,用于生成动态HTML或其他类型输出。
5. `commons-logging-1.1.x.jar`: 提供对不同日志框架(如Log4J或JDK1.4+日志)的支持。
6. `Commons-fileupload`: 用于处理multipart/form-data类型的HTTP请求,例如上传文件。
7. 可能还需要其他特定插件的JAR文件,例如与Spring框架集成时需要`struts2-spring-plugin-2.x.x.jar`。
Struts2的启动配置是通过Filter进行的,而不是像Struts1那样使用Servlet。在`web.xml`文件中,需要配置一个名为`struts2`的Filter,其类为`org.apache.struts2.dispatcher.FilterDispatcher`。这个Filter将拦截所有以`/*`为URL模式的请求,确保所有HTTP请求都经过Struts2框架处理。这种配置方式使得Struts2可以无缝地控制整个Web应用程序的流程。
总结,Struts2中的通配符Action提供了一种动态映射请求到Action方法的方式,而Struts2的开发和运行则依赖于一系列核心库和配置。通过正确设置Filter和引入必要的JAR文件,开发者能够创建高效、灵活的MVC应用。
2016-06-04 上传
2011-09-16 上传
2008-09-09 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
2014-09-26 上传
2012-03-06 上传
2015-08-31 上传
顾阑
- 粉丝: 17
- 资源: 2万+
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章