亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

數據庫連接錯誤??

JdbcRealmTest 代碼如下

package?com.imooc.test;

import?com.alibaba.druid.pool.DruidDataSource;
import?org.apache.shiro.SecurityUtils;
import?org.apache.shiro.authc.UsernamePasswordToken;
import?org.apache.shiro.mgt.DefaultSecurityManager;
import?org.apache.shiro.realm.jdbc.JdbcRealm;
import?org.apache.shiro.realm.text.IniRealm;
import?org.apache.shiro.subject.Subject;
import?org.junit.Test;

public?class?JdbcRealmTest?{
????DruidDataSource?dataSource?=?new?DruidDataSource();

????{
????????//?dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
????????//dataSource.setDriverClassName("com.mysql.jdbc.Driver");
????????dataSource.setUrl("jdbc:mysql://localhost:3306/test");
????????dataSource.setUsername("root");
????????dataSource.setPassword("root");
????}

????@Test
????public?void?testAuthentication()?{
????????JdbcRealm?jdbcRealm?=?new?JdbcRealm();

????????jdbcRealm.setDataSource(dataSource);

????????//1.構建SecurityManager環境
????????DefaultSecurityManager?defaultSecurityManager?=?new?DefaultSecurityManager();
????????defaultSecurityManager.setRealm(jdbcRealm);

????????//2.主體提交認證請求
????????SecurityUtils.setSecurityManager(defaultSecurityManager);
????????Subject?subject?=?SecurityUtils.getSubject();

????????UsernamePasswordToken?token?=?new?UsernamePasswordToken("Mark",?"123456");
????????subject.login(token);

????????System.out.println("isAuthenticated:"?+?subject.isAuthenticated());


????????/*subject.checkRole("admin");
?????????subject.checkPermission("user:delete");
?????????subject.checkPermission("user:update");*/

????}
}

?報錯如下:

四月 18, 2019 3:59:07 下午 com.alibaba.druid.pool.DruidDataSource error

嚴重: create connection SQLException, url: jdbc:mysql://localhost:3306/test, errorCode 0, state 08S01

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure


The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

at sun.reflect.GeneratedConstructorAccessor5.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)

at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990)

at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:341)

at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2186)

at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2219)

at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2014)

at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:776)

at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)

at sun.reflect.GeneratedConstructorAccessor2.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)

at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386)

at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330)

at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1510)

at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1575)

at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2450)

Caused by: java.net.ConnectException: Connection refused: connect

at java.net.DualStackPlainSocketImpl.connect0(Native Method)

at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)

at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)

at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)

at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)

at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)

at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

at java.net.Socket.connect(Socket.java:589)

at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:211)

at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:300)

... 14 more

這個意思是本地還需要有MySQL數據庫嗎?第一次接觸這個東西,不明白,跪求解答

正在回答

3 回答

需要的

0 回復 有任何疑惑可以回復我~
#1

莫槑 提問者

我本地數據庫配置好了,還是報錯呀
2019-04-19 回復 有任何疑惑可以回復我~

請問如何解決的?

0 回復 有任何疑惑可以回復我~

已經解決了

0 回復 有任何疑惑可以回復我~
#1

慕后端3512388

大哥 你怎么解決的 共享一下啊
2020-09-23 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

數據庫連接錯誤??

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號