標籤:jsp 解決方案
很多的時候當我們發現我們寫的servlet出了問題的時候都會下意識的去在相關的地方插入System.out.println()列印出當前獲得的資料吧,但是在開發servlet的時候,你就會發現,自己剛寫的列印語句執行工程之後並沒有列印出來,你就會想了吧,大多的新手根本就不知道真正的問題出在哪裡,去網上百度一下,發現了很多的東西,就像什麼java檔案沒有被編譯成為class,還有servlet的位置放置錯誤問題,但是你就會發現,自己是在eclipse下開發的根本就不需要部署這些,然後就會想是不是自己的myeclipse有問題,或者自己的eclispe的web外掛程式配置錯了,總之越看越覺得這個事情很嚴重,然而,這一切都算是我們初學者的經驗不足吧!其實吧,本質的問題不是這樣的,eclispe的確是會給我們自動編譯的,但是這是個開關,是需要你自己設定的。這個意思就是,並不是你的servlet出了問題不能列印,而是因為你的伺服器上面的servlet沒有更新到最新的你的版本,之前的那個版本沒有列印的語句所以當然就不列印了啊~解決這個問題其實很簡單,就是需要在project -> Build Automatically這裡點擊一下,讓前面多一個"對勾號"這樣才會自動編譯,其實,這樣的話,你的問題就已經解決了,有心的人就會問,那為什麼每次在jsp做更改的時候,之前也沒有設定自動編譯啊,為什麼他還是會顯示最新的更改結果呢?這是因為j2ee程式是部署在應用伺服器中的,jsp檔案首先要轉換為servlet檔案,servlet檔案其實也是一個java檔案,它會編譯成.class檔案,當伺服器發現jsp頁面修改後會重新解析jsp檔案,所以是最新的。而servlet已經編譯成class檔案了,你修改了servlet檔案,應用伺服器是不會檢索再重新編譯的。你要重新編譯一下修改後的java檔案,替換掉以前的class檔案。
用eclipse開發servlet,使用System.out.println()在console列印不出資料的問題