2008-04-05
关于Properties的一些问题.
package cm.jdbc.dao;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
import cm.beans.Manager;
import cm.util.Path;
public class ManagerDao {
private Properties p;
//初始化,加载属性文件
public ManagerDao() {
reload();
}
private void reload() {
try {
p = new Properties();
p.load(getClass().getResourceAsStream("/cfg/admin.properties"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} //更新属性文件
public boolean updateManager(Manager man) {
p.setProperty("name", man.getName());
p.setProperty("pass", man.getPass());
try {
String path = Path.getClassesPath() + "cfg/admin.properties";
p.store(new FileOutputStream(path), null);
} catch (FileNotFoundException e) {
e.printStackTrace();
return false;
} catch (IOException e) {
e.printStackTrace();
return false;
}
return true;
} //获取属性文件
public Manager getManager() {
reload();
Manager man = new Manager();
man.setName(p.getProperty("name"));
man.setPass(p.getProperty("pass"));
return man;
}
}web页面的登陆验证时出了点问题.
我的测试步骤:
1:登陆;
2:更新属性文件.
3:登陆;
问题出现在第三步上,前面均没有错误.属性文件正常修改,再次登陆的时候.新的属性无效.(属性文件确实改变了),必须重起服务器..
有什么解决了办法没?
小弟感激不尽!
评论
nusan
2008-04-05
谢谢.我用XML做配置试下.
ecsoftcn
2008-04-05
虽然上面的做法可以达到你的目标,但不是最好的做法.你可以做一个文件监听器,当admin.properties文件发送变动的时候自动通知ManagerDao来重新加载属性文件.推荐使用开源的Jpoll
ecsoftcn
2008-04-05
确保ManagerDao 不是一个单实例的对象,每次都new一个新的ManagerDao供WEB层使用.
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 86 次
- 性别:

- 来自: 江苏徐州

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
关于Properties的一些问题 ...
谢谢.我用XML做配置试下.
-- by nusan -
关于Properties的一些问题 ...
虽然上面的做法可以达到你的目标,但不是最好的做法.你可以做一个文件监听器,当ad ...
-- by ecsoftcn -
关于Properties的一些问题 ...
确保ManagerDao 不是一个单实例的对象,每次都new一个新的Manage ...
-- by ecsoftcn






评论排行榜