JavaWeb 服务启动时,在后台启动加载一个类

本文介绍了两种在JavaWeb服务启动时自动加载类的方法:一是通过实现ServletContextListener监听器,自定义初始化逻辑;二是创建一个Servlet并设置其启动优先级,确保在项目启动时运行。具体实现包括在web.xml中的配置和相应的类定义。
摘要由CSDN通过智能技术生成

两种方法,

一、监听(Listener)

1、创建个监听类,继承ServletContextListener

package tbp.common.xkins;
import javax.servlet.ServletContextEvent;
import net.sf.opentranquera.xkins.core.Skin;
import net.sf.opentranquera.xkins.core.loaders.XkinsLoaderServletContextListener;
import org.apache.commons.lang.StringUtils;
public class XkinsLoaderListenerCustom extends XkinsLoaderServletContextListener {
public void contextInitialized(ServletContextEvent context) {
// Normal XKINS stuffs
super.contextInitialized(context);
String defaultSkin = context.getServletContext().getInitParameter("xkins.defaultSkin");
if (StringUtils.isEmpty(defaultSkin))
defaultSkin = "default";
context.getServletContext().setAttribute(Skin.ATTR_DEFAULT_SKIN_NAME, defaultSkin);
}
}

2、在web.xml中配置,listener类可在web启动时自动加载.

<!-- xkins(皮肤框架)配置 -->
<listener>
<listener-class>tbp.common.xkins.XkinsLoaderListenerCustom</listener-class>
</listener>

二、配置随项目启动而启动的Servlet

1、创建一个类继承HttpServlet,再web.xml配置文件中配置servlet信息

package tbp.component.workflow.service.interf.impl;
import java.net.MalformedURLException;
import java.rmi.RemoteException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

import tbp.component.workflow.service.interf.RegisterRmi;
public class ExternalInterfaceRmiRegisterServlet extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
    try {
RegisterRmi.startRmi();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
}
}
}

2、在web.xml配置一个servlet设置启动顺序优先级高些(即:web服务启动时调用这个类)

<servlet>  
<servlet-name>ExternalInterfaceRmiRegisterServlet </servlet-name> 
<servlet-class>tbp.component.workflow.service.interf.impl.ExternalInterfaceRmiRegisterServlet </servlet-class> 
<!-- 如果需要自动加载,加下面一句 --> 
<load-on-startup>1</load-on-startup> 
</servlet> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值