/*
* 系统名称:基于冉闵开发工具 --> rmdemo
*
* 文件名称: org.quickbundle.tools.support.god --> ExecuteSqlServlet.java
*
* 功能描述:
*
* 版本历史: 2006-7-10 19:42:48 创建1.0.0版 (baixiaoyong)
*
*/
package org.quickbundle.base.web.servlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import org.quickbundle.itf.ILoadOnStartup;
/**
* 功能、用途、现存BUG:
*
* @author 白小勇
* @version 1.0.0
* @see 需要参见的其它类
* @since 1.0.0
*/
public class RmHolderServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static ServletContext defaultServletContext = null;
public static ServletContext getDefaultServletContext() {
return defaultServletContext;
}
public static void setDefaultServletContext(ServletContext servletContext) {
defaultServletContext = servletContext;
}
public static String getDefaultServletContextName() {
if(defaultServletContext != null) {
return defaultServletContext.getServletContextName();
}
return null;
}
public static String getDefaultRealPath(String path) {
if(defaultServletContext != null) {
return defaultServletContext.getRealPath(path);
}
return null;
}
public void destroy() {
}
/**
* 第一个执行的servlet,用于初始化配置
*
*/
public void init() throws ServletException {
super.init();
//第一个Servlet的上下文,被初始化进缓存
if(defaultServletContext == null) {
defaultServletContext = this.getServletContext();
}
//初始化init-classes中定义的类
String initClasses = getServletConfig().getInitParameter("init-classes");
String[] aInitClasses = initClasses.trim().split(",");
for(int i =0; i<aInitClasses.length; i++) {
String tempClassName = aInitClasses[i].trim();
try {
ILoadOnStartup loadOnStartup = (ILoadOnStartup)Class.forName(tempClassName).newInstance();
loadOnStartup.init(this);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}