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获得file属性

导入数据 " /> "> "> .file {     display: inline-block;     background: rgb(96,164,229);    ...
  • u010739973
  • u010739973
  • 2015年11月15日 21:50
  • 664

(八)spring_使用外部属性文件

为什么要使用外部属性文件 •在配置文件里配置 Bean 时, 有时需要在 Bean 的配置里混入系统部署的细节信息(例如: 文件路径, 数据源配置信息等). 而这些部署细节实际上需要和Bean 配...
  • a1034386099
  • a1034386099
  • 2016年07月23日 10:29
  • 228

Google 地图 API 初级使用

关于Google Map API的使用说明1.Google Map API介绍a) Google 地图 API 是一种通过 JavaScript 将 Google 地图嵌入到您的网页的 API。该 A...
  • myxx520
  • myxx520
  • 2010年02月24日 09:22
  • 20988

spring学习笔记(5)属性文件引入使用

外部文件引用在配置数据库参数或邮箱服务器参数等静态资源时,相对于直接将信息写入Spring的.xml,.java等配置文件中,更好的做法是将配置信息分类独立地存放到外部属性文件中,然后在Spring配...
  • qwe6112071
  • qwe6112071
  • 2016年03月14日 19:23
  • 995

spring(9) Spring中使用外部属性文件

Spring的配置文件中配置数据库信息可以使用外部属性文件,在配置文件中导入即可,导入使用。 Spring配置代码如下: context:property-placeholder location="...
  • xiongwt
  • xiongwt
  • 2015年07月20日 22:36
  • 694

Spring配置中引用外部属性文件

Spring为我们提供了一个PropertyPlaceholderConfigurer,他能够使Bean在配置的时候引用外部属性文件。ropertyPlaceholderConfigurer实现了Be...
  • zshake
  • zshake
  • 2014年01月07日 10:14
  • 1149

关于web应用中过滤器的使用

web应用中,主要是对请求和响应的处理,一般使用过滤器来对不同的请求资源根据不同的功能需求进行判断分析、转换为满足需要的请求资源,再进行相应的业务处理,返回响应给客户端。比如,有中文字符集转换过滤器、...
  • yan_dk
  • yan_dk
  • 2012年02月01日 10:44
  • 1637

JSP--(一)

一个简单的JSP 文件,部署到Tomcat,在浏览器打开的效果: 具体代码: Hello Hello ...
  • qq_34528297
  • qq_34528297
  • 2017年05月11日 10:42
  • 64

Maven学习笔记(十) : 使用Maven构建Web应用

在实际工作中,我们创建的应用大部分是web应用。在Java的世界中,Web项目的标准打包方式是WAR。这一章,我们介绍怎么使用Maven构建一个Web应用,此外我们还会介绍如何借助jetty-mave...
  • Troy__
  • Troy__
  • 2014年09月15日 21:35
  • 1984

spring_scope作用域和使用外部属性文件和spEL表达式

Spring_Bean的作用域 使用bean的scope属性来配置bean的作用域     singleton:默认值              容器初始化时就已经创建bean实例(还未获取bean...
  • Mrwuyi
  • Mrwuyi
  • 2016年06月03日 12:13
  • 1214
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JSP-->web应用中属性文件使用
举报原因:
原因补充:

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