質問: javax.servlet は存在しませんと出ます。 java初心者です。 tomcat5.0をインストールしてサーブレットをコンパイルしようとするのですが以下のようなコメントが出て上手くいきません。 pathの設定が原因だと思うのですがインターネットで色々調べたのですが分かりません。pathの意味がいまいち分かっていませんがよろしくお願い致します。 システム環境変数は catalina_home c:\program files\apache software foundation\tomcat 5.0 java_home c:\program files\java\jdk1.6.0_15 ユーザー変数は 変数名 path 変数値 c:\j2sdk1.4.2\bin エラー内容が c:\javasrc>javac helloservlet.java helloservlet.java:5: パッケージ javax.servlet は存在しません。 import javax.servlet.*; ^ helloservlet.java:6: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.*; ^ helloservlet.java:8: シンボルを見つけられません。 シンボル: クラス httpservlet public class helloservlet extends httpservlet{ ^ helloservlet.java:10: シンボルを見つけられません。 シンボル: クラス httpservletrequest 場所 : helloservlet の クラス public void doget(httpservletrequest req,httpservletresponse res) ^ helloservlet.java:10: シンボルを見つけられません。 シンボル: クラス httpservletresponse 場所 : helloservlet の クラス public void doget(httpservletrequest req,httpservletresponse res) ^ helloservlet.java:11: シンボルを見つけられません。 シンボル: クラス servletexception 場所 : helloservlet の クラス throws ioexception,servletexception { ^ エラー 6 個 になります。
回答: pathは関係ありません。 pathに「c:\j2sdk1.4.2\bin」と設定するのは、コマンドプロンプトで c:\javasrc>javac helloservlet.java と打ったときに、"javac"というプログラムを見つけるためです。 c:\j2sdk1.4.2\binにpathが通っているので、c:\j2sdk1.4.2\bin\javac.exeが見つかり、コンパイルができるわけです。pathがないと「javacって何よ?」となります。 パッケージ javax.servlet は存在しません。 となるのはpathではなくclasspathの問題です。 質問者さんのプログラムは import javax.servlet.*; のようにjavax.servletパッケージを使用しているのに、それがどんなパッケージなのかをjavacに伝えていないからです。 classpathをキーワードにもう一度調べてみましょう。