数据库的用户名、密码、连接驱动、地址等写到了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数据库。 Oracle数据库是全球领先的数据库管理系统之一,尤其在企业级应用中广泛应用。它提供了丰富的功能和高级特性,如事务处理、数据仓库、分布式数据库...
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`,对于一个基于Java的Web应用来说至关重要,特别是使用Spring MVC和MyBatis框架的时候。接下来,我们将...
在现代的Web开发中,"Web项目没有web.xml配置文件"是一个常见的现象,尤其是在使用Spring Boot、Spring MVC等框架时。传统的Java Web应用通常依赖于`web.xml`文件来配置Servlet、过滤器、监听器等核心组件,但在最新...
这三者结合,为EJB+JPA的应用提供了完整的环境配置:"jboss-web.xml"定义了Web应用与EJB的交互方式,"jndi.properties"提供了JNDI查找的配置,而"oracle-ds.xml"确保了数据库连接的可用性。在JBoss这样的应用服务器...
### JSP从web.xml读取连接数据库的参数 在Java Web开发中,为了增强应用程序的安全性和可维护性,通常会将数据库连接信息等敏感配置放置在`web.xml`文件中,而不是硬编码到JSP或Servlet代码中。这样做不仅提高了...
在ASP.NET中,连接SQL Server数据库通常涉及到对`web.config`文件的配置。`web.config`是ASP.NET应用程序的核心配置文件,它包含了诸如应用程序设置、连接字符串、身份验证模式等重要信息。本篇文章将深入探讨如何在...
在启动一个 web 项目时,容器(如 Tomcat)会去读它的配置文件 web.xml。在读取 web.xml 文件时,容器会读取两个节点:<listener> 和 。紧接着,容器会创建一个 ServletContext(上下文),这个 web 项目所有部分都...
配置 Web.xml 解决中文乱码问题 本文主要讨论了在 Web 开发中遇到的中文乱码问题,并提供了一些解决方案。首先,需要确定中文乱码问题不是由浏览器引起的,然后讨论了 Tomcat 服务器配置和数据库 bean 配置中的一些...
在ASP.NET开发中,Web.config文件扮演着至关重要的角色,它是应用程序的配置文件,其中包含了应用程序运行时所需的各种设置。数据库连接配置是其中的关键部分,它允许应用与数据库进行交互。下面将详细介绍如何在ASP...
"jsp乱码解决超酷,通过web.xml配置"这个标题表明,我们将通过配置`web.xml`文件来解决JSP页面中的乱码问题。下面将详细介绍这个过程以及相关的知识点。 首先,我们需要理解JSP乱码产生的原因。当用户通过表单提交...
### JSP从web.xml读取连接数据库的参数 #### 知识点概述 在Java Web应用开发中,经常需要从数据库获取数据以提供相应的服务。为了确保安全性与灵活性,通常会将数据库连接信息如驱动、URL、用户名及密码等配置在`...
当启动一个Web应用时,服务器会读取并解析`web.xml`文件中的配置信息,以确保应用能够正确地初始化和运行。 ##### 加载流程: 1. **读取 `<listener>` 和 `<context-param>` 节点:** - 当启动Web应用容器(例如...
《hibernate.cfg.xml配置与数据库驱动详解》 在Java Web开发中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使开发者能够更专注于业务逻辑而不是底层数据存储。而`hibernate.cfg.xml`文件是...
### Web.Config配置数据库连接知识点详解 #### 一、概述 在ASP.NET开发中,通过`web.config`文件配置数据库连接是一种常见的做法。这种方式不仅能够提高代码的可维护性,还能增强应用程序的安全性。本文将详细介绍...
这个压缩包文件包含的应该是与SSH框架相关的配置文件以及web.xml配置文件和必要的jar包。这些文件在Java Web应用的开发、运行和部署过程中起着至关重要的作用。下面我们将详细探讨SSH框架的核心组件、配置文件的作用...
文档涉及了Struts2框架、web.xml配置文件、Action类以及数据库连接等关键概念。接下来,将详细探讨这些概念以及它们在用户登录功能实现中的作用。 1. Struts2框架 Struts2是一个开源的MVC(Model-View-Controller)...
在现代Java应用开发中,Spring MVC作为Web框架和Java ...以上就是关于"springMVC+JAP整合出去persistence.xml配置文件"的详细说明,通过这种方式,我们可以构建出更加现代化、高效且易于扩展的Java Web应用。
在Java Web开发中,Tomcat连接池是一种管理数据库连接的有效方式,它可以提高应用程序的性能和效率。本篇文章将深入解析如何在Tomcat 6.0中配置数据库连接池,包括在JSP应用中使用和调用的方法。 首先,我们要创建`...
在Spring框架中,传统的Web应用通常会依赖于`web.xml`来配置ApplicationContext,但随着Spring的发展,特别是Spring 3.0引入的JavaConfig配置方式,我们不再需要`web.xml`来初始化Spring容器。本篇文章将深入探讨...