想要寫個上傳檔案的程式,照慣例用 ServletActionContext 的 getServletContext().getRealPath() 來取得實際路徑,但是這個列在 API 的 method 卻沒有出現在 eclipse 的 清單中,網路上也找不到解決方法,最後發現是少了 servlet API 的 package。這個 package 如果是用 tomcat 的話,已經 bundle 了,不同 tomcat 版本在不同位置:
<tomcat 5.x>/common/lib/servlet-api.jar
<tomcat 6.x>/lib/servlet-api.jar
把 servlet-api.jar 複製到 web application 的 WEB-INF/lib 目錄下,再重新 build project 即可。
註1:這個 jar 檔只有開發時需要,deploy 時因為 tomcat 已經 bundle 了,可以不要
註2:如果是用 myeclipse,IDE 在建新 web application project 時會自動處理好,不會有這個問題,付了費幫忙省下一些時間是一定要的啦