"本文档是关于使用Struts2框架入门的教程,特别是讲解了如何使用通配符定义Action,以及Struts2的核心依赖和启动配置。"
在Struts2框架中,使用通配符定义Action是一项实用的功能,它允许我们以更灵活的方式处理HTTP请求。在给出的示例中,`<package>`元素定义了一个名为"newer"的包,具有"/test"的命名空间,并扩展了"struts-default"。在这个包内,`<action>`元素的`name`属性设置为"helloworld_*",这里的星号(*)是一个通配符,表示可以匹配任何字符。这意味着当请求以"/test/helloworld_"开头时,Struts2会尝试找到匹配的方法。
例如,`method="{1}"`表明Struts2会将URL中星号(*)后面的部分作为方法名,尝试调用对应的Action方法。在`HelloWorldAction`类中,有两个方法:`execute()`和`other()`. 要访问`other()`方法,我们可以使用URL "/test/helloworld_other.action",这样Struts2就会自动调用`HelloWorldAction`的`other()`方法,并返回"success"结果,将用户重定向到"/WEB-INF/page/hello.jsp"页面。
Struts2入门涉及到多个关键点。首先,开发Struts2应用程序需要依赖一系列的JAR文件。这些JAR包括核心库、XWork库、OGNL(对象图导航语言)、FreeMarker模板引擎以及日志相关的库。例如,`struts2-core-2.2.3.jar`是Struts2框架的核心组件,`xwork-core-2.2.3.jar`提供基础功能,而`ognl-3.0.1.jar`用于表达式语言。其他如FreeMarker和Apache Commons库则是为了支持视图渲染和文件上传等功能。
Struts2的启动配置在`web.xml`中进行,通过Filter而非Servlet启动。`<filter>`元素定义了名为"struts2"的过滤器,其`filter-class`属性指向`StrutsPrepareAndExecuteFilter`,这是Struts2的核心过滤器,负责准备请求和执行Action。然后,`<filter-mapping>`元素将这个过滤器映射到所有请求,确保Struts2可以处理Web应用的所有HTTP请求。
Struts2是一个强大的MVC框架,提供了灵活的Action配置和强大的表达式语言支持,使得开发者能够更高效地构建Java Web应用程序。了解并掌握这些基本概念和配置对于深入学习和使用Struts2至关重要。