gpt4 book ai didi

java - 结果集不返回任何内容

转载 作者:行者123 更新时间:2023-11-29 19:03:55 25 4
gpt4 key购买 nike

我对 servlet 的输出有疑问。似乎什么也没输出。我使用 Apache Tomcat 8.0.43。它不返回任何异常。任何帮助将不胜感激。这是我的 html 文件中的表单。

<form action="servlet1" method="POST">
<p>Email<br>
<input type="text" name="email" required>
</p>
<p>Password<br>
<input type="text" name="password" required>
</p>
<p><input type="submit"></p>
</form>

这是 servlet1,它处理输入并分派(dispatch)到另一个 servlet(servlet2)以检查数据库中是否存在以下输入。

@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
PrintWriter out = response.getWriter();

String email = request.getParameter("email");
String password = request.getParameter("password");

if (Login.validate(email, password)) {
RequestDispatcher rd = request.getRequestDispatcher("servlet2");
rd.forward(request,response);
}
else {
out.print("Sorry username or password error");
RequestDispatcher rd = request.getRequestDispatcher("index.html");
rd.include(request,response);
}
out.close();
}

然后我得到了这个 Login 类,它有一个方法来检查用户是否存在于数据库中。我认为这就是问题所在。

public static boolean validate(String email,String password){  
boolean status=false;
try {
Class.forName("com.mysql.jdbc.Driver");
String conStr = "jdbc:mysql://localhost:3306/virtuoso?user=root&password=";
Connection con = DriverManager.getConnection(conStr);

String sql = "SELECT * FROM tutor WHERE email=? and password=?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1,email);
ps.setString(2,password);

ResultSet rs = ps.executeQuery();
status = rs.next();
} catch (ClassNotFoundException | SQLException e) {
//empty
}
return status;
}

最佳答案

使用try catch来了解异常。没有它,您将不会知道这个问题。

try{

.

.

} catch (Exception e) {
e.printStackTrace();
}

关于java - 结果集不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43662668/

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