写了个javabean,用于读取properties文件,读取数据库的url,user,和password等。
这个bean的业务很简单,就是查询更新数据库。我现在有个问题,就是每次用户使用这个bean的时候都要服务器从本地读取properties文件,这样是不是效率不佳,想过使用application对象,但是javabean里好像不能读取application对象(我个人想法)。有其它什么好方法保存属性文件信息吗?

解决方案 »

  1.   

    我的url,user,和password几个属性就是static,但客户请求连接的时候还要每次都读取配置文件。
      

  2.   

    建议用 scope="session"用户登录后,用set把properties文件读入Vector等内存中,
    以后同一用户用get来去该Vector
      

  3.   

    写一个servlet,服务器启动就拉起来,只读一次或者在你的javabean中使用static块static
    {
       load(); //该方法是读取配置文件内容
    }static块只是在类创建对象时调用,并且只调用一次
      

  4.   

    楼上的兄弟,我开始就是把代码放到static 代码端里的但InputStream in = getClass().getClassLoader().getResourceAsStream("database.properties");我这个获取属性文件为非静态方法,无法放到static里。下面的到可以String filePath = new File("database.properties").getAbsolutePath();
    但是它把属性文件定位到Tomcat/bin 下了,而不是项目文件里
      

  5.   

    既然是配置文件,想必也不会常变换位置,索性将路径写死你不是都得到了tomcat的bin路径了吗String filePath = new File("database.properties").getAbsolutePath(); //得到了tomcat的bin路径filePath += "/../" ; //这里回到了tomcat的根目录,然后再追加上你的配置文件所在的目录,比如filePath += "/../webapps/your app/WEB-INF/app.properties" ;load(filePath)  etc..