• 締切済み
  • すぐに回答を!

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 個 になります。

共感・応援の気持ちを伝えよう!

  • 回答数5
  • 閲覧数9250
  • ありがとう数4

みんなの回答

  • 回答No.5

#4です。誤りがあったので訂正します。 例2) 誤 c:\javasrc><JAVA_HOME>\javac -classpath ...... 正 c:\javasrc><JAVA_HOME>\bin\javac -classpath ...... <JAVA_HOME>はご自身の環境のjavaのインストールフォルダに置き換えて使用してくださいね

共感・感謝の気持ちを伝えよう!

質問者からのお礼

色々とご迷惑をお掛けしました。なんとか出来るようになったようです。おそらく再起動をかけたことによるのではないかと思っています。皆様、色々とご尽力頂き誠にありがとうございました。

関連するQ&A

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

    はじめまして。 学校の課題の方で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; よろしくお願いします。

  • このソースのコンパイルできません。

    java, サーブレット初心者でコンパイルできません。エラーは以下のとおりです。 初歩的な質問で申し訳ないですがよろしくお願いします。 http://www.javaroad.jp/opensource/js_tomcat2.htm のページのHelloServlet.javaをコピーしてコンパイルをしようとしたらエラーが、、、。 import java.io.*; import java.text.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<HTML>"); out.println("<BODY>"); out.println(new java.util.Date()); out.println("</BODY>"); out.println("</HTML>"); } } ーーーーーーーーーーーーーーーーーーーーーーーーーーー HelloServlet.java:7: エラー: パッケージjavax.servletは存在しません import javax.servlet.*; ^ HelloServlet.java:8: エラー: パッケージjavax.servlet.httpは存在しません import javax.servlet.http.*; ^ HelloServlet.java:10: エラー: シンボルを見つけられません public class HelloServlet extends HttpServlet { ^ シンボル: クラス HttpServlet HelloServlet.java:11: エラー: シンボルを見つけられません public void doGet(HttpServletRequest request, ^ シンボル: クラス HttpServletRequest 場所: クラス HelloServlet HelloServlet.java:12: エラー: シンボルを見つけられません HttpServletResponse response) ^ シンボル: クラス HttpServletResponse 場所: クラス HelloServlet HelloServlet.java:13: エラー: シンボルを見つけられません throws IOException, ServletException { ^ シンボル: クラス ServletException 場所: クラス HelloServlet エラー6個 エラー

    • ベストアンサー
    • Java
  • サーブレットを始めようとしたのですが・・・

    サーブレットを始めようとして、「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 個 調べた感じだとクラスパスの設定が間違っている可能性大ということらしいのですが、何度確かめてもクラスパスは合ってると思うのです・・ 何かこれじゃないか?という原因に心当たりがあればよろしくお願いします。

    • ベストアンサー
    • Java
  • 回答No.4

※説明の便宜上、sdkのインストールフォルダを<JAVA_HOME>としています。 >色々と試していたらjavacが認識されなくなりました。 >c:\javasrc>javac >'javac' は、内部コマンドまたは外部コマンド、 >操作可能なプログラムまたはバッチ ファイルとして認識されていません。 何をしたのかわからないと認識されなくなった原因までははっきりしませんが 少なくとも言えるのは環境変数pathできられているフォルダに javac.exeファイルが存在しない(あるいはそのフォルダ自体存在していない)ということです。 直すには環境変数pathに正しくjavac.exeファイルの存在するフォルダ(即ち「<JAVA_HOME>\bin」)を示してやる必要があります。 まぁ取り急ぎコンパイルするだけならわざわざPATHは通さなくてもよいですが‥。 例えば、cdコマンドで<JAVA_HOME>\binまで移動してjavac.exeを使用してもいいですし、 javac.exeを絶対パスで指定してもコンパイルできます。 例1) <JAVAHOME>\bin>javac -classpath "C:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib\servlet-api.jar" "C:\javasrc\HelloServlet.java" ※コンパイルされたファイル(HelloServlet.class)は「<JAVAHOME>\bin」に作成されます。 例2) c:\javasrc><JAVA_HOME>\javac -classpath "C:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib\servlet-api.jar" HelloServlet.java ※コンパイルされたファイル(HelloServlet.class)は「d:\javasrc」に作成されます。 例1、例2ともにtomcatのインストールフォルダが「C:\Program Files\Apache Software Foundation\Tomcat 5.0」の場合の話です。

