Struts2框架入门与依赖JAR解析
需积分: 0 60 浏览量
更新于2024-09-25
收藏 295KB PPT 举报
"struts2相关的ppt"
Struts2是一个流行的Java web应用程序框架,它基于Model-View-Controller (MVC)设计模式,用于简化企业级应用的开发过程。该框架提供了一种有效的方式来组织和控制应用程序的行为,以及与视图层的交互。以下是关于Struts2开发的一些关键知识点:
1. **依赖的JAR文件**:
- `struts2-core-2.x.x.jar`:这是Struts2的核心库,包含了许多核心组件,如Action、拦截器、结果类型等。
- `xwork-2.x.x.jar`:XWork是Struts2的基础,提供了许多基础功能,如类型转换、验证和异常处理。
- `ognl-2.6.x.jar`:OGNL(对象图导航语言)是Struts2的默认表达式语言,用于访问和操作对象属性。
- `freemarker-2.3.x.jar`:FreeMarker是一个模板引擎,用于生成HTML或其他类型的输出。
- `commons-logging-1.1.x.jar`:提供了一种统一的日志接口,支持Log4J和JDK1.4+的日志API。
- `Commons-fileupload`:用于处理HTTP请求中的多部分数据,如文件上传。
2. **集成第三方框架**:
如果需要与其他框架(如Spring)集成,需要引入相应的插件JAR文件,例如`struts2-spring-plugin-2.x.x.jar`。
3. **Struts2的启动配置**:
在Struts2中,框架是通过Filter而不是Servlet启动的。在`web.xml`中,配置`FilterDispatcher`来拦截所有的HTTP请求。以下是一个示例配置:
```xml
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
```
这样的配置意味着所有请求都会通过Struts2的Filter进行处理。
4. **FilterDispatcher的工作原理**:
当`FilterDispatcher`初始化时,它会查找类路径下的配置文件,如`struts-default.xml`、`struts-plugin.xml`和应用特定的`struts.xml`,这些文件定义了Action、拦截器栈、结果类型等。
5. **Action和Result**:
- **Action**:是业务逻辑的载体,处理用户请求并返回一个结果。
- **Result**:定义了Action执行后的响应,可以是重定向、转发、生成静态或动态内容等。
6. **Interceptor(拦截器)**:
拦截器是Struts2的核心特性之一,它们在Action调用前后执行,可以实现诸如日志记录、权限检查、事务管理等功能。
7. **配置文件**:
- `struts-default.xml`:包含默认配置,如默认的拦截器栈。
- `struts-plugin.xml`:包含插件的配置信息。
- `struts.xml`:应用程序的主要配置文件,定义Actions、结果、拦截器栈等。
8. **视图层**:
Struts2支持多种视图技术,如JSP、FreeMarker、Velocity等,开发者可以根据需求选择合适的技术。
9. **国际化与本地化**:
Struts2支持通过资源文件实现国际化,允许根据用户区域显示不同的文本内容。
10. **安全**:
虽然Struts2提供了强大的功能,但历史上曾出现过安全漏洞,因此开发者必须保持框架和依赖库的更新,以确保应用的安全性。
Struts2是一个强大且灵活的框架,它简化了Java web应用的开发,提供了丰富的特性和插件支持,但同时也需要注意其潜在的安全风险和最佳实践。理解和掌握这些知识点对于有效地使用Struts2框架至关重要。
2011-09-09 上传
2011-03-16 上传
2023-10-15 上传
2023-08-01 上传
2024-09-15 上传
2023-05-19 上传
2023-05-19 上传
2023-10-14 上传
ryb123
- 粉丝: 12
- 资源: 15
最新资源
- 新代数控API接口实现CNC数据采集技术解析
- Java版Window任务管理器的设计与实现
- 响应式网页模板及前端源码合集:HTML、CSS、JS与H5
- 可爱贪吃蛇动画特效的Canvas实现教程
- 微信小程序婚礼邀请函教程
- SOCR UCLA WebGis修改:整合世界银行数据
- BUPT计网课程设计:实现具有中继转发功能的DNS服务器
- C# Winform记事本工具开发教程与功能介绍
- 移动端自适应H5网页模板与前端源码包
- Logadm日志管理工具:创建与删除日志条目的详细指南
- 双日记微信小程序开源项目-百度地图集成
- ThreeJS天空盒素材集锦 35+ 优质效果
- 百度地图Java源码深度解析:GoogleDapper中文翻译与应用
- Linux系统调查工具:BashScripts脚本集合
- Kubernetes v1.20 完整二进制安装指南与脚本
- 百度地图开发java源码-KSYMediaPlayerKit_Android库更新与使用说明