javaweb写一个简单的登录系统:
一、环境准备
- 开发工具IDEA + Tomcat + MySQL
- 依赖库:Servlet API、JDBC驱动、JSTL标签库
- 数据库工具:Navicat
二、项目结构
LoginSystem
├── src
│ └── com
│ └── example
│ ├── servlet
│ │ └── LoginServlet.java
│ └── dao
│ └── UserDao.java
├── WebContent
│ ├── WEB-INF
│ │ ├── web.xml
│ │ └── lib
│ │ └── mysql-connector-java-8.0.23.jar
│ ├── login.jsp
│ ├── welcome.jsp
│ └── error.jsp
三、数据库准备
- 创建数据库和表
sql
CREATE DATABASE login_system;
USE login_system;
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) UNIQUE NOT NULL,
password VARCHAR(100) NOT NULL
);
INSERT INTO users(username, password) VALUES ('admin', MD5('123456'));
四、前端实现
- login.jsp登录页面)
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
用户登录
${errorMsg}```- welcome.jsp(登录成功页面)
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
欢迎您,${sessionScope.username}!
退出登录五、后端实现 1. UserDao.java(数据库操作) package com.example.dao;import java.sql.*;
public class UserDao {
private static final String URL = "jdbc:mysql://localhost:3306/login_system";
private static final String USER = "root";
private static final String PASSWORD = "your_password";
public boolean validate(String username, String password) {String sql = "SELECT * FROM users WHERE username=? AND password=MD5(?)";try (Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);PreparedStatement stmt = conn.prepareStatement(sql)) {stmt.setString(1, username);stmt.setString(2, password);ResultSet rs = stmt.executeQuery();return rs.next();} catch (SQLException e) {e.printStackTrace();return false;}
}
}
- LoginServlet.java
package com.example.servlet;
import com.example.dao.UserDao;
import javax.servlet.;
import javax.servlet.http.;
import java.io.IOException;
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");String password = request.getParameter("password");UserDao userDao = new UserDao();if (userDao.validate(username, password)) {HttpSession session = request.getSession();session.setAttribute("username", username);response.sendRedirect("welcome.jsp");} else {request.setAttribute("errorMsg", "用户名或密码错误");request.getRequestDispatcher("login.jsp").forward(request, response);}
}
}
六、配置文件(web.xml)
<servlet><servlet-name>LoginServlet</servlet-name><servlet-class>com.example.servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping><servlet-name>LoginServlet</servlet-name><url-pattern>/login</url-pattern>
</servlet-mapping><session-config><session-timeout>30</session-timeout>
</session-config>
七、部署运行
- 将项目导出为WAR文件,部署到Tomcat的webapps目录
- 启动Tomcat服务器
- 访问
http://localhost:8080/LoginSystem/login.jsp