当前位置: 代码迷 >> Web前端 >> web起步加载servlet得到Spring bean
  详细解决方案

web起步加载servlet得到Spring bean

热度:401   发布时间:2012-11-15 15:16:14.0
web启动加载servlet得到Spring bean
import java.sql.SQLException;

import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.sql.DataSource;

import org.apache.log4j.Logger;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;


public class InitServlet extends HttpServlet {
	
	private static final Logger log = Logger.getLogger(InitServlet.class);

	private static final long serialVersionUID = 6066089839055144264L;

	/**
	 * 系统初始化参数servlet
	 * 
	 * @param servletConfig
	 *            servlet
	 */
	public void init(ServletConfig servletConfig) throws ServletException {
				ServletContext context = servletConfig.getServletContext();
		
		SelectAll selectAll = new SelectAll(context);
		try {
			selectAll.setArray();
		} catch (Exception e1) {
			log.error(e1.getMessage(), e1);
		}

		log.info("正在载入XML文件...\r\n ");
		LoadXmlFile loadXmlFile = new LoadXmlFile(servletConfig);
		loadXmlFile.setArray();// 载入XML文件

		log.info("正在载入WebService...\r\n ");
		StrWebService strWebService = new StrWebService(context);
		try {
			strWebService.setArray();// 载入WebService数据
		} catch (Exception e) {
			log.error(e.getMessage(), e);
		}

		log.info("系统初始化配置已完成!");
	
	}

}






import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletContext;
import javax.sql.DataSource;

import org.apache.log4j.Logger;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;


public class SelectAll {
    private static final Logger log = Logger.getLogger(SelectAll.class);
    public static ServletContext servletConfig;
    public SelectAll() {
    public SelectAll(ServletContext context) {
        this.servletConfig = context;
    }
    public List selectAll(String parCde, String parNme, String method) throws SQLException {
        List list = new ArrayList<SelectDto>();
        ResultSet crs = null;
        Connection conn = null;
        Statement stmt = null;
        String sql = "";
         if ("7".equals(method)) {
            sql = " ";
        } 
        WebApplicationContext wac=WebApplicationContextUtils.getWebApplicationContext(servletConfig);
        log.info("got WebApplicationContext "+wac);
        DataSource ds=(DataSource)wac.getBean("dataSource");	
        conn=ds.getConnection();
        stmt = conn.createStatement();
        crs = stmt.executeQuery(sql);
        servletConfig.setAttribute(parNme, list);
        return list;
        } catch (Exception ex) {
        	log.error(ex.getMessage(), ex);
        }finally
        {
        	conn.close();
        }
        return null;
    }

    public void setArray() throws SQLException {
        selectAll("", "province", "7");
    }
}



import java.io.File;

import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.apache.log4j.Logger;

public class LoadXmlFile {
    private static final Logger log = Logger.getLogger(LoadXmlFile.class);
    public static ServletConfig servletConfig;

    public LoadXmlFile() {
    }
    public LoadXmlFile(ServletConfig context) {
        this.servletConfig = context;
    }

    public void loadXmlFile(String parNme, String method) {
        try {
            String serviceFile = "";
            if ("1".equals(method)) {
                serviceFile = servletConfig.getInitParameter("1");
            }
            if ("2".equals(method)) {
                serviceFile = servletConfig.getInitParameter("2");
            }
            if ("3".equals(method)) {
                serviceFile = servletConfig.getInitParameter("3");
            }

            ServletContext context = servletConfig.getServletContext();
            System.out.println("web.xml path="+context.getRealPath("") + serviceFile);
            
            File configFile = new File(context.getRealPath("") + serviceFile);

            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            factory.setNamespaceAware(true);
            DocumentBuilder builder = factory.newDocumentBuilder();

            context.setAttribute(parNme, builder.parse(configFile));

        } catch (Exception e) {
        	log.error(e.getMessage(), e);
        } finally {
        }
    }

 
    public void setArray() {
        loadXmlFile("edrItems0320Info", "1");
        loadXmlFile("riskInfo", "2");// 
        loadXmlFile("edrItems0331Info", "3");
       
    }
}
  相关解决方案