• 締切済み

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

JavaBeansファイルをコンパイルして、クラスファイルを 作成したのですが、 サーブレットファイルから、JavaBeansのクラスファイルを importするところで、コンパイルが止まってしまいます。 普通のサーブレットファイルはコンパイル できるので環境設定&動作確認OKです。 コンパイル時のファイルの場所は JavaBeansファイル:「c:\java\javaBeans」フォルダに格納しています。 サーブレットは:「c:\java」に格納しています。 コンパイルできると思ったのですが、 「パッケージexpertBeans(javaBeansのフォルダ名)は存在しません。」と いうエラーが帰ってきてしまい、JavaBeansのクラスファイルが認識してくれなくて 困っています。 ■JavaBeansクラスファイルのコード package expertBeans; public class PointPool{ int point; public PointPool(){ point=20; } public void setPoint(int point){ this.point=point; } public int getPoint(){ return(this.point); } } ■サーブレットファイルのコード import expertBeans.PointPool; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ServletToBean extends HttpServlet{ public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{ int point = 70; PointPool pp = new PointPool(); pp.setPoint(point); response.setContentType("text/html;charset=Shift_JIS"); PrintWriter out = response.getWriter(); out.println("<title>ポイント</title>"); out.println("ポイント数<b>" + pp.getPoint() + "点"); } } 些細なアドバイスでもいいので、 よろしくお願い致します。m(__)m

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

みんなの回答

  • maru-ko
  • ベストアンサー率0% (0/0)
回答No.4

私もクラスが認識されず、困っていたのですが、CLASSPATHの設定をよくよく見直したら、最後に「.」ピリオドを打つように本に書いてあったので、打ってみたら上手くいきました。 私はOSがWin2000なので、コマンドは解らないのですが、参考までにこんな設定をしたということで以下に記述させていただきます。 マイコンピューター>プロパティ>詳細>環境変数> 変数:CLASSPATH 値:C:\jakarta-tomcat-3.2.3\lib\servlet.jar;. (最後にピリオドを打ちます) お役に立てばいいのですが。。。

回答No.3

コマンドプロンプトで C:\>echo %classpath% として、カレントディレクトリが含まれてることを確認してください。含まれていない場合は、 C:\>set classpath=%classpath%;.\ としてください。こうすれば動くはずです。

参考URL:
http://www.hellohiro.com/appli.htm
  • chi-kon
  • ベストアンサー率43% (58/132)
回答No.2

JavaBeansクラスファイルのロードとあるのですが ファイル名はちゃんとPointPool.javaになっていますよね。 文章を読んでいるとファイル名とクラス名が一致していない可能性もあるのかなと思いました。 でもそのときは違うコンパイルエラーがでるはずなんですけどね。。。 importができないのはクラスパスの設定がおかしいとおもうのですが。。。

  • chi-kon
  • ベストアンサー率43% (58/132)
回答No.1

☆JavaBeansファイル:「c:\java\javaBeans」フォルダに格納しています。 ☆package expertBeans; 上記の点が矛盾をおこしているのでは? 1.パッケージ宣言を package javaBeans; にかえるか 2.ソースの格納ディレクトリ名を c:\java\javaBeans →c:\java\expertBeans のどちらかで対応してください。

mineral01
質問者

補足

すいません書き間違えでした。(質問内の訂正) パッケージ名とJavaBeansファイルは共に同じ名前 にしています。 ☆JavaBeansファイル:「c:\java\expertBeans」フォルダに格納しています。 ☆パッケージ名:package expertBeans; でした。 これで、「パッケージが見つかりません」と言う メッセージと共に、JavaBeansファイルのクラスを 参照するところで、エラーが出てしまいます。 なぜなのか、とっても困っています。 アドバイスよろしくお願い致します。 こういうことってあるのでしょうか? とっても不思議・・・ よろしくお願い致します。

