Struts2详解:配置struts.xml与核心概念解析
需积分: 0 24 浏览量
更新于2024-08-18
收藏 2.39MB PPT 举报
"本文将深入讲解Struts2框架,特别是如何修改struts.xml配置文件,以及Struts2的基础知识,包括框架概述、配置文件、国际化、输入校验等关键概念。"
Struts2是一个强大的MVC(Model-View-Controller)框架,由Apache软件基金会维护,旨在简化Web应用程序的开发。其前身Struts1由Craig R. McClanahan创建,并于2001年发布1.0版本。Struts2在2005年推出,提供了更多功能,如页面导航管理、输入验证、统一布局、可扩展性、国际化、Ajax支持以及防止表单重复提交等。
要开始使用Struts2,首先需要从官方站点下载最新版本(例如2.3.1.2)。下载的struts-2.x.x-all.zip文件包含所有必要的库文件,其中lib目录下的jar文件是开发Struts2应用所必需的。核心库包括struts2-core-2.x.x.jar,它是框架的核心组件;xwork-2.x.x.jar提供基础架构;ognl-2.x.x.jar是对象图导航语言,用于表达式处理;freemarker-2.3.x.jar支持FreeMarker模板,用于生成动态UI;以及commons-logging-1.1.x.jar,作为日志接口,允许与Log4J或JDK1.4+的日志系统集成。此外,为了实现文件上传,需要commons-fileupload.jar。
配置文件是Struts2的核心部分,比如struts.xml文件。在提供的描述中,我们看到了一个简单的配置示例:
```xml
<package name="self" namespace="/" extends="struts-default">
<action name="hello" class="cn.edu.huanghuai.xxgcxy.struts2.action.firstAction">
<result name="success">
/first.jsp
</result>
</action>
</package>
```
这个配置定义了一个名为"self"的包,namespace属性设置为空字符串,意味着这是全局命名空间。action元素定义了一个名为"hello"的动作,关联了类cn.edu.huanghuai.xxgcxy.struts2.action.firstAction。当这个动作成功执行时,将会跳转到/first.jsp页面。
Struts2的基础内容还包括以下方面:
1. **Struts2概述**:了解Struts2的基本概念、架构和设计原则。
2. **简单的Struts2程序**:从创建第一个“Hello, World”程序开始,理解Struts2的工作流程。
3. **Struts2配置文件**:学习如何配置struts.xml,包括动作、结果、拦截器和包的设置。
4. **Struts2国际化**:通过资源bundle实现多语言支持。
5. **Struts2输入校验**:利用注解或XML配置进行表单数据的验证。
6. **Struts2 OGNL**:学习如何使用OGNL表达式语言在视图和控制器之间传递数据。
7. **Struts2拦截器**:理解并创建自定义拦截器,增强框架的功能。
8. **Struts2类型转换**:自动或自定义类型转换,确保数据类型的一致性。
9. **Struts2标签库**:利用内置的标签简化JSP页面的编写。
10. **访问数据库**:结合DAO模式或ORM框架(如Hibernate)实现数据库操作。
在实际开发中,可能还需要与其他框架集成,如Spring,这时需要额外引入对应的-struts2-plugin.jar文件。Struts2提供了一套全面的工具集,帮助开发者构建健壮、可维护的Web应用程序。
103 浏览量
2015-08-12 上传
2008-12-21 上传
2013-12-05 上传
2022-10-30 上传
268 浏览量
2019-04-17 上传
2008-10-14 上传
辰可爱啊
- 粉丝: 17
- 资源: 2万+
最新资源
- todos:管理任务的 Java EE 应用程序
- Node.js全局键盘和鼠标侦听器。-Node.js开发
- chinaMap,java项目开发源码,java中system.out.println()源码分析
- webpack-static-website-boilerplate
- 安卓Android源码——安卓AndroidAppCodeFramework-master.zip
- 计算机软件-编程源码-数据库系统开发实例导航书源码.zip
- STM32F429 FreeRTOS实战:实现FreeRTOS二值信号量【支持STM32F42X系列单片机】.zip
- AccessControl-4.0b7-cp37-cp37m-win32.whl.zip
- Nodejs-GraphQL-Express-MongoDB:这是使用Node-GraphQL-Express-MongoDB设置项目的指南
- Babbling:一个基于 Symfony2 的博客
- 极小的超微节点,速度快〜350%,可替代node-glob-Node.js开发
- 打印机驱动 Biaotop_AR-380K_550K
- app_web_pfe-源码.rar
- java编程语言开发包JDK(1.8版本)
- AccessControl-4.0b2-cp34-cp34m-win32.whl.zip
- vue-swal2-loading-overlay:Vue.js插件可轻松添加加载叠加(扩展了vue-sweetalert2)