我正在尝试从问题表中检索数据,但是以下代码未显示输出。
index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import="java.sql.*" %>
<%
Connection con = null;
Statement st = null;
ResultSet rs = null;
try{
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/users","root", "1234");
String qry = "SELECT * FROM questions";
rs = st.executeQuery(qry);
while(rs.next()){
out.println("Email :" + rs.getString(2) + "<br>");
out.println("Title :" + rs.getString(3) + "<br>");
out.println("Description :" + rs.getString(4) +"<br>");
}
}
catch(Exception ex){}
%>
答案 0 :(得分:0)
out.println是什么?那不是您使用scriptlet输出的方式。它应该看起来像这样:
while(rs.next()){
%>
<%="Email :" + rs.getString(2) + "<br>"%>
<%="Title :" + rs.getString(3) + "<br>"%>
<%="Description :" + rs.getString(4) +"<br>"%>
<%
}
大多数人会说不要以脚本开头。
如果这不能解决问题,则可能是您捕获了异常。尝试输出如下异常:
catch(Exception ex){%><%=ex.toString()%><%}
看起来您有java.lang.NullPointerException,因此您必须弄清楚要使用的对象为null。查看您的代码,似乎您从未初始化Statement st
。尝试在st = con.createStatement()
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/users","root", "1234");