関連する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; よろしくお願いします。

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

    サーブレット内で自作のクラスを使っています。 自作クラスの名前は、Daigakuでパッケージ名はkansaiです。 ですので、サーブレット内で package kansai; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import kansai.*; としてちゃんとkansaiをimportしていますが、 src\kansai\Uni.java:20: シンボルを見つけられません。 シンボル: クラス Daigaku 場所 : kansai.Uni の クラス Daigaku dai2 = new Daigaku(); というエラーメッセージが出てしまいます。 classes\kansaiディレクトリにちゃんとDaigaku.classはあります。 それ以外のエラーは発生していません。原因はなんでしょうか?

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

    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
  • サーブレットについて

    こんにちは。 サーブレットに質問したいことがあります。 以下のサンプルソースで、 response.setContentType("text/html;charset=Shift_JIS"); の部分があるのですが、このようにすると日本語が文字化けしてしまいます。 ちなみにresponse.setContentType("text/html); とすると、日本語も文字化けせずに正しく表示されます。 ここで質問なのですが、 サーブレットの場合はJSPと違い、charsetを指定しなくてもよろしいのでしょうか? 何か分かることがありましたらご教授御願い致します。 ---------☆サンプルソース(HelloWorldExample.java)☆---------------- import java.io.*; import java.text.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorldExample extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html;charset=Shift_JIS"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>ハローワールド</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>HelloWorld ハローワールド</h1>"); out.println("</body>"); out.println("</html>"); out.close(); } } ---------------------------------------------------

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

    WIN2000 j2sdk1.4.1_06 Tomcat 4.1.24です。 よろしくお願いします。 困っているのは、はサーブレットが動かないということです。 コンパイルすると C:\j2sdk1.4.1_06\bin>javac Hello.java パッケージ javax.servlet は存在しません。 import javax.servlet.*; というエラーになります。 j2sdkとトムキャットをインストールし、 PATH等の設定も行い Tomcatの起動も行なってからやっているのですが、 JSPはちゃんと表示してくれるのですが、 サーブレットだけ動きません。 APIを見ると確かに標準のものには載っておらず サーブレットの方に載っているようなのですが、 何か他に設定もしくは、インストールする必要が あるのでしょうか?

    • ベストアンサー
    • Java
  • サーブレットのコンパイルエラー

    会社の開発環境でコンパイルできたサーブレットを 自宅でコンパイルしようとすると、下のエラーが出てしまい困っています。だれか知恵を貸してください。 ちなみに自宅の開発環境は j2sdk1.4.0とtomcat3.2.3 です。 よろしくお願いします。 ----------------------------------- ReserveControlServlet.java:26: シンボルを解釈処理できません。 シンボル: メソッド setCharacterEncoding (java.lang.String) 位置 : javax.servlet.http.HttpServletRequest の インタフェース request.setCharacterEncoding("JISAutoDetect"); ^ ReserveControlServlet.java:33: シンボルを解釈処理できません。 シンボル: メソッド getRequestDispacher (java.lang.String) 位置 : javax.servlet.ServletContext の インタフェース sc.getRequestDispacher("/index.jsp").forward(request, response); ------------------------------------

    • ベストアンサー
    • 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
  • サーブレットでダウンロードしたJARを使う

    JSPのサーブレット内で、ダウンロードしてきた「iText」というJARファイルの中のクラスを使いたいのですが、エラーが出て困っています。 ソースコードで説明させていただくと、 package selfinfo; import java.io.*; import com.lowagie.text.Document;//iTextのクラス import com.lowagie.text.pdf.PdfWriter;//iTextのクラス import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class test extends javax.servlet.http.HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Document doc = new Document();//iTextが提供するクラ                      //スここでエラーがでる } } 開発環境はTomcatとEclipseを連動させてたものを使っています。 またエラーの種類は、Eclipseのエディタ上ではエラーは出ないのですが、Tomcat上で動作させ、jspからサーブレットにうつったときに、 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 javax.servlet.ServletException: サーブレットの実行により例外を投げました 原因 java.lang.NoClassDefFoundError: com/lowagie/text/Documentselfinfo.test.doPost(test.java:37) というようなエラーが出ます。 またEclipseでこのコードを最も基本的なJAVAアプリケーションに落とし込んだ場合は、正常に動作しました。 長くなりましたが、お返事お待ちしております。

    • ベストアンサー
    • Java
  • JSPからサーブレットを呼び出す際に404エラー

    現在、tomcatとeclipseでサーブレット/JSPの勉強をしています。 参考書に載っている、jspの入力画面で入力した値をサーブレットで受け取り、そのまま表示させるようなサンプルを作成しています。 JSPの入力画面は表示できるのですが、値を入力してサーブレットに移動する際、404エラーが出てしまいます。 ■eclipseのパッケージエクスプローラー basic |-WEB=INF/src |..|input |...|EchoServlet.java |-WEB-INF |..|web.xml |.|echo.jsp (WEB-INF直下に作成) ■echo.jsp内のサーブレットのパスに関する記述 <FORM ACTION="/servlet/EchoServlet"> ■web.xmlの記述 <servlet> <servlet-name>EchoServlet</servlet-name> <servlet-class>input.EchoServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>EchoServlet</servlet-name> <url-pattern>/servlet/EchoServlet</url-pattern> </servlet-mapping> ■EchoServlet.javaの記述 package input; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class EchoServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String msg = request.getParameter("message"); response.setContentType("text/plain; charset=Windows-31J"); PrintWriter out = response.getWriter(); out.println("message=" + msg); } } お気づきの点がございましたらご査収の程よろしくお願いいたします。

専門家に質問してみよう