- 浏览: 256707 次
- 性别:
- 来自: 宁波
文章分类
最新评论
-
ydqwtt:
但是我的Java Source File中显示的是*.clas ...
MyEclipse6.5 注释乱码 -
BlueDream348:
谢谢。。收益了
SOAP -
2838938:
学习一下
Oracle监听器安装与配置 -
luorongda:
满足范式要求的数据库设计是结构清晰的,同时可避免数据冗余和操作 ...
数据库设计 -
meteormatt:
这篇文章写的不错.但是排版不怎么好.
Panel和PlaceHolder的区别
ActionServlet
是该 MVC 实现的 Command
部分,它是这一框架的核心。
ActionServlet
(Command)
创建并使用
Action
、
ActionForm
和
ActionForward
。如前所述,
struts-config.xml
文件配置该 Command。在创建 Web 项目时,您将扩展
Action
和
ActionForm
来解决特定的问题。文件
struts-config.xml
指示
ActionServlet
如何使用这些扩展的类。这种方法有几个优点:
- 应用程序的整个逻辑流程都存储在一个分层的文本文件中。这使得人们更容易查看和理解它,尤其是对于大型应用程序而言。
- 网页设计人员不必费力地阅读 Java 代码来理解应用程序的流程。
- Java 开发人员也不必在更改流程以后重新编译代码。
可以通过扩展
ActionServlet
来添加 Command 功能。
ActionForm
维护 Web
应用程序的会话状态。
ActionForm
是一个抽象类,必须为每个输入表单模型创建该类的子类。当我说
输入表单模型
时,是指
ActionForm
表示的是由 HTML
表单设置或更新的一般意义上的数据。例如,您可能有一个由 HTML
表单设置的
UserActionForm
。Struts
框架将执行以下操作:
- 检查
UserActionForm
是否存在;如果不存在,它将创建该类的一个实例。
- Struts 将使用 HttpServletRequest 中相应的域设置
UserActionForm
的状态。没有太多讨厌的request.getParameter()
调用。例如,Struts 框架将从请求流中提取fname
,并调用UserActionForm.setFname()
。
- Struts 框架在将
UserActionForm
传递给业务包装UserAction
之前将更新它的状态。
- 在将它传递给
Action
类之前,Struts 还会对UserActionForm
调用validation()
方法进行表单状态验证。 注: 这并不总是明智之举。别的网页或业务可能使用UserActionForm
,在这些地方,验证可能有所不同。在UserAction
类中进行状态验证可能更好。
- 可在会话级维护
UserActionForm
。
注:
-
struts-config.xml
文件控制 HTML 表单请求与ActionForm
之间的映射关系。 - 可将多个请求映射到
UserActionForm
。 -
UserActionForm
可跨多页进行映射,以执行诸如向导之类的操作。
Action
类是业务逻辑的一个包装。
Action
类的用途是将
HttpServletRequest
转换为业务逻辑。要使用
Action
,请创建它的子类并覆盖
process()
方法。
ActionServlet
(Command) 使用
perform()
方法将参数化的类传递给
ActionForm
。仍然没有太多讨厌的
request.getParameter()
调用。当事件进展到这一步时,输入表单数据(或 HTML
表单数据)已被从请求流中提取出来并转移到
ActionForm
类中。
注:扩展
Action
类时请注意简洁。
Action
类应该控制应用程序的流程,而不应该控制应用程序的逻辑。通过将业务逻辑放在单独的包或
EJB 中,我们就可以提供更大的灵活性和可重用性。
考虑
Action
类的另一种方式是 Adapter
设计模式。
Action
的用途是“将类的接口转换为客户机所需的另一个接口。Adapter
使类能够协同工作,如果没有
Adapter,则这些类会因为不兼容的接口而无法协同工作。”(摘自 Gof
所著的
Design Patterns - Elements of Reusable OO
Software
)。本例中的客户机是
ActionServlet
,它对我们的具体业务类接口一无所知。因此,Struts
提供了它能够理解的一个业务接口,即
Action
。通过扩展
Action
,我们使得我们的业务接口与 Struts
业务接口保持兼容。(一个有趣的发现是,
Action
是类而不是接口)。
Action
开始为一个接口,后来却变成了一个类。真是金无足赤。)
输入事件通常是在 HTTP 请求表单中发生的,servlet 容器将 HTTP
请求转换为
HttpServletRequest
。控制器查看输入事件并将请求分派给某个
Action
类。
struts-config.xml
确定
Controller 调用哪个
Action
类。
struts-config.xml
配置信息被转换为一组
ActionMapping
,而后者又被放入
ActionMappings
容器中。(您可能尚未注意到这一点,以
s
结尾的类就是容器)
ActionMapping
包含有关特定事件如何映射到特定
Action
的信息。
ActionServlet
(Command)
通过
perform()
方法将
ActionMapping
传递给
Action
类。这样就使
Action
可访问用于控制流程的信息。
ActionMappings
是
ActionMapping
对象的一个集合。
发表评论
-
JS学习
2009-11-30 21:24 694ECMAScript http://be ... -
java读取.properties文件
2009-11-16 14:37 1206通常,在实际项目中,为了便于配置管理,我们需要将一些配置管理信 ... -
jsp页面和Action互动
2009-05-26 16:08 9091、从jsp页面中获取参数值 ;form表单;用request ... -
jsp+mysql
2009-05-05 16:24 0首先在MySQL数据库里创建一students表,然后插入几条 ... -
在网页文件中调用CSS文件
2009-04-20 19:40 1389在网页文件中调用CSS文 ... -
HTML 系列教程
2009-04-16 20:41 935站点1:http://www.w3school.com.cn/ ... -
JSP初探
2009-04-10 21:19 01、JSP语法分为三种不同类型 1、1编译器指令( ... -
struts2中获得request方法
2009-04-09 19:37 1330request: ValueStack req ... -
struts2实例
2009-04-09 10:32 2621【第1步】 安装Struts2 这一步对于Stru ... -
structs2配置遇到的一些问题
2009-04-09 10:19 17151、 如果将全部jar包引入。启动tomcat ... -
structs
2009-04-08 18:45 1132建立基于Struts1.x的Web程序的基本步骤 1. ... -
struts、MVC2
2009-04-08 13:12 882... -
structs
2009-04-08 10:39 1141框架(Framework)是可重用的,半完成的应 ... -
JSP基础
2009-04-07 18:58 972JSP(JavaServer Pages)是由Su ... -
JDBC
2009-04-07 11:06 816<!-- /* Font Definitions * ... -
Servlet的调用详解zz
2009-04-07 09:57 10461. 由 URL直接 调用 Servlet ... -
zzServlet--2
2009-04-07 08:58 684一、servlet生命周期 从Tomcat处理用户请求,我 ... -
zzservlet基本结构
2009-04-06 21:24 641下面的代码显示了一个简单Servlet的基本结构。该 ... -
zz什么是servlet--1
2009-04-06 20:26 818Servlet是使用Java Servlet ... -
applet
2009-04-06 20:14 1572现在的java界,很多东西叫××let,××let的意思都是些 ...
相关推荐
Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的技术水准 Struts2和Struts1的不同
struts1_详解 struts1框架实例详解
Struts2配置详解,Struts2配置详解,Struts2配置详解,Struts2配置详解,Struts2配置详解
Struts框架详解 Struts框架详解 Struts框架详解
Struts入门 详解Struts Struts入门 详解Struts Struts入门 详解Struts
Struts2深入详解Struts2深入详解
Struts2深入详解一书的源代码,Struts2深入详解
struts1详解教程struts1详解教程struts1详解教程
struts2标签详解(经典)struts2标签详解(经典)struts2标签详解(经典)
绝对的好东西 struts2.0中struts.xml配置文件详解
Struts配置文件详解 Struts配置文件详解
struts2深入详解 源码 完整 1-5章 含jar包
struts2,springmvc,spring框架详解,有详细的说明,和最小jar包,包下包会
struts标签详解 struts标签详解 struts标签详解 struts标签详解
Struts 2 技术详解:基于WebWork核心的MVC开发与实践
struts2深入详解struts2深strutsstruts2深入详解2深入详解入详解struts2深入详解struts2深入详解
Struts2 深入详解 课本代码(1)
struts2标签库详解(非常不错)包含了struts2所有标签的使用和说明
struts1.x 详解,基本涵盖struts1.x的所有常用知识,强烈推荐!
Struts2开发详解,讲述Struts2开发中的详细配置,已经它的验证,国际化等。