1. 程式人生 > >(轉載)eclipse中tomcat 編寫web 出現 servlet-api.jar has no source attachment 問題

(轉載)eclipse中tomcat 編寫web 出現 servlet-api.jar has no source attachment 問題

eclipse中tomcat 編寫web 出現 servlet-api.jar has no source attachment 問題
https://www.iyunv.com/forum.php?mod=viewthread&tid=96915&fromuid=272238
(出處: 運維網)

這幾天想通過james來完成郵件伺服器的假設,做了一個簡單的web程式驗證,在服務端跳轉的時候出現了問題,debug時執行了但是就是沒有出現頁面跳轉,debug的結果是

  !!!!表面現象:
  .../TOMCAT_HOME/servlet-api.jar has no source attachment 自己找了一下發現自己在build path 添加了,而且在../tomcat/lib/中也存在servlet.jar,就是找不到問題所在,就是google,最後在csdn上有一個相同遭遇的哥們(也可能是姐姐),最後他沒有解決,玩兩把CS後,我做了一下修改


  把servlet程式中出現的跳轉語句
  request.getRequestDispatcher(url).forward(request, response);
  改為
  RequestDispatcher rd=request.getRequestDispatcher(url);
  rd.forward(request, response);
  重啟tomcat伺服器,然後執行就莫名其妙的完成率跳轉,不容易啊!花了幾個小時就突然解決了,沒有太多的興奮,感覺就是eclipse可能也有bug,寫點,希望有碰到類似情況的有所幫助。
  問題解決:



安裝好了tomcat之後,在編譯.java檔案的時候出錯:軟體包 javax.servlet 不存在

原來這個包在web伺服器才有,j2se中並沒有,所以導致了錯誤。
解決方法:
      方法(1) 找到%tomcat%\common\lib目錄下的servlet-api.jar,把這個路徑新增到環境變數classpath當中,就可以了。(這個好像不是很管用,我重灌了tomcat之後,再重新配置好像就不行了)
      方法(2) 找到%tomcat%\common\lib目錄下的servlet-api.jar,把這個jar新增到%java_home%/\jdk1.6.0\jre\lib\ext目錄下面,不同的jdk版本都一樣。
這種情況會導致很多Bug出現,建議採用方法(2)徹底解決問題。
希望幫助初入門的Java愛好者


  大家有個參考!!!!!
  最後感謝,apache的james郵件伺服器!!!!!