• 締切済み

サーブレットのコンパイルについて

はじめまして。 学校の課題の方でJSP/サーブレットをやっているのですが、サーブレットのコンパイルが通りません。 プログラムとエラーと環境変数は以下の通りです。 【プログラム】 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException { printWriter out = response.getWriter(); out.println("hello"); } } 【エラー】 HelloServlet.java:2: パッケージ javax.servlet は存在しません。 import javax.servlet.*; ^ HelloServlet.java:3: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.*; ^ HelloServlet.java:5: シンボルを解決できません。 シンボル: クラス HttpServlet 場所 : HelloServlet の クラス public class HelloServlet extends HttpServlet ^ HelloServlet.java:7: シンボルを解決できません。 シンボル: クラス HttpServletRequest 場所 : HelloServlet の クラス public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException ^ HelloServlet.java:7: シンボルを解決できません。 シンボル: クラス HttpServletResponse 場所 : HelloServlet の クラス public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException ^ HelloServlet.java:7: シンボルを解決できません。 シンボル: クラス ServletException 場所 : HelloServlet の クラス public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException ^ HelloServlet.java:9: シンボルを解決できません。 シンボル: クラス printWriter 場所 : HelloServlet の クラス printWriter out = response.getWriter(); 【環境変数】 CATALINA_HOME C:\servletbook\apache-tomcat CLASSPATH %CATALINA_HOME%\common\lib\jsp-api.jar;%CATALINA_HOME%\webapps\atmarkit\WEB-INF\classes;%CATALINA_HOME%\common\lib\servlet-jsp.jar; よろしくお願いします。

みんなの回答

回答No.1

>import javax.servlet.*; この部分がまずエラーのはじめですね。あとのエラーはこれに関連するエラーですので、これを解決しないとだめです。 あるサイトに↓がありました。 (2)環境変数のCLASSPATHの設定 rootユーザの環境変数を設定します。ここでは、「CLASSPATH」にコンパイルで必要となるライブラリを設定します。なお、Tomcat-5までは「servlet.jar」を指定していましたが、Tomcat-6からは「servlet-api.jar」を指定するみたいです。 ↑によって、あなたのTomcatのバージョンが6なら%CATALINA_HOME%\common\lib\servlet-api.jar バージョンが5なら%CATALINA_HOME%\common\lib\servlet.jar をクラスパスに指定してください。 あと、一番最後のエラー シンボル: クラス printWriter はPrintWriterです。最初のPが大文字じゃなくてはなりません。 一連のエラーはimport文でインポートしたライブラリをコンパイラが発見できなかったためです。発見させるためにはクラスパスに上記jarファイルを指定してやる必要があります。ソースに書かれている必要なライブラリは上記jarファイルにありますので。 では、がんばってください。

noname#74550
質問者

お礼

ありがとうございました。 動きました。

関連するQ&A