Servlet的兼容性問題
今天在整eclipse for jee,發現有一個項目原來用myeclipse6.0進行開發運行測試沒問題,現在轉用eclipse for jee版本時,代碼無法編譯通過,提示response.setCharacterEncoding("UTF-8");這行報錯,說HttpServletResponse找不到setCharacterEncoding方法,剛開始以為是JDK版本問題。其實不然,servlet是獨立的一個API,跟JDK的API不同,這里servlet也是分為好幾個版本的。而HttpServletResponse是屬于servlet API里面的接口,仔細查看了servlet2.3和servlet2.5的API,發現HttpServletResponse這個接口都不支持setCharacterEncoding這個方法,是屬于servlet2.4特有的接口方法。而eclipse for jee版本的servlet用的就是2.5的版本。NND,搞死我了。servlet的接口規范這樣改出現了兼容性問題,很是不方便。
我暫時把這樣的寫法注視掉了,不知道還有沒有其他的高招啊?
=======
重新在classpath里面引入2.4版本即可。