Struts2入门教程:配置与依赖解析

需积分: 1 0 下载量 200 浏览量 更新于2024-07-22 收藏 211KB DOC 举报
"这篇学习笔记主要探讨了Struts2框架的启动机制、依赖的库以及在Web应用中的配置。" Struts2是一个流行的Java web框架,用于构建MVC(Model-View-Controller)架构的应用程序。它通过Filter来启动,这在web应用的生命周期中扮演了关键角色。当web应用被服务器加载时,会读取项目的`web.xml`配置文件,该文件定义了过滤器,这些过滤器负责处理请求和响应。 在Struts2中,核心的过滤器类是`FilterDispatcher`(对于2.0版本),在更早的版本中,它是通过`org.apache.struts2.dispatcher.FilterDispatcher`来配置的。在`web.xml`中,我们需要定义一个名为`struts2`的过滤器,并指定其类。对于2.1及之后的版本,过滤器类通常被替换为`org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter`,这个新过滤器同时负责准备和执行请求。 依赖的jar包是Struts2框架正常运行的关键,包括: 1. `struts2-core-2.1.6.jar`:这是Struts2的核心库,包含了框架的主要组件和功能。 2. `freemarker-2.3.13.jar`:FreeMarker是一个模板引擎,用于生成动态HTML或其他文本输出。 3. `commons-logging.jar`:提供了一种统一的日志记录接口,使得应用程序可以在不关心具体日志实现的情况下进行日志操作。 4. `ognl-2.6.11.jar`:Object-Graph Navigation Language(OGNL)是Struts2中用于表达式语言的库,用于访问和操作对象的属性。 5. `xwork-2.1.2.jar`:XWork是Struts2的基础,提供了许多底层的功能,尽管很多类已经迁移到了Struts2中,但仍然有一些关联。 6. `commons-fileupload-1.3.1.jar` 和 `commons-io-2.2.jar`:分别用于文件上传功能和IO操作。 7. `commons-lang3-3.1.jar`:扩展了Java的标准库,提供了一些实用的类和方法。 8. `commons-validator-1.3.1.jar`:提供了表单验证功能,支持国际化错误消息。 9. `classes12.jar`:通常是数据库驱动,依赖于具体的数据库系统。 在`web.xml`中配置Struts2过滤器的典型方式如下: ```xml <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> ``` 这里,`filter-name`是过滤器的标识,`filter-class`指定了过滤器的实现类,而`url-pattern`将所有的HTTP请求都映射到这个过滤器,意味着所有请求都将通过Struts2框架处理。 值得注意的是,`struts.xml`配置文件通常位于`src`目录下,但在实际运行时,Eclipse这样的IDE会在编译后将其复制到`classes`目录下,以便Struts2框架在运行时能够找到并读取它。 Struts2通过配置在`web.xml`中的过滤器启动,并依赖一系列的库来处理请求、生成响应、模板渲染、日志记录以及对象表达式等任务。理解和配置这些元素是成功使用Struts2构建web应用的基础。