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可以正常启动,不过发布项目之后,无法访问,包括http://localhost:8080/的小猫页面也无法访问到,报404错误。这是因为Eclipse所指定的Server ...
主要介绍了SpringBoot如何取消内置Tomcat启动并改用外接Tomcat,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
为了防止产品代码泄漏或授权等被破解,想到对源码加密,说是对源码加密,...本文讲解的就是SpringWeb项目加密后如何能在tomcat下面启动运行的。 1、war包加密; 2、tomcat类加载器修改; 3、Spring-asm类加载修改;
就是直接把文件夹、jsp页面 、classes等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。 中方式获取上下文绝对路径不一样: String contextPath = request....
一、场景 近日有个项目客户要求能自己配置相关权限。...所以我们要能通过网页控制Tomcat的关闭启动,并加载进管理员系统中。 首先分析Tomcat的启动方式。在Tomcat6.0的bin目录下有两个批处理文件。startup.bat和
最新的项目刚刚用上Vue,遇到很多问题,在Tomcat下部署时出现了页面空白。 问题:路由 mode history 模式在 dev 模式下没有问题,在 build 模式页面空白,但静态资源能正常引用 原因:部署在Tomcat上时并没有在根...
在网上找了好多关于Nsis打包JavaWeb和tomcat的方法,都没有能让tomcat服务自动重启的,便自己研究编写了一个方法。供大家参考! 1、实现程序一键安装 2、卸载 3、安装时验证密码 4、应用系统快捷方式启动、注册...
主要介绍了IDEA运行导入的javaweb项目tomcat正常但是运行失败404问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
tomcat的个人使用经验说明,里面详细说明了tomcat常见的几个问题如启动报错,加载不了项目,配置热加载等
我在项目开发过程中,经常要改动Java/JSP 文件,但是又不想从新启动服务器(服务器从新启动花时间),想直接获得(debug)结果.有两种方式热部署 和热加载: 1.热加载:在server.xml -> context 属性中 设置 ...
项目使用springboot启动一个web项目,在启动阶段看到console中出现了异常“1.10.3-1.4.3\hdf5.jar 系统找不到指定的文件”,虽然这些异常不影响项目的正常运行,但作为一个严谨的技术人员,看到这些异常就像见到...
3.解压,启动Eclipse,选择 Window > Preferences > java,选择或者新添jre地址作为Tomcat插件的缺省SDK,建议选择Tomcat; 4.从http://www.objectlearn.com/下载Lomboz以方便进行jsp开发。 由于配合Eclipse3.0的...
最近在做一个小项目,用到了图片上传服务器,以前尝试过实现这个功能Demo,虽然基本功能没有问题,但是很不完善,当时也有在博客记录, 地址如下: //www.jb51.net/article/107000.htm 由于当时写这个图片上传...
这是最常用的方式,Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。如果你想要修改这个默认目录,可以在conf下的server.xml文件里修改Host标签里的appBase值。 这个方法...
用tomcat加载maven项目,数据库用户名密码要修改为自己的,前端vue如果端口被占用了,就修改其余端口。vue的启动方式,我在前一个vue点餐模板中说过。在此不叙述。这里只上传后台逻辑功能。前后分离项目。 运行环境 ...
用tomcat加载maven项目,数据库用户名密码要修改为自己的,前端vue如果端口被占用了,就修改其余端口。vue的启动方式,我在前一个vue点餐模板中说过。在此不叙述。这里只上传后台逻辑功能。前后分离项目。 运行环境...
请将本maven项目引入你自己的maven项目中(在你自己的pom.xml文件中配置这个项目的gourp和id以及版本号),通过模块化导入,注意把spring-activeMQ.xml加载到容器当中,运行tomcat启动项目,即可看到效果。
这500M内存中的一部分必须用于系统dll的加载,那么真正剩下的也许只有400M,现在关键的地方出现了:当你使用Java创建一个线程,在JVM的内存里也会创建一个Thread对象,但是同时也会在操作系统里创建一个真正的物理...
配置Web服务器:根据您使用的Web服务器(Tomcat或Jetty),修改相应的配置文件(如:Tomcat的conf/server.xml),以便正确加载项目依赖。启动项目:在命令行中进入项目根目录,执行以下命令启动项目: bash复制代码# 对于...