工作中會(huì)帶一些實(shí)習(xí)生或新人,大多缺乏經(jīng)驗(yàn),項(xiàng)目調(diào)試是他們很頭疼的問(wèn)題,代碼出了問(wèn)題往往就束手無(wú)策了,很影響工作效率。其實(shí)代碼調(diào)試是有步驟可循的,代碼出了問(wèn)題要做的第一件事情是定位問(wèn)題,只有知道問(wèn)題出在哪才能解決。
一個(gè)Java Web項(xiàng)目通常是由前端和后端組成的,請(qǐng)求是由前端發(fā)送給后臺(tái)代碼處理的,所以我們要做的第一件事情就是確定問(wèn)題出在前端還是后端,先要保證前端發(fā)送給后端的請(qǐng)求參數(shù)是對(duì)的,有些同學(xué)在請(qǐng)求參數(shù)不對(duì)或者請(qǐng)求根本沒(méi)有到達(dá)后臺(tái)的情況下盲目地去檢查后臺(tái)代碼是不對(duì)的。
前臺(tái)請(qǐng)求通常通過(guò)form、超鏈接或ajax等方法提交給后臺(tái),我們必須確定提交的鏈接是對(duì)的,然后是參數(shù),提交的參數(shù)我們可以通過(guò)瀏覽器地址或者一些瀏覽器調(diào)試工具(例如火狐的firebug)得到。
如果請(qǐng)求鏈接是對(duì)的、參數(shù)也是對(duì)的,那就是后臺(tái)的問(wèn)題了,后臺(tái)問(wèn)題通常通過(guò)eclipse的debug工作調(diào)試,但有一種情況,就是開發(fā)中會(huì)運(yùn)用一些mvc框架,例如struts2、spring
mvc等,我們?cè)诤笈_(tái)某個(gè)地方加斷點(diǎn)根本就沒(méi)反應(yīng),這時(shí)候有個(gè)很簡(jiǎn)單的方法,把斷點(diǎn)加到control層的代碼入口處,如果還沒(méi)反應(yīng),那就是框架配置問(wèn)題了,要檢查配置對(duì)不對(duì)。