servletのコンパイルエラーについて

このQ&Aのポイント
  • Apache Tomcat 5.5.12にてサンプルプログラムHelloWorld .javaをコンパイルするとエラーが出てしまいます。CLASSPATHなどの設定も一通りサイトを参照して設定してみましたが、解決には至りませんでした。
  • 質問者はJAVA初心者で、問題を解決するために調査を行ったが失敗した。
  • 質問者は、HelloWorldServlet.javaをコンパイルする際に「;」のエラーが出てしまい、解決方法がわからないと相談している。
回答を見る
  • ベストアンサー

servletのコンパイルエラーについて

Apache Tomcat 5.5.12にてサンプルプログラムHelloWorld .javaをコンパイルするとエラーが出てしまいます。 HelloWorldServlet.java HelloWorldServlet.java:2: ';' がありません。 import javax.servlet-api.*; ^ CLASSPATHなどの設定も一通りサイトを参照して設定してみました。 CLASSPATH .;C:\Program Files\Java\jdk1.5.0_07\lib\tools.jar;C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\servlet-api.jar CATALINA_HOME C:\Program Files\Apache Software Foundation\Tomcat 5.5 PATH C:\Program Files\Java\jdk1.5.0_07\bin JAVA_HOME C:\Program Files\Java\jdk1.5.0_07 JAVA初心者なので調べてみましたが解決にはいたりませんでした。 よろしかったらご教授のほどよろしくお願い致します。

  • Java
  • 回答数3
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
noname#235174
noname#235174
回答No.3

こんばんわ >Apache Software Foundation\Tomcat 5.5\common\libの配下には >servlet.jarは無くservlet-api.jarならあります、 Tomcat5からはservlet-api.jarになったのは知っていますが APIのパッケージまで変わったという記憶はありません。 servlet-api.jarをzip解凍して、本当にjavax\servlet-api\という フォルダが含まれているか一度確認したほうがいいのではないでしょうか。 ちなみに当方のTomcat5.5.17にはcommon\lib\servlet-api.jarはありますが その中にjavax.servlet-apiというパッケージは含まれておりません。 ソースも以下で動くと思います。 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>"); } }

ko_jap
質問者

お礼

すいません、"-api"を削除してコンパイルしたところ 成功しました、しかし最初は、"-api"を省いてコンパイルした ところエラーが出てできなかったのでimport javax.servlet-api.*; を追加してしまいました。 以前とクラスパスも変えてないのに出来たのは不思議です・・・ 二度にわたる解答どうもありがとうございました、 これから頑張ってJAVAを習得したいと思います。

その他の回答 (2)

noname#235174
noname#235174
回答No.2

import javax.servlet-api.*; じゃなくて import javax.servlet.*; なのでは?

ko_jap
質問者

補足

Apache Software Foundation\Tomcat 5.5\common\libの配下には servlet.jarは無くservlet-api.jarならあります、 サイトも参照しましたがこちらが正しいようです。 ソースを載せます。 ---------------ここから----------------- import java.io.*; import javax.servlet-api.*; 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>"); } } ---------------ここまで-----------------

回答No.1

クラスパスの話じゃなくて、プログラム内で「;」がなかったり、 その直近で何かおかしな記述してたりしてません?

ko_jap
質問者

補足

ハットの位置がずれてました。 HelloWorldServlet.java HelloWorldServlet.java:2: ';' がありません。 import javax.servlet-api.*;           ^ import javax.servlet-api.*; の部分を指摘されてると思うのですがセミコロンは記述してます。

