gpt4 book ai didi

java - 我无法从 JSP 页面调用带有 varargs 的方法

转载 作者:行者123 更新时间:2023-11-30 07:41:49 24 4
gpt4 key购买 nike

我在我的应用程序中定义了类DBBase:

public class DBBase {
public static void close(Statement stmt) {
try {
if (stmt != null) stmt.close();
} catch (Exception ex) {
logger.error("Exception:(", ex);
}
}

public static void close(ResultSet resultSet) {
try {
if (resultSet != null) resultSet.close();
} catch (Exception ex) {
logger.error("Exception:(", ex);
}
}

public static void close(Connection con) {
try {
if (con != null) con.close();
} catch (Exception ex) {
logger.error("Exception:(", ex);
}
}

public static void close(Object... closeable) {
for (Object obj : closeable) {
if (obj != null) {
if (obj instanceof Connection) close((Connection) obj);
else if (obj instanceof ResultSet) close((ResultSet) obj);
else if (obj instanceof Statement) close((Statement) obj);
}
}
}
}

当我从另一个类调用关闭方法DBBase.close(con, stmt, resSet)时,一切正常,但是当我从JSP页面调用此方法时我收到以下错误:

An error occurred at line: 20 in the jsp file: /admin/test.jsp
Generated servlet error:
The method close(Statement) in the type DBBase is not applicable for the arguments (Connection, Statement, ResultSet)

这是我的 JSP 页面:

<%@ page import="java.sql.ResultSet" %>
<%@ page import="java.sql.Statement" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="db.DBBase" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%
Connection con = null;
Statement stmt = null;
ResultSet resSet = null;

try {
// Some code here
} catch (Exception ex) {
ex.printStackTrace();
} finally {
DBBase.close(con, stmt, resSet);
}
%>
<html>
<head>
<title>Test JSP File</title>
</head>
<body>

</body>
</html>

我的 JDK 版本是 1.7.0._51,语言级别为 7

问题是什么?

更新

这是我的服务器和 jsp 配置:

Server Version: Apache Tomcat/5.5.17
Servlet Version: 2.4
JSP Version: 2.0

其实我有JBoss 4.0.4 GA

更新

关于@AlexC 的评论,我必须更改我的 JBoss 版本以使用可变参数。

最佳答案

JSP 2.1 的 JSR-245 定义了 JSP 和 Tomcat 中可变参数的使用,这是在 7.x 发布周期中完成的。 (参见http://alex-perevalov.livejournal.com/30156.htmlhttps://wiki.apache.org/tomcat/Specifications)

在 web.xml 中(参见 http://tomcat.apache.org/tomcat-7.0-doc/jasper-howto.html ),如果需要限制,您可以指定要支持的 JSP 版本。

将您的应用服务器升​​级到 JSP 2.1 兼容服务器应该允许可变参数。

关于java - 我无法从 JSP 页面调用带有 varargs 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34566155/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com