プロが教えるわが家の防犯対策術!

サーブレットを始めようとして、「10日でおぼえるJSP/サーブレット入門教室」を使って勉強しようとしているのですが、最初のファイルをコンパイルしようとしたら下記のようなエラーが出てコンパイルできませんでした。

SrvIntro.java:6: パッケージ javax.servlet は存在しません。
import javax.servlet.ServletException;
^
SrvIntro.java:7: パッケージ javax.servlet.http は存在しません。
import javax.servlet.http.HttpServlet;
^
SrvIntro.java:8: パッケージ javax.servlet.http は存在しません。
import javax.servlet.http.HttpServletRequest;
^
SrvIntro.java:9: パッケージ javax.servlet.http は存在しません。
import javax.servlet.http.HttpServletResponse;
^
SrvIntro.java:11: シンボルを解決できません。
シンボル: クラス HttpServlet
場所 : day07.SrvIntro の クラス
public class SrvIntro extends HttpServlet{
^
SrvIntro.java:12: シンボルを解決できません。
シンボル: クラス HttpServletRequest
場所 : day07.SrvIntro の クラス
public void doGet(HttpServletRequest request, HttpServletResponse respon
se)
^
SrvIntro.java:12: シンボルを解決できません。
シンボル: クラス HttpServletResponse
場所 : day07.SrvIntro の クラス
public void doGet(HttpServletRequest request, HttpServletResponse respon
se)
^
SrvIntro.java:13: シンボルを解決できません。
シンボル: クラス ServletException
場所 : day07.SrvIntro の クラス
throws ServletException, IOException{
^
エラー 8 個

調べた感じだとクラスパスの設定が間違っている可能性大ということらしいのですが、何度確かめてもクラスパスは合ってると思うのです・・
何かこれじゃないか?という原因に心当たりがあればよろしくお願いします。

A 回答 (3件)

classpathを通してください。


またはコマンドプロンプトで下記のように。(Tomcat5.0の例)
>SET CLASSPATH=C:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib\servlet-api.jar;.
この場合は起動するたびに毎回行います。

環境変数で設定すればcommand.batファイルに書き込まれる
訳ですね。
    • good
    • 0

>また、関係あるのかな?と思って「servlet-api.jar」をエディタで開いてみたら文字化けだらけだったのですが、それは関係ないでしょうか?こういうファイルはエディタで見ると文字化けしているのが普通なのでしょうか?



(直接質問の回答ではありませんが…)
普通です。(というか文字化けではありません。)
~.jarはクラスファイルをzip形式で圧縮したものです。
中身はバイナリなので、エディタで開いて見ても、(おそらく大多数の)人が表示された内容を理解することはできません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
そうですか・・・

お礼日時:2007/03/15 13:32

コマンドプロンプトから、指定した環境変数のクラスパスを入力して


ちゃんとアクセス出来ているか確認してみて下さい。
CATALINA_HOMEに「C:\Program Files\Apache Software Foundation\Tomcat 5.5」、
CLASS_PATHに「%CATALINA_HOME\webapps\hoge」とあるならば、
コマンドプロンプトで「explorer "%CATALINA_HOME%\webapps\hoge\"」とし、
正しければエクスプローラーでそのディレクトリが表示されます。
ファイルを指定したならば、そのファイル拡張子によって設定されている挙動を起こします。

見れていないから、そんなパッケージなんてねーよと言われています。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
アクセスはちゃんとできました。

ネットで続いて調べていたのですが普通は「servlet.jar」というファイルにパスを通すみたいなのですが、この本では「servlet-api.jar」というファイル(servlet.jarというファイルはTomcatのフォルダに入っていなかった)にパスを通しているのですが、それは関係あると思いますか?それとも単に名前が違うだけでしょうか?

また、関係あるのかな?と思って「servlet-api.jar」をエディタで開いてみたら文字化けだらけだったのですが、それは関係ないでしょうか?こういうファイルはエディタで見ると文字化けしているのが普通なのでしょうか?

お礼日時:2007/03/15 12:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!