`
小蛋蛋
  • 浏览: 82041 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Struts初始化处理

阅读更多
根据在web.xml中配置的初始化参数,当容器第一次启动或者ActionServlet的请求第一次发生的时候,将会加载struts ActionServlet,不管哪种方式加载,和其它Servlet一样,ActionServlet的init( )方法将被调用.这个方法的调用,将在所有的其他的请求发生之前完成.当init()方法被调用以后,struts将会完成一系列的复杂的初始化工作,让我们来看看在初始化过程中将发生些什么,理解了这些,对于我们debug和扩展自己的应用更加得心应手。
1、         初始化框架的内部消息绑定,这些消息用来输出提示,警告,和错误信息到日志文件中。org.apache.struts.action.ActionResources用来获取内部消息;
2、         加载web.xml中定义的不同参数,用以控制ActionServlet的不同行为,这些参数包括config, debug, detail, and convertNull ;
3、         加载并初始化web.xml中定义的servlet 名称和servlet映射信息(mapping info)。通过初始化,框架的各种DTD被注册,DTD用来在下一步校验配置文件的有效性;
4、        为默认应用加载并初始化Struts配置文件,配置文件,即初始化参数config指定的文件。默认配置文件被解析,产生一个ApplicationConfig对象存于ServletContext中。可以通过关键字org.apache.struts.action.APPLICATION从ServletContext中获取ApplicationConfig;
5、         Struts配置文件中指定的每一个消息资源都被加载,初始化,并存在ServletContext的合适区域(基于每个message-resources元素的key属性),如果key属性没有设置,则为org.apache.struts.action.MESSAGE;因为key的唯一性,仅仅只有一个消息资源能够以默认的方式存储下来
6、         Struts配置文件中声明的每一个数据源被加载并且初始化,如果没有配置数据源,这一步跳过;
7、         加载并初始化Struts配置文件中指定的插件。每一个插件的init()方法被调用;
8、         当默认应用加载完成,init()方法判断是否有应用模块需要加载,如果有,重复步骤4—7万成应用模块的加载。
分享到:
评论

相关推荐

    探讨Struts的初始化方法

    ### Struts框架初始化详解 #### 一、Struts框架简介 Struts是一个开源的MVC(Model-View-Controller)架构实现,用于简化Java Web应用的开发过程。它基于Servlet和JSP技术来构建Web应用程序,能够帮助开发者更加...

    struts2初始使用环境配置

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

    struts的form不能初始化java.util.Date类型

    然而,有一个常见的问题出现在尝试初始化`java.util.Date`类型的字段时,即“Struts的form不能初始化java.util.Date类型”。这个问题通常是由于日期对象的序列化和反序列化机制导致的,以及Struts默认的数据绑定策略...

    精通Java EE项目案例--基于Eclipse Spring Struts Hibernate (例子中的初始化SQL)

    本资源“精通Java EE项目案例--基于Eclipse Spring Struts Hibernate (例子中的初始化SQL)”正是针对这样的集成环境提供了一套完整的数据库初始化语句,帮助开发者快速构建一个功能完善的Web应用。 首先,让我们...

    Struts2.3.8 Spring 3.2 Hibernate4.1.9 集成,初始化、定时器示例

    总之,Struts2.3.8、Spring 3.2 和 Hibernate4.1.9 的集成可以构建出功能强大的Web应用,通过合理配置和设计,可以实现高效的网站初始化和定时任务,同时支持完整的CRUD操作。在项目中的`src`目录下,通常包含Java源...

    struts2源码分析总结

    本文将深入探讨Struts2的源码分析,特别是关于StrutsPrepareAndExecuteFilter的初始化过程,这是Struts2的核心组件之一,负责处理HTTP请求。 首先,我们来看`StrutsPrepareAndExecuteFilter`的初始化。这个过滤器...

    struts com-init

    如果你有具体的`com-init`文件列表,我们可以更深入地分析这些文件在Struts初始化过程中的作用。 总的来说,"struts com-init"涉及的是Struts框架在启动时的初始化流程,尤其是`com`包下的类或组件的初始化。理解这...

    struts1和struts2的区别

    Action可以通过依赖注入的方式初始化,因此可以更容易地模拟出不同的测试场景。 #### 表单处理 - **Struts1**: 使用ActionForm来封装表单数据。ActionForm是一个JavaBean,负责验证和封装用户输入的数据。Struts1...

    struts1.x 最简洁国际化 源代码

    - 这告诉Struts在初始化时查找名为`ApplicationResources.properties`的资源包。 6. **控制器逻辑**: - 在Action类中,可以通过`ActionContext`获取当前的`Locale`,并根据它加载对应的资源包。然后,Action可以...

    struts1.2源码研究

    ActionServlet的初始化过程是整个框架工作的基础,它负责加载配置、初始化模块并处理请求。通过深入理解Struts 1.2的源码,开发者可以更好地利用这个框架,解决实际项目中的问题,同时为自定义扩展和优化提供可能。

    SSH项目初始化模板

    SSH项目初始化模板是一个基于Spring、Struts2和Hibernate三大开源框架构建的基础项目模版,它为开发者提供了一个快速开发新项目的起点。这个模板集成了多种常用的技术和库,包括Shiro进行安全控制,Spring MVC作为...

    struts1.1源代码

    ActionServlet 是 Struts 的核心 Servlet,负责初始化 Struts 配置并处理 HTTP 请求。它是 javax.servlet.http.HttpServlet 的子类,负责解析请求、调用 Action 类和处理结果。 8. JSP Tag Library: Struts 提供...

    struts2乱码处理

    - 在`init()`方法中初始化编码配置。 - 在`doFilter()`方法中设置请求的字符编码: ```java request.setCharacterEncoding(encoding); ``` #### 总结 针对Struts2中的中文乱码问题,上述三种方案提供了从前端...

    struts2讲义 struts2讲义struts2讲义struts2讲义struts2讲义

    - 配置过程中需要注意过滤器的初始化参数,这些参数对于框架的正确运行至关重要。 - **使用struts.xml实现页面导航**: - `struts.xml`是Struts2的核心配置文件,用于定义应用的业务逻辑流程。 - 可以通过配置...

    Struts2与Struts1区别

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

    Struts Web设计与开发大全

    前者定义了Action的映射、Form Beans、DataSources等,后者则是Servlet容器的配置文件,用于设置Struts的初始化参数。开发者需要理解这些配置文件的语法和作用,以确保框架能够正确地运行。 在实际开发中,Struts与...

    Struts1源码解析

    ActionServlet是Struts1的核心组件,它的生命周期分为初始化、拦截请求和销毁三个阶段。在初始化阶段,`init()`方法执行了一系列关键步骤: 1. `initInternal()`方法初始化内部资源,如国际化设置。它包含了英文和...

    Struts1.2源码解读

    初始化过程中,ActionServlet的init()方法会被调用,这是初始化Struts应用的关键。 init()方法的执行保证了当ActionServlet需要处理用户请求时,它已经被完全初始化。在初始化过程中,ActionServlet会读取web.xml中...

Global site tag (gtag.js) - Google Analytics