Ich bin nicht in der Lage, ein Stück Code in dem folgenden JSP-Code zu erhalten (kommentiert als d1, d2, d3, d4):Erklären Sie mir ein paar Stücke des folgenden JSP-Code:
<%@page import="java.sql.*" errorPage="/MyError.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LoginProcess</title>
</head>
<body>
<%
Connection conn = null;
String uname = request.getParameter("uname");
String pass = request.getParameter("pass");
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException e)
{
out.println("Error(class):"+e);
}
try
{
conn = DriverManager.getConnection("jdbc:mysql://localhost/studentdb","root","mysql");
PreparedStatement stmt = conn.prepareStatement("select * from studentdb.userdetails where uname=? and pass=?");
stmt.setString(1, uname);
stmt.setString(2, pass);
ResultSet rs = stmt.executeQuery();
if(!rs.next())
{
out.println("username or password is incorrect");
%> <%--d1--%>
Try Again:<%@include file="Login.html" %> <%--d2--%>
</body> <%--d3--%>
</html> <%--d4--%>
<%
return;
} //if
} //try-sql
catch(SQLException e)
{
out.println("Error(SQL):" + e);
}
finally
{
conn.close();
}
%>
This is Home Page<br>
Welcome,<b> <%= uname%></b>
</body>
die folgenden erscheinen in einem if-Block, den ich nicht verstehe, warum und wie funktionieren sie, ich weiß die Bedeutung von <% @ include file = "Login.jsp"> und selektive Tags, aber nicht ich bekomme, wie funktionieren sie hier .
%> <%--d1--%>
Try Again:<%@include file="Login.html" %> <%--d2--%>
</body> <%--d3--%>
</html> <%--d4--%>
<%
(die Körper- und HTML-Tags erscheinen nicht im oben genannten Code).
Sie vermisste die Rückkehr. Wenn die Abfrage nichts zurückgibt, wird das Formular "erneut versuchen" angezeigt und dann "return", andernfalls wird der normale Seitenfuß angezeigt. –