1

我将我的 Java 应用程序 EAR 提交给 Veracode 安全测试工具,并在以下代码中发现了 API 滥用 - 直接连接管理缺陷:

Connection con = DriverManager.getConnection (url, hsUserId, hsPassword);  

有人请帮我解决这个问题。

4

1 回答 1

4

您的错误消息非常清楚地说明了这一点:

连接缺陷的直接管理

所以在一个容器中,你永远不应该手动创建连接,而是让容器来做。

您说的是“J2EE”,还是指的是“Java EE”?(您应该添加相关标签!)

在第一种情况下,您必须进行 JNDI 查找:

InitialContext ctx = new InitialContext();
DataSource datasource = (DataSource) ctx.lookup("..");
Connection conn = datasource.getConnection();

在第二种情况下,您对其进行注释并让它注入:

@PersistenceContext
EntityManager em;
于 2013-04-19T08:27:52.163 回答