守则合规

Code compliance

每当声纳在 JSP 中遇到此类导入时,它就会将它们标记为不符合以下规则。

是否不允许导入我们将在 scriptslet 中使用的 Java classes?
我们是否需要在每次使用时明确提供 class 被导入

<%@ page import="java.util.Date, java.sql.Timestamp, java.util.HashMap ,import="java.sql.Date"%>

IIRC,需要 导入您将在 scriptlet 中使用的 类。然而...

在 JSP 中执行繁重的 Java 逻辑确实 不是个好主意。我这样说是因为有人曾经不得不关闭 JSP 中的 connection 漏洞。 (>_<)

我花了几个星期才找到它,因为您不希望 JSP 与数据库对话。您希望数据库通信 - 以及其余逻辑 - 在 .java 文件中。因此,此规则将您的 Java 导入标记为 "Hey, move this logic to the servlet and use the JSP for pure presentation!"

的一种表达方式

现在我已经从我的系统中删除了布道,我要指出这条规则在默认情况下不会标记任何包,所以无论它标记的是什么,都是由您的 SonarQube 管理员(或指定人员)配置标记的).所以你可能应该讨论为什么你不能和她一起使用这些类。