java初始化用户数据,Java初始化servlet数据

在web项目启动的时候可以进行必要数据的初始化,如log4j,config.properties等相关信息的初始化,通常在灵活读取配置文件的时候比较管用

import javax.servlet.ServletConfig;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import org.apache.log4j.PropertyConfigurator;

public class InitServlet extends HttpServlet {

/**

* define a field serialVersionUID which type is long

*/

private static final long serialVersionUID = -7718302829857998640L;

public static final String FILE_SEPARATOR = System.getProperties().getProperty("file.separator");

private static String contextPath;

private static String hibernatePath;

private static String serverConfig;

private static String classPath;

@Override

public void init(ServletConfig config) throws ServletException {

super.init(config);

String prefix = config.getServletContext().getRealPath("/");

InitServlet.contextPath = prefix;

if(FILE_SEPARATOR.equals("\\")) {

// 获取内容服务器配置文件的路径

serverConfig = prefix + "\\WEB-INF\\config.properties";

} else if(FILE_SEPARATOR.equals("/")) {

serverConfig = prefix + "/WEB-INF/config.properties";

}

// Log4J

String log4jFile = config.getInitParameter("log4j");

String log4jConfigPath = prefix + log4jFile;

PropertyConfigurator.configure(log4jConfigPath);

// Hibernate Path

hibernatePath = prefix + config.getInitParameter("hibernate");

classPath = Thread.currentThread().getContextClassLoader().getResource("").getPath();

}

@Override

public void destroy() {

}

public static final String getContextPath() {

return InitServlet.contextPath;

}

public static final String getHibernatePath() {

return InitServlet.hibernatePath;

}

public static final String getServerConfig() {

return serverConfig;

}

public static final String getClassPath() {

return classPath;

}

}

在web.xml中需要加入下面的信息,否则web项目无法识别初始化信息

initServlet

com.xxx.xxx.init.InitServlet

log4j

WEB-INF/log4j.properties

hibernate

WEB-INF/hibernate.cfg.xml

1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值