工作原理:
请求处理流程:
1、 用户访问登陆页面 ,输入信息,提交;
2、 将信息传给 Form 表单的 Action 属性指定的 Servlet 处理;
根据 中的配置信息:
服务器会将所有 .do 的请求交给 ActionServlet 处理, ActionServlet 会在 Struts- 中搜
索相应的自定义 Action( 继承 Action 的类 )处理。
注:(ActionServlet 是一个 Servlet,是 Struts 框架的总控制器, 它在 中配置成自动启
动的 Servlet。 )
在上图的实例中会匹配 /login 节点, 将请求交给 LoginAction 处理, 并且同时会将表单信息保
存到 LoginForm 的对象中,将对象保存在 Servlet Context 中 (request 或 sesion 中 ),这样它就
可以被其它 Action 和 JSP页面调用;
调用 Action 的 execute()方法;
3、 LoginAction 会接收信息并进行业务处理,并返回 Forward Keyword 给 ActionServlet ;
注: Action 一般只包含一个 execute()方法,它负责执行相应的业务逻辑(调用其它业务
模块)。完毕返回一个 ActionForward 对象,控制器通过该 ActionForward 对象来进行转
发工作。
4、 ActionServlet 在 Struts- 中的节点 /login 中搜索与 Forward Keyword 匹配的节点,
并返回该节点指定的页面(或另一个 Action );
5、 响应用户,将页面展现给用户。
ActionForm 类 : 1、无参构造器必须有
2、Scope( Action 节点的属性, 指定 ActionForm 的存储位置 request/session )
缺省值是 session
3、控制器调用 ActionForm 的 setter 方法初始化 ActionForm 的属性,实质
上是调用对应的标准 set 方法。 例如: Form 表单中有 name=”username”
的输入框,则调用 ActionForm 的 setUsername()方法
Action
Struts程序执行流程 来自淘豆网m.daumloan.com转载请标明出处.