昨天一时兴起,打算根据自己的某些想法,业余时间写一个简单的项目,用以巩固那些重要的知识,以及练手一些即将学习的技术。
然而才一开始,便有一盆冷水迎面而来,在搭建整个框架环境的时候竟然就被卡住了!主要是两个问题,第一个还好说,可是第二个,让我抓狂,让我差点怀疑人生!
最终结果是,一个是因为单词拼写错误,一个是因为多余的空格!
拼写错误害死人,空格害死人啊!
这个跟头真是一摔再摔,前赴后继!
这个项目我打算依旧以常规的spring+spring+spring mvc的整体架构来进行,于是便根据自己之前写的一篇框架搭建开始动手:http://blog.csdn.net/tuzongxun/article/details/51153773?locationNum=2&fps=1
原本,对于这个整体框架搭建我是信心满满的,因为之前认真的弄过好久,对于上边这篇文章所写的内容也是相当自信。
虽然我写的那些文章不一定有深度,但是除开一些理论性的,其他都绝对是自己亲自尝试过的,实用性和可行性我敢保证。
然而就在我确认搭建好,该修改的配置也都一一修改完以后,一启动tomcat居然报错了:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from relative location [spring-MybatisConfig.xml]
Offending resource: class path resource [spring.xml]; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from URL [file:/D:/eclipseWorkspace1/.metadata/.plugins/org.eclipse.wst.server.core/tmp2/webapps/myBlog/WEB-INF/classes/spring-MybatisConfig.xml]; nested exception is java.io.FileNotFoundException: D:\eclipseWorkspace1\.metadata\.plugins\org.eclipse.wst.server.core\tmp2\webapps\myBlog\WEB-INF\classes\spring-MybatisConfig.xml (系统找不到指定的文件。)at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:70)at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:76)

好吧,这个提示太直白,系统找不到指定的文件!
根据以往的经验,我略一思索变想到多半是单词拼写错误,于是自然而然的自看了一眼文件名,果不其然,我的这个文件是这样的:
原来是spring打成了srping。
既然找到了问题,解决起来自然不是问题,我一直觉得问题不可怕,可怕的是找不到问题在哪儿!
然而,就在我以为大功告成的时候,再一启动tomcat,居然还是报错了,这次的错是:
十一月 29, 2016 10:29:10 上午 com.alibaba.druid.pool.DruidDataSource error
严重: init datasource error
java.sql.SQLException: Access denied for user 'tzx  '@'tuzongxun' (using password: YES)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:870)at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1659)at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1206)

看到这个错,我就有点不淡定了,因为这个错也是似曾相识的啊,如果我没记错,那就是密码错误的问题。
但是!我的密码分明没有问题!config.properties文件相关的内容如下:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.0.7:3306/myblog?useUnicode=true&characterEncoding=utf-8
jdbc.username=tzx
useUnicode=true&characterEncoding=utf-8
jdbc.password=123456  

