jsp基础编程,idea制作一个登录表单,输入账号和密码,如果用户名和密码正确,则显示“登录成功”,否则显示“登录错误”。 要求: (1)创建数据库表user,插入若干条用户信息,使用JDBC连接数据库进行登录验证。
时间: 2024-09-27 09:12:16 浏览: 29
在JSP(JavaServer Pages)基础编程中,你可以通过以下步骤在IntelliJ IDEA中创建一个简单的登录表单,并利用JDBC连接数据库进行用户验证:
1. **设置项目结构**:
- 创建一个新的IntelliJ IDEA项目,选择Web应用模板。
- 在项目中新建一个`login.jsp`文件,用于展示登录界面。
2. **编写HTML部分(login.jsp)**:
```html
<html>
<head>
<title>Login</title>
</head>
<body>
<form action="checkLogin" method="post">
<label for="username">Username:</label><br>
<input type="text" id="username" name="username"><br>
<label for="password">Password:</label><br>
<input type="password" id="password" name="password"><br>
<input type="submit" value="Submit">
</form>
<%@ include file="footer.jsp" %>
</body>
</html>
```
3. **创建后台处理类(如LoginController.java)**:
使用Servlet或者Spring MVC框架处理表单提交,这里以Servlet为例:
```java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/checkLogin")
public class LoginController extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
// 连接数据库并查询
try (Connection conn = DriverManager.getConnection(...)) {
PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM user WHERE username=? AND password=?");
pstmt.setString(1, username);
pstmt.setString(2, encryptPassword(password)); // 加密实际存储的密码
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
// 登录成功
request.setAttribute("message", "登录成功");
request.getRequestDispatcher("success.jsp").forward(request, response);
} else {
// 登录失败
request.setAttribute("message", "登录错误");
request.getRequestDispatcher("error.jsp").forward(request, response);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
// 这里只是一个示例,实际应用中请使用加密库处理密码
private String encryptPassword(String password) {
// 实现密码加密逻辑...
}
}
```
4. **处理登录结果页面(success.jsp 和 error.jsp)**:
这些文件将根据登录状态显示相应的消息。例如:
```jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<h2><%= request.getAttribute("message") %></h2>
```
5. **创建数据库表(user)**:
在MySQL或其他数据库中创建一个名为`user`的表,包含`id`, `username`, `password`等字段。
6. **配置数据库连接**:
在项目的`web.xml`或Spring配置文件中添加数据库连接池或数据源配置。
现在,当用户填写并提交表单时,系统会根据输入的用户名和密码与数据库中的记录进行比较,然后跳转到相应页面显示结果。