`

tomcat启动时,加载类

阅读更多
(转发,地址忘记了。。。)有时候在开发Web应用的时候,需要tomcat启动后自动加载一个用户的类,执行一些初始化方法,如从数据库中加载业务字典到内存中,因此需要在tomcat启动时就自动加载一个类,或运行一个类的方法。 可以采用在WEB-INF/web.xml中添加一个监听程序(ServletContextListener配置项),步骤如下:
1) 增加一个监听程序 MyServletContextListener.java,实现javax.servlet.ServletContextListener接口
package test.startup;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class MyServletContextListener implements ServletContextListener
{

  public void contextDestroyed(ServletContextEvent arg0)
  {

  }

  public void contextInitialized(ServletContextEvent arg0)
  {
   System.out.println("加载业务字典");
   try
   {
    com.eos.common.dict.DictMap.loadData();
   }
   catch(Exception e)
   {
    System.out.println("加载业务字典失败!");
    e.printStackTrace();
   }
  }
}

2) 配置监听器web.xml:

<listener>
  <listener-class>test.startup.MyServletContextListener</listener-class>
</listener>


注意:应用事件监听器程序是建立或修改servlet环境或会话对象时通知的类。它们是servlet规范的版本2.3中的新内容。注册一个监听程序涉及在 web.xml的web-app元素内放置一个listener元素。虽然listener元素的结构很简单,但请不要忘记,必须正确地给出web- app元素内的子元素的次序。listener元素位于所有的servlet 元素之前以及所有filter-mapping元素之后。此外,因为应用生存期监听程序是serlvet规范的2.3版本中的新内容,所以必须使用 web.xml DTD的2.3或以后版本,而不是2.2版本,如下:
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  ...
</web-app>
分享到:
评论

相关推荐

    Tomcat启动时类加载顺序

    ### Tomcat启动时类加载顺序详解 #### 一、引言 Apache Tomcat是一款开源的Servlet容器,主要用于部署Java Web应用程序。它支持最新的Servlet、JSP等规范,并且以其轻量级、简单易用的特点而受到开发者的青睐。在...

    Tomcat7 启动类加载日志

    Tomcat7.0.62 启动类加载日志

    Tomcat启动顺序

    【标题】:Tomcat启动顺序 【描述】:Tomcat作为Apache软件基金会的开源Java Servlet容器,其启动过程是理解其工作原理的关键部分。Tomcat的启动顺序涉及到多个层次的加载,从Bootstrap类开始,逐步加载系统配置、...

    tomcat详解与启动加载顺序

    tomcat详解与启动加载顺序 tomcat详解与启动加载顺序

    tomcat启动时,在后台自动执行一线程

    在这个配置中,`load-on-startup`元素的值(1)表示Tomcat启动时的优先级,数值越小,加载越早。`url-pattern`元素定义了访问Servlet的URL路径。 从提供的标签“tomcat”和“timer”来看,这个功能主要是利用Tomcat...

    tomcat类加载器

    类加载器遵循双亲委派模型,这意味着当一个类加载器尝试加载类时,它首先会将请求委托给其父类加载器,直到到达顶层的Bootstrap ClassLoader,如果父类加载器无法找到该类,子类加载器才会尝试自己加载。 在Tomcat...

    tomcat启动原理解析

    - Tomcat使用自定义的类加载器,如`CommonClassLoader`、`CatalinaClassLoader`等,它们按照特定的层次结构加载类。 5. **初始化容器** - `Catalina`类是Tomcat的主要组件,负责管理所有Web应用。在启动过程中,...

    tomcat 类加载机制 —— ClassLoader

    类加载遵循“双亲委托模型”,即当一个类加载器收到加载类的请求时,它会首先委托父类加载器尝试加载,只有当父类加载器无法找到对应的类时,才会自己尝试加载。这样保证了基础类库的一致性,同时也允许Web应用覆盖...

    Tomcat启动分析以及如何启动

    - `&lt;Listener&gt;`:监听器,用于在Tomcat启动和停止时执行特定任务,如初始化或清理。 - `&lt;Service&gt;`:定义Service的名称和其他属性,通常包括一个或多个Connector和一个Engine。 - `&lt;Connector&gt;`:配置Connector的...

    Java 类在 Tomcat 中是如何加载的(过程分析)

    当Tomcat加载类时,它遵循以下顺序: - 使用Bootstrap类加载器尝试加载。 - 使用System类加载器尝试加载。 - 使用Webapp类加载器加载`WEB-INF/classes`下的类。 - 使用Webapp类加载器加载`WEB-INF/lib`中的jar...

    tomcat启动的错误

    ### Tomcat启动时遇到的错误解析 在进行SSH(Struts+Spring+Hibernate)框架整合的过程中,启动Tomcat服务器时常会遇到一些问题。这些问题如果不能及时解决,将会影响到项目的正常运行与部署。本文将对“tomcat启动...

    tomcat启动和关闭

    标题中的“Tomcat启动和关闭”是指在Apache Tomcat服务器中进行服务的启停操作,这是每个Java Web开发者必备的基础技能。Apache Tomcat是一个开源的Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范...

    Tomcat设置服务启动参数

    #### 二、Tomcat启动参数概述 在Tomcat中,可以通过修改`bin`目录下的脚本文件来设置启动参数。对于Windows环境,主要通过编辑`tomcat7w.exe`或`catalina.bat`来实现;而在Linux环境下,则是通过编辑`catalina.sh`...

    tomcat启动服务运行servlet

    标题“Tomcat启动服务运行Servlet”涉及到的是Java Web开发中的核心概念,主要涵盖Tomcat服务器的启动过程以及Servlet的执行机制。Tomcat是一款开源、免费的Web应用服务器,广泛用于部署Java Servlet和JavaServer ...

    类加载器与Tomcat

    此外,Web应用类加载器并不严格遵循双亲委派模型,它首先尝试自己加载类,只有在找不到时才委托给上层加载器。这种设计允许Web应用覆盖Common类加载器中的类,但不能覆盖Java的基础类,以保持系统稳定。 类加载器的...

    tomcat启动脚本

    Tomcat启动时会扫描这个目录,寻找WAR文件或已解压的目录并自动部署应用。 7. **`test.vbs`文件**:在这个场景下,这个文件可能是用来自动化或者测试Tomcat启动的VBScript脚本。VBScript可以调用命令行执行`...

    struts2中,在tomcat启动时候总是出现严重

    为了更具体地解决问题,需要查看`struts2中,在tomcat启动时候总是出现严重.txt`这个文本文件,它应该包含了详细的错误堆栈信息。根据这些信息,我们可以进一步定位问题所在,并采取相应的解决措施。如果文件中包含...

    Web服务启动时自动加载Servlet,并读取数据库内容

    在Web应用启动时,如果在web.xml文件中定义了Servlet,那么Web容器(如Tomcat)会加载并初始化这些Servlet。我们可以通过重写Servlet的`init()`方法来执行启动时的任务。 在描述中提到,我们需要在Servlet的`init()...

    tomcat启动的时序图

    通过以上对Tomcat启动流程的解析,我们可以看到Tomcat的启动过程涉及到了多个类和组件的交互与协作。从初始化类加载器、解析配置文件、构建核心组件到最终的启动和服务监听,每一个步骤都至关重要。了解这些细节有助...

    如何优化提高tomcat启动速度..pdf

    在 Tomcat 启动时,它需要加载大量的 JAR 包,这些 JAR 包中的类文件需要被扫描和加载,这将占用大量的时间。如果我们删除不必要的 JAR 包,可以减少启动时间。我们可以将不必要的 JAR 包加入到 `tomcat.util.scan....

Global site tag (gtag.js) - Google Analytics