Web容器启动过程中如何执行Java类

作者:贾小仙 时间:2022-10-01 19:49:10 

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 的顺序进行调用的。

来源:https://www.cnblogs.com/hackerxian/p/10871678.html

标签:Web,容器,Java,类
0
投稿

猜你喜欢

  • Spring Boot整合Web项目常用功能详解

    2023-06-04 17:14:21
  • c#访问this关键字和base关键字示例

    2021-09-28 23:36:14
  • C#数据类型转换(显式转型、隐式转型、强制转型)

    2021-11-24 13:44:25
  • Android 个人理财工具四:添加账单页面 下

    2021-09-05 00:43:59
  • java 中 System.out.println()和System.out.write()的区别

    2021-09-17 04:30:52
  • Jetpack Compose自定义动画与Animatable详解

    2021-07-04 20:26:08
  • C#发送HttpPost请求来调用WebService的方法

    2021-06-11 03:36:30
  • Android中通知Notification使用实例(振动、灯光、声音)

    2021-09-28 20:00:01
  • Mybatis plus中的like查询问题

    2022-03-18 09:14:30
  • Java中左移和右移问题图文详解

    2023-02-14 15:44:05
  • spring cloud gateway中如何读取请求参数

    2021-08-19 16:19:02
  • Android 广播大全 Intent Action 事件详解

    2021-09-10 12:40:15
  • 详解如何使用Android Studio开发Gradle插件

    2023-11-20 23:39:05
  • 详解Java多态对象的类型转换与动态绑定

    2021-10-12 06:59:59
  • Springboot之idea之pom文件图标不对问题

    2021-12-31 07:27:32
  • Java开发SpringBoot集成接口文档实现示例

    2022-07-14 05:43:50
  • Flutter 图片开发核心技能快速掌握教程

    2023-08-16 22:01:51
  • DevExpress TreeList 常见问题解决方法

    2022-07-15 18:16:54
  • springboot使用log4j2异步日志提升性能的实现方式

    2021-05-31 16:54:55
  • struts2的国际化实现网站整体中英文切换实例代码

    2023-08-31 02:37:40
  • asp之家 软件编程 m.aspxhome.com