吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 897|回复: 6
收起左侧

[已解决] javaweb连数据库一直连不上

[复制链接]
Marbles 发表于 2022-6-1 22:39
本帖最后由 Marbles 于 2022-6-2 14:04 编辑

1.数据库情况
我想连user这个数据库
数据库1.png
用户名root 密码root
数据库2.png
2.javaweb情况
①NewFile.jsp
[HTML] 纯文本查看 复制代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import ="java.sql.*"%>
<!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>Insert title here</title>
</head>
<body>
hello
<%
        try {
                // 加载数据库驱动,注册到驱动管理器
                Class.forName("com.mysql.jdbc.Driver");

                // 数据库连接字符串
                String url = "jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=utf-8";
                // 数据库用户名
                String username = "root";
                // 数据库密码
                String password = "root ";
                // 创建Connection连接
                Connection conn = DriverManager.getConnection(url,username,password);
                //判断 数据库连接是否为空
                if(conn != null){
                        //输出连接信息
                        out.println("数据库连接成功!");
                        //关闭数据库连接
                        conn.close();
                }else{
                        //输出连接信息
                        out.println("数据库连接失败!");
                }
        } catch (ClassNotFoundException e) {
                e.printStackTrace();
        } catch (SQLException e) {
                e.printStackTrace();
        }
%>

</body>
</html>


②项目结构概况
javaweb1.png
3.运行后报错
①警告: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:t' did not find a matching property.
②警告: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:TestDB001' did not find a matching property.
③java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
javaweb2.png

javaweb3.png

javaweb4.png

4.尝试增加ServerOption选项后clean,没有解决。尝试网上数据库重启,重启失败。
javaweb5.png

数据库3.png
尝试增加root远程登录,语句报错,失败

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

pojie2001 发表于 2022-6-2 07:12
1,检查数据库服务正常启动
2.mysql 用户登录要检查用户名,密码,ip地址,你的密码root是不是多写了个空格,先在命令行登录测试下
wukaixuan 发表于 2022-6-2 08:38
layuai 发表于 2022-6-2 08:49
你直接终端测试账号密码是否能连接,有没有打错的情况
soenluzy 发表于 2022-6-2 10:20
应该是用户密码错了,可以打开cmd,然后用命令去连mysql试试,(-d后面接的库名)
mysql -h127.0.0.1 -P3301 -uUsername -pPassword -d user
soenluzy 发表于 2022-6-2 10:29
如果是测试写个类就行,我自己写了一个你参考下
[Asm] 纯文本查看 复制代码
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class JDBCTestTool {
    static String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    static String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB";
    static String USER = "root";
    static String PASS = "123456";

    public JDBCTestTool(){
		//这里是读取配置文件db.properties,如果没有可以注释掉
		/**
        Properties prop = new Properties();
        try {
            String path = JDBCTestTool.class.getResource("/").toString();
            path = path.replaceAll("file:", "")+"db.properties";
            prop.load(new FileInputStream(path));
            System.out.println(prop.getProperty("driver"));
            JDBC_DRIVER = prop.getProperty("driver");
            DB_URL = prop.getProperty("url");
            USER = prop.getProperty("username");
            PASS = prop.getProperty("password");
            System.out.println(JDBC_DRIVER+" , url: "+DB_URL+", user: "+USER+", pwd: "+PASS);
        } catch (Exception e) {
            e.printStackTrace();
        }
		**/
    }

    public Connection getConnection(){
        Connection conn = null;
        try{
            // 注册 JDBC 驱动
            Class.forName(JDBC_DRIVER);

            // 打开链接
            System.out.println("连接数据库...");
			DriverManager.setLoginTimeout(15);
            conn = DriverManager.getConnection(DB_URL,USER,PASS);

            // 执行查询
            System.out.println(" 连接成功: "+conn.toString());
        }catch(Exception e){
            e.printStackTrace();
			
        }
        return conn;
    }

    public static void main(String[] args) {
        JDBCTestTool jdbcTestTool = new JDBCTestTool();
        Connection conn = null;
        try{
            conn = jdbcTestTool.getConnection();
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            try{
                if(conn!=null) conn.close();
            }catch(SQLException se){
                se.printStackTrace();
            }
        }
        System.out.println("Goodbye!");
    }
}
 楼主| Marbles 发表于 2022-6-2 14:06
已解决,多谢各位。密码多打了个空格
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-13 02:42

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表