我以前一直不知道怎么在eclipse中調試web項目,比如說我在某個Servlet或者Action中打了斷點,然后該怎么調試呢
今天偶然發現了原來是可以的,方法如下:
1.
配置好你的Server,比如說tomcat,見http://www.cnblogs.com/qrlozte/p/3175170.html
2.
選擇Run>Debug Configurations,在左側選中你配置的Tomcat Server,右側選中Source標簽,配置你的代碼源文件(否則你在調試的時候eclipse會提示找不到源代碼的位置,當然你也可以等eclipse提示了以后再配置,位置就是類似於e:/myprojects/webproject_one/src,你的所有的package和java文件都在這個目錄下),選擇Add,找到代碼的目錄,添加進去即可
然后點擊“Apply“,關閉Debug Configurations窗口
3.
確保tomcat是關閉的
4.
選擇Run>Debug As>Debug on Server
然后你在網頁上操作即可,代碼跑到你打斷點的位置eclipse自然會提示你,就跟調試一般的java程序沒啥區別了
技巧:
1.在eclipse中直接右鍵配置好的服務器(確保服務器已經處於關閉狀態),選擇“Debug"啟動服務器,然后在你想Debug了,就在代碼里面打BP(BreakPoint,下略),如果你不想Debug了,就刪掉BP正常運行即可,用不着不停地重啟服務器。
比如說,你發現你的某個頁面在提交form的時候,第一次提交,沒有問題,同樣的頁面2次提交相同的數據的時候,第二次提交就會出錯(程序運行的結果不是你想要的,但你又不知道錯在哪里了),你想觀察第二次提交與第一次提交有什么不同,怎么辦?好,跟着做:
1、在eclipse中,以Debug模式啟動服務器
2、比如說你出錯的頁面是login.jsp,數據是提交給LoginServlet,先不打BP,提交一次數據(我們就把這次提交的數據統稱為:數據A),再返回login.jsp
3、上面已經說了,如果我們再次提交相同的數據,就會導致錯誤,那么現在我們給LoginServlet打上斷點,在login.jsp再次提交“數據A”,這時就可以在LoginServlet中Debug了,觀察一下,找到Bug,解決問題
2.如果你在Debug的時候,打了BP,程序跑完了你打BP的method,但是卻沒有繼續執行下去,而是顯得“suspend”了,怎么辦?
答:點擊:Run>Resume即可