Web容器启动过程中如何执行Java类
1.监听(listener)
<!-- 配置监听 -->
<listener>
<listener-class>com.xian.jdbc.getproperties</listener-class>
</listener>
package com.xian.jdbc;
public class getproperties{
} //implements servletcontextlistener
可实现servlet的监听则启动中直接运行输出。不实现也有作用。。未知
2.spring初始化bean时
1、在需要进行操作的bean的xml定义中加上init-method属性,指定下启动时运行哪个方法;
2、实现initializingbean接口,spring在启动时会自动调用这个接口中的初始化方法
public class sysinitbean implements initializingbean,servletcontextaware{public void afterpropertiesset() throws exception {//初始化代码 }}<span style="background-color: rgb(226, 226, 226); "> </span>
实现initializingbean接口就可以获取spring的所有配置信息。
实现servletcontextaware,可以获得servletcontext
3.servlet的init()方法
自动执行servlet
写一个servlet,在init()方法中写好想要执行的程序,
同时,在web.xml配置文件中指出
<servlet>
<servlet-name>xxxx</servlet-name>
<servlet-class>xxxx</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
load-on-startup的值必须为整数,当load-on-startup值为负整数或者未指定时,容器在该servlet被调用时加载
当其值为0和正整数时,容器启动时加载,值越小,优先级越高
web.xml加载顺序:
1 、启动一个 web 项目的时候, web 容器会去读取它的配置文件 web.xml ,读取 <listener> 和 <context-param> 两个结点。
2 、紧急着,容创建一个 servletcontext ( servlet 上下文),这个 web 项目的所有部分都将共享这个上下文。
3 、容器将 <context-param> 转换为键值对,并交给 servletcontext 。
4 、容器创建 <listener> 中的类实例,创建监听器。
由此,可以看出, web.xml 的加载顺序是: context-param -> listener -> filter -> servlet ,而同个类型之间的实际程序调用的时候的顺序是根据对应的 mapping 的顺序进行调用的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 详解Go 创建命令行工具的方法
下一篇: Java jar打包工具使用方法步骤解析