Java学习笔记:Action生命周期与OOP概念解析
需积分: 9 106 浏览量
更新于2024-09-09
收藏 111KB TXT 举报
"这篇日记记录了学习Java的过程中关于Action生命周期的知识点,以及Java语言和相关技术的概述。"
在Java Web开发中,Action是Struts2框架中的一个重要概念,它在处理用户请求时起着核心作用。以下是Action的生命周期及其特点:
1. **生命周期**:
- **非单例模式**:与Servlet和JSP不同,Action并不是在容器启动时创建一个常驻内存的单例实例。相反,每当有一个新的请求到达时,都会创建一个新的Action实例,这意味着Action是轻量级的。在请求处理完成后,Action对象会被销毁,避免了多个请求之间数据的混淆。
2. **属性变量**:
- **存储请求数据**:Action中可以定义普通的属性变量,这些变量可以用来保存特定请求的数据。这是Action相对于Servlet的一个优势,因为Servlet通常不鼓励在实例变量中保存请求数据,以防并发问题。
3. **拦截器**:
- **参数注入**:在Action实例被创建并准备好处理请求时,拦截器会介入,调用Action对象的setter方法,将HTTP请求参数注入到Action的属性中。这使得Action可以获取到客户端传递的数据。
4. **校验**:
- **验证过程**:在参数注入之后,可能会进行数据校验。Action中可以定义validateXxx()方法来检查输入数据的有效性。如果校验失败,框架通常会阻止Action的执行方法(如execute方法)被调用,或者将错误信息返回给客户端。
5. **业务逻辑执行**:
- **执行方法**:当请求参数注入完成并且通过校验后,Struts2框架会调用Action的执行方法,如execute()。在这个方法中,开发者可以调用业务服务层(service)和数据访问对象(DAO)来执行实际的业务逻辑。
6. **视图渲染**:
- **数据传递**:执行方法完成后,通常会将控制权转发给视图(view)。在视图中,可以使用EL(Expression Language)表达式 `${}` 来调用Action的getter方法,读取并显示Action中保存的数据。
此外,日记中还提到了Java语言的一些基础知识和相关技术:
- **Java SE**:Java的标准平台,包含了Java的核心类库API,主要用于桌面应用程序开发。
- **Java EE**:Java企业级平台,扩展了Java SE,增加了对Web应用和企业级服务的支持,包括JDBC、Servlet、JSP等。
- **Java ME**:Java微型平台,适用于移动设备和嵌入式系统。
- **Java语言特点**:简单、面向对象、继承、封装、多态、抽象和跨平台。
- **JDK**:Java开发工具包,包含JRE(Java运行环境)和JVM(Java虚拟机),用于开发和运行Java程序。
在深入学习Java Web开发的过程中,掌握Action的生命周期以及相关技术如Struts2、SpringMVC和Hibernate对于理解Java应用的架构和流程至关重要。同时,了解Java语言的基础特性和相关平台,有助于构建全面的Java知识体系。
2018-05-14 上传
2009-11-06 上传
2015-08-19 上传
2011-04-15 上传
2008-09-17 上传
2024-07-01 上传
2012-07-26 上传
2015-10-20 上传
2011-11-21 上传
王金金
- 粉丝: 0
- 资源: 1
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常