package com.mtools.core.plugin.web.servlet.init; import java.io.IOException; import java.security.Security; import java.util.List; import javax.servlet.ServletConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.log4j.PropertyConfigurator; import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.springframework.context.ApplicationContext; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; import com.mtools.core.plugin.db.CoreDao; import com.mtools.core.plugin.helper.FuncUtil; import com.mtools.core.plugin.helper.SpringUtil; //import com.mtools.core.plugin.staticres.StaticResPlugin; public class InitServlet extends HttpServlet { private static final long serialVersionUID = 111111L; protected static final Log log = LogFactory.getLog(InitServlet.class); private String log4j; public void init() throws ServletException { try { //自定义log4j配置 if(!FuncUtil.isEmpty(log4j)){ PropertyConfigurator.configure(SpringUtil.cfgPath(log4j)); } log.info("初始化spring容器"); log.info("SpringUtil init"); ServletContext context = getServletContext(); // WebApplicationContext webAppContext = WebApplicationContextUtils // .getWebApplicationContext(context); ApplicationContext ctx = WebApplicationContextUtils .getWebApplicationContext(context); SpringUtil.initCxt(ctx); CoreDao dao = (CoreDao) SpringUtil.getAnoBean("dao"); // CoreDao daoExt = (CoreDao) SpringUtil.getAnoBean("daoExt"); // CoreDao daoExt = (CoreDao) SpringUtil.getBean("daoExt"); List<String> values = dao.search("select 1 from dual", String.class, null); // values = daoExt.search("select 1 from dual", String.class, // null); //使用BouncyCastleProvider提供的安全策略 需要引入bcprov-jdk16-1.46.jar Security.addProvider(new BouncyCastleProvider()); log.info("加载系统参数成功"); } catch (Exception e) { log.error("初始化服务应用发生异常", e); e.printStackTrace(); } } /** * 功能: */ @Override public void init(ServletConfig config) throws ServletException { this.log4j=config.getInitParameter("log4j"); super.init(config); } }