gpt4 book ai didi

java - JSP 中的 out.println

转载 作者:行者123 更新时间:2023-12-01 12:58:13 28 4
gpt4 key购买 nike

这个jsp代码是我写的。这是一个基本的登录控件。我正在尝试使用我的数据库检查输入。如果它们是正确的,那么就没有问题,但如果输入为空或者它们不在数据库中,我想给出错误并将访客重定向到登录页面。

<%@ page import ="java.sql.*" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Login Process</title>
</head>
<body>
<%
String userid = request.getParameter("username");
String pwd = request.getParameter("password");
Class.forName("com.mysql.jdbc.Driver");

Connection con = DriverManager.getConnection("jdbc:mysql://localhost/ecommerce", "root1" , "1234");
Statement st = con.createStatement();
ResultSet rs;
rs = st.executeQuery("select * from users where UserFirstName='" + userid + "' and UserPassword='" + pwd + "'");
while(rs.next()){
if(userid.length()!= 0 || pwd.length()!= 0){
if (rs.getInt("Admin") == 1) {
session.setAttribute("userid", userid);
response.sendRedirect("Admin.jsp");
} else if(rs.getInt("Admin") == 0){
session.setAttribute("userid", userid);
response.sendRedirect("User.jsp");
}
else {
out.println("Invalid username or password <a href='index.jsp'>try again</a>");
}
}
else{
out.println("Empty username or password <a href='index.jsp'>try again</a>");
}
}
%>
</body>

在此代码中,有两行不起作用

else {
out.println("Invalid username or password <a href='index.jsp'>try again</a>");
}

还有这个

else{
out.println("Empty username or password <a href='index.jsp'>try again</a>");
}

我的浏览器只给我一个空白页面,而不是范围。

最佳答案

如果输入为空或它们不在数据库中,我想给出错误

使用 if (rs.next()) 而不是 while (rs.next()) 来检查是否没有记录。

<小时/>

示例代码:(根据您的要求修改)

String userid = request.getParameter("username");
String pwd = request.getParameter("password");

// check for empty username or password before making a call to database
if (userid == null || userid.trim().length() == 0 || pwd == null
|| pwd.trim().length() == 0) {
out.println("Invalid username or password <a href='index.jsp'>try again</a>");
} else {
... // request for database query
if (rs.next()) { // use if instead of while to check for no record
...
} else {
out.println("Empty username or password <a href='index.jsp'>try again</a>");
}
}

关于java - JSP 中的 out.println,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23724079/

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