JSP登陆验证 实现JSP用户名 密码验证登陆
时间: 2024-05-06 11:16:28 浏览: 236
在 JSP 中实现用户名密码验证登陆,一般需要以下步骤:
1. 创建一个登录页面,包含用户名和密码的输入框以及提交按钮。
2. 在后台编写一个处理登录请求的 Servlet。
3. 在 Servlet 中获取用户输入的用户名和密码,然后与数据库中存储的用户名和密码进行比对。
4. 如果用户名和密码匹配,则将用户信息保存到 Session 中,并跳转到登录成功页面。
5. 如果用户名和密码不匹配,则返回登录页面并提示用户重新输入。
下面是一个简单的 JSP 登录验证示例:
login.jsp:
```html
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<h1>登录</h1>
<form action="loginServlet" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
```
loginServlet.java:
```java
package com.example;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
if (login(username, password)) {
HttpSession session = request.getSession();
session.setAttribute("username", username);
response.sendRedirect("success.jsp");
} else {
response.sendRedirect("login.jsp?error=1");
}
}
private boolean login(String username, String password) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
PreparedStatement ps = conn.prepareStatement("SELECT * FROM user WHERE username=? AND password=?");
ps.setString(1, username);
ps.setString(2, password);
ResultSet rs = ps.executeQuery();
return rs.next();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
return false;
}
}
}
```
success.jsp:
```html
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录成功</title>
</head>
<body>
<h1>登录成功</h1>
欢迎 <%= session.getAttribute("username") %>!
</body>
</html>
```
在上述代码中,我们使用了 MySQL 数据库来存储用户信息。你需要将数据库连接信息和查询语句修改为你自己的。
阅读全文