WEB加载web.xml初始化过程:
  1. 在启动Web项目时,容器(如Tomcat)会读web.xml配置文件中的两个节点<listener>和 <context-param>。
  2. 接着容器会创建一个ServletContext(上下文),应用范围内即整个WEB项目都能够使用这个上下文。
  3. 接着容器会对<context-param>转化为键值对,并且交给ServletContext。
  4. 容器创建<listener></listener>中的类实例,即创建监听(备注:listener定义的的类型是自定义的类但必须要继承ServletContextListener)。
  5. 监听器的类中会有一个contextInitialized(servletContextEvent event)初始化的方法,在这个方法中可以通过event.getServletContext().getInitParameter("contextConfigLocation")来获得context-param设定的值。在这个类中还必须有一个contextDestroyed(ServletContextEvent event)销毁方法,用于关闭资源应用前释放资源,比如数据库的连接关闭。
  6. 得到这个context-param的值之后,你就可以做一些操作了,注意这个时候你的WEB项目没有完全启动完成,这个动作比所有的Servlet都要早。


总结上面的步骤简化为:
          web.xml文件加载   >>   context-param   >>   listener >>    filter    >>    servlet



Context-param
作用:该元素用来声明应用范围(整个WEB项目)内的上下文初始化参数
param-name     设定上下文的参数名称。必须是唯一的名称
param-value     设定参数的名称的值。
session-config
          作用:设置session的相关信息。
          session-timeout   (注意这里使用的分钟为单位)

Java web 项目 web.xml 配置文件加载过程的更多相关文章

  1. web.xml的加载过程配置详解

      一:web.xml加载过程 简单说一下,web.xml的加载过程.当我们启动一个WEB项目容器时,容器包括(JBoss,Tomcat等).首先会去读取web.xml配置文件里的配置,当这一步骤没有 ...

  2. web.xml 的加载过程

    初始化过程: 在启动Web项目时,容器(比如Tomcat)会读web.xml配置文件中的两个节点<listener>和<contex-param>. 接着容器会创建一个Serv ...

  3. web.xml的加载过程是context-param >> listener >> fileter >> servlet

    web.xml的加载过程是context-param >> listener  >> fileter  >> servlet

  4. asp.netcore 深入了解配置文件加载过程

    前言     配置文件中程序运行中,担当着不可或缺的角色:通常情况下,使用 visual studio 进行创建项目过程中,项目配置文件会自动生成在项目根目录下,如 appsettings.json, ...

  5. .net core 深入了解配置文件加载过程

    前言     配置文件中程序运行中,担当着不可或缺的角色:通常情况下,使用 visual studio 进行创建项目过程中,项目配置文件会自动生成在项目根目录下,如 appsettings.json, ...

  6. 登陆获取shell时的配置文件加载过程

    最近遇到一台ubuntu服务器登陆时默认语言环境变量变成posix问题, 导致中文显示乱码,影响程序的正常运行 # locale LANG= LANGUAGE= LC_CTYPE="POSI ...

  7. java web项目启动时自动加载自定义properties文件

    首先创建一个类 public class ContextInitListener implements ServletContextListener 使得该类成为一个监听器.用于监听整个容器生命周期的 ...

  8. 基于spring的web项目启动时预加载数据到ServletContext

    1.要在web启动时预加载数据到ServletContext,实现方法有很多,一种比较简单的方案就是: 1)新建一个bean,定义其初始化方法: <bean id="beanId&qu ...

  9. 关于web项目中静态资源加载不了的一些解决思路

    问题的产生: <!--springMVC前端控制器加载--> <servlet> <servlet-name>springmvc</servlet-name& ...

随机推荐

  1. flutter 常用plugins

    搜索plugins flutter plugins搜索地址 谷歌官方plugins https://pub.dev/packages?q=http 到这个链接里面去搜索 https://github. ...

  2. selenium 常见操作事件2

    1.不打开浏览器驱动(加速) 注意:不启动浏览器器时,需要把浏览器驱动放置以下位置:①.python安装的根目录②.google的安装目录() from selenium import webdriv ...

  3. JPA,Hibernate,Spring Data JPA之间的关系

    什么么是JPA? 全称Java Persistence API(JAVA对象持久化API),可以通过注解或者XML描述[对象-关系表]之间的映射关系,并将实体对象持久化到数据库中. 为我们提供了: 1 ...

  4. 公式test

  5. Redis 部署安装

    一.Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多 ...

  6. Image组件的使用

    // 注意图片放置的目录问题 <Image source = {require('./img/logo.png')} style = {styles4.imageStyle}/> 注意要导 ...

  7. Java学习笔记-GUI

    Java也提供图像化编程 图形化 GUI(图形用户界面) GUI Graphical User Interface(图形用户接口) 用图形的方式,来显示计算机操作的界面,这样更方便更直观 CLI Co ...

  8. [转帖]关于Java中SQL语句的拼接规则

    关于Java中SQL语句的拼接规则 自学demo 的时候遇到的问题 结果应该是 '"+e.getName()+"' 注意 一共有三组标点符号 (除去 方法函数后面的括号) 实现目标 ...

  9. windows环境jar包部署到linux服务器,一键操作(帮助说明)

    背景:在上次https://www.cnblogs.com/shexunyu/p/11165282.html发布了第一个版本后,后面增加了相关功能 需求:做下简单的说明文档 下载:https://fi ...

  10. Nginx整合Tomcat

    现在先不考虑集群的配置问题,只实现Nginx实现一台tomact的代理 1.我们需要一个web项目,这里我把先准备好的web.war文件部署到Tomact服务器上 mvn clean install ...