`
请输入用户名
  • 浏览: 45964 次
  • 性别: Icon_minigender_1
  • 来自: martian
社区版块
存档分类
最新评论

tomcat 启动加载项目

    博客分类:
  • java
阅读更多
Tomcat启动时加载
通过这个可以实现:程序在启动过程中加载缓存。
因为hibernate会自动缓存查询的内容,所以第一次查询会比较慢,但之后就会很快,通过在tomcat启动时候用hibernate进行一次查询,之后用户就能直接从缓存拿到数据。
Web.xml配置
  <listener>
<listener-class>
hibernate.init.StartUpServletContextListener
</listener-class>
</listener>

相应的java代码:
public class StartUpServletContextListener implements ServletContextListener{

	public void contextDestroyed(ServletContextEvent arg0) {
		System.out.println("================distory================");
	}

	public void contextInitialized(ServletContextEvent arg0) {
		System.out.println("=======正在初始化服务中。。。============");
		DoSearch.dataSearch("##");//随便做一个查询 
		
		System.out.println("============初始化完成=================");
	}

}


详细的说明:(此段来自网络)
有时候在开发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>

分享到:
评论

相关推荐

    Eclipse启动Tomcat后无法访问项目解决办法

    Eclipse启动Tomcat后无法访问项目解决办法 前言: Eclipse中的Tomcat可以正常启动,不过发布项目之后,无法访问,包括http://localhost:8080/的小猫页面也无法访问到,报404错误。这是因为Eclipse所指定的Server ...

    SpringBoot如何取消内置Tomcat启动并改用外接Tomcat

    主要介绍了SpringBoot如何取消内置Tomcat启动并改用外接Tomcat,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Spring-asm类加载修改/Tomcat Spring web项目源代码加密

    为了防止产品代码泄漏或授权等被破解,想到对源码加密,说是对源码加密,...本文讲解的就是SpringWeb项目加密后如何能在tomcat下面启动运行的。 1、war包加密; 2、tomcat类加载器修改; 3、Spring-asm类加载修改;

    idea配置tomcat启动web项目的图文教程

    就是直接把文件夹、jsp页面 、classes等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。 中方式获取上下文绝对路径不一样: String contextPath = request....

    Asp.net控制Tomcat启动关闭的实现方法

    一、场景 近日有个项目客户要求能自己配置相关权限。...所以我们要能通过网页控制Tomcat的关闭启动,并加载进管理员系统中。 首先分析Tomcat的启动方式。在Tomcat6.0的bin目录下有两个批处理文件。startup.bat和

    解决Vue在Tomcat8下部署页面不加载的问题

    最新的项目刚刚用上Vue,遇到很多问题,在Tomcat下部署时出现了页面空白。 问题:路由 mode history 模式在 dev 模式下没有问题,在 build 模式页面空白,但静态资源能正常引用 原因:部署在Tomcat上时并没有在根...

    nsis打包 一键安装javaWEB项目,安装完后重启电脑,tomcat服务自动加载

    在网上找了好多关于Nsis打包JavaWeb和tomcat的方法,都没有能让tomcat服务自动重启的,便自己研究编写了一个方法。供大家参考! 1、实现程序一键安装 2、卸载 3、安装时验证密码 4、应用系统快捷方式启动、注册...

    IDEA运行导入的javaweb项目tomcat正常,但是运行失败404问题

    主要介绍了IDEA运行导入的javaweb项目tomcat正常但是运行失败404问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    tomcat使用常见问题可能会有你遇到的个人总结

    tomcat的个人使用经验说明,里面详细说明了tomcat常见的几个问题如启动报错,加载不了项目,配置热加载等

    详解tomcat热部署和热加载的方法

    我在项目开发过程中,经常要改动Java/JSP 文件,但是又不想从新启动服务器(服务器从新启动花时间),想直接获得(debug)结果.有两种方式热部署 和热加载:  1.热加载:在server.xml -&gt; context 属性中 设置 ...

    tomcat加载jar异常问题的分析与解决

    项目使用springboot启动一个web项目,在启动阶段看到console中出现了异常“1.10.3-1.4.3\hdf5.jar 系统找不到指定的文件”,虽然这些异常不影响项目的正常运行,但作为一个严谨的技术人员,看到这些异常就像见到...

    Eclipse里配置Tomcat

    3.解压,启动Eclipse,选择 Window &gt; Preferences &gt; java,选择或者新添jre地址作为Tomcat插件的缺省SDK,建议选择Tomcat; 4.从http://www.objectlearn.com/下载Lomboz以方便进行jsp开发。 由于配合Eclipse3.0的...

    tomcat 配置图片虚拟路径不起作用解决办法

    最近在做一个小项目,用到了图片上传服务器,以前尝试过实现这个功能Demo,虽然基本功能没有问题,但是很不完善,当时也有在博客记录, 地址如下: //www.jb51.net/article/107000.htm 由于当时写这个图片上传...

    Tomcat部署项目的几种常见方式[亲测]

    这是最常用的方式,Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。如果你想要修改这个默认目录,可以在conf下的server.xml文件里修改Host标签里的appBase值。 这个方法...

    vue+maven+ssh前后端分离的网上花店系统

    用tomcat加载maven项目,数据库用户名密码要修改为自己的,前端vue如果端口被占用了,就修改其余端口。vue的启动方式,我在前一个vue点餐模板中说过。在此不叙述。这里只上传后台逻辑功能。前后分离项目。 运行环境 ...

    vue+maven+ssh的网上花店系统

    用tomcat加载maven项目,数据库用户名密码要修改为自己的,前端vue如果端口被占用了,就修改其余端口。vue的启动方式,我在前一个vue点餐模板中说过。在此不叙述。这里只上传后台逻辑功能。前后分离项目。 运行环境...

    activeMQ示例 activeMQ demo,java分布式技术

    请将本maven项目引入你自己的maven项目中(在你自己的pom.xml文件中配置这个项目的gourp和id以及版本号),通过模块化导入,注意把spring-activeMQ.xml加载到容器当中,运行tomcat启动项目,即可看到效果。

    Tomcat内存溢出的三种情况及解决办法分析

    这500M内存中的一部分必须用于系统dll的加载,那么真正剩下的也许只有400M,现在关键的地方出现了:当你使用Java创建一个线程,在JVM的内存里也会创建一个Thread对象,但是同时也会在操作系统里创建一个真正的物理...

    基于ssm+Vue的牛码小说网(源码+部署说明+系统介绍+数据库).zip

    配置Web服务器:根据您使用的Web服务器(Tomcat或Jetty),修改相应的配置文件(如:Tomcat的conf/server.xml),以便正确加载项目依赖。启动项目:在命令行中进入项目根目录,执行以下命令启动项目: bash复制代码# 对于...

Global site tag (gtag.js) - Google Analytics