我将我的 Java 应用程序 EAR 提交给 Veracode 安全测试工具,并在以下代码中发现了 API 滥用 - 直接连接管理缺陷:
Connection con = DriverManager.getConnection (url, hsUserId, hsPassword);
有人请帮我解决这个问题。
您的错误消息非常清楚地说明了这一点:
连接缺陷的直接管理
所以在一个容器中,你永远不应该手动创建连接,而是让容器来做。
您说的是“J2EE”,还是指的是“Java EE”?(您应该添加相关标签!)
在第一种情况下,您必须进行 JNDI 查找:
InitialContext ctx = new InitialContext();
DataSource datasource = (DataSource) ctx.lookup("..");
Connection conn = datasource.getConnection();
在第二种情况下,您对其进行注释并让它注入:
@PersistenceContext
EntityManager em;