Struts2入门教程:从零开始学习

"这是一个关于Struts2的初学者教程文档,详细介绍了如何使用Struts2框架进行Web应用程序开发。文档适用于初学者,包含了从基础到进阶的多种技术讲解。"
在Struts2教程中,首先介绍了开发环境和所需的软件版本,如MyEclipse6作为开发工具,Tomcat6作为Web服务器,Struts2版本为2.0.11.1,JDK版本为1.5.0_12,以及JavaEE5.0作为平台标准。在实际项目中,Web工程的上下文路径被设置为"struts2",这意味着默认的JSP文件访问路径为"http://localhost:8080/struts2/index.jsp"。
为了使用Struts2,你需要从官方网站下载并引入五个核心库文件:struts2-core、xwork、commons-logging、freemarker和ognl。值得注意的是,尽管Struts2在名称上是Struts的第二个版本,但在设计和实现上与Struts1.x有很大区别,它实际上是基于Webwork技术构建的MVC框架。Struts2大量使用了xwork的组件,提供了更灵活和强大的功能。
对于熟悉Struts1.x的开发者来说,了解Struts2的转变非常重要。在Struts1.x中,建立Web程序通常包括以下步骤:
1. 安装Struts,配置web.xml中的ActionServlet。
2. 编写Action类,通常继承自org.apache.struts.action.Action。
3. 创建ActionForm类,通常继承自org.apache.struts.action.ActionForm,用于处理表单数据。
然而,Struts2的配置和使用方式完全不同。它的核心概念包括:
1. **Action**:在Struts2中,Action类不再直接继承自特定基类,而是实现了com.opensymphony.xwork2.Action接口或使用ActionSupport类作为基础。
2. **配置方式**:Struts2使用XML配置文件(struts.xml)或注解来定义Action及其映射,比Struts1.x更加灵活。
3. **模型-视图-控制器(MVC)**:Struts2的Controller由Struts2框架本身处理,通过ActionProxy和ActionInvocation等组件来调度Action执行,而视图则可以通过Freemarker、JSP或 Velocity等模板技术来实现。
4. **拦截器(Interceptors)**:这是Struts2的一大特色,它允许在Action执行前后添加一系列预处理和后处理逻辑,增强了框架的扩展性和可复用性。
5. **结果类型(Result Types)**:定义了Action执行后的跳转方式,如转发、重定向等。
6. **OGNL(Object-Graph Navigation Language)**:用于表达式语言,方便在Action与视图之间传递和访问数据。
教程中会逐步引导初学者了解和掌握这些概念,从创建第一个Struts2程序开始,逐步涉及Action配置、Interceptor的使用、国际化、数据校验、文件上传下载、AJAX集成以及更多高级特性。通过这个教程,读者将能够全面了解并熟练运用Struts2框架进行Web应用开发。
相关推荐










奔奔张
- 粉丝: 24
最新资源
- Spring开发指南:V0.8预览版 - 持久层、Web工作流与AOP详解
- 精通Eclipse插件开发:从入门到实践
- DB2驱动的联系人信息管理系统数据库设计与实现
- Struts开发步骤详解:从创建工程到数据操作
- C#编程入门与进阶指南
- C#面试必备:核心概念与题目解析
- ESRI Shapefile格式详解:专业地理信息存储标准
- Hibernate缓存机制详解:事务、进程与集群范围
- Java正则表达式完全指南
- 整合STRUTS、SPRING与HIBERNATE实践笔记
- Oracle函数详解:SQL指令与字符串操作
- JAVA数据库编程详解:连接、操作与事务处理
- Java取余操作谜题:解析isOdd方法的陷阱
- 高质量C++/C编程规范与指南
- 计算机网络习题解析与解答
- 配置多节点JBoss服务器:端口修改指南