我踩过的那些坑
踩坑小能手
- 開(kāi)發(fā)javaweb項(xiàng)目使用郵箱激活遇到的問(wèn)題
- 使用Servlet 進(jìn)行開(kāi)發(fā)是前臺(tái)拿不到數(shù)據(jù),或XML解析錯(cuò)誤
- 記一次Netty開(kāi)發(fā)出現(xiàn)的問(wèn)題
- 奇奇怪怪mysql
- web項(xiàng)目 找不到mysql驅(qū)動(dòng)包
- 無(wú)法在web.xml或使用此應(yīng)用程序部署的jar文件中解析絕對(duì)uri:[http://java.sun.com/jsp/jstl/core]
- 請(qǐng)我喝杯咖啡可好!
開(kāi)發(fā)javaweb項(xiàng)目使用郵箱激活遇到的問(wèn)題
問(wèn)題描述: 我們使用代碼發(fā)送郵件,郵件的正文中有一個(gè)超鏈接,超鏈接是get請(qǐng)求會(huì)攜帶一些參數(shù),來(lái)完成用戶的激活操作,一開(kāi)始我們一切都還是很順利的完成了,我們也在qq郵箱中收到了郵件,但是當(dāng)我們點(diǎn)擊郵件正文的超鏈接時(shí),卻無(wú)法跳轉(zhuǎn)。
下面我們說(shuō)一下解決辦法:
這個(gè)是我們發(fā)送的正文內(nèi)容。
要解決無(wú)法跳轉(zhuǎn)的問(wèn)題,我們只需要將上面的正文更改成如下,即可解決:
String content = "<a href='http://127.0.0.1/travel/activeUserServlet?code="+user.getCode()+"'>點(diǎn)擊激活賬戶</a>";使用Servlet 進(jìn)行開(kāi)發(fā)是前臺(tái)拿不到數(shù)據(jù),或XML解析錯(cuò)誤
報(bào)錯(cuò)基本上應(yīng)該是這個(gè)樣子的:XML 解析錯(cuò)誤:格式不佳
當(dāng)然還有這個(gè)樣子的:
VM94:6 Uncaught TypeError: Cannot read property ‘name’ of null
at Object.success (:6:36)
at fire (jquery-3.3.1.js:3268)
at Object.fireWith [as resolveWith] (jquery-3.3.1.js:3398)
at done (jquery-3.3.1.js:9305)
at XMLHttpRequest. (jquery-3.3.1.js:9548)
我們可以使用,瀏覽器來(lái)測(cè)試一下接口,就會(huì)發(fā)現(xiàn),現(xiàn)象是這樣的:
也就是說(shuō),抓包工具中看到的數(shù)據(jù)是沒(méi)有亂碼的,而頁(yè)面上卻完全是亂碼的,不論你怎樣切換編碼他都是亂的。??? ??? ??? ???什么鬼?問(wèn)題出在哪了呢?
解決辦法:
問(wèn)題就是出在了,我們?cè)谑褂肏ttpServletResponse對(duì)象將數(shù)據(jù)寫回到前端頁(yè)面的時(shí)候沒(méi)有設(shè)置ContentType,哇哇真是欲哭無(wú)淚啊,還以為是什么大問(wèn)題,最后查到是自己的馬虎大意唉!加上這個(gè)行代碼就好了!拿走不謝弟弟們!
記一次Netty開(kāi)發(fā)出現(xiàn)的問(wèn)題
<font >java.io.IOException: 連接被對(duì)方重設(shè)
出現(xiàn)這個(gè)問(wèn)題的原因很好解決,并且出現(xiàn)這個(gè)問(wèn)題證實(shí)了自己是多么的愚蠢。我們的項(xiàng)目在測(cè)試階段出現(xiàn)了這個(gè)問(wèn)題,我排查了一上午,都沒(méi)找到問(wèn)題在哪。中午吃飯時(shí)才想起來(lái),我有兩個(gè)硬件設(shè)備,ip地址卻都是242,我的天啊,我也是夠2的了,怎么能犯這樣的錯(cuò)誤呢?主要是那么長(zhǎng)時(shí)間還沒(méi)找到問(wèn)題。我的天啊。真是愚蠢之極。
解決辦法
至于解決辦法嗎,就非常的簡(jiǎn)單了,將其中的一個(gè)設(shè)備的ip地址更改,更改成在此局域網(wǎng)內(nèi)不存在的一個(gè)ip就好了。出現(xiàn)這個(gè)問(wèn)題也是因?yàn)閕p沖突的問(wèn)題。
奇奇怪怪mysql
在寫一個(gè)項(xiàng)目的時(shí)候鏈接mysql瘋狂報(bào)錯(cuò):
java.sql.SQLException: Access denied for user ‘’@‘192.168.1.89’ (using password: YES)
然后就開(kāi)始排查呀各種搞,有人說(shuō)權(quán)限不夠,我就不明白了哪的權(quán)限不夠?賬戶是root,并且host字段也是%哪里你不對(duì)呢?
還有就是我們的這個(gè)其他客戶端工具都能連上啊,為啥我們用java代碼鏈接就報(bào)錯(cuò)呢?
找呀找呀找
最后我們發(fā)現(xiàn):
將數(shù)據(jù)庫(kù)的配置文件中的 driver 改為driverClass 將name改為username竟然就解決了問(wèn)題!神不神奇!
web項(xiàng)目 找不到mysql驅(qū)動(dòng)包
加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)發(fā)生異常:com.mysql.jdbc.Driver
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
當(dāng)時(shí)我就懵了,不過(guò)第一反應(yīng)是看pom文件導(dǎo)沒(méi)導(dǎo)包,后來(lái)發(fā)現(xiàn)有啊,這是咱回事,是不是沒(méi)給我加進(jìn)去呀,我們加一個(gè)scope標(biāo)簽試試,我了個(gè)去還是不行,咋辦咋辦,不如我們直接把mysql的驅(qū)動(dòng)包方法哦tomcat的lib目錄下試試!我的天完美解決!我這里使用的是tomcat9的版本,8的版本應(yīng)該沒(méi)這個(gè)問(wèn)題!
無(wú)法在web.xml或使用此應(yīng)用程序部署的jar文件中解析絕對(duì)uri:[http://java.sun.com/jsp/jstl/core]
哎呦這個(gè)tomcat9貌似不太好玩呀老是卻東西還是maven沒(méi)打進(jìn)去呢?藍(lán)瘦
問(wèn)題是這個(gè)樣子的!
跟上邊的基本一樣的問(wèn)題,我們只需要將JSTL這個(gè)包拷貝到tomcat的lib下即可。
請(qǐng)我喝杯咖啡可好!
微信 支付寶總結(jié)
- 上一篇: Java基础--用程序模拟打怪游戏
- 下一篇: revit机电软件 辅助工具介绍