共感・感謝の気持ちを伝えよう!

  • 回答No.3
  • kztk
  • ベストアンサー率53% (59/110)

CATALINA_HOMEから想像するに、 javac -classpath "C:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib\servlet-api.jar" HelloServlet.java でいけると思います、たぶん。 もしダメだったらTOMCATのインストール配下でservlet-ap.jarを探してその場所をclasspathに指定してください。 あと、 JAVA_HOMEのC:\Program Files\Java\jdk1.6.0_15 と PATHのc:\j2sdk1.4.2\bin から、少なくともJDKが2つ(1.6.0と1.4.2)インストールされているようですが、TOMCATはどちらで動くのでしょうか。 TOMCATを1.6.0で動かすならコンパイルも1.6.0でしておくべきです。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。 色々と試していたらjavacが認識されなくなりました。 c:\javasrc>javac 'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 ユーザー環境変数が path C:\j2sdk1.4.2_04\bin JAVA_HOME C:\j2sdk1.4.2_04 システム環境変数が Path %SYSTEMROOT%\system32;%SYSTEMROOT%;%SYSTEMROOT%\COMMAND;%SYSTEMROOT%\system32\WBEM;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;c:\borland\bcc55\bin;%JAVA_HOME%\bin 私が思うにシステム環境変数の「JAVA_HOME」で ユーザー環境変数の「JAVA_HOME」に飛んで「C:\j2sdk1.4.2_04」が認識されると思うのですがされません。また、そうであるならばユーザー環境変数のpathは必要ないと思うのですが・・。 振り出しに戻りましたがなかなか解決しません。どなたかお知恵を拝借出来ればと思います。

  • 回答No.2

javaxから始まるパッケージはjavaの拡張パッケージ(eXtended package)を表すので 基本的にはjdkに含まれていません。 ※jdk 1.6ではjavax.jwsなどが含まれており、必ずしも含まれないわけではないようなんですが‥  javax.jwsはJAX-WSの担当でJ2SEとは違うってことで、SUNの中では拡張として扱っているのかなぁ。わかりにくい。。 servletやjspなどはj2ee(=Java EE)の担務なので通常はAPサーバで提供しているjarを利用します。 tomcatの場合、servlet関連のパッケージはservlet-api.jarといった名前で提供されているので それをクラスパスに含めればコンパイルが通るようになるはずです。 > 環境設定はなんでこんなに難しいのでしょうか。 慣れの問題でしょうが、TOMCATは文献も多いですし比較的楽なほうですよ。 PATHとかは必ずしもきる必要はないですし。(ていうかEclipseなどを使っていると コンパイラやクラスパス(ビルドパス)はEclipse上で設定するから 最近はいちいち設定するほうが少ないと思いますよ) これを生業としているのかは存じませんが、これで音をあげていると 後々もちませんよ。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご協力ありがとうございます。 このままでは後々もたないかもしれません。家庭にも悪影響が出始めてきました。これを生業にはしていないのがせめてもの救いです。

  • 回答No.1
  • kztk
  • ベストアンサー率53% (59/110)

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をキーワードにもう一度調べてみましょう。

参考URL:
http://java-house.jp/ml/archive/j-h-b/021880.html

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。 システム環境変数を変更していたら症状が悪化しました。 コンパイルが出来なくなり下記のメッセージが出るようになりました。 基に戻しても治らないようです。 c:\javasrc>javac HelloServlet.java 'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 ユーザー変数は path c:\j2sdk1.4.2\bin システム環境変数は CATALINA_HOME C:\Program Files\Apache Software Foundation\Tomcat 5.0 JAVA_HOME C:\Program Files\Java\jdk1.6.0_15 環境設定はなんでこんなに難しいのでしょうか。

質問者からの補足

システムの復元をして、何とか振り出しに戻りました。 相変わらずエラー6個の壁が高い・・。

