JSP(Java Server Pages)是一种动态网页开发技术,它允许在HTML或XML文档中直接嵌入Java代码片段和表达式,这些代码在服务器上执行后生成动态内容。
MySQL是一个关系型数据库管理系统,广泛用于Web应用程序的数据存储。它支持多种编程语言,包括Java。
<%@ page %>、<%@ include %>等。<jsp:include>、<jsp:forward>等。以下是一个简单的JSP登录页面示例,连接到MySQL数据库进行用户验证:
<%@ page import="java.sql.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Login Page</title>
</head>
<body>
<h2>Login</h2>
<form action="login.jsp" method="post">
Username: <input type="text" name="username"><br>
Password: <input type="password" name="password"><br>
<input type="submit" value="Login">
</form>
<%
if (request.getMethod().equalsIgnoreCase("POST")) {
String username = request.getParameter("username");
String password = request.getParameter("password");
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
String query = "SELECT * FROM users WHERE username = ? AND password = ?";
PreparedStatement pstmt = conn.prepareStatement(query);
pstmt.setString(1, username);
pstmt.setString(2, password);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
out.println("Login successful!");
} else {
out.println("Invalid username or password.");
}
rs.close();
pstmt.close();
conn.close();
} catch (ClassNotFoundException | SQLException e) {
out.println("Error: " + e.getMessage());
}
}
%>
</body>
</html>PreparedStatement代替Statement,避免SQL注入风险。通过以上信息,您应该能够更好地理解JSP登录MySQL的相关概念和实际应用。