• ベストアンサー

JavaBeanが正しく表示されません。

初歩的な質問ですみません。 下記の環境で、Javaを勉強しています。 教材 :やさしいJava 活用編 Lesson7 Sample6 実行環境:j2sdk1.4.2_06 (教材では、j2sdk-1_4_0) Tomcat 5.5(教材では、Tomcat-3.2.3) IE6.0 サーブレットからJavaBeanにデータを渡し、その後 jsp に表示するという流れです。 htmlページにデータ入力後、[送信]ボタンを押すとjspページには何も表示されません。 ログファイルには下記のようなエラーが 記述されています。 勘違いか、何らかの初歩的なミスだと思いますが、解決方法が 見つかりません。解決方法をご存知の方教えて下さい。よろしくお願いします。 org.apache.jasper.JasperException: JSPのクラスをコンパイルできません JSPファイル: /07/Sample6.jsp の中の2行目でエラーが発生しました 生成されたサーブレットのエラーです: CarBean cannot be resolved or is not a type JSPファイル: /07/Sample6.jsp の中の11行目でエラーが発生しました 生成されたサーブレットのエラーです: CarBean cannot be resolved or is not a type at org.apache.jasper.compiler.DefaultError Handler.javacError(DefaultErrorHandler.java:84) at org.apache.jasper.compiler.ErrorDispatcher .javacError(ErrorDispatcher.java:328) ・・・・<中略> Thread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Unknown Source)

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

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

#3です。サーブレットからでしたね、どうもすみません。 一応、原因も分かり、ちゃんとサーブレットで生成したBeanをJSP側で受け取り、表示することにも成功したのですが、その前に#3で記述したソースの補足をしておきます。 まず初めにSample6.jspに関してですが、追加したコードである<jsp:setProperty>アクションは、今回ではサーブレット側にてBeanを生成するため、不必要と思われるので削除しておいてください。 それと、上の方に記述していたpageディレクティブ内のimport文に関しても、これがなくても正常に動作したので、いらないと思われます。 それから、CarBean.javaの方については、getCarnameメソッドとsetCardataメソッドの二つとも、必ずしも必要というわけではないようです。(これも、先程と同じように、なくてもちゃんと動きました。)これらのプロパティの値を取得したり、もしくは設定する必要がないのであれば、削除しておいても問題はないと思います。setterメソッドやgetterメソッドに関しては、あくまでも必要なもののみ、といった感じですね。 そうすると、ソースプログラムに関しては、またふりだしに戻りますが、バグはこれらとは全然違う所にありました。それは、JavaBeansのクラス内にて、package文の宣言をしていなかったことによります。このことに関して、インターネット上のサイトをいろいろと調べてはみたのですが、残念ながら一番マッチするものが見付かりませんでした。なので、今、僕が愛用しているServlet本「ゼロからはじめるJSP/サーブレット (株式会社四次元データ 畠中晃弘/延原章平 著、アスキームック、2003年12月4日 初版発行)」の第3章-6(101ページの下の方)に書かれてある記述を、ここにそのまま転記しておきます。 「無名パッケージのクラスは、JSPからアクセスすることができません。これは、JSPページから変換されてできるサーブレットプログラムにパッケージが指定されるためです。…(中略)…JSPページから利用するクラスは、必ずパッケージ名を指定するようにしてください。」 要するに、これがJasperExceptionの正体だったということですね。 デバッグの手順としては以下のようになると思います。 ・WEB-INFの中のclassesディレクトリ内に、適当な名前(例えば、hoge)のディレクトリを新規に一つ作成する。 ・CarBean.java内にて、import文の更に上の方に、「package hoge;」を追加。 ・Sample76.java内にて、上の方に「import hoge.*;」を追加。 ・コンパイル後、CarBean.classを、先程作成したhogeディレクトリ内に移動する。 ・Sample6.jsp内にて、<jsp:useBean>アクション内のclass属性を「hoge.CarBean」に変更する。 一応、この[教えて!goo]内でも、似たような質問がありましたので、以下に載せておきます。 http://oshiete1.goo.ne.jp/kotaeru.php3?qid=619924 それと、質問者さんの方では、サーブレットはきちんとコンパイルされていたとのことですが、年のため、CLASSPATHの設定に関する質問についても、以下に載せておきます。 http://oshiete1.goo.ne.jp/kotaeru.php3?qid=592118 http://oshiete1.goo.ne.jp/kotaeru.php3?qid=382238 それから、Beanの利用についてですが、基本的には、今回のようにclassファイルでの使用よりも、jarファイルにパッケージされたものとして使われることもあるらしいです。具体的には、以下の書籍のTips229の所に、jarコマンドの使用方法などと共に、詳しく載っていますので、そちらの方も参考にされたらと思います。 「サーブレット&JSP 逆引き大全 500の極意 (著者 川崎 克己、株式会社秀和システム、2003年10月21日 第1版第1刷)」