関連するQ&A

  • servletのコンパイルエラーについて CLASS_PATH Tomcat 5.5.11

    Tomcat 5.5.11にてservlets-examplesのサンプルプログラムHelloWorld .javaをコンパイルすると以下のエラーが出ます。 Tomcatは正常に動作していますし、通常のjavaプログラムもコンパイルできます。 HelloWorld.java:3: パッケージ javax.servlet は存在しません。 import javax.servlet.*; ^ HelloWorld.java:4: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.*; CLASS_PATH などの設定はいろいろなサイトやここの過去の質問を見たとおりにしましたがなんともなりません。 現在は以下のようになっております。 CLASS_PATH .;C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\servlet-api.jar CATALINA_HOME C:\Program Files\Apache Software Foundation\Tomcat 5.5 PATH C:\Program Files\Java\jdk1.5.0_04\bin JAVA_HOME C:\Program Files\Java\jdk1.5.0_04 もうどうしたらいいのかわかりません。 助言のほうよろしくお願いします。

    • ベストアンサー
    • Java
  • javaのコンパイルがうまくいきません。

    現在javaのFileUploadクラスを使用してファイルをサーバへアップロードするアプリケーションを作成しております。 コンパイルにはANTを使用しています。 動作環境: WindowsXP sp2 jdk1.5.0_10 tomcat5.5.23 Apache Ant 1.7.0 現象: 作成したjavaファイルをコンパイルしようとするとDiskFileUploadクラスとFileItemクラスまたHttpSessionクラスのシンボルを見つけられませんとなりコンパイルが通りません。 環境変数: JAVA_HOME = "c:\Program Files\java\jdk1.5.0_10" ANT_HOME = "C:\Program Files\Apache Software Foundation\apache-ant-1.7.0" CATALINA_HOME = "C:\Program Files\Apache Software Foundation\Tomcat 5.5" path = "%JAVA_HOME%\bin;C:\Program Files\Apache Software Foundation\apache-ant-1.7.0\bin" CLASSPATH = ".;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;%CATALINA_HOME%\common\lib\commons-fileupload-1.2.jar;%CATALINA_HOME%\common\lib\commons-io-1.3.2.jar" となります。 tomcatのcommon\libがうまく参照できていないからなのでしょうか? とすればそれはなぜなのでしょうか? ご教授いただければと思います。よろしくお願いいたします。

    • ベストアンサー
    • Java
  • TomcatのJSP Examplesのページを開けません

    これからJSP・サーブレットを勉強しようと思っている初心者です。 Tomcatを起動しhttp://locaohost:8080でページは表示されるのですが、JSP ExamplesとServlet Examplesを開こうとすると、 The requested resource (/jsp-examples/) is not available. というメッセージがでて開く事が出来ません。 WindowsXP J2SE 環境変数は path C:\Program Files\Java\jdk1.5.0\bin;C:\Program Files\MySQL Server4.1\bin CATALINA_HOME C:\Program Files\Apache Software Foundation\Tomcat5.5 JAVA_HOME C:\Program Files\Java\jdk1.5.0 CLASSPATH C:\Program Files\Apache Software Foundation\Tomcat5.5\common\lib\servlet_api.jar; C:\Program Files\Apache Software Foundation\Tomcat5.5\common\lib\jsp_api.jar; C:\Program Files\Apache Software Foundation\Tomcat5.5\webapps\jsp 10\WEB-INF\classes に設定してあります。 初歩的な質問で申し訳ありませんが、よろしくお願いします。

  • 「パッケージ 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
  • tomcatのエラー 404 

    これからJSPを勉強したいと思っている者です。 宜しくお願いいたします。 早速、質問です。 Tomcatを起動しhttp://locaohost:8080でページは表示されるのですが、http://localhost:8080/PG2/test1.jsp←この様に指定すると The requested resource (/PG2/test1.jsp) is not available.というメッセージがでて開く事が出来ません。 似た様な質問があったので自分なりに調べてみましたができませんでした。 ご教授くださいませ。 宜しくお願いいたします。 環境変数は PATH C:\j2sdk1.4.2_11\bin CATALINA_HOME C:\Program Files\Apache Software Foundation\Tomcat 5.5 CLASSPATH C:\j2sdk1.4.2_11\lib\dt.jar; C:\j2sdk1.4.2_11lib\tools.jar; C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\servlet_api.jar; C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\jsp_api.jar; JAVA_HOME C:\j2sdk1.4.2_11 OS WindowsXP 後、eclipsの[ウィンドウ]→[設定]→[tomcat]→[JVMの設定]のJREはjre1.5.0._06になっています。 j2sdk1.4.2_11ではエラーがでます。 足りない情報ありましたら教えてください。 宜しくお願いいたします。

  • サーブレットでコンパイルがうまくいきません。

    質問させて下さい。サーブレットでコンパイルがうまくいきません。 どうか教えて下さい。 エラーはこのとおりです。ディレクトリはC:\Program Files\Tomcat5\webapps\entry\WEB-INF 実行しました。 c:\>set classpath CLASSPATH=C:\Program Files\Tomcat5\common\lib\servlet-api.jar c:\>cd C:\Program Files\Tomcat5\webapps\entry\WEB-INF C:\Program Files\Tomcat5\webapps\entry\WEB-INF>javac src/HelloServlet.java -d classes エラー: src/HelloServlet.java を読み込めません。 エラー 1 個

  • Javaサーブレット開発環境について

    学校でサーブレットの勉強をしているのですが、家でもやろうとしてTomcatをパソコンに入れたのですが、サーブレットだけで次のようなエラーが発生します。 例外 javax.servlet.ServletException: サーブレットインスタンスを割り当て中のエラーです 環境変数は CATALINA_HOME C:\Program Files\Apache Software Foundation\Tomcat 5.0 CLASSPATH .;C:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib\servlet-api.jar;C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\s\WEB-INF\classes JAVA_HOME C:\j2sdk1.4.2_10 PATH C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\s; ちなみにサーブレットのファイルは C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\s\WEB-INF\classes に入れてあります。 どなたかよろしくお願いします。

  • JSPが表示できない

    JSPが表示できない JSPとtomcatを使ってブラウザ上にHello Worldと表示させたいのですが、表示できずにエラーが出てしまいます どなたかご存知の方いらっしゃいましたらご回答願います ソース helloworld.jsp <html> <head> <title>Hello World JSP</title> </head> <body> <% String s= "Hello World"; out.println(s); %> </body> </html> 結果 HTTPステータス 500 - -------------------------------------------------------------------------------- type 例外レポート メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELResolver org.apache.jasper.servlet.JspServlet.service(JspServlet.java:274) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 原因 java.lang.NoClassDefFoundError: javax/el/ELResolver tomcat バージョン:6.0.14 java jdk バージョン 1.5.07 環境設定 ユーザー環境変数 CATALINA_HOME c:\Program Files\Apache Software Foundation\Tomcat 6.0 JAVA_HOME c:\Program Files\Java\jdk1.5.0_07 path c:\Program Files\Java\jdk1.5.0_07\bin;c:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar システム環境変数 CLASSPATH .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\bin 動作環境 OS:windows XP です 色々サイトを見て環境設定したので、もしかしたら不必要なものまで設定してしまっているかもしれません どうぞよろしくお願いします

  • JSPの環境構築がうまくいきません(Tomcat5.5 J2SE5.0)

    恐縮ながら文字数ギリのためメモ帳にコピー改行お願いします。当方、PHPを少しかじった程度のプログラム初心者です。恥ずかしながら初歩の段階でわからず困っています。自分なりに試行錯誤してみたのですが完全にはまってしまいました。どなたかアドバイスをよろしくお願いします。J2SEとしてjdk-1_5_0_03-windows-i586-p.exeをインストールしました。ユーザー環境変数は、次のように設定【変数】JAVA_HOME【値】C:\Program Files\Java\jdk1.5.0_03【変数】CATALINA_HOME【値】C:\Program Files\Apache Software Foundation\Tomcat 5.5【変数】CLASSPATH【値】.;C:\Program Files\Java\jdk1.5.0_03\jre\lib;C:\Program Files\Java\jdk1.5.0_03\lib;C:\Program Files\Java\jdk1.5.0_03\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;%CATALINA_HOME%\common\lib\jsp-api.jar;%CATALINA_HOME%\webapps\jsp10\WEB-INF\classes;【変数】PATH 【値】.;%JAVA_HOME%\bin;C:\Program Files\MySQL\MySQL Server 4.1\bin;C:\Program Files\Anchor\bin コマンドプロンプトの実行結果です。C:\>java -version★java version "1.5.0_03"Java(TM) 2 Runtime Environment, Standerd Edition (built 1.5.0_03-b07)Java HotSport(TM) Client VM (build 1.5.0_03-b07,mixed mode, sharing) 続いてTomcatのjakarta-tomcat-5.5.9.exeをインストール http://localhost:8080/ と入力しておなじみのTomcatのページを見ることができました。しかし JSP Examples をクリックして JSPの動作を確認しようとすると以下のようなページに・・★HTTPステータス 404 - /jsp-examples/type ステータスレポート メッセージ /jsp-examples/説明 The requested resource (/jsp-examples/) is not available.Apache Tomcat/5.5.9

    • ベストアンサー
    • Java
  • JSPのクラスをコンパイルできない問題

    こんにちは。 JSPの「org.apache.jasper.JasperException: JSPのクラスをコンパイルできません」 のエラーメッセージに悩まされております。 掲示板をみたところ、たぶんパスの設定ではないかと検討をつけてはいるのですが解決できずの状態です。 ■環境 OS :WinVistaBusiness SP2 TOMCAT :apache-tomcat-6.0.32 :C:\Program Files\Apache Software Foundation\Tomcat 6.0 JDK :jdk1.6.0_24 :D:\Program Files\Java\jdk1.6.0_24 JRE 1:jre1.6.0_06  :C:\Program Files\jre1.6.0_06 2:jre6  :C:\Program Files\jre6 ECLIPSE :Eclipse IDE for Java Developers / Helios Service Release 2 :D:\eclipse :ワークスペース:D:\Users\ueda\workspace\myapp\WEB-INF\src\web.xml ■ウィンドウズ環境変数 ◎JAVA_HOME D:\Program Files\Java\jdk1.6.0_24 ◎CATALINA_HOME C:\Program Files\Apache Software Foundation\Tomcat 6.0 ◎CLASSPATH .;$JAVA_HOME/lib ;$JAVA_HOME/lib/tools.jar ;C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib ;C:\Program Files\Java\jre1.6.0_06\bin ◎PATH C:\Program Files\Common Files\Microsoft Shared\Windows Live ;%SystemRoot%\system32 ;%SystemRoot% ;%SystemRoot%\System32\Wbem ;C:\Program Files\Softex\OmniPass ;C:\Program Files\pcdNavi\bin ;C:\Program Files\Common Files\Roxio Shared\10.0\DLLShared\ ;C:\Program Files\Common Files\Roxio Shared\DLLShared\ ;C:\Program Files\Common Files\Roxio Shared\DLLShared\ ;C:\Program Files\Common Files\Roxio Shared\10.0\DLLShared\ ;C:\Program Files\Common Files\Ulead Systems\MPEG ;C:\Program Files\Microsoft SQL Server\90\Tools\binn\ ;C:\Program Files\Common Files\HP\Digital Imaging\bin ;C:\Program Files\HP\Digital Imaging\bin\ ;C:\Program Files\HP\Digital Imaging\bin\Qt\Qt 4.3.3 ;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\ ;C:\Program Files\Fujitsu\sadata ;C:\Program Files\Windows Live\Shared ;D:\Program Files\Java\jdk1.6.0_24\bin ;C:\Program Files\QuickTime\QTSystem\ ;D:\Program Files\Java\android-sdk-windows\tools ;D:\Program Files\Java\android-sdk-windows\platform-tools ;C:\Apache Software Foundation\Apache2.2\bin ;C:\php ■エラーメッセージ org.apache.jasper.JasperException: JSPのクラスをコンパイルできません: JSPファイル: /Sample015.jsp の中の5行目でエラーが発生しました Invalid character constant 2: <html> 3: <head><title>Sample015</title></head> 4: <body> 5: <% out.println('Hello!'); %> 6: </body> 7: </html> Stacktrace: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439) org.apache.jasper.compiler.Compiler.compile(Compiler.java:349) org.apache.jasper.compiler.Compiler.compile(Compiler.java:327) org.apache.jasper.compiler.Compiler.compile(Compiler.java:314) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:326) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) アドバイス頂けると有り難いです。 宜しくお願い致します。

    • ベストアンサー
    • Java