`
zhouchaofei2010
  • 浏览: 1106603 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

strust2中是如何初始化container并且使其全局单例

 
阅读更多

strust2中是如何初始化container并且使其全局单例?

 

StrutsPrepareAndExecuteFilter

   protected PrepareOperations prepare;
    protected ExecuteOperations execute;

 

 

Dispatcher dispatcher = init.initDispatcher(config);

      init()

      Container container = init_PreloadConfiguration();

 

 

   private Container init_PreloadConfiguration() {
        Configuration config = configurationManager.getConfiguration();
        Container container = config.getContainer();

        boolean reloadi18n = Boolean.valueOf(container.getInstance(String.class, StrutsConstants.STRUTS_I18N_RELOAD));
        LocalizedTextUtil.setReloadBundles(reloadi18n);

        return container;
    }

 

       Configuration config = configurationManager.getConfiguration();
        Container container = config.getContainer();

 

 

 

  public synchronized Configuration getConfiguration() {
        if (configuration == null) {
            setConfiguration(createConfiguration(defaultFrameworkBeanName));
            try {
                configuration.reloadContainer(getContainerProviders());
            } catch (ConfigurationException e) {
                setConfiguration(null);
                throw new ConfigurationException("Unable to load configuration.", e);
            }
        } else {
            conditionalReload(configuration.getContainer());
        }

        return configuration;
    }

....

 

 

 

 

 prepare = new PrepareOperations(filterConfig.getServletContext(), dispatcher);
 execute = new ExecuteOperations(filterConfig.getServletContext(), dispatcher);

 

 

 

 

分享到:
评论

相关推荐

    探讨Struts的初始化方法

    ### Struts框架初始化详解 #### 一、Struts框架简介 Struts是一个开源的MVC(Model-View-...理解这些初始化细节有助于开发者更好地掌握Struts的工作原理,并在开发过程中有效地利用其特性来提高应用的质量和性能。

    struts2 全局结果集

    在Struts2中,全局结果集(Global Results)是一种设计模式,它允许开发者定义一组通用的结果,这些结果可以在整个应用中重用,而无需在每个Action类中单独配置。这提高了代码的复用性和维护性。 全局结果集的概念...

    Struts1 和 Struts 2 国际化全局资源

    ### Struts2 国际化全局资源 Struts2的国际化处理更加灵活,它支持动态资源加载和更丰富的配置选项。 1. **资源文件**:与Struts1类似,也需要创建多个`.properties`文件,但Struts2可以使用Spring的`...

    过滤器 Struts2全局变量 action转化do

    标题中的“过滤器 Struts2全局变量 action转化do”可能指的是Struts2框架中的ActionMapping和FilterDispatcher配置,以及全局结果(Global Results)的概念。 1. **过滤器(Filter)**:在Java Web开发中,过滤器是...

    struts2初始使用环境配置

    Struts2是Java EE开发中一个非常流行的MVC框架,用于构建可维护、可扩展的Web应用程序。在开始使用Struts2之前,...在实际开发中,你可能还需要了解更多关于Struts2的特性,如拦截器、插件、国际化、异常处理等内容。

    留言板留言板struts2留言板struts2

    9. **异常处理**:Struts2通过全局异常映射(Global Exception Mapping)来统一处理应用程序中抛出的异常,提高代码的可维护性。 10. **国际化与本地化**:Struts2支持多语言环境,可以通过资源包(properties文件...

    struts2处理项目全局异常

    项目中出现的异常通常要用一个友好的异常页面来显示,通过对struts2.xml的配置能拦截全局异常,只要出现异常就会转向异常页面。

    struts1和struts2的区别

    - **Struts2**: Struts2中的Action更像是工厂模式下的产品,每个Action实例都是线程安全的。Struts2提供了ActionSupport基类来简化Action的实现。Action本身可以是任何实现了特定接口的Java对象,甚至是普通的POJO。...

    Struts2与Struts1区别

    而 Struts2 Action 可以通过依赖注入进行初始化和测试,提高了测试的便利性。 5. **输入数据的处理**: - Struts1 使用 ActionForm 来捕获用户输入,ActionForm 必须继承基类,有时会造成额外的类定义。Struts2 则...

    Struts2精简jar包

    2. **配置文件**:即使使用了约定优于配置,仍需要一个基本的`struts.xml`配置文件来初始化Struts2框架,并可能包含全局配置,如拦截器栈。 3. **安全考虑**:Struts2在过去曾有过一些安全漏洞,因此确保使用的是...

    Struts2 中的IOCContainter

    在Struts2中,这个容器就是IOCContainer,它负责实例化对象、注入依赖,并管理对象的生命周期。 Struts2的IOCContainer是基于OGNL(Object-Graph Navigation Language)实现的,这使得它可以方便地处理对象属性的...

    struts1&struts2

    - **Struts2** 提供了更好的测试支持,Action可以通过设置属性、初始化和调用方法进行单元测试,依赖注入使得测试更加简单。 7. **输入数据处理** - **Struts1.x** 使用ActionForm对象捕获用户输入,ActionForm...

    Struts2视频教程

    - **适用范围**:Struts2广泛应用于企业级Java Web项目的开发中,特别是那些需要处理大量用户交互和数据展示的应用。 #### 二、Struts2入门案例 - **Hello Struts2**:通过创建一个简单的“Hello World”示例,...

    struts2完整版

    3. 在`web.xml`中配置Struts2的Filter,使框架在Web应用启动时能够正确初始化。 Struts2的Filter配置示例如下: ```xml <filter-name>struts2 <filter-class>org.apache.struts2.dispatcher.ng.filter....

    Struts2 Struts2 超好的Struts2 pdf 文档

    9. **异常处理**:Struts2提供了全局和局部的异常处理机制,可以统一处理应用中的异常情况,提高代码的可维护性和用户体验。 10. **国际化(i18n)**:Struts2支持多语言环境,通过资源包(Properties文件)来实现...

    struts2面试题

    Struts2 的主要特点是使用 FilterDispatcher 作为核心控制器,将请求分发到相应的 Action 中。下面是 Struts2 面试题中涉及到的知识点: 1. Struts1 和 Struts2 的区别: Struts1 和 Struts2 是两个不同的框架,...

    Struts2和Struts1的区别,详细点,主要说说Struts2

    - 在**Struts2**中,Action类通过初始化、拦截器等机制进行配置和扩展,这使得开发者可以更加灵活地控制请求的处理流程,而无需直接操作Servlet API。 #### ActionForm模式的变化 - **Struts1**采用ActionForm模式...

    struts2(1-7)源码 struts2学习入门 源码学习

    struts4 使用Struts2中内部类中的方法进行自定义类型转换,用到的类StrutsTypeConverter struts5 增加集合类型,使用范型 struts6 直接设置要进行类型转换的字段值 struts7 制作一个表单,对表单中的内容进行...

    转:struts1与struts2的区别

    - **Struts2**: 在Struts2中,可以通过初始化、设置属性和调用方法等方式轻松地测试Action。依赖注入的支持进一步简化了测试过程,使开发者能够更加专注于逻辑验证而非环境配置。 #### 5. 输入数据的处理方式 - **...

Global site tag (gtag.js) - Google Analytics