这篇文章主要介绍了Web容器启动过程中如何执行java类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
1.监听(Listener)
com.xian.jdbc.GetProperties
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 {//初始化代码 }}
实现InitializingBean接口就可以获取spring的所有配置信息。
实现ServletContextAware,可以获得servletcontext
3.servlet的init()方法
自动执行servlet
写一个servlet,在init()方法中写好想要执行的程序,
同时,在web.xml配置文件中指出
XXXX
XXXX
1
load-on-startup的值必须为整数,当load-on-startup值为负整数或者未指定时,容器在该servlet被调用时加载
当其值为0和正整数时,容器启动时加载,值越小,优先级越高
Web.xml加载顺序:
和 两个结点。
2 、紧急着,容创建一个 ServletContext ( servlet 上下文),这个 web 项目的所有部分都将共享这个上下文。
3 、容器将 转换为键值对,并交给 servletContext 。
4 、容器创建 中的类实例,创建监听器。
由此,可以看出, web.xml 的加载顺序是: context-param -> listener -> filter -> servlet ,而同个类型之间的实际程序调用的时候的顺序是根据对应的 mapping 的顺序进行调用的。