寒假生活指导 04

javaweb写一个简单的登录系统:

一、环境准备

  1. 开发工具IDEA + Tomcat + MySQL
  2. 依赖库:Servlet API、JDBC驱动、JSTL标签库
  3. 数据库工具: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

三、数据库准备

  1. 创建数据库和表
    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'));

四、前端实现

  1. login.jsp登录页面)
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
登录

用户登录

用户名:
密码:
${errorMsg} ```
  1. 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;
    }
}

}

  1. 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>

七、部署运行

  1. 将项目导出为WAR文件,部署到Tomcat的webapps目录
  2. 启动Tomcat服务器
  3. 访问 http://localhost:8080/LoginSystem/login.jsp
posted @   一如初见233  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示