为了验证究竟是不是密码问题,我还特意写了一个jdbc来连接:
public static void mysqlTest() {String driver = "com.mysql.jdbc.Driver";// 数据库驱动String url = "jdbc:mysql://192.168.0.7:3306/myblog";// **指的是数据库名称String username = "tuzongxun";// 数据库用户名String password = "123456";// 数据库密码Connection conn = null;Statement stat = null;ResultSet rs = null;try {Class.forName(driver);// 加载数据库驱动conn = DriverManager.getConnection(url, username, password);// 连接Connection对象stat = conn.createStatement();// 创建Statement对象String sql = "select * from emlog_ad";rs = stat.executeQuery(sql);// 执行sql语句返回结果集while (rs.next()) {System.out.println(rs.getInt("id"));System.out.println(rs.getInt("status"));System.out.println(rs.getInt("position"));System.out.println(rs.getString("title"));System.out.println(rs.getInt("weight"));System.out.println(rs.getString("content"));}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}}

结果自然是正常连接的。
这下我就蒙圈了:用户名和密码一模一样,框架和之前的也几乎没有差别,难道是见鬼了?难道是我之前的文章有问题么?
可是,我每次发出去的,分明都是一而再再而三的验证过的,不该如此啊!
万般无奈之下,我清了tomcat缓存,我清了eclispe缓存,甚至我重启了eclipse,我重启了电脑。
然而,问题他依旧在那里静静的看着我,仿佛在说“啊哈,你找不到我,你找不到我!”
这下我有点从蒙圈进入抓狂的状态了,根据经验实在无法定位问题所在了,只好上网搜索。
经过一顿百度,答案是如此的千篇一律,不是说用户名密码错误的问题,就是说需要新建用户。
好吧,不管怎样,先试试再说。
于是,我重新创建了一个用户,重新启动了mysql。甚至由于之前写那个框架搭建时用的是mysql5.5,而我现在用的是mysql5.6,所以我又弄了个mysql5.5。
结果呢。。。有点不想说话!
该试的都试了,不该试的我也试了,怀疑人生模式正式开启。。。
于是,我开始漫无目的的一行行代码、一个个字符的开始了光标的漫长旅行。
令我意外的是,山重水复疑无路,柳暗花明又一村,问题竟然就这样突如其来的被窝寻到了踪迹!
在光标一个字符一个字符的移动中,我发现我的config.properties文件居然是这样的:
明眼人大概已经看到了问题所在,正是我的用户名和密码后边多出了两个空格,当我把这两个空格干掉之后,再次启动tomcat,那个异常终于乖乖的溜之大吉了!
如此没有技术含量的两个错,我已犯了多次,粗心大意犯的错,空格字符太坑人,说多了都是泪啊!

Access denied for user(这个几乎让我怀疑人生的异常)相关推荐

  1. remote: HTTP Basic: Access denied

    github 提交项目 提示 remote: HTTP Basic: Access denied 这个一般就是自己更改github账号的密码引起的 处理方法1 进入控制面板-->用户账号--&g ...

  2. 转: windows系统下mysql出现Error 1045(28000) Access Denied for user 'root'@'localhost'

    windows系统下mysql出现Error 1045(28000) Access Denied for user 'root'@'localhost' 转自 http://zxy5241.space ...

  3. MySQL登录时ERROR 1045:Access denied for user ‘root’@’localhost’ (using password: YES)

    MySQL登录时ERROR 1045错误 win10_x64系统中登录MySQL时出现1045错误 错误描述: ERROR 1045:Access denied for user 'root'@'lo ...

  4. zabbix 安装时的报错mysql_connect(): Access denied for us

    zabbix在安装完成时的报错 出现提示:mysql_connect(): Access denied for user 'zabbix'@'localhost' (using password: Y ...

  5. NFS共享服务挂载时出现“access denied by server while mounting”的解决方法

    笔者用的Linuxf发行版本为Centos6.4,以下方法理论上讲对于Fedora, Red Hat均有效: 搭建好NFS服务后,如果用以下的命令进行挂载: # mount -t nfs 172.16 ...

  6. mysql用户ip登录失败怎么办_MySQL使用IP地址登录 ERROR 1045 (28000) Access denied for use...

    MySQL使用IP地址登录 ERROR 1045 (28000) Access denied for use MySQL使用IP地址登录 ERROR 1045 (28000): Access deni ...

  7. MariaDB/MySQL 报错解决:ERROR 1698 (28000): Access denied for user 'root'@'localhost'

    我在安装好MariaDB后,发现一个问题:我必须用root用户才能登录数据库,普通用户不能登录数据库,会报错: -> % mysql -h localhost -u root -p Enter ...

  8. HikariPool使用MySQL/MariaDB数据库报错解决:java.sql.SQLException: Access denied for user 'root'@'localhost' (u

    在使用HikariPool连接到我的数据库时报错如下,完整的报错放在最后: 2019-06-25 20:24:26.048 ERROR 18204 --- [nio-8080-exec-9] com. ...

  9. Linux mysql 5.6: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (usin

    Linux mysql 5.6: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using pass... 时间 201 ...

最新文章

  1. 细说接口性能优化的11个小技巧
  2. 基于数据库数据增量同步_基于canal实现分布式数据同步
  3. Android 双击返回键退出程序 实现
  4. Visual Studio 2010 新功能总结(一)
  5. mysql strtok_c函数: strtok 和 strtok_r 详解
  6. 环球影城门票开售,开园日门票1分钟内售罄
  7. 【MySQL】MySQL 8 ERROR 1193 (HY000): Unknown system variable ‘tx_isolation‘
  8. 《精解 Windows 10》——2.10 触摸手势
  9. UMDF驱动程序快速上手
  10. c++中 vs 简单的对txt文件读写
  11. web课程设计网页规划与设计 HTML+CSS+JavaScript仿英雄联盟LOL首页(1个页面)
  12. Chrome浏览器误删书签恢复
  13. plt.plot()有无分号结果不同
  14. 【应用统计学】几种常见的概率分布
  15. Java使用SPARQL访问DBPedia Endpoint错误
  16. 在linux上挂载ntfs分区
  17. uniapp下拉刷新避坑指南
  18. 从零破解一款轻量级滑动验证码
  19. Lottie- 让Android动画实现更简单
  20. 人类还能重启超音速旅行吗?

热门文章

  1. Android程序反编译
  2. EJB3.0 定时服务:Timer Service
  3. 算法笔记_204:第四届蓝桥杯软件类决赛真题(Java语言C组)
  4. Qt Style Sheets(qt样式表)
  5. QT开发(六十四)——QT样式表(二)
  6. 【DataGuard】ORA-16014 and ORA-00312 Messages in Alert.log of Physical Standby
  7. .OCX、.dll文件注册命令Regsvr32的使用
  8. ios 打电话结束返回到应用中
  9. EVEREST Corporate Edition 使用SQL保存数据的简易方法
  10. eclipse jsp 写 js 代码提示_基于jsp+servlet的宠物管理系统