Struts2入门教程:配置与依赖解析
需积分: 1 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应用的基础。
2012-04-20 上传
2011-12-13 上传
2012-10-14 上传
2023-05-19 上传
2023-05-13 上传
2023-08-01 上传
2024-09-15 上传
2023-10-15 上传
2023-05-19 上传
Peter_RI
- 粉丝: 0
- 资源: 1
最新资源
- 新型智能电加热器:触摸感应与自动温控技术
- 社区物流信息管理系统的毕业设计实现
- VB门诊管理系统设计与实现(附论文与源代码)
- 剪叉式高空作业平台稳定性研究与创新设计
- DAMA CDGA考试必备:真题模拟及章节重点解析
- TaskExplorer:全新升级的系统监控与任务管理工具
- 新型碎纸机进纸间隙调整技术解析
- 有腿移动机器人动作教学与技术存储介质的研究
- 基于遗传算法优化的RBF神经网络分析工具
- Visual Basic入门教程完整版PDF下载
- 海洋岸滩保洁与垃圾清运服务招标文件公示
- 触摸屏测量仪器与粘度测定方法
- PSO多目标优化问题求解代码详解
- 有机硅组合物及差异剥离纸或膜技术分析
- Win10快速关机技巧:去除关机阻止功能
- 创新打印机设计:速释打印头与压纸辊安装拆卸便捷性