我现在要发送一条请求 service/?request=changeConfiguration&user=abcd&password=123&url=127.0.0.1/xxx
来变更原有的数据库配置
代码如下:Cofig.properties
DB_DRIVER=org.postgresql.Driver
DB_CONN_URL=jdbc\:postgresql\://127.0.0.1\:5432/zyzx
DB_USER=zyzx
DB_PASSWORD=zyzx
Configuration.java public static String DRIVER;
public static String URL;
public static String USER;
static{
FileInputStream in = null;
try{
String propertyPath = System.getProperty("user.dir").concat(File.separator).concat("Config.properties");
in = new FileInputStream(propertyPath);
Properties p = new Properties();
p.load(in);
DRIVER = p.getProperty("DB_DRIVER");
URL = p.getProperty("DB_CONN_URL");
                            USER = p.getProperty("DB_USER");
                       DBUtil.startPool();
                         }catch(){}....DBUtil.java private static BasicDataSource ds = null; public static void startPool() {
ds = new BasicDataSource();
ds.setDriverClassName((String) Configuration.DRIVER);
ds.setUsername((String) Configuration.USER);
ds.setPassword((String) Configuration.PASSWORD);
ds.setUrl((String) Configuration.URL);
                 }
          public static Connection getConnection() throws SQLException{
return ds.getConnection();
}
我要在servlet里接收请求
例如
else if("changeConfiguration".equals(request.getParamer("request"))){
  changeDB(user,password,url) //修改数据库方法  不知道怎么写
}在线坐等大神解答。

解决方案 »

  1.   

    集群是个很好的解决方式,当然如果你非要这么做也不是不行的。当然其实不建议直接修改默认的配置文件。你可以通过url创建新的连接。如果你一定要修改配置文件的话,Properties有set方法,你覆盖原有的值就可以了。然后好像是通过store(file,string)的方法来覆盖原有文件就可以了
      

  2.   


    public void a() throws FileNotFoundException, IOException{
    String path = "/config.properties";
    Properties p = new Properties();
    p.setProperty("DB_DRIVER", "");
    p.setProperty("DB_CONN_URL", "");
    p.setProperty("DB_USER", "");
    p.setProperty("DB_PASSWORD", "");
    p.store(new FileOutputStream(path), null);
    }类似于这样就可以创建一个properties文件,然后你读这个文件就可以了