Struts2 控制组件详解:Action 类与返回值常量
需积分: 13 110 浏览量
更新于2024-08-18
收藏 645KB PPT 举报
"常量返回值含义-struts2控制组件"
在Struts2框架中,控制组件是实现MVC设计模式的关键部分,它们负责处理用户请求并协调应用的流程。本篇将详细介绍Struts2的控制组件及其核心概念。
2.1 Struts2的控制组件
Struts2的控制组件主要由两部分构成:
1. **核心控制器**:这是Struts2的核心,即`FilterDispatcher`(在较新的版本中称为`StrutsPrepareAndExecuteFilter`),它是一个Servlet过滤器,负责拦截HTTP请求,解析请求参数,并将请求转发给相应的Action进行处理。
2. **业务逻辑控制器**:Action是Struts2的业务逻辑组件,它实现了用户交互和业务逻辑的封装。Action类可以有多种创建方式,包括:
- **POJO(Plain Old Java Object)**:最基础的形式,只需创建一个Java类,无需实现任何接口。
- **实现Action接口**:直接实现`com.opensymphony.xwork2.Action`接口,定义`execute()`方法。
- **扩展ActionSupport类**:推荐的方式,继承`com.opensymphony.xwork2.ActionSupport`,该类已经提供了异常处理、国际化等便利功能。
2.2 应用控制组件
在Struts2项目中,我们通常会创建一个名为`struts.xml`的配置文件,用于定义Action、包、拦截器等,它是Struts2的配置中心。此外,`web.xml`是Web应用的部署描述符,其中配置了Struts2的过滤器,使其能在Web应用启动时生效。
2.3 执行动作中的不同方法
Action类的`execute()`方法是默认的处理方法,当一个Action被调用时,如果未重写其他方法,`execute()`会被执行。这个方法返回一个字符串,这个字符串决定了后续的流程,如转向哪个结果页面。
2.4 Action访问Servlet API
Action类可以直接或间接地访问Servlet API,例如通过`HttpServletRequest`和`HttpServletResponse`对象来获取请求信息或设置响应内容。这使得Action能够与Servlet容器进行交互,实现更复杂的功能。
**常量返回值含义**:
- **ERROR**:当`execute()`方法抛出异常或者业务逻辑处理失败时,Action返回`ERROR`,通常表示动作执行失败,系统可能会显示错误页面。
- **SUCCESS**:如果`execute()`方法执行成功,且希望跳转到一个指定的JSP页面展示结果,Action应返回`SUCCESS`。
- **LOGIN**:当需要用户登录后才能继续操作时,Action返回`LOGIN`,框架会根据配置处理登录请求。
- **INPUT**:如果数据验证失败或输入不完整,Action返回`INPUT`,提示用户重新输入所有数据。
- **NONE**:返回`NONE`表示Action执行成功,但不希望有任何视图(页面)响应,可能用于处理内部逻辑或跳转到其他Action。
理解这些常量返回值的含义对于编写和调试Struts2应用至关重要,它们帮助我们控制流程并提供友好的用户体验。在实际开发中,开发者可以根据需求自定义更多的返回值,以适应各种业务场景。
2024-06-04 上传
2018-12-25 上传
2018-02-06 上传
点击了解资源详情
2014-08-01 上传
2019-05-27 上传
2010-07-11 上传
2012-03-31 上传
2017-08-16 上传
雪蔻
- 粉丝: 30
- 资源: 2万+
最新资源
- my-website
- Pagina-servicio-tecnico
- JSP网络在线考试系统设计(源代码+论文).rar
- flask-template-materialize
- TrumpTurd-crx插件
- VMA-stat:分析VMA Vmware IOPS和MBPS统计信息-开源
- themanik.club
- RTScheduler:实时调度器
- [影音娱乐]M.A.I.T 小麦影视系统 v1.0_m.a.i.tfilmv1.0.rar
- 生日蛋糕:此代码为您想在他/她生日时给他/她惊喜的特别的人烤制生日蛋糕-matlab开发
- CSharpUsefulCode,c#源码sendkeys,c#
- challenge-3-repository
- [图片动画]在线批量生成缩略图工具(PHP)_remini.rar
- pro41
- fullstackopen
- CRUD-operations-using-MEAN-Stack:它是一个Web应用程序,用于使用MEAN Stack添加,删除,编辑和更新组织中员工的详细信息