PROXOOL连接数据库,但是不用spring等,需要实现加密解密数据库密码,怎么做

ysmlnj 2011-06-23 09:33:14
项目中又不使用Spring等,要实现用如下的配置也能连接数据库,请问除了直接修改类以外有无继承等修改方式,加载此文件的方式用的是 JAXPConfigurator.configure() 或者
--------------------------web.xml中配置
<servlet>
<servlet-name>proxoolInitialServlet</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>
<init-param>
<param-name>xmlFile</param-name>
<param-value>WEB-INF/proxool.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
---------------------------------------------------------------------------------xool.xml文件
<proxool>
<alias>BACKSTAGE_DB</alias>
<driver-url>jdbc:sqlserver://127.0.0.1:1433;database=TEST_DB</driver-url>
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
<driver-properties>
<property name="user" value="sa"/>
<property name="password" value="6D7F054306F096AA"/><!-- DES加密的字符串-->
</driver-properties>
<minimum-connection-count>1</minimum-connection-count>
<maximum-connection-count>30</maximum-connection-count>
<house-keeping-test-sql>select getdate()</house-keeping-test-sql>
<house-keeping-sleep-time>600000</house-keeping-sleep-time>
<statistics>10s,1m,1d</statistics>
</proxool>
...全文
350 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
kun5891504 2011-06-27
  • 打赏
  • 举报
回复
proxool.properties

jdbc-0.proxool.alias=test
jdbc-0.proxool.driver-url=jdbc:mysql://localhost:3306/test
jdbc-0.proxool.driver-class=com.mysql.jdbc.Driver
jdbc-0.user=root
jdbc-0.password=6D7F054306F096AA
jdbc-0.proxool.house-keeping-test-sql=select *
jdbc-0.proxool.maximum-connection-count=10
jdbc-0.proxool.minimum-connection-count=5

编写下面的应用程序


package test.pool;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import java.util.ResourceBundle;

import org.logicalcobwebs.proxool.ProxoolException;
import org.logicalcobwebs.proxool.configuration.PropertyConfigurator;

public class mysqlcon {

/**
* @param args
*/
public static void main(String[] args) {
Connection conn = null;
Statement sta=null;
ResultSet rs=null;
String sql="insert into test values ('a','a')";
try {
try {
//PropertyConfigurator.configure(mysqlcon.class.getResource("/")+"proxool.properties");
Properties pro=new Properties();
ResourceBundle resource = ResourceBundle.getBundle("proxool");
pro.put("jdbc-0.proxool.alias",resource.getString("jdbc-0.proxool.alias"));
pro.put("jdbc-0.proxool.driver-url",resource.getString("jdbc-0.proxool.driver-url"));
pro.put("jdbc-0.proxool.driver-class",resource.getString("jdbc-0.proxool.driver-class"));
pro.put("jdbc-0.user",resource.getString("jdbc-0.user"));
pro.put("jdbc-0.password",resource.getString("jdbc-0.password"));//解密处理
pro.put("jdbc-0.proxool.house-keeping-test-sql",resource.getString("jdbc-0.proxool.house-keeping-test-sql"));
pro.put("jdbc-0.proxool.maximum-connection-count",resource.getString("jdbc-0.proxool.maximum-connection-count"));
pro.put("jdbc-0.proxool.minimum-connection-count",resource.getString("jdbc-0.proxool.minimum-connection-count"));
PropertyConfigurator.configure(pro);
} catch (ProxoolException e) {
e.printStackTrace();
}
conn = DriverManager.getConnection("proxool.test");
sta=conn.createStatement();
rs=sta.executeQuery("select * from test");
while(rs.next()) {
System.out.println(rs.getString("name")+" "+rs.getString("password"));
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
rs.close();
sta.close();
//conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}

}

}

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