当我想使用 JSP 连接到 MySql 时,我遇到了错误“org.apache.jasper.JasperException: 无法编译 JSP 类,在 jsp 文件中的第 14 行发生错误:/index.jsp”。 jsp DbClass 无法解析
”,而我的代码中的一切看起来都正常。首先我以为这是由 MySQL jar 文件引起的,但事实并非如此。不是必须是我项目中的类文件(DbClass.class)吗?
index.jsp
<%@ page import="com.sampleWeb.*,java.sql.*"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>sampleWeb</title>
</head>
<body>
<%
Connection c = DbClass.connect();
out.println(c);
DbClass.closeConnection(c);
%>
</body>
</html>
DbClass.java
package com.sampleWeb;
import java.sql.*;
public class DbClass {
public DbClass(){}
public static Connection connect() {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
return DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
} catch() {
return null;
}
}
public static boolean closeConnection(Connection conn) {
try{
conn.close();
return true;
} catch(Exception e) {
return false;
}
}
}
最佳答案
你的代码可以工作。我测试了一下。
唯一的问题是空的 catch 括号 } catch() {
。
我可以想象 DbClass 中的编译问题可能会使其无法解决。
为了测试这个假设并定位问题,请尝试将 DbClass 简化为简单的返回:
package com.sampleWeb;
public class DbClass {
public static String connect() {
return "test";
}
}
关于java - org.apache.jasper.JasperException : Unable to compile class for JSP issue in dynamic web project,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40800646/