用jsp实现登录一个表单
时间: 2023-06-02 07:01:44 浏览: 71
以下是一个简单的JSP表单,包含用户名和密码,用于登录:
```html
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login Form</title>
</head>
<body>
<h1>Login Form</h1>
<form action="login.jsp" method="post">
<label for="username">Username:</label>
<input type="text" id="username" name="username"><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password"><br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
```
在此表单中,我们使用了一个简单的HTML表单,并将其提交到一个名为“login.jsp”的JSP页面。在JSP页面中,我们将处理表单提交并验证用户凭据。
以下是login.jsp页面的示例代码:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login Result</title>
</head>
<body>
<h1>Login Result</h1>
<%
// 获取JSP页面传递过来的用户名和密码
String username = request.getParameter("username");
String password = request.getParameter("password");
// 连接数据库
String url = "jdbc:mysql://localhost:3306/mydatabase";
String dbUsername = "root";
String dbPassword = "password";
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, dbUsername, dbPassword);
// 查询用户数据
String sql = "SELECT * FROM users WHERE username = ? AND password = ?";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, username);
stmt.setString(2, password);
ResultSet rs = stmt.executeQuery();
// 验证用户凭据
if(rs.next()) {
// 登录成功
out.println("Welcome " + username);
} else {
// 登录失败
out.println("Invalid username or password");
}
// 关闭数据库连接
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
```
在此JSP页面中,我们首先获取由表单提交的用户名和密码。然后,我们连接到数据库,并使用PreparedStatement执行查询以获取用户数据。最后,我们验证用户凭据并输出登录结果。
请注意,此示例代码仅用于演示目的,并且没有考虑安全性或最佳实践。在实际应用程序中,应该采取更多的安全措施,例如使用哈希密码来存储用户凭据,并使用防止SQL注入的技术。