struts控制器组件--actionServlet类

原创 2005年05月29日 08:34:00

ActionServlet

ActionServlet类对应的类名为org.apche.struts.action.ActionServlet,它是struts框架的核心控制器组件,所有用户的请求都先由ActionServlet来处理,然后再由ActionServlet把请求转发给其他组件。Struts只允许一个应用中配置一个ActionServlet,但是可以将ActionServlet扩展。

Servlet容器在启动时,或者用户首次请求ActionServlet时加载ActionServlet类,在上述情况下,Servlet容器都会在ActionServlet被加载后立即执行它的init()方法。Init()过程如下:

1.       调用initInternal()方法,初始化struts框架内在的消息资源,如与系统日志相关的通知、警告和错误信息。

2.       调用initOther(),从web.xml文件中加载ActionServlet的初始化参数,如config 参数

3.       调用initServlet(),从web.xml文件中加载ActionServlet的URL映射信息。此外还会注册web.xml和struts配置文件所使用的DTD文件,这些DTD文件用来验证web.xml和struts配置文件的语法

4.       调用initModuleConfig(),加载并解析默认子应用模块的struts配置文件;创建ModuleConfig对象,把它存在ServletContext中

5.       调用intiModuleMessageResources(),加载并初始化默认子应用模块的消息资源,创建MessageResources对象,把它存在ServletContext中

6.       调用initModuleDataSources()方法,加载并初始化默认子应用模块的数据源。如果没有在struts配置文件中没有定义<data-sources>元素,就忽略这一流程

7.       调用initModulePlugins(),加载并初始化默认子应用模块的所有插件

8.       当默认子应用模块被成功初始化后,如果应用还包括其他子应用模块,将重复流程4-7,分别对其他子应用模块进行初始化。

扩展ActionServlet类,定义如下的类:

package sample;

public class ExtendedActionServlet extends ActionServlet {

        public void init() throws ServletException {

               super.init();

               //do some operations

               ……………

        }

}

扩展完类后,还应该在web.xml文件中如下配置:

<servlet>

        <servlet-name>sample</servlet-name>

        <servlet-class>sample.ExtendedActionServlet</servlet-class>

</servlet>

 

<servlet-mapping>

       <servlet-name>sample</servlet-name>

       <url-pattern>/action/*<url-pattern>

//上面的/action/*表示负责处理所有以/action为前缀的URL,后面的/表示转义

<servlet-mapping>

MVC框架实现6---Smart框架ActionServlet控制器组件实现

ActionServlet.java: package com.smart.servlet; import java.io.File; import java.io.IOException; im...

Struts ActionServlet控制器对象

ActionServlet继承自javax.servlet.http.HttpServlet类,其在Struts framework中扮演的角色是中心控制器。它提供一个中心位置来处理全部的终端请求。控...

struts的核心组件—ActionServlet、RequestForward、Action

前言     SSH已经成为了Java的主流框架,struts作为Web层的框架,主要负责页面的流转配置。说到页面流转的配置,也就意味着struts的配置文件比较强大一些。至于页面流转,那当...

struts1的业务处理---ActionServlet和Action组件

Struts1框架的核心是一个基于MVC模型的控制器,该控制器由ActionServlet类实现      ActionServlet类的主要作用如下:     1.接受用户请求...
  • lycyl
  • lycyl
  • 2015年05月19日 09:49
  • 1247

Struts1框架学习(六)--业务分发器ActionServlet和业务具体处理组件Action

1、ActionServlet是做什么的?     我们知道Struts1框架的核心是一个基于MVC模型的控制器,这个控制器是由ActionServlet类实现的 。     ActionSer...

Struts控制器组件---RequestProcessor类

RequestProcessor类 Struts框架只允许应用中存在一个ActionServlet类,但是可以存在多个客户化的RequestProcessor类,每个子应用模块都可以拥有单独的Req...
  • ahhsxy
  • ahhsxy
  • 2011年11月01日 14:28
  • 321

回首struts1.2的ActionServlet类

首先是Struts1.2的核心类,ActionServlet类。 ActionServlet位于org.apache.struts.action包内,这个类将会在struts第一次使用时,作为se...

第四课 Struts的控制器组件详解

Struts的控制器组件: • Struts的控制器组件组成: –ActionServlet组件:充当Struts框架的中央控制器 –RequestProcessor组件:充当每个子应用模块的请求处理...

核心控制器ActionServlet的工作流程

Struts1.2依然是应用很广的框架,熟悉其基本的控制流程是 必要的: 一、ActionServlet的初始化 ActionServlet 作为Struts组件的前端控制器,由于web.xml的...
  • xh16319
  • xh16319
  • 2012年10月09日 17:57
  • 1017

深入浅出学习Struts1框架(六):ActionServlet的实例化

之前写了五篇关于struts1框架学习的博客,主要是从mvc的一个实例开始,慢慢重构出一个struts1框架雏形,通过这个雏形来引出我们要学习的struts1框架并且编写了一个struts1实例。五篇...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:struts控制器组件--actionServlet类
举报原因:
原因补充:

(最多只允许输入30个字)