1.加载web.xml文件。web.xml里面定义了一下几方面的内容:
(1).spring配置文件的存放位置:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/conf/appContext*.xml</param-value>
<!-- <param-value>classpath*:/**/appContext*.xml</param-value> -->
</context-param>
(2).自定义的几个Action:
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>com.cnpc.pms.base.common.action.DispatcherAction</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>dispatcher.action</url-pattern>
</servlet-mapping>
(3).过滤器(filter):
<filter>
<filter-name>initialFilter</filter-name>
<filter-class>com.cnpc.pms.base.filter.InitialFilter</filter-class>
</filter>
<filter>
<filter-name>authFilter</filter-name>
<filter-class>com.cnpc.pms.bizbase.filter.AuthFilter</filter-class>
</filter>
(4).监听器(listener):
在web.xml里面最下面一行有一个Listener:
<listener>
<listener-class>com.cnpc.pms.base.filter.PMSContextLoaderListener</listener-class>
</listener>
2.PMSContextLoaderListener类,里面定义了再加载完web.xml后,也就是在contextInitialized后,执行PMSContextLoaderListener类里重写了的contextInitialized()方法。
下面列出contextInitialized()方法的内容和注释:
public void contextInitialized(ServletContextEvent event) {
log.debug("Start Initialize Web PMS Context");
Slf4jWebConfigurer.initLogging(event.getServletContext());
log.debug("Start Initialize Web ContextLoader ====>");
contextLoader = createContextLoader();//加载appContext.xml文件
//注册里面定义的beans:
//(1).PMSPropertyPlaceholderConfigurer加载application.properties文件,
// 该文件包含了数据库的连接信息.
// PMSPropertyPlaceholderConfigurer类中重写了processProperties()方法,
// 该方法又从dataSource.xml中读取了一部分数据库信息.
//(2).PMSReloadableResourceBundleMessageSource加载国际化文件i18n/*query*.xml
contextLoader.initWebApplicationContext(event.getServletContext());
log.debug("<====End of Initialize Web ContextLoader");
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
GenericWebApplicationContext genericWac = new GenericWebApplicationContext();
genericWac.setParent(wac);
log.debug("<====End of Initialize GenericWebApplicationContext");
SpringHelper.setApplicationContext(genericWac);//设置ThreadLocal<ApplicationContext>的值
appContext.initialize();//(1)注册module文件夹下的xml中定义的bean,(2)加载query文件夹下的xml
event.getServletContext().setAttribute(APPLICATION_CONTEXT_ATTRIBUTE, genericWac);
}
分享到:
相关推荐
这个过程的关键在于理解Grub启动加载器的工作原理以及如何通过修改配置文件来改变默认启动项。Grub的配置文件`grub.cfg`通常根据`/etc/default/grub`生成,但在大多数情况下,直接修改`grub.cfg`文件是快速调整启动...
Linux内核模块加载顺序控制是Linux操作系统中一项关键技术,它决定了内核模块按照何种顺序被加载到内核中。本文将从多个角度阐述内核模块加载顺序的控制机制,包括模块的顺序声明、内核模块加载顺序控制的原理、内核...
在Web开发中,理解Web项目的启动时文件加载顺序是至关重要的,因为它直接影响到应用程序的初始化和运行。本文将深入探讨这个主题,重点关注Web容器如何处理配置文件`web.xml`,以及不同组件(如`context-param`、`...
这个命令会生成新的 GRUB 配置文件,并将你的设置应用到启动加载器中。之后,你可以通过查看新生成的 `grub.cfg` 文件的末尾来确认默认启动项是否正确。 最后,为了确保配置正确,需要重启系统来测试新的启动顺序:...
在Tomcat启动过程中,类的加载顺序是非常重要的一个环节,因为这直接影响到Web应用的正常运行以及类库冲突等问题。 #### 二、类加载机制概述 在Java中,类加载器(ClassLoader)负责将.class文件加载到JVM中。Tomcat...
GRUB(GRand Unified Bootloader)是一种流行的启动加载器,可以管理多个操作系统的启动过程。在 Ubuntu 和 Windows7 双系统中,GRUB 负责管理两个操作系统的启动顺序。为了修改启动顺序,需要修改 GRUB 的配置文件...
Bootstrap类加载器完成后,Tomcat会使用系统类加载器(System ClassLoader)加载服务器的全局配置文件,如`server.xml`。这个文件定义了Tomcat的整体架构,包括服务(Service)、连接器(Connector)和引擎(Engine)等组件...
在嵌入式系统开发中,分散加载文件(Scatter Loading File)是一种重要的编程技术,它允许程序员将程序的不同部分分配到内存的特定区域,以优化系统资源的利用和提高执行效率。本文将深入探讨分散加载文件的概念、...
GRUB是Linux中最常用的启动加载程序之一,其版本发展至今已有GRUB 2。GRUB 2通过配置文件 `/boot/grub/grub.cfg` 来确定启动顺序和选项。此文件由`grub-mkconfig`脚本自动生成,因此不建议直接编辑该文件。要修改...
1. **启动顺序**: 操作系统启动时,首先加载BIOS(基本输入输出系统),然后根据BIOS中的配置加载MBR(主引导记录)或GPT(GUID分区表)中的引导程序,进而加载操作系统内核。加载完成后,系统会进行一系列初始化...
在这一过程中,如果存在多操作系统环境,系统BIOS或启动加载器可能会显示操作系统选择菜单,允许用户选择要启动的操作系统。此外,如果启用了安全启动,系统会检查引导加载器的数字签名,以确保加载的是合法且未被...
根据`/etc/inittab`文件中定义的运行级别,`init`进程会执行对应目录下的脚本来启动各种系统服务。这些服务通常包括网络配置、系统日志记录、守护进程(daemon)的启动等。例如,在运行级别3(多用户模式,无图形...
在Windows XP操作系统中,引导启动过程是计算机开机后加载操作系统的关键步骤。当引导启动出现问题时,可能导致系统无法正常启动。本篇文章将详细讲解WinXP引导启动恢复文件的相关知识,以及如何利用提供的压缩包...
引导程序负责加载并执行操作系统的一部分,通常是操作系统所在的分区的启动扇区。 2. **启动扇区**:每个分区都有一个启动扇区,也称为Volume Boot Record (VBR)。VBR是该分区的启动代码,它负责加载操作系统的核心...
init 进程的主要任务是设置默认运行级别,执行系统初始化脚本,并启动默认的虚拟终端。 系统初始化脚本 系统初始化脚本是 init 进程执行的主要任务之一。这个脚本的主要任务是: * 激活 udev 和 selinux * 根据/...
springboot 的配置文件加载顺序 第一个配置文件位于 SRC平级目录:如下图所示 port: 8083 监听端口 第二个配置文件位于config 目录下 监听端口为:8084 运行 此项目。 如果编译有错,刷新maven 文件。 所下图...
首先,开机启动顺序是指操作系统启动时加载的程序和服务的顺序。这些程序通常包括系统核心服务、驱动程序和用户自定义的启动应用。启动顺序对系统的整体响应速度有直接影响,因为每个启动项都需要占用一定的系统资源...
Linux操作系统的启动顺序是一个重要的概念,它决定了计算机启动时的默认操作系统。在本文中,我们将探讨如何修改Linux启动顺序,以便更好地控制计算机的启动过程。 Linux启动顺序的基本概念 ---------------------...
在实践操作中,我们需要谨慎处理驱动程序的加载顺序,因为错误的配置可能导致系统不稳定甚至无法启动。同时,了解硬件设备的依赖关系也非常重要,确保关键设备的驱动优先加载,以保证系统正常运行。 总的来说,通过...