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项目无法识别初始化信息

<servlet>
	<servlet-name>initServlet</servlet-name>
	<servlet-class>com.xxx.xxx.init.InitServlet</servlet-class>
	<init-param>
		<param-name>log4j</param-name>
		<param-value>WEB-INF/log4j.properties</param-value>
	</init-param>
	<init-param>
		<param-name>hibernate</param-name>
		<param-value>WEB-INF/hibernate.cfg.xml</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
</servlet>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值