関連するQ&A

  • 「パッケージ javax.servlet.http は存在しません。」

    「パッケージ javax.servlet.http は存在しません。」というエラー 以下のようなエラーが出ます: C:\Users\Einhorn\mywork\myapp\WEB-INF\src\com\gokui>javac -classpath "C:\apache- tomcat-6.0.26\common\lib\servlet-api.jar" Sample016.java Sample016.java:3: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.HttpServlet; ^ Sample016.java:6: パッケージ javax.servlet は存在しません。 import javax.servlet.ServletException; ^ Sample016.java:7: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.HttpServletRequest; ^ Sample016.java:8: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.HttpServletResponse; ^ Sample016.java:9: シンボルを見つけられません。 シンボル: クラス HttpServlet public class Sample016 extends HttpServlet { ^ Sample016.java:15: シンボルを見つけられません。 シンボル: クラス HttpServletRequest 場所 : com.gokui.Sample016 の クラス public void doGet(HttpServletRequest request, HttpServletResponse respon se) ^ Sample016.java:15: シンボルを見つけられません。 シンボル: クラス HttpServletResponse 場所 : com.gokui.Sample016 の クラス public void doGet(HttpServletRequest request, HttpServletResponse respon se) ^ Sample016.java:16: シンボルを見つけられません。 シンボル: クラス ServletException 場所 : com.gokui.Sample016 の クラス throws ServletException, IOException { ^ エラー 8 個 …EclipseでTomcatを起動したときは問題なく動くんですけど、コマンドプロンプトからjavacだと動きません。 多分、classpathの設定に問題があるんでしょうけど、servlet-api.jarとjsp-api.jarへのclasspathはちゃんと設定されています: >set classpath CLASSPATH=.;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip; C:\Program Files (x86)\Java\jdk1.6.0_17\lib\tools.jar; C:\apache-tomcat-6.0.26\common\lib\servlet-api.jar; C:\apache-tomcat-6.0.26\common\lib\jsp-api.jar; スペック: Windows XP (64-bit) apache-tomcat-6.0.26-windows-x64.zip jdk-6u17-windows-i586.exe jre6 上記の通り、ちゃんと-classpathで指定しているのにエラーが出ます。 後は何を確認すればよいのでしょうか? 必要であれば補足しますので、どうか助けてください。

    • ベストアンサー
    • Java
  • サーブレット初歩に関して。

    package oty; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class Otys */ public class Otys extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public Otys() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } } 初期状態がこんな状態なんですが、これになにを追加したらhelloworldとでますか?? 普通にJAVA入門みたいに、System.out.printlnしたらいいんでしょうか??

    • ベストアンサー
    • Java
  • 始めてのサーブレットでつまづいています。アドバイス下さい。

    【参考ファイル】 http://www.hellohiro.com/servlet.htm ----------------------------------------------------------- 【ソース HelloWorldServlet.java】 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorldServlet extends HttpServlet { public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // ContentTypeを設定 response.setContentType("text/html; charset=Shift_JIS"); // 出力用PrintWriterを取得 PrintWriter out = response.getWriter(); // 出力 out.println("<html>"); out.println("<head>"); out.println("<title>Hello World Servlet</title>"); out.println("</head>"); out.println("<body>"); out.println("Hello World"); out.println("</body>"); out.println("</html>"); } } ----------------------------------------------------------- 【バージョン】 [java] C:\j2sdk1.4.2_06 [Tomcat] C:\Program Files\Apache Software Foundation\Tomcat 5.5 ----------------------------------------------------------- 【環境変数】 [CLASSPATH] .;C:\Program Files\Java\j2re1.4.1_02\lib\ext\QTJava.zip [Path] C:\j2sdk1.4.2_06\bin;C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar ----------------------------------------------------------- 【エラー内容】 C:\Program Files\Apache Group\Apache2\htdocs\java\hello>javac HelloWorldServlet. java HelloWorldServlet.java:2: パッケージ javax.servlet は存在しません。 import javax.servlet.*; ^ HelloWorldServlet.java:3: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.*; ^ HelloWorldServlet.java:5: シンボルを解決できません。 シンボル: クラス HttpServlet 場所 : HelloWorldServlet の クラス public class HelloWorldServlet extends HttpServlet { ^ HelloWorldServlet.java:6: シンボルを解決できません。 シンボル: クラス HttpServletRequest 場所 : HelloWorldServlet の クラス public void service(HttpServletRequest request, ^ HelloWorldServlet.java:7: シンボルを解決できません。 シンボル: クラス HttpServletResponse 場所 : HelloWorldServlet の クラス HttpServletResponse response) ^ HelloWorldServlet.java:8: シンボルを解決できません。 シンボル: クラス ServletException 場所 : HelloWorldServlet の クラス throws ServletException, IOException { ^ エラー 6 個 C:\Program Files\Apache Group\Apache2\htdocs\java\hello>

    • ベストアンサー
    • Java
  • サーブレットにて、HTTP404エラーについて

    プログラミング初心者のものです。サーブレットについて勉強しているのですが、どうしてもHTTP404エラーが解消されません。 http://localhost:8080/entry/HelloServlet とURLに入力すると type ステータスレポート メッセージ /entry/HelloServlet 説明 The requested resource (/entry/HelloServlet) is not available. となってしまいます。なにかミスや指摘があればお願いします。 ファイル名 HelloServlet.java 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"); } } ファイル名 web.xml <web-app> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/HelloServlet</url-pattern> </servlet-mapping> </web-app> HelloServlet.javaは、 C:\servletbook\apache-tomcat\webapps\entry\WEB-INF\classes に格納されており、web.xmlは C:\servletbook\apache-tomcat\webapps\entry\WEB-INF に格納されてます。

    • ベストアンサー
    • Java
  • doPost+doGet

    public class Class{ public void doPost (HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException try{ //処理 }catch(Exception e){ e.printStackTrace(); } } public void doGet (HttpServletRequest request,HttpServletResponse response){ try{ doPost(request, response); }catch(Exception e){ e.printStackTrace(); } } } この処理は、doGetで送信されたものをdoPostに送って処理するということでよろしいのでしょうか? 分かる方がいましたら、よろしくお願いします。

    • ベストアンサー
    • Java
  • Mac OS JAVAファイルのコンパイルについて

    Java超入門者です。 Mac OS X Ver.10.6.8 で、サーブレット/JSPを独学で勉強をと初めておりますが、 テキスト本がwindows版のものなので、環境変数の設定やらで違いがあり、 戸惑っております。 テストの"HelloServet.java"をテキストエディターで作成し(画像ご参照ください)、 このファイルをターミナルのコマンド(javac HelloServlet.java と入力)で コンパイルしようとしたら、エラーがでてしまいました。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー Javac HelloServlet.java HelloServlet.java:2: package javax.servlet does not exist import javax.servlet.*; ^ HelloServlet.java:3: package javax.servlet.http does not exist import javax.servlet.http.*; ^ HelloServlet.java:5: cannot find symbol symbol: class HttpServlet public class HelloServlet extends HttpServlet { ^ HelloServlet.java:7: cannot find symbol symbol : class HttpServletRequest location: class HelloServlet public void doGet( HttpServletRequest request, ^ HelloServlet.java:8: cannot find symbol symbol : class HttpServletResponse location: class HelloServlet HttpServletResponse response ) ^ HelloServlet.java:9: cannot find symbol symbol : class ServletException location: class HelloServlet throws IOException, ServletException { ^ 6 errors ----------------------------------------------------------------------------------------------------------- JDKの装備はターミナルにて確認しました。 java -version java version "1.6.0_31" Java(TM) SE Runtime Environment (build 1.6.0_31-b04-415-10M3635) Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01-415, mixed mode) ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー これと同様のエラーを、他のフォーラムでみつけて http://www.coderanch.com/t/509509/Servlets/java/simple-servlet-program-error classPATHの問題?というふうに捉えましたが、windowsでの回答だったので、 設定方法までこぎつけませんでした。 Macの場合のクラスパス設定などで、Google検索などもしましたが、 いろいろと方法があり、この場合どういったクラスパスの設定をすればいいのか、 そもそも、classpathの問題なのかどうかさえわからないので、 どなたか、教えて頂けませんでしょうか? このあとは、TOMCATを落としインストールして、JAVA_HOMEなども設定して とりあえず、eclipseではなく、Servlet/JSPを勉強したいと思っております。 基本過ぎる質問で申し訳ありませんが、宜しくお願い致します。

  • コンパイルエラー

    前の『Server Hangup』の質問とは別にこちらもお願いします。ちなみにあれは家のパソコンです。今回は会社のパソコンなんですが、こちらは同じようにTomcatをインストールしてhttp://localhost:8080/にアクセスするとちゃんと画面が表示されます。しかし、HelloServlet.javaがコンパイルできないのです。 これも本を読みながら同じようにやっているのですが・・・。 一体何が原因なのでしょうか? 環境はOSがWindows2000、j2sdk1.4.1、jakarta-tomcat-4.0.3-LE-jdk14です。 ファイルのあるディレクトリに移動して javac -classpath=%CATALINA_HOME%\common\lib\servlet.jar;%CLASSPATH% HelloServlet.java と入力すると以下のようなエラーになります。 HelloServlet.java:5: パッケージ javax.servlet は存在しません。 import javax.servlet.ServletException; ^ HelloServlet.java:6: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.HttpServlet; ^ HelloServlet.java:7: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.HttpServletRequest; ^ HelloServlet.java:8: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.HttpServletResponse; ^ HelloServlet.java:14: シンボルを解決できません。 シンボル: クラス HttpServlet 場所 : HelloServlet の クラス public class HelloServlet extends HttpServlet {   … エラー 8 個 質問内容は検索したのですが、同じようなのは、コードの書き間違いだったようで 回答は得られませんでした。 どうぞよろしくお願いします。

    • ベストアンサー
    • Java
  • サーブレットの動作

    以下のようなサーブレットのプログラムがあります。 本サーブレットを実行すると、simpleDB.jspに飛ぶようになっています。 疑問点は以下です。 ・GetやPostを使って送られてくるデータがないのに、なぜ  本プログラムが動くのか分かりません(根本的に分かって  ないんですが)。 ・getServletContext().setAttribute("list", employeeList)で  listに設定をしてますが、listは飛ぶ先のsimpleDB.jspで定義  されています。なぜこのサーブレットで定義されていないものを、  設定することが可能なのでしょうか? 以上、ご回答頂けると幸いです。 ---------- import java.io.IOException; import文以下略 public class EmployeeServlet extends javax.servlet.http.HttpServlet { /** * 初期化メソッド * 社員一覧をapplicationスコープにセットします */ public void init() { EmployeeDAO dao = new EmployeeDAO();     //EmployeeDAOクラスは他で定義済み ArrayList<Employee> employeeList = dao.findAll(); getServletContext().setAttribute("list", employeeList); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /** * リクエストを処理するメソッド * simpleDB.jspに移動し、社員一覧を表示します */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String nextPage = "/view/simpleDB.jsp"; ServletContext context = getServletContext(); RequestDispatcher rd = context.getRequestDispatcher(nextPage); rd.forward(request, response); } }

    • ベストアンサー
    • Java
  • 【サーブレットのコンパイルエラーが解決できません】

    Servleteのコンパイルエラーについてご教授下さい。 protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { がソースなのですが、コンパイルすると SearchServlet.java:12: シンボルを解決できません。 シンボル: クラス IOException 場所 : SearchServlet の クラス throws ServletException, IOException { エラー 1 個 とIOExceptionの下に^がついて表示されます。 CLASSPATHも %CATALINA_HOME%\webapps\wl_jsp\WEB-INF\classes %JAVA_HOME%\lib\tools.jar %CATALINA_HOME%\common\lib\servlet-api.jar と設定してあり本やネットで調べたのですが解決できませんでした。 教えて下さい!お願い致します。

    • ベストアンサー
    • Java
  • doGetの引数に「入るモノ」について

    サーブレットにおけるクラスのdoGetメソッドについて 質問です(Tomcat3.2.1 + JDK1.3)。 public void doGet(HttpServletRequest request, HttpServletResponse response) 理屈で考えると、このdoGetメソッドの2つの仮引数 (request, response)には、 「インターフェースHttpServletRequestをimplements したクラス」のインスタンス ‥‥と、 「インターフェースHttpServletRequestをimplements したクラス」のインスタンス の2つのインスタンスが入れられるハズですよね。 そこで疑問なのが、 1. それら2つのクラスの名前はなんというのでしょう? (というのはインターフェースHttpServletRequestや インターフェースHttpServletResponseを 実装したクラスのメソッドの処理内容の定義を 見たいのです‥) 2. 誰がそのクラスをインスタンス化しているのでしょう? (サーブレットコンテナのTomcat? JRE? JVM?‥ いったい誰が?‥‥用語の区別も曖昧なのですが) 補足すると、 Javaアプリケーションのmainメソッドでは、 public static void main(String[] args) として、コマンドラインの引数がそのまま仮引数argsに 入る。じゃあ、サーブレットの場合はどうなのか? といった感じです。 2.のほうはトンチンカンな質問かもしれませんが、 1.の質問は切実です。 ご存知の方、教えてください。

    • ベストアンサー
    • Java