【问题标题】:Tomcat JNDI datasource set own database passwordTomcat JNDI数据源设置自己的数据库密码
【发布时间】:2013-03-09 03:49:51
【问题描述】:

目前我的系统运行如下外部 JNDI 连接:

在我的 context.xml 中:

<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/sql" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" 
maxWait="10000" username="sa" password="sa" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost\sqlexpress:1433;databaseName=Agent_DB">                 
</Context>

我的java代码:

Context initContext = new InitialContext();
Context envContext  = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/sql");          
if (envContext == null) throw new Exception("Error: No Context");
if (ds == null) throw new Exception("Error: No DataSource");
if (ds != null) conn = ds.getConnection();`

如您所见,连接数据库的密码已在我的 context.xml 中设置。有什么办法可以在我的java代码中设置数据库密码?原因是由于安全问题,密码必须加密,所以我需要在我的 Java 代码中对其进行解密,以便 getConnection()。

【问题讨论】:

    标签: sql-server tomcat datasource jndi


    【解决方案1】:

    当然,只需将其从 context.xml 中删除并使用 DataSource.getConnection(username, password).

    【讨论】:

    • 能否请您与我分享如果我只使用 DataSource.getConnection(username, password) 会怎样?
    猜你喜欢
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    • 2013-05-04
    • 2019-04-10
    • 2012-05-30
    • 2010-12-22
    • 2012-09-14
    • 1970-01-01
    相关资源
    最近更新 更多