octchan
質問者

お礼

ありがとうございました。 無事、解決しました。 実は、この方法を他のHPで 見つけて試してことがありまして。 その時は、だめでした。 今回、再度試したところ 上手くできました。 もう少し、がんばってみます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.3

質問者さんの使用されているOSは、Windowsですか?ちなみに、私の方は、Linuxなんですが、そのようなエラーは表示されずに、正常にjspページが表示されましたが…。ただ、真ん中の方に「のお買い上げありがとうございました。」と表示されるだけで、実際には私の方でもプロパティの値が正しく表示されません。 それで、ソースプログラムを2つともちょこちょこっと修正したら、ちゃんとプロパティの値も表示されるようになりました。ポイントは、以下の2点です。 ・各プロパティのアクセッサメソッドは、getXxxとsetXxxの両方とも、Java Beanのクラス内に、きちんと定義しておくこと。 ・jsp側では、setPropertyアクションの方も忘れずに記述すること。 ちなみに、jsp側に追加したアクションの説明は、以下のようになると思います。 「CarBeanクラスのインスタンスcbにおいて、CarBeanクラス内のプロパティcardataに、リクエストから送信されたパラメータ名cardataの値を設定する」 以下に、修正済みのコードを載せておきます。 <!-- <Sample6.jsp> --> <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ page import="CarBean" %> <!-- → --> <jsp:useBean id="cb" class="CarBean" scope="request" /> <%-- 追加したコード↓↓↓ --%> <jsp:setProperty name="cb" property="cardata" param="cardata" /> <html> <head> <title>サンプル</title> </head> <body> <center> <h2>御礼</h2> <!-- → --> <jsp:getProperty name="cb" property="cardata" /> のお買い上げありがとうございました。<br /> </center> </body> </html> // <CarBean.java> import java.io.*; public class CarBean implements Serializable { private String carname; private String cardata; public CarBean() { carname = null; cardata = null; } public void setCarname(String cn) { carname = cn; } /* 追加したメソッドその1 */ public String getCarname() { return carname; } /* 追加したメソッドその2 */ public void setCardata(String cd) { cardata = cd; } public String getCardata() { return cardata; } public void makeCardata() { cardata = "車種:" + carname; } }

octchan
質問者

補足

