我已经创建了一个简单的java类,可以访问sql数据库,但是工作正常 这是代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Query2 {
public static void main (String[] args) {
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/riconoscimento?"
+ "user=root&password=root");
Statement stmt = conn.createStatement();
ResultSet rs;
rs = stmt.executeQuery("SELECT * FROM utenti; ");
while ( rs.next() ) {
String passwordToRead = rs.getString("password");
String usernameToRead = rs.getString("username");
System.out.println(passwordToRead);
System.out.println(usernameToRead);
}
conn.close();
} catch (Exception e) {
System.err.println("Database Access Error");
System.err.println(e.getMessage());
}
}
}
jsp页面中的相同代码不起作用,问题是try-catch块没有被执行,我不知道它是如何可能的 这是代码:
<%@ page language ="java" import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>I dati inseriti per l'autenticazione sono:</title>
</head>
<body>
<h1>
<%
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/riconoscimento?"
+ "user=root&password=root");
Statement stmt = conn.createStatement();
ResultSet rs;
rs = stmt.executeQuery("SELECT * FROM utenti; ");
while ( rs.next() ) {
String passwordToRead = rs.getString("password");
String usernameToRead = rs.getString("username");
out.println(passwordToRead);
out.println(usernameToRead);
}
conn.close();
} catch (Exception e) {
System.err.println("Database Access Error");
System.err.println(e.getMessage());
}
%>
</h1>
</body>
</html>
答案 0 :(得分:0)
答案 1 :(得分:0)
您是否期望将catch中的语句输出到JSP页面?如果是这样,您将需要使用out.println。 System.err.println将写入服务器错误日志。