java web之jdbc

本文详细介绍了如何使用JDBC API连接MySQL数据库并执行SQL查询,包括配置数据库驱动、编写Servlet代码处理用户登录验证等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

链接:https://pan.baidu.com/s/1mGIVpoagCt4qM97MhKQ3Sw 提取码:bh7q
首先你得有这个jdbc的jar包 才行
一、
JDBC API可做三件事:与数据库建立连接、执行SQL 语句、处理结果。
在这里插入图片描述
2、在WEB-INF里创建lib目录,添加数据库驱动jar包
在这里插入图片描述
作为库添加到项目:
在这里插入图片描述
在这里插入图片描述
其中处理部分的代码是核心的代码:

<%@ page import="java.sql.*" %>
<%@ page import="java.net.URLEncoder" %>
 
<%
    // 设置请求对象字符编码
    request.setCharacterEncoding("utf-8");
    // 获取表单提交的数据
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    // 设置连接数据库的参数值
    final String DRIVER = "com.mysql.jdbc.Driver";
    final String URL = "jdbc:mysql://localhost:3306/hwdb";
    final String USER = "root";
    final String PASSWORD = "root";
    try {
        // 安装数据库驱动程序
        Class.forName(DRIVER);
        // 获取数据库连接
        Connection conn = DriverManager.getConnection(URL + "?useUnicode=true&characterEncoding=utf8", USER, PASSWORD);
        // 定义SQL字符串
        String strSQL = "select * from t_user where username = ? and password = ?";
        // 创建预备语句对象
        PreparedStatement pstmt = conn.prepareStatement(strSQL);
        // 设置占位符的值
        pstmt.setString(1, username);
        pstmt.setString(2, password);
        // 执行SQL查询,返回结果集
        ResultSet rs = pstmt.executeQuery();
        // 判断结果集是否有记录
        if (rs.next()) {
            // 清除session里可能存在的属性值
            if (session.getAttribute("errMsg") != null) {
                session.removeAttribute("errMsg");
            }
            // 采用重定向,跳转到登录成功页面
            response.sendRedirect("success.jsp?username=" + URLEncoder.encode(username, "utf-8"));        
        } else {
            // 设置session属性值
            session.setAttribute("errMsg", "用户名或密码错误,请重新登录");
            // 采用重定向,跳转到登录页面
            response.sendRedirect("login.jsp");
        }
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (SQLException e) {
        e.printStackTrace();
    } 
%>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值