- 締切済み
コンパイルエラー
JBuiderでコンパイルしようとするとエラーがでてしまいます。ソースは以下の通りです。 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class TestServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(); Integer count=(Integer)session.getAttribute("count"); if(count == null){ count = new Integer(0); }else{ count = new Integer(count.intValue()+1); } session.setAttribute("count",count); response.setContentType("text/html; charset=Shift_JIS"); PrintWriter out= response.getWriter(); out.println("<html>"); out.println("<head><title>TestServlet</title></head>"); out.println("<body>"); out.println(session.getId()); out.println("<p>\"count\"という名前のattribute = " + count +"</p>"); out.println("</body></html>"); out.close(); } } これをコンパイルすると、 "TestServlet.java": エラー #: 300 : メソッド getAttribute(java.lang.String) が見つかりません: インターフェース javax.servlet.http.HttpSession 行 9, 列 36 "TestServlet.java": エラー #: 300 : メソッド setAttribute(java.lang.String, java.lang.Integer) が見つかりません: インターフェース javax.servlet.http.HttpSession 行 15, 列 13 というメッセージがでます。何が原因なのか教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mojimojio
- ベストアンサー率51% (14/27)
お返事が遅くなりました。 ご使用のサーブレットエンジンのドキュメントに書かれているはずです。 例えばTomcatの場合だと、ユーザーズガイドに記述があります。 http://jakarta.apache.org/tomcat/tomcat-3.3-doc/tomcat-ug.html
- mojimojio
- ベストアンサー率51% (14/27)
HttpSessionのgetAttributeとsetAttributeは、Servlet APIのバージョン2.2で追加されたものと思います。それ以前のAPI実装を使っているのではないでしょうか。 サーブレットエンジンに何を使われているか分かりませんが、新しいServlet APIに対応したバージョンがリリースされているようでしたら、そちらを使った方が良いと思います。 いちおう、2.2より前のバージョンでは、getValueとputValueが同じ機能のメソッドとして使えます。
お礼
ご回答ありがとうございます。ところでServlet APIのバージョンとはどうやって調べれば良いのでしょうか。