Javaweb开发 利用servlet+jsp+jdbc+tomcat数据库实现登录功能

前言:很久没更新了,今天给大家分享一个Java web的小案例,是一个登录页面,利用Login控制类和JDBC连接数据库,并判断用户名密码是否正确,项目最终部署在Tomcat上。

先看效果 

Javaweb开发 利用servlet+jsp+jdbc+tomcat数据库实现登录功能_第1张图片

 

正文 


一、前期工作

1.首先我们新建项目 (tomact提前配置好,不会的可以去我主页参考tomcat配置一文)

Javaweb开发 利用servlet+jsp+jdbc+tomcat数据库实现登录功能_第2张图片

 

2. 选中Web Profile依赖项

Javaweb开发 利用servlet+jsp+jdbc+tomcat数据库实现登录功能_第3张图片

3.mysql-connector-java-8.0.16.jar下载好保存到WEB-INF下 

Javaweb开发 利用servlet+jsp+jdbc+tomcat数据库实现登录功能_第4张图片

二、实现功能

1.创建 LoginServlet类(内含jdbc建立数据库连接)

package com.example.course_selection_system;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class LoginServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String username = request.getParameter("user");
        String password = request.getParameter("pwd");

        // 数据库连接参数
        String url = "jdbc:mysql://localhost:3306/student";
        String dbUsername = "root";
        String dbPassword = "root";

        try {
            // 加载驱动程序
            Class.forName("com.mysql.cj.jdbc.Driver");

            // 建立数据库连接
            Connection connection = DriverManager.getConnection(url, dbUsername, dbPassword);

            // 查询数据库
            String sql = "SELECT * FROM admins WHERE admin_name=? AND admin_password=?";
            try (PreparedStatement statement = connection.prepareStatement(sql)) {
                statement.setString(1, username);
                statement.setString(2, password);

                ResultSet resultSet = statement.executeQuery();

                if (resultSet.next()) {
                    // 用户验证成功
                    // 在这里可以进行登录成功后的操作
                    response.sendRedirect("templates/student.jsp");
                } else {
                    // 用户验证失败
                    // 在这里可以进行登录失败后的操作
                    request.setAttribute("error_message", "用户名或密码错误,请重试");
                    RequestDispatcher dispatcher = request.getRequestDispatcher("login.jsp");
                    dispatcher.forward(request, response);
                }
            }
        } catch (ClassNotFoundException e) {
            // 处理ClassNotFoundException异常
            e.printStackTrace(); // 记录日志
            // 向用户提供友好的错误提示
            request.setAttribute("error_message", "发生了意外错误,请联系管理员");
            RequestDispatcher dispatcher = request.getRequestDispatcher("error.jsp");
            dispatcher.forward(request, response);
        } catch (SQLException e) {
            // 处理SQLException异常
            e.printStackTrace(); // 记录日志
            // 向用户提供友好的错误提示
            request.setAttribute("error_message", "数据库错误,请稍后重试");
            RequestDispatcher dispatcher = request.getRequestDispatcher("error.jsp");
            dispatcher.forward(request, response);
        }
    }
}

2.在web.xml中配置Servlet映射

是你为Servlet指定的名称, 是Servlet的完整类名, 是你希望为Servlet匹配的URL路径。

Javaweb开发 利用servlet+jsp+jdbc+tomcat数据库实现登录功能_第5张图片

 3.编写login.jsp(action="login"

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>



    
    学生成绩管理系统登陆
    
    



学生成绩管理系统

请登录

<%-- Display error message if exists --%>

${error_message}


记住我
${msg}

 在引入<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>错误时说明没有依赖,去pom.xml里添加如下代码(导入该库是为了实现错误信息提示的功能)


    javax.servlet
    jstl
    1.2

4.存储用户名和密码的表单

Javaweb开发 利用servlet+jsp+jdbc+tomcat数据库实现登录功能_第6张图片

三、运行tomcat(注意路径和端口正确)

Javaweb开发 利用servlet+jsp+jdbc+tomcat数据库实现登录功能_第7张图片

 Javaweb开发 利用servlet+jsp+jdbc+tomcat数据库实现登录功能_第8张图片

当用户名或密码输入错误时,系统会给出提示。

Javaweb开发 利用servlet+jsp+jdbc+tomcat数据库实现登录功能_第9张图片

输入正确后将会跳转到student.jsp

Javaweb开发 利用servlet+jsp+jdbc+tomcat数据库实现登录功能_第10张图片

你可能感兴趣的:(servlet,java,数据库)