JSP-->web应用中属性文件使用

原创 2005年03月01日 14:52:00

2005年3月1日

         在web应用中,一些数据库连接参数或者系统本身的参数通常不是写在程序中的,需要保存成属性文件的形式或者XML文件的形式。二者各有优缺点,属性文件的形式操作和管理比较简单,XML文件形式则能提供很强大,并且层次性很好的属性文件的配置。
        下面讲解在web应用中通过属性文件的方式来记录一些重要的参数。
        下面的例子以一个数据库连接参数为例子,开发环境是Eclipse,部署环境是Tomcat。
        属性文件内容如下所示:
 init.properties
 -------------------------------------------------------------
 drivers=oracle.jdbc.driver.OracleDriver
 url=jdbc:oracle:thin:@127.0.0.1:1521:test
 username=testuser
 password=test
 -------------------------------------------------------------
 
 访问该属性文件的代码: 
InitPropertiesLoader.java
-------------------------------------------------------------------
package com.knight.commons
public class InitPropertiesLoader
{
 /**
     * 直接读取classpath中的属性文件
     * @param filename 文件名称和路径
     * @return
     */
    public Properties getProperties(String filename)
    {
        Properties prop = new Properties();
        InputStream in = null;
        try
        {
            in = getClass().getResourceAsStream(filename);
            prop.load(in);
        }
        catch (Exception e)
        {
            log.info("无法正确读取数据库连接配置属性文件!");
        }
        finally
        {
            try
            {
                if (in != null)
                {
                    in.close();
                }
            }
            catch (Exception e)
            {
            }
        }
        return prop;
    }
}
-------------------------------------------------------------------

ConnectionManager.java
-------------------------------------------------------------------
package com.knight.commons.database
public class ConnectionManager
{
 private static String driverName = null;
    private static String url = null;  
    private static String username = null;
    private static String password = null;
    private static Properties prop = null;
   
    public void init()
    {
     try
        {
            prop = new InitPropertiesLoader().getProperties("/init.properties");
            driverName = prop.getProperty("drivers");
            url = prop.getProperty("url");
            username = prop.getProperty("username");
            password = prop.getProperty("password");
        }
        catch (Exception e)
        {
            log.info("读取属性配置文件时出错!");           
        }
        finally
        {
            try
            {
                if (prop != null)
                    prop.clear();
            }
            catch (Exception e)
            {
                log.info(e.getMessage());
            }

        }
    }
   
    public static Connection getConnection()
    {
        Connection conn = null;
        //初始化数据库连接参数
        init();
       
        try
        {
            Class.forName(driverName);
            conn = DriverManager.getConnection(url, username, password);
        }
        catch (Exception e)
        {
            log.info("There is some error when you get a connection.");
            log.info(e.getMessage());
        }
        return conn;
    }
}
-------------------------------------------------------------------
        上面就是涉及到的几个主要文件,为了既能在IDE环境中使用该属性配置文件,又能在实际的web应用中保证该属性文件的正常调用。该属性文件存放的位置很重要。
        "/init.properties"表示该属性文件存放在CLASSPATH的跟目录中,在Eclipse环境下存放在工程/bin下。
         在web应用中init.properties存放在当前应用的WEB-INF/classes目录下。更简单的处理方式是将init.properties打到工程的包中。这样,当多个应用部署在同一个Context下时,相互之间能够保持独立性。但是这时候千万要注意同一个Context下多个应用的属性文件是否文件命名冲突。
 附打包后目录的层次:
            /
                       init.properties
           /com/knight/commons
                       InitPropertiesLoader.class
          /com/knight/commons/database
                      ConnectionManager.class

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

使用JSP开发Web应用程序

第1章 动态网站开发基础 1.         动态网页是指服务器端运行的程序或者网页,它们会随不同客户,不同时间,返回不同的内容。   2.     &...

使用JSP开发Web应用程序

第1章 动态网站开发基础 1.         动态网页是指服务器端运行的程序或者网页,它们会随不同客户,不同时间,返回不同的内容。   2.     &...

Spring Boot使用方法小札(1):Web应用返回jsp页面

直接使用SpringMVC时配置访问jsp页面时很容易的事,但是由于Spring Boot使用内嵌的servlet容器,所以对jsp的支持不是很好,而且也不建议使用jsp,但是为了满足这种返回jsp页...

使用JSP开发Web应用程序

第1章 动态网站开发基础 1.         动态网页是指服务器端运行的程序或者网页,它们会随不同客户,不同时间,返回不同的内容。   2.     &...

使用JSP开发Web应用系统

  • 2014-02-12 20:38
  • 1.88MB
  • 下载

使用JSP开发WEB应用系统.part2

  • 2009-09-27 16:47
  • 19.53MB
  • 下载

使用web.xml配置Web应用之初始化和预加载servlet和JSP页面

本节讨论如何控制servlet和JSP页面的启动行为。具体说来,本节将解释如何分配初始化参数,如何在servlet和JSP页面加载时服务器的生命周期间进行修改。 一、分配servlet初始化参数...

使用JSP开发WEB应用系统.part3

  • 2009-09-27 16:53
  • 19.53MB
  • 下载

tomcat下多个web应用使用相同的log4j的jar包,如何避免配置文件发生冲突

我们在开发的时候通常会遇到再同一个服务器下开发多个应用的情况,在公共jar包统一加载的情况下,如果log4j.properties配置不当,经常会发生多个应用的log日志都打印到一个文件里了,如果配置...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)