回答、ありがとうございました。 早速、修正してみたのですが やはり同じエラーが出て、 何も表示されません。 OSは、WindowsXPです。 サーブレットを書きます。 よろしくお願いします。 import javax.servlet.*; import javax.servlet.http.*; public class Sample76 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException { try{ //フォームデータの取得 String tmp = request.getParameter("cars"); String carname = new String(tmp.getBytes("8859_1"), "JISAutoDetect"); //Beanの作成 CarBean cb = new CarBean(); cb.setCarname(carname); cb.makeCardata(); //リクエストに設定 request.setAttribute("cb", cb); //サーブレットコンテキストの取得 ServletContext sc = getServletContext(); //リクエストの転送 if(carname.length() != 0){ sc.getRequestDispatcher("/07/Sample6.jsp") .forward(request, response); } else{ sc.getRequestDispatcher("/07/error.html") .forward(request, response); } } catch(Exception e){ e.printStackTrace(); } } }

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

><%@ page import="CarBean" %> という一行を >加えてみましたが、やはり同じエラーが出ます。 JSPの2行目と11行目はどうなっていますか? それかサーブレットからセットしたBeanが取れていないとか… 少なくとも現時点ではこのくらいしか…。 可能ならjspとサーブレットのソースを載せましょう。 載せられない部分があれば適当に伏字にするなどして。

octchan
質問者

補足

回答ありがとうございます。 矢印の部分が、エラー行です。よろしくお願いします。 <Sample6.jsp> <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ page import="CarBean" %> → <jsp:useBean id="cb" class="CarBean" scope="request" /> <html> <head> <title>サンプル</title> </head> <body> <center> <h2>御礼</h2> → <jsp:getProperty name="cb" property="cardata" /> のお買い上げありがとうございました。<br /> </center> </body> </html> <CarBean.java> import java.io.*; public class CarBean implements Serializable { private String carname; private String cardata; public CarBean() { carname = null; cardata = null; } public void setCarname(String cn) { carname = cn; } public String getCardata() { return cardata; } public void makeCardata() { cardata = "車種:" + carname; } }

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

>JSPファイル: /07/Sample6.jsp の中の2行目でエラーが発生しました >生成されたサーブレットのエラーです: >CarBean cannot be resolved or is not a type >JSPファイル: /07/Sample6.jsp の中の11行目でエラーが発生しました >生成されたサーブレットのエラーです: >CarBean cannot be resolved or is not a type ↑に原因が書いてありますよ。 「CarBean cannot be resolved or is not a type」 に関してはCarBeanをインポートしてないか何かでしょう。

octchan
質問者

補足

Sample6.jsp に <%@ page import="CarBean" %> という一行を 加えてみましたが、やはり同じエラーが出ます。 サーブレットも正常にコンパイルされているようです。 よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Tomcatのエラーで質問です

    FreeBSD 6.2-RELEASEにTomcat5.5,Apache2をインストールし、 mod_jkの設定まで完了して、JSPを実行しましたが、 下記エラーがでてしまいます。 ご存知の方がおられましたら、是非ご教授ください。 よろしくお願いいたします。 java.io.FileNotFoundException: /usr/local/tomcat5.5/work/Catalina/localhost/jsp-examples/org/apache/jsp/test3_jsp.java (Permission denied) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(FileOutputStream.java:179) at java.io.FileOutputStream.<init>(FileOutputStream.java:70) at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:141) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:296) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:277) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:265) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:595) Nov 11, 2007 7:32:07 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet jsp threw exception java.io.FileNotFoundException: /usr/local/tomcat5.5/work/Catalina/localhost/jsp-examples/org/apache/jsp/test3_jsp.java (Permission denied) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(FileOutputStream.java:179)

  • JSPコンパイルエラー

    JPS作成でコンパイルエラーがおこっています。 考えたのですがどこがわるいのかわかりません。。。 アドバイスお願いいたします <%@page contentType="text/html; charset=Windows-31j"%> <%@page import="java.util.Enumeration"%> <%@ page session="true" %> <html> <head> <H1>画面</H1> </head> <body> <%! Enumeration names=session.getAttributeNames(); %> <% while(names.hasMoreElements()){ %> <%! String kkk=(String)names.nextElement(); %> <% if(kkk!=null){ out.println(kkk+"<br>"); }else{ out.println(""); } } %> </body></html> エラーメッセージ 致命的: サーブレット jsp のServlet.service()が例外を投げました org.apache.jasper.JasperException: JSPのクラスをコンパイルできません: JSPファイル: /B28_HelloWeb_Output.jsp の中の11行目でエラーが発生しました session cannot be resolved 8: </head> 9: <body> 10: <%! 11: Enumeration names=session.getAttributeNames(); 12: %> 13: <% 14: while(names.hasMoreElements()){ Stacktrace: at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:93) at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:435) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:298) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:277) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:265) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Unknown Source)

    • ベストアンサー
    • Java
  • JasperExceptionのエラーログの見方について

    Servletでリクエストを受付け、Javabean経由でDBの内容を取得しJSPで表示させようとしていますが、以下例外が発生しJSPがコンパイルできていないようです。エラーログをどう見ればよいかご教示いただけないでしょうか。 2006-08-27 17:14:11 ApplicationDispatcher[/testtomcat] サーブレット jsp のServlet.service()が例外を投げました org.apache.jasper.JasperException: /Sample5.jsp(5,0) at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39) at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409) at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:150) at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1227) at org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116) ~略~ at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312) at Sample5.doGet(Sample5.java:23) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) ~略~

  • JSPの表示時エラー

    いつもお世話になっております。 ・windows2000 ・j2sdk-1_4_1_07-windows-i586 ・jakarta-tomcat-4.1.31 ・mysql-4.0.25-win32 で開発学習をしています。 頭を抱えている問題は、 サーブレットでデータの絞込み→Beanに格納→JSPでデータの表示 という部分で、実行すると org.apache.jasper.JasperException: タイプ 'hellojava.ConnectBean' のbean中の属性 'Id' の情報を発見できませんでした at org.apache.jasper.runtime.JspRuntimeLibrary.getReadMethod(JspRuntimeLibrary.java:650) at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:652) at org.apache.jasper.compiler.Node$GetProperty.accept(Node.java:507)              ・              ・              ・ とエラーがかえってきます。 1)Tomcatに   java.sql.SQLException: After end of result set・・・   と出てきてしまう。 2)HTMLのテキストボックスに英数字のみの入力制限をしていても、データ[Id]がint型なのに対して異なった型で検索もしくは格納しようとしているためにエラー・・・? このようなことが原因かと思い調べているのですが、解決に結びつきません。 いつも申し訳ありませんが、 どなたかご教授願えませんでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • HTTP Status 500 のエラー

    windows2000+Tomcat 4.1です。 index.htmからのサンプルは見ることが出来るのですが・・・ 試しに自分で作ったものをテストしてみたところ次のような エラーがブラウザにでます。 Tomcatの設定が悪いのでしょうか?(Tomcatの再起動はしました) よろしくお願いします。 <エラー> HTTP Status 500 - type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: /jsp/test.jsp(0,38) jsp.error.attribute.noequal at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:94) at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:417) at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:126)                    ・・・以下省略 <ソース> <%@ page language ="java" contentType "text/html;charset=Shift_JIS" %> <HTML> <HEAD> <TITLE>テスト<TITLE> </HEAD> <BODY> ~ ~ ~ </BODY> </HTML>

    • ベストアンサー
    • Java
  • JSP jsp:usebean で総称型クラスを使うには

    お世話になります。 JSPでプログラムを書いています。 そこでjsp:usebeanを使っているのですが、そのクラスに以下のように総称型クラスを使用したいのです。 > <%@page import="java.util.Vector"%> > <jsp:useBean id="vec" scope="application" class="java.util.Vector<String>"/> で、warファイルまではできるのですが、実行するとブラウザ上に以下のようなエラーが表示されます。 > org.apache.jasper.JasperException: /index.jsp(4,0) useBeanのクラス属性 java.util.Vector<String> の値が無効です > org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40) > org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) > org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148) > org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1178) JSPのbeanには総称型クラスを使うことができないのでしょうか。 環境は以下の通りです。 サーバー:Tomcat 5.5.27 jdk: 1.6.0_07 特別なコンパイルオプションなどは指定していません。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • Eclipse + jsp +tomcatのエラー

    jspのプログラミングをしていて、以下のようなエラーがでて困っています。 以前に作った他のプログラムは特に問題ないのですが、今テストしてるものだけエラーがでます。 ソースは書籍のメディアからコピーしてきたのでコーディングミスはないと思います。 書籍のサイトをみても正誤情報はありませんでした。 私自身、あまりJavaに詳しくないのでどなたかアドバイスをいただけると助かります。 よろしくお願いします。 環境  Eclipse Version: Indigo Service Release 2 (pleiades-e3.7) tomcat 7.0.27 java jdk1.6.0_25 ------------------------------------------------------------------------- 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: JSPのクラスをコンパイルできません: An error occurred at line: 211 in the generated java file Syntax error, insert "}" to complete Block An error occurred at line: 221 in the generated java file Syntax error on token "}", delete this token An error occurred at line: 222 in the generated java file Syntax error, insert "}" to complete ClassBody Stacktrace: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:469) org.apache.jasper.compiler.Compiler.compile(Compiler.java:378) org.apache.jasper.compiler.Compiler.compile(Compiler.java:353) org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) ブラウザの更新ボタンを押したりすると以下のようなメッセージに変わったりします。 ---------------------------------------------------------------------------------- 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.expense.list_jsp org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:177) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 原因 java.lang.ClassNotFoundException: org.apache.jsp.expense.list_jsp java.net.URLClassLoader$1.run(URLClassLoader.java:202) java.security.AccessController.doPrivileged(Native Method) java.net.URLClassLoader.findClass(URLClassLoader.java:190) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:132) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:63) org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:172) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

  • jsp:useBean の使い方???

    こんにちは。よろしくお願いします。 【環境】 jdk1.5.0_15 tomcat5.0 【参考書】 「はじめてのJSP&サーブレットプログラミング」(秀和システム) 上記参考書にあるサンプルソースをそのまま実行しているつもりが、エラーになってしまい困っています。 【JSPエラーの内容 ----------↓ここから↓----------】 org.apache.jasper.JasperException: /jsp/mailSend.jsp(3,0) org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:150) org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1227) org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213) org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219) org.apache.jasper.compiler.Node$Root.accept(Node.java:456) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163) org.apache.jasper.compiler.Generator.generate(Generator.java:3272) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:244) org.apache.jasper.compiler.Compiler.compile(Compiler.java:470) org.apache.jasper.compiler.Compiler.compile(Compiler.java:451) org.apache.jasper.compiler.Compiler.compile(Compiler.java:439) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 【JSPエラーの内容 ----------↑ここまで↑----------】 自分では、 エラーの内容 org.apache.jasper.JasperException: /jsp/mailSend.jsp(3,0) からmailSend.jspの3行目 <jsp:useBean id = "mail" scope = "page" class = "jspbean.MailSendBean"> が問題なのかなと思っていますが、 mailSend.jspの記述が問題なのかMailSendBean.javaの記述が問題なのかどちらがエラーの原因なのかも分かりません。 MailSendBean.classはコンパイルも通って WEB-INF/classes/jspbean/MailSendBean.classに存在しています。 workフォルダの下の階層にはmailSend.jspのjavaファイルもclassファイルも出来ていません。 出来るだけ多くの情報をと思い長くなりましたが、 何かお気づきの方アドバイスよろしくお願い致します。 また、足りない情報などありましたらご指摘よろしくお願いします。

  • Eclipse デバッグ エラー処理

    Eclipseを使用しているのですが、原因が出てこないエラーなどが良く出てきます。 自力では、なんとも分からず、時間も消費してわからないでかなり困ってしまいます。 今回の場合は新しい処理をいれ、それがnullということは分かるのですが、 ソースは、コピーを少し変えただけで、どこがおかしいか特定できませんでした。 デバッグ(見方とかあまり分からず、触るのも2回目くらい)を利用して箇所を特定しようと、 ステップオーバーしてるうちに、ページが見つかりませんでしたとなってしまいます。 わけが分かりません。 今回の場合どうしたらよいか、 デバックについて勉強になるもの、 又は、エラーパターンの参考になるようなHPや書籍などありましたら教えてください、 よろしくお願いします。 致命的: サーブレット jsp のServlet.service()が例外を投げました java.lang.NullPointerException at org.apache.jsp.keiji.Top_jsp._jspService(Top_jsp.java:149) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Unknown Source)

    • ベストアンサー
    • Java
  • JSP コンパイルエラー

    こんにちは  JSPのコンパイルエラーで悩まされていて質問させていただきました <% if(request.getAttribute("list")!=null){ List list=(List)request.getAttribute("list"); List list1=(List)request.getAttribute("list1"); List list2=(List)request.getAttribute("list2"); for(int i=0; i<list.size(); i++){ out.print(list.get(i)+" "); out.print(list1.get(i)+" "); out.println(list2.get(i)); %><br> ↑これだとコンパイルが成功します <% if(request.getAttribute("list") || request.getAttribute("list1") || request.getAttribute("list2")!=null){ List list=(List)request.getAttribute("list"); List list1=(List)request.getAttribute("list1"); List list2=(List)request.getAttribute("list2"); for(int i=0; i<list.size(); i++){ out.print(list.get(i)+" "); out.print(list1.get(i)+" "); out.println(list2.get(i)); %><br> これだとエラーが発生します・・・ 条件を増やしただけなんですが、何か構文がまちがっているのでしょうか?? アドバイスお願いします SPファイル: /****jsp の中の36行目でエラーが発生しました The operator || is undefined for the argument type(s) java.lang.Object, java.lang.Object 33: <Hr> 34: 35: <% 36: if(request.getAttribute("list") || request.getAttribute("list1") || request.getAttribute("list2")!=null){ 37: List list=(List)request.getAttribute("list"); 38: List list1=(List)request.getAttribute("list1"); 39: List list2=(List)request.getAttribute("list2"); Stacktrace: at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:93) at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:435) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:298) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:277) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:265) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Unknown Source)

    • ベストアンサー
    • Java