Web容器启动过程中如何执行Java类?本篇文章小编给大家分享一下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加载顺序:
1)启动一个 WEB 项目的时候, WEB 容器会去读取它的配置文件 web.xml ,读取 和
两个结点。
2)紧急着,容创建一个 ServletContext ( servlet 上下文),这个 web 项目的所有部分都将共享这个上下文。
3)容器将 转换为键值对,并交给 servletContext 。
4)容器创建 中的类实例,创建监听器。
由此,可以看出, web.xml 的加载顺序是: context-param -> listener -> filter ->
servlet ,而同个类型之间的实际程序调用的时候的顺序是根据对应的 mapping 的顺序进行调用的。