當你不知道的時候,覺得一切都是正常的。直到有一天得知(但忘了是從哪兒知道的了,或者是誰告訴我的?),eclipse可以調試jsp,那一刻的心情就像久陷囹圄的囚犯獲得了自由,于是馬不停蹄的上網,從每個網頁尋找有用的資料。
簡要說一下,我們的開發環境是jsp+servlet+tomcat+oracle,對頁面的操作也特別多,所以我們每個人都有兩大痛處:javascript和jsp。在js里的調試就是alert,在jsp以及servlet里就靠writelog了。編譯不通過的時候,tomcat就給你一個大白板,你說痛苦不痛苦?
摸索共分了兩個階段,都有階段性的成果。
第一個階段(04年7月份左右),是在jdk1.3.1 + tomcat4.1.27 + eclipse2.1.2配置下(eclipse插件是tomcatpluginv221和lomboz.213)。大家都知道,jsp是在servlet之后才出來的,而jsp只是servlet的美麗的外包裝,它只是簡化的servlet,最終是要通過服務器轉變成servlet然后才編譯運行的。但是tomcat轉化成servlet后的文件都放在了package org.apache.jsp下,就這一個地方,耽誤了好長時間。以至于每次eclipse能夠refresh project后能夠獲得最新轉化的jsp-servlet代碼,但是debug的時候就不能正確的進入代碼,老是報“source not found”的錯誤。這個弄得放棄了一段時間。后來被迫做了接近一年的dotnet的東西,于是這個就一直擱置下來了,但是我一直都想著能夠調試jsp,做夢都想。
第二個階段(05年8月),工作又做回了一年前的東西。于是調試jsp的年頭也重新點燃了。還是上網(這里要感謝廣大的網友和google的搜索,一年來相同的關鍵字已經替換了不同的網頁了。)從某處得知這一消息,原來是tomcat的版本在搞怪,5.0以下的都不會根據你設定的workdir去放置轉換后的servlet,所以會找不到source。于是所有的都升級了,變成了jdk1.4.2 + tomcat5.0.28 + eclipse3.0(沒用tomcat5.5,原因它需要裝jdk1.5,而jdk1.5還沒有用過,所以不敢貿然使用)同樣經過了一堆摸索,終于見到了曙光,能夠走進轉換后的servlet了,但是問題又來了,變量的值不能實時查看了。搞了好久也找不到原因,開始失去信心了。最后帶著一點希望搜索了一下“jsp debug”,發現了myeclipse這個插件,下載下來,有50多兆,安裝之后,發現它繼承了tomcat和j2ee的東西,試著建了一個web project,嘿嘿,這回好使了。但是美中不足的是,轉換后的servlet打斷點,從頁面訪問的時候不能夠截獲,只有在真正的servlet里才能截獲,不知道這是什么原因。還望牛人賜教。
以上就是我的試圖通過eclipse來調試jsp的過程,雖然還有美中不足,但是我還是希望能夠和大家討論一二。
新聞熱點
疑難解答