`

JSP-->web应用中属性文件使用 (转载)

    博客分类:
  • java
阅读更多

 

         在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

 

分享到:
评论

相关推荐

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    13.2 在jsp中使用javabean 412 13.2.1 [jsp:usebean] 412 13.2.2 [jsp:setproperty] 413 13.2.3 [jsp:getproperty] 414 13.2.4 示例 414 13.3 网上书店程序 418 13.4 小结 440 第14章 jsp开发的两种模型 441 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    13.2 在jsp中使用javabean 412 13.2.1 [jsp:usebean] 412 13.2.2 [jsp:setproperty] 413 13.2.3 [jsp:getproperty] 414 13.2.4 示例 414 13.3 网上书店程序 418 13.4 小结 440 第14章 jsp开发的两种模型 441 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    13.2 在jsp中使用javabean 412 13.2.1 [jsp:usebean] 412 13.2.2 [jsp:setproperty] 413 13.2.3 [jsp:getproperty] 414 13.2.4 示例 414 13.3 网上书店程序 418 13.4 小结 440 第14章 jsp开发的两种模型 441 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    13.2 在jsp中使用javabean 412 13.2.1 [jsp:usebean] 412 13.2.2 [jsp:setproperty] 413 13.2.3 [jsp:getproperty] 414 13.2.4 示例 414 13.3 网上书店程序 418 13.4 小结 440 第14章 jsp开发的两种模型 441 ...

    《Java-Web应用开发基础》综合练习3.docx

    11. Context参数:Context参数是Web应用的全局参数,可以在web.xml文件中配置。可以使用application对象来获取这些参数。 12. 表单提交:HTML中的表单可以使用post或get方法提交数据,提交地址可以是Servlet、jsp或...

    JBuilder2005实战JSP(转载)

    首先,通过菜单栏选择"File" -> "New" -> "Web",然后双击"JSP"图标,会弹出创建JSP向导。向导中,你可以指定JSP要加入的Web模块,若工程中只有一个webModule,则默认选择。在"Name"字段中,你可以输入JSP文件的名称...

    关于struts-menu的简单使用方法(静态的取XML的方式-转载)

    总的来说,Struts-menu是一个强大的工具,它通过XML配置文件简化了Java Web应用中菜单的创建和管理。通过理解其基本结构、集成步骤以及如何在JSP中使用标签库,我们可以轻松地在Struts应用中实现动态菜单功能。对于...

    springmybatis

    -- 返回list 的select 语句,注意 resultMap 的值是指向前面定义好的 --> <select id="selectUsers" parameterType="string" resultMap="resultListUser"> select * from user where userName like #{userName} ...

    webwork教程

    3. 配置Web应用的web.xml文件,设置过滤器和Servlet,以便WebWork可以拦截和处理请求。 4. 创建一个简单的HelloWorld Action,继承自WebWork的基础Action类,并实现一个执行方法。 在HelloWorld示例中,你将创建一...

    apache ant教程

    你可以包含Web应用的所有资源,如Servlet类、JSP文件、WEB-INF目录等。 `delete`任务用于删除文件或目录,这对于清理构建过程中的临时文件非常有用。你可以通过`fileset`或`dirset`元素来指定要删除的文件或目录。 ...

    Servlet和Struts2的交互(转载)

    Servlet和Struts2是两种在Java Web开发中广泛使用的框架,它们在构建动态Web应用程序时起着关键作用。Servlet是Java EE规范的一部分,提供了一种服务器端编程模型,用于处理HTTP请求并生成响应。而Struts2是一个基于...

    配置tomcat集群

    - 将`<Server>`元素的`port`属性改为`11005`。 - 开启JK2 AJP connector,并关闭其他connector(通过注释掉或删除它们)。 - 修改JK2 AJP connector的端口号为`11009`。 - 添加支持会话复制的`ReplicationValve`...

    webwork中文教程

    WebWork 是一个基于Java的MVC(模型-视图-控制器)框架,它在J2EE平台上被广泛用于构建企业级Web应用。本教程旨在帮助开发者理解和掌握WebWork的核心概念和使用方法。 **WebWork 介绍** WebWork 是由Apache软件...

    Tomcat多端口域名访问并配置开启gzip压缩方法

    它能够提供基于Java的Web应用环境,支持Servlet和JSP(Java Server Pages)运行。本文主要讲解了如何在Tomcat中配置多端口域名访问,并且详细介绍了如何开启gzip压缩,以提高Web应用的性能和响应速度。 首先,我们...

    二十三种设计模式【PDF版】

    整体结构和一些主要职责(如数据库操作 事务跟踪 安全等),剩余的就是变化的东西,针对这个领域中具体应用产生的具体不同 的变化需求,而这些变化东西就是 J2EE 程序员所要做的。 由此可见,设计模式和 J2EE 在思想...

Global site tag (gtag.js) - Google Analytics