`

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");
       
    }
}
分享到:
评论

相关推荐

    Web服务启动时自动加载Servlet,并读取数据库内容

    本例中,我们将讨论如何配置Web服务以在启动时加载Servlet,并利用Spring框架来读取和处理数据库内容。 首先,让我们了解Servlet的生命周期。Servlet有三个主要阶段:初始化(init)、服务(service)和销毁...

    web.xml文件中配置(servlet, spring, filter, listenr)的加载顺序

    在`web.xml`中配置Spring时,通常通过Listener来加载Spring容器,这样可以在应用程序启动时初始化所有的Spring Bean。 **示例代码:** ```xml org.springframework.web.context.ContextLoaderListener ...

    原生Servlet与Spring Controller性能比较--Servlet项目

    在Java Web开发中,Servlet和Spring MVC(主要通过Controller)是两种常见的请求处理机制。本文将深入探讨原生Servlet与Spring Controller在性能方面的差异,并基于一个名为"AbTest"的Servlet项目源码进行分析。 ...

    在Servlet直接获取Spring框架中的Bean.docx

    需要注意的是,这两种方法都依赖于Spring容器已经初始化,并且Bean已经被加载到ApplicationContext中。通常,这会在Servlet容器启动时由Spring的`ContextLoaderListener`或`DispatcherServlet`完成。如果在Spring...

    Java中Spring获取bean方法小结

    在`web.xml`中定义Servlet,并在`init()`方法中加载ApplicationContext。这有助于确保在应用启动时完成所有必要的初始化工作。 ```xml &lt;servlet&gt; &lt;servlet-name&gt;AppInitializer&lt;/servlet-name&gt; &lt;servlet-class&gt;...

    Servlet JSP Spring MVC初学指南(alin书签).pdf

    Servlet、JSP和Spring MVC是Java Web开发中的三个重要技术,它们在构建动态网页和企业级应用程序中扮演着核心角色。下面将详细解释这三个技术及其相互关系。 **Servlet** 是Java编程语言中的一种接口,由Java ...

    加载spring 文件,在web.xml中的配置

    当我们谈论“加载Spring文件,在web.xml中的配置”时,主要是指如何在Web应用启动时初始化Spring IoC(Inversion of Control,控制反转)容器并加载配置文件。 1. **使用ContextLoaderListener** `&lt;listener&gt;`标签...

    Spring 管理filter 和servlet

    在`web.xml`中,使用`ContextLoaderListener`来初始化Spring的WebApplicationContext,确保在Filter执行之前Spring的上下文已经被加载。配置如下: ```xml &lt;param-name&gt;contextConfigLocation &lt;param-value&gt;/...

    spring依赖注入bean

    在 Web 应用中,Spring 通常作为 Servlet 容器的一部分工作,例如 Tomcat 或 Jetty,通过 XML 配置文件或注解来定义 Bean 的配置。然而,在非 Web 的 Java 应用程序,如桌面应用或服务,我们同样可以利用 Spring 的 ...

    Spring动态加载配置文件

    总的来说,Spring动态加载配置文件的实现涉及到文件监听、配置文件解析、应用上下文刷新以及Web容器的协同。通过这样的机制,开发者可以在开发阶段快速响应配置的更改,提高开发效率,同时降低生产环境因重启服务...

    spring 与 servlet整合

    2. **Spring的Servlet监听器**:如ContextLoaderListener,用于初始化Spring的ApplicationContext,加载配置文件并管理bean。 3. **HandlerMapping**:负责将请求映射到相应的处理器,Spring MVC提供了多种映射策略...

    JspServletBean example

    在本教程中,我们将深入探讨如何结合JSP、Servlet和Bean来构建Web应用。 首先,让我们理解JSP的运作机制。JSP页面由HTML代码和嵌入的Java代码组成。当客户端发起请求时,Web服务器会将JSP转换成Servlet,然后执行这...

    web.xml中servlet, bean, filter, listenr 加载顺序_动力节点Java学院整理

    web.xml中的Servlet、Bean、Filter、Listener加载顺序详解 在Java Web应用程序中,web.xml文件扮演着非常重要的角色,它定义了Web应用程序的配置信息,包括Servlet、Bean、Filter、Listener等组件的配置。其中,...

    Spring 自启动项目demo

    通过这个Spring自启动项目demo,我们可以学习到Spring如何管理和初始化Bean,以及如何使用Spring MVC来构建一个简单的Web应用。这只是一个基础的示例,实际项目中可能涉及到更复杂的配置和功能,如AOP(面向切面编程...

    spring+servlet 入门hello_world

    6. **启动配置**:在运行项目时,你需要确保Tomcat服务器配置正确,Spring的上下文加载正常,以及Servlet被正确地部署和初始化。 通过这个简单的"spring+servlet 入门hello_world"实例,你将学习到如何设置和运行一...

    Spring中ApplicationContext加载机制

    ApplicationContext 是 Spring 框架中的核心组件之一,负责加载和管理应用程序中的 Bean 对象。在 Web 应用程序中,ApplicationContext 的加载机制是非常重要的, Spring 提供了多种方式来加载 ApplicationContext。...

    Spring源代码解析(二):IoC容器在Web容器中的启动.doc

    总的来说,Spring在Web容器中的启动过程涉及到`WebApplicationContext`的创建、配置文件的解析、bean定义的加载和bean的实例化。通过这种方式,Spring能够紧密地集成到Web环境中,提供全面的依赖注入和控制反转功能...

    Web Service框架xfire与spring集成开发流程

    - 首先,需要在`web.xml`中设置`context-param`来指定Spring的配置文件位置,这样Spring容器就可以加载相应的bean定义。 - 接着,我们需要配置XFire的servlet,这里使用的是`XFireSpringServlet`,这是专门为...

    第一章 Spring4 简介及获取Bean

    3. **Web**:Web-Servlet和Web-Portlet模块,用于Web应用开发。 4. **AOP**:提供AOP功能。 5. **Instruments**:提供类加载器和应用服务器特定的接口。 6. **MVC**:Spring MVC是一个用于构建Web应用程序的全面模型...

    在web项目中引入spring

    - **配置Servlet容器**: 如果是使用Servlet容器(如Tomcat),需要配置一个名为`ContextLoaderListener`的监听器,它会在Web应用启动时加载Spring的ApplicationContext。 - **创建Spring配置文件**: 创建XML或Java...

Global site tag (gtag.js) - Google Analytics