JSP项目找不到MySQL驱动解决方法(已解决)

目录

问题 

解决方法


我的jsp代码如下

<%@page import="java.sql.*" %>
<%@ page import="java.nio.charset.StandardCharsets" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>登录信息处理界面</title>
</head>
<body>
<%
    String username = new String(request.getParameter("username").getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8);
    String password = new String(request.getParameter("password").getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8);

    Connection conn = null;
    Statement st = null;
    ResultSet rs = null;

    /*处理用户名为空的情况,重定向回登录界面*/
    if (username.equals("")) {
        response.sendRedirect("http://localhost:8080/EIMS/login/login.jsp");
    } else if (password.equals("")) {
        response.sendRedirect("http://localhost:8080/EIMS/login/login.jsp");
    }

    try {
        Class.forName("com.mysql.jdbc.Driver");
        String url = "jdbc:mysql://localhost:3306/eims?characterEncoding=UTF-8";
        conn = DriverManager.getConnection(url, "root", "root");
        st = conn.createStatement();
        String sql = "select * from user where username = '" + username + "' and password = '" + password + "'";
        rs = st.executeQuery(sql);
        if (rs.next()) {
            response.sendRedirect("http://localhost:8080/EIMS/main/main.jsp");
        } else {
            response.sendRedirect("http://localhost:8080/EIMS/login/login.jsp");
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (rs != null) rs.close();
            if (st != null) st.close();
            if (conn != null) conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }
%>
</body>
</html>

代码没有错误

但是导入jar包导错了地方

一开始我在项目下创建了一个lib文件夹将jar包放入

问题 

但是这样导入报错,提示找不到"com.mysql.jdbc.Driver"

但是我明明导入了jar包,还是找不到

然后我开始搜索,终于在一篇文章中找到解决方法

解决方法

将jar包放入WEB-INF下面

终于,这个问题解决了

希望这个方法能够帮到你

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
JSP 中使用 MySQL 数据库需要以下步骤: 1. 下载 MySQL 驱动器:在官网下载 MySQL 驱动器(JDBC 驱动器),并将其添加到项目的类路径中。 2. 在 JSP 页面中导入 JDBC 包:使用以下代码导入 JDBC 包: ``` <%@ page import="java.sql.*" %> ``` 3. 连接到 MySQL 数据库:使用以下代码连接到 MySQL 数据库: ``` String url = "jdbc:mysql://localhost:3306/mydb"; String user = "root"; String password = "password"; Connection conn = DriverManager.getConnection(url, user, password); ``` 其中,url 是数据库的 URL,mydb 表示要连接的数据库名称,root 是用户名,password 是密码。请根据实际情况修改这些参数。 4. 执行 SQL 查询:使用以下代码执行 SQL 查询: ``` Statement stmt = conn.createStatement(); String sql = "SELECT * FROM mytable"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()) { // 处理查询结果 } ``` 其中,mytable 是要查询的表的名称,可以根据实际情况修改这个参数。在 while 循环中,可以使用 rs 对象处理查询结果。 5. 关闭连接和资源:使用以下代码关闭连接和资源: ``` rs.close(); stmt.close(); conn.close(); ``` 在使用完数据库连接和资源后,需要关闭它们,以释放内存和系统资源。 注意:为了避免 SQL 注入攻击,不应该直接将用户输入的数据拼接到 SQL 查询语句中。正确的做法是使用 PreparedStatement 对象,并使用占位符来代替用户输入的数据。例如: ``` String sql = "SELECT * FROM mytable WHERE id = ?"; PreparedStatement stmt = conn.prepareStatement(sql); stmt.setInt(1, id); ResultSet rs = stmt.executeQuery(); ``` 上面的代码中,? 是占位符,stmt.setInt(1, id) 将第一个占位符替换为实际的值。这种方式可以有效地防止 SQL 注入攻击。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听风倾雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值