Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 293|回复: 0

[jsp学习]WEB应用中读取配置文件

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-10-1 03:57:24 | 显示全部楼层 |阅读模式
    假设你的属性文件Proxool.properties中有数据库配置信息:
    jdbc-0.proxool.alias=Access
    jdbc-0.proxool.driver-class=sun.jdbc.odbc.JdbcOdbcDriver
    jdbc-0.proxool.driver-url=jdbc:odbc:cwb jdbc-0.proxool.maximum-connection-count=20
    jdbc-0.proxool.prototype-count=4 jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE
    jdbc-0.proxool.verbose=true
    jdbc-0.proxool.statistics=10s,1m,1d
    jdbc-0.proxool.statistics-log-level=ERROR  你将这个属性文件放到你的WEB应用程序的web-info/classes目录下,在bean或类文件中访问这个属性文件的传统方法莫过如此:
      
       
       
       

       
      
    1. package examples;
    2. import java.io.*;
    3. import java.util.*;
    4. public class EnvironmentConfig {
    5.         static EnvironmentConfig ec;//创建对象ec
    6.         private static Hashtable register = new Hashtable();//静态对象初始化[在其它对象之前]
    7.     private EnvironmentConfig() {
    8.         super();
    9.     }
    10.     /**
    11.      * 取得EnvironmentConfig的一个实例
    12.      * @return ec
    13.      */
    14.     public static EnvironmentConfig getInstance() {
    15.         if (ec==null)
    16.             ec = new EnvironmentConfig();//创建EnvironmentConfig对象
    17.         return ec;//返回EnvironmentConfig对象
    18.     }
    19.     /**
    20.      * 读取配置文件
    21.      * @param java.lang.String fileName
    22.      * @return Properties
    23.      */
    24.     public Properties getProperties(String fileName) {//传递配置文件路径
    25.         InputStream is=null;//定义输入流is
    26.         Properties p = null;
    27.         try{
    28.             p = (Properties)register.get(fileName);//将fileName存于一个HashTable
    29.             /**
    30.              * 如果为空就尝试输入进文件
    31.              */
    32.             if (p==null) {
    33.                 try{
    34.                     is = new FileInputStream(fileName);//创建输入流
    35.                 }
    36.                 catch(Exception e){
    37.                     if (fileName.startsWith("/"))
    38.                         //用getResourceAsStream()方法用于定位并打开外部文件。
    39.                         is = EnvironmentConfig.class.getResourceAsStream(fileName);
    40.                     else
    41.                         is = EnvironmentConfig.class.getResourceAsStream("/"+fileName);
    42.                 }
    43.                 p = new Properties();
    44.                 p.load(is);//加载输入流
    45.                 register.put(fileName, p);//将其存放于HashTable缓存
    46.                 is.close();//关闭输入流
    47.             }
    48.                 }
    49.                 catch(Exception e){
    50.                      e.printStackTrace(System.out);
    51.                 }
    52.         return p;//返回Properties对象
    53.     }
    54.     /**
    55.      * 此处插入方法描述。
    56.      * 创建日期:(2003-8-10 12:30:09)
    57.      * @param fileName java.lang.String
    58.      * @param strKey java.lang.String
    59.      */
    60.     public String getPropertyValue(String fileName, String strKey) {
    61.         Properties p = getProperties(fileName);
    62.                 try{
    63.             return (String)p.getProperty(strKey);
    64.         }
    65.         catch(Exception e){
    66.             e.printStackTrace(System.out);
    67.         }
    68.         return null;
    69.     }
    70. }
    复制代码
    下面是jsp测试:testpro.jsp <%@ page contentType="text/HTML; charset=GBK" %>
    <%@ page import="examples.EnvironmentConfig" %>
    <%@ page import="java.util.*" %> 配置文件测试<br>
    <%
    EnvironmentConfig ec=EnvironmentConfig.getInstance();
    //Properties p=ec.getProperties("/Proxool.properties");
    String s=ec.getPropertyValue("/Proxool.properties","jdbc-0.proxool.driver-class");
    out.println("jdbc-0.proxool.driver-class="+s);  
    %>
      运行结果: 配置文件测试
    jdbc-0.proxool.driver-class=sun.jdbc.odbc.JdbcOdbcDriver
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-2 01:10 , Processed in 0.438845 second(s), 49 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表