`
programlv
  • 浏览: 6199 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

工厂模式在Struts中的使用 ModuleConfig

阅读更多
//接口
interface ModuleConfig{

  //一些getter setter find方法 对DataSource MessageResource ActionMapping等资源文件进行操作
}


//就是 具体产品类
class ModuleConfigImpl implements ModuleConfig{

    //用于产生一个默认的ModuleConfig对象
	public ModuleConfigImpl(String prefix){
		//初始化默认的资源类型  大部分为null,一些指定了基本类型
	}

    /**Struts_config.xml中的<action-mapping>配置项*/
    protected  HashMap forwards;
    protected  HashMap messageResources;

    //省略其他的一些属性
}


//工厂类
abstract class ModuleConfigFactory{

	//创建产品
	abstract ModuleConfig createModuleConfig(String prefix);

	//获得工厂类对象
	ModuleConfigFactory getModuleConfigFactory(String prefix){
		//返回DefaultModuleConfigFactory对象
		return new DefaultModuleConfigFactory(prefix);
	}
}

//工厂类的默认实现
class DefaultModuleConfigFactory extends ModuleConfigFactory{
	
	//实现抽象方法
	ModuleConfig createModuleConfig(String prefix){
		return new ModuleConfigImpl(prefix);
	}

}

/**调用方法ActionServlet类中的init()方法:*/

//实例工厂类
ModuleConfigFactory moduleConfigFactory=ModuleConfigFactory.createModuleConfigFactory();

//获得产品
ModuleConfig moduleConfig=oduleConfigFactory.createModuleConfig(prefix);



 

Sturts使用工厂类创造了ModuleConfig对象,其实还是使用了面向接口编程的方法,利用接口来动态的指定其子类,便于扩展

分享到:
评论
1 楼 programlv 2010-10-30  
http://dl.iteye.com/topics/download/e9312e7c-ae49-4cf2-9d4c-1f5f5221839a

相关推荐

    Struts1.2源码解读

    在Struts中,读取模块配置的ModuleConfig采用了工厂方法模式。涉及到的关键类有ModuleConfig接口、抽象类ModuleConfigFactory、ModuleConfig实现类ModuleConfigImpl,以及ModuleConfigFactory的子类...

    strut培训--深入struts

    在Struts中,FormBeanConfig集合存储ActionForm的相关配置,使得框架能够判断何时需要创建ActionForm实例。ActionMapping虽然在早期版本中起着重要作用,但在Struts 1.2中,大部分功能已被ActionConfig所取代,主要...

    Struts模式培训资料 通过经典的实例 全面讲述Struts的开发运用

    在Struts中,ActionServlet作为控制器,负责接收HTTP请求,解析配置文件(struts-config.xml)并初始化ModuleConfig对象。ActionServlet根据请求找到对应的Action子类,如果找不到合适的Action,会直接将请求转发给...

    Struts中配置文件的详细讲解

    在Struts框架中,配置文件起着至关重要的作用,用于设定应用程序的行为和组件之间的交互。主要有两个核心配置文件:`web.xml`和`struts-config.xml`。 首先,`web.xml`是Web应用的部署描述符,它位于`WEB-INF`目录...

    struts1.2源码研究

    在初始化过程中,`configDigester`使用SAX解析技术解析这些配置文件,生成ModuleConfig对象。每个ModuleConfig对象封装了一个模块的配置信息,包括Action映射、数据源、消息资源等。配置文件中的`...

    ModuleConfig.zip

    这个文件通常包含了常量定义、结构体、枚举类型、函数原型和其他声明,这些内容都是为了帮助开发人员在项目中使用`ch9121`网络配置协议。在`ModuleConfig.h`中,我们可能会找到如下内容: 1. **常量定义**:定义与`...

    struts-1.3.9 源码

    Struts 1.3.9是在2008年发布的,它提供了许多增强和修复了之前版本中的问题,以提高框架的稳定性和安全性。 首先,我们来看看`LICENSE.txt`和`NOTICE.txt`这两个文件。`LICENSE.txt`通常包含了软件的许可协议信息,...

    struts-1.2.9-src源码类库

    在本压缩包"struts-1.2.9-src"中,包含的是Struts 1.2.9版本的源代码,这对于开发者深入理解Struts的工作原理、调试问题或者进行二次开发非常有帮助。 Struts框架的核心组件包括Action、ActionForm、ActionServlet...

    Struts Controller UML diagrams

    文章提供了有关MVC模型2模式及其在Struts中的实现的额外阅读材料,这对于深入理解框架的工作原理非常有益。 ### 致谢与版权 最后,文章会感谢作者的辛勤工作,并明确是否允许读者在其项目中使用图表,确保版权得到...

    struts入门\ppt\Struts_lesson1.ppt

    在架构(Framework)的概念中,它是指对已解决的同类问题的解决方案进行抽象,形成一个基础结构,以便于在不同的项目中重复使用。在Struts框架中,"命令和控制"组件主要体现在ActionServlet中,它是整个框架的入口点...

    Struts1源码解析

    4. `initModuleConfig()`方法将`struts-config.xml`中的配置项初始化后放入`moduleConfig`对象,以提高访问速度,因为`moduleConfig`存储在内存中,读取速度远超硬盘。 5. 插件初始化,Struts1支持插件机制,增强了...

    servlet+struts源码

    通过研究这些源码,开发者可以更好地理解MVC模式在Struts中的实现,以及它如何与Servlet容器(如Tomcat)协作。同时,这也为自定义行为、优化性能或者解决已知问题提供了可能。例如,你可以查看`RequestProcessor`...

    struts2 配置文件

    在Struts2框架的应用开发过程中,配置文件起到了至关重要的作用。Struts2主要依赖于两种基于XML的配置文件:`web.xml` 和 `struts-config.xml`(通常命名为 `struts.xml`)。本文将详细介绍这两种配置文件的作用及...

    知识共享-struts1.2配置文件详解(雷惊风).

    值得注意的是,直接将Struts的Action作为欢迎文件是不可行的,但可以通过在欢迎文件中嵌入逻辑控制,如使用 `&lt;logic:forward&gt;` ,来间接调用Struts Action。 #### 4. **Error Page配置** - `&lt;error-page&gt;` 元素...

    Struts配置文件详解.

    在Action类中,可以使用`getDataSource(HttpRequest)`方法获取数据源对象。如果需要配置多个数据源,可通过key属性区分。 4. `&lt;form-beans&gt;`元素 `&lt;form-beans&gt;`元素配置ActionForm Bean,ActionForm是业务逻辑和...

    struts源码学习.pdf

    - `ModuleConfigImpl`的初始化是在`ActionServlet`的`initModuleConfig`方法中完成的,通过`ModuleConfigFactory`工厂模式创建。 - 在初始化过程中,会调用`parseModuleConfigFile`方法来解析`struts-config.xml`...

    精通struts

    在`web.xml`中声明这些标签库,以便在JSP页面中使用。 **struts-config.xml配置** `struts-config.xml`是Struts应用的主要配置文件,它定义了Action、ActionForm、Forward等关键组件。 1. **配置ActionForm**: `...

    Struts配置文件详解.pdf

    Struts框架会在应用程序启动时加载并解析`struts-config.xml`文件,将其中的信息转换成相应的Java对象存储在内存中,供后续的处理流程使用。 ##### 2. org.apache.struts.config包的作用 在Struts框架内部,为了...

    struts源码解析

    7. **FastHashMap**: FastHashMap是Struts中一个优化过的哈希映射实现,比Java内置的HashMap更快。它用于存储和查找配置信息、ActionMapping等,提供高效的键值对存储和检索。 通过阅读和理解Struts的源码,开发者...

    Struts配置文件详解

    `ConfigRuleSet`类负责解析Struts配置文件的规则集合,它在应用启动时构造`org.apache.struts.config`包中其他用于保存配置信息的JavaBean实例,确保配置信息正确无误地被存储和使用。 #### 三、Struts配置文件关键...

Global site tag (gtag.js) - Google Analytics