`

关于连接数据库时读web.xml配置的问题

    博客分类:
  • java
阅读更多

数据库的用户名、密码、连接驱动、地址等写到了web.xml配置里面,连接数据库时,需要从web.xml里面读取数据库的配置信息,读取方法如下:

 

 

public static String GetWebInfo(String info)
{
	String  resultinfo=null;
	try 
	{
		String fPath=Thread.currentThread().getContextClassLoader().getResource("").getPath().toString();
		//得到工程的WEB-INF路径
		fPath = fPath.substring(0,fPath.indexOf("WEB-INF")+8)+"web.xml";
                      
		DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
		domFactory.setNamespaceAware(true);    //never forget this!
		DocumentBuilder builder = domFactory.newDocumentBuilder();
		Document doc = builder.parse(fPath);

		XPathFactory factory = XPathFactory.newInstance();
		XPath xpath = factory.newXPath();
		xpath.setNamespaceContext(new util.PersonalNamespaceContext());
		XPathExpression expr=null;
		    
		String param =  "//pre:context-param[pre:param-name=" + "'" + info + "'" + "]/pre:param-value/text()";
		expr = xpath.compile(param);
		    
		Object result = expr.evaluate(doc, XPathConstants.NODESET);
		NodeList nodes = (NodeList) result;
		for (int i = 0; i < nodes.getLength(); i++) 
		{
			resultinfo=nodes.item(i).getNodeValue();
		}
	}
	catch(Exception e)
	{
		e.printStackTrace();
	}    
	return resultinfo;
}
 

 

但是,这种用读取xml文件来读取配置信息的方法其实挺麻烦的,在Java的servlet里面,可以利用init()方法里面的

ServletConfig来读取配置信息,介绍如下:

 

ServletConfig:从一个servlet被实例化后,对任何客户端在任何时候访问有效,但仅对本servlet有效,一个servlet的ServletConfig对象不能被另一个servlet访问。

 

1、把需要用到的配置信息放到用到需要此信息的servlet里面,例如:

 

 

<web-app>
    <servlet>
        <display-name>xxxx</display-name>
        <servlet-name>xxxx</servlet-name>
        <servlet-class>xxxx</servlet-class>
        <init-param>
    	    <param-name>name</param-name>
    	    <param-value>value</param-value> 
        </init-param>
    </servlet>
</web-app>

 

 

2、下面以取上面的配置为例介绍一下用法,在servlet中要得到ServletConfig对象有两种方法:


在inii()方法中取到:通过init的重载方法传递

public class Test extends HttpServlet 
{

    ServletConfig config;

      //定义一个静态参数,在doGet或者doPost里面可以直接调用

      private static String name = "";

    public void init(ServletConfig config) throws ServletException {
        this.config = config;

config=this.getServletConfig(); name = config.getInitParameter("name");
    }
}
然后在下面的方法中就可以访问config对象。但要注意,为了确保能从构造方法中到当前servlet的config对象,应该调用父类的构造方法:
public class Test extends HttpServlet 
{
    ServletConfig config;

     //定义一个静态参数,在doGet或者doPost里面可以直接调用

      private static String name = "";

    public void init(ServletConfig config) throws ServletException {
        super.init(config);
        this.config = config;

        config=this.getServletConfig(); name = config.getInitParameter("name");
    }
}

通过getServletConfig()方法直接到时,这样做的好处是不必调手工传递属性,想在任何时候都可以得到。

 

 


 

分享到:
评论

相关推荐

    XML配置文件连接Oracle数据库

    在本场景中,我们将探讨如何使用XML配置文件来连接Oracle数据库。 Oracle数据库是全球领先的数据库管理系统之一,尤其在企业级应用中广泛应用。它提供了丰富的功能和高级特性,如事务处理、数据仓库、分布式数据库...

    WEB-INF中的web.xml中之前增加以下配置:

    WEB-INF中的web.xml配置详解 本文将详细介绍WEB-INF中的web.xml文件中的配置,包括Context配置、Resource配置、resource-ref配置,以及对应的Java类编写。 一、Context配置 在WEB-INF中的web.xml文件中,添加以下...

    项目配置文件( spring-mvc.xml spring-mybatis.xml web.xml log4j.properties)

    这里提到的四个关键配置文件——`spring-mvc.xml`、`spring-mybatis.xml`、`web.xml`以及`log4j.properties`,对于一个基于Java的Web应用来说至关重要,特别是使用Spring MVC和MyBatis框架的时候。接下来,我们将...

    Web项目没有web.xml配置文件

    在现代的Web开发中,"Web项目没有web.xml配置文件"是一个常见的现象,尤其是在使用Spring Boot、Spring MVC等框架时。传统的Java Web应用通常依赖于`web.xml`文件来配置Servlet、过滤器、监听器等核心组件,但在最新...

    jboss-web.xml jndi.properties oracle-ds.xml

    这三者结合,为EJB+JPA的应用提供了完整的环境配置:"jboss-web.xml"定义了Web应用与EJB的交互方式,"jndi.properties"提供了JNDI查找的配置,而"oracle-ds.xml"确保了数据库连接的可用性。在JBoss这样的应用服务器...

    jsp 从web.xml读取连接数据库的参数

    ### JSP从web.xml读取连接数据库的参数 在Java Web开发中,为了增强应用程序的安全性和可维护性,通常会将数据库连接信息等敏感配置放置在`web.xml`文件中,而不是硬编码到JSP或Servlet代码中。这样做不仅提高了...

    asp.net连接sql数据库web.config配置

    在ASP.NET中,连接SQL Server数据库通常涉及到对`web.config`文件的配置。`web.config`是ASP.NET应用程序的核心配置文件,它包含了诸如应用程序设置、连接字符串、身份验证模式等重要信息。本篇文章将深入探讨如何在...

    web.xml中&lt;/context-param&gt;等配置的作用

    在启动一个 web 项目时,容器(如 Tomcat)会去读它的配置文件 web.xml。在读取 web.xml 文件时,容器会读取两个节点:&lt;listener&gt; 和 。紧接着,容器会创建一个 ServletContext(上下文),这个 web 项目所有部分都...

    配置web-xml解决中文乱码问题.pdf

    配置 Web.xml 解决中文乱码问题 本文主要讨论了在 Web 开发中遇到的中文乱码问题,并提供了一些解决方案。首先,需要确定中文乱码问题不是由浏览器引起的,然后讨论了 Tomcat 服务器配置和数据库 bean 配置中的一些...

    asp.net配置web.config数据库连接

    在ASP.NET开发中,Web.config文件扮演着至关重要的角色,它是应用程序的配置文件,其中包含了应用程序运行时所需的各种设置。数据库连接配置是其中的关键部分,它允许应用与数据库进行交互。下面将详细介绍如何在ASP...

    jsp乱码解决超酷,通过web.xml配置

    "jsp乱码解决超酷,通过web.xml配置"这个标题表明,我们将通过配置`web.xml`文件来解决JSP页面中的乱码问题。下面将详细介绍这个过程以及相关的知识点。 首先,我们需要理解JSP乱码产生的原因。当用户通过表单提交...

    jsp 从web.xml读取连接数据库的参数.docx

    ### JSP从web.xml读取连接数据库的参数 #### 知识点概述 在Java Web应用开发中,经常需要从数据库获取数据以提供相应的服务。为了确保安全性与灵活性,通常会将数据库连接信息如驱动、URL、用户名及密码等配置在`...

    web.xml加载过程

    当启动一个Web应用时,服务器会读取并解析`web.xml`文件中的配置信息,以确保应用能够正确地初始化和运行。 ##### 加载流程: 1. **读取 `&lt;listener&gt;` 和 `&lt;context-param&gt;` 节点:** - 当启动Web应用容器(例如...

    hibernate.cfg.xml 配置 和数据库驱动

    《hibernate.cfg.xml配置与数据库驱动详解》 在Java Web开发中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使开发者能够更专注于业务逻辑而不是底层数据存储。而`hibernate.cfg.xml`文件是...

    web.config配置数据库连接

    ### Web.Config配置数据库连接知识点详解 #### 一、概述 在ASP.NET开发中,通过`web.config`文件配置数据库连接是一种常见的做法。这种方式不仅能够提高代码的可维护性,还能增强应用程序的安全性。本文将详细介绍...

    SSH框架配置文件及web.xml jar包

    这个压缩包文件包含的应该是与SSH框架相关的配置文件以及web.xml配置文件和必要的jar包。这些文件在Java Web应用的开发、运行和部署过程中起着至关重要的作用。下面我们将详细探讨SSH框架的核心组件、配置文件的作用...

    struts2连接数据库实现用户登录.pdf

    文档涉及了Struts2框架、web.xml配置文件、Action类以及数据库连接等关键概念。接下来,将详细探讨这些概念以及它们在用户登录功能实现中的作用。 1. Struts2框架 Struts2是一个开源的MVC(Model-View-Controller)...

    springMVC+JAP整合出去persistence.xml配置文件

    在现代Java应用开发中,Spring MVC作为Web框架和Java ...以上就是关于"springMVC+JAP整合出去persistence.xml配置文件"的详细说明,通过这种方式,我们可以构建出更加现代化、高效且易于扩展的Java Web应用。

    Tomcat连接池配置方法详解 源代码 JSP context.xml

    在Java Web开发中,Tomcat连接池是一种管理数据库连接的有效方式,它可以提高应用程序的性能和效率。本篇文章将深入解析如何在Tomcat 6.0中配置数据库连接池,包括在JSP应用中使用和调用的方法。 首先,我们要创建`...

    spring无web.xml的jdbctemplate配置

    在Spring框架中,传统的Web应用通常会依赖于`web.xml`来配置ApplicationContext,但随着Spring的发展,特别是Spring 3.0引入的JavaConfig配置方式,我们不再需要`web.xml`来初始化Spring容器。本篇文章将深入探讨...

Global site tag (gtag.js) - Google Analytics