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

 更新时间:2020年10月15日 11:20:53   作者:贾小仙  
这篇文章主要介绍了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 的顺序进行调用的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java 中如何使用 stream 流

    Java 中如何使用 stream 流

    这篇文章主要介绍了Java中如何使用stream流,文章围绕Stream API支持的许多操作展开主题,感兴趣的小伙伴可以参考一下
    2022-09-09
  • 如何解决Eclipse找不到或无法加载主类问题

    如何解决Eclipse找不到或无法加载主类问题

    这篇文章主要介绍了如何解决Eclipse找不到或无法加载主类问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • spring data JPA 中的多属性排序方式

    spring data JPA 中的多属性排序方式

    这篇文章主要介绍了spring data JPA 中的多属性排序方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Java实现多数据源的几种方式总结

    Java实现多数据源的几种方式总结

    这篇文章主要给大家总结介绍了关于Java实现多数据源的几种方式,最近项目中的工作流需要查询多个数据源的数据,数据源可能是不同种类的,需要的朋友可以参考下
    2023-08-08
  • 浅谈什么是SpringBoot异常处理自动配置的原理

    浅谈什么是SpringBoot异常处理自动配置的原理

    今天给大家带来的是关于Java的相关知识,文章围绕着SpringBoot异常处理自动配置展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Java date format时间格式化操作示例

    Java date format时间格式化操作示例

    这篇文章主要介绍了Java date format时间格式化操作,结合具体实例形式分析了java针对日期时间进行格式化操作的相关实现技巧,需要的朋友可以参考下
    2017-03-03
  • jdbc连接数据库实例详解

    jdbc连接数据库实例详解

    在本篇内容里小编给大家分享了关于jdbc如何连接数据库的相关知识点内容,需要的朋友们学习下。
    2019-02-02
  • 当事务Transactional遇见异步线程出现的坑及解决

    当事务Transactional遇见异步线程出现的坑及解决

    这篇文章主要介绍了当事务Transactional遇见异步线程出现的坑及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 教你怎么用Springboot自定义Banner图案

    教你怎么用Springboot自定义Banner图案

    今天给大家带来的是Java的相关知识,文章围绕着怎么用Springboot自定义Banner图案展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • cascade级联关系操作案例详解

    cascade级联关系操作案例详解

    这篇文章主要介绍了cascade级联关系,主要包括级联保存,级联修改,级联删除案例,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-07-07

最新评论