• 締切済み

JSPファイルからデータベースにアクセスできない

以下のサイトを参考にして、JSPからデータベースにアクセスして ブラウザに表示させようとしています。 http://www.atmarkit.co.jp/fjava/rensai/jsp10/jsp10.html 実行環境は以下です OS: Vine Linux 4.1 PostgreSQL: version 8.2.5 Tomcat: version 5.5.25 Java: Java 2 SDK, standard Edition, version 1.5.0_13 ブラウザからjspファイルにアクセスすると次のエラーがでてきます ーーー エラー文 ーーー HTTPステータス 500 - type 例外レポート メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: Exception in JSP: /dbaccess.jsp:16 13: db.open(); 14: 15: // メンバーを取得 16: ResultSet rs = db.getResultSet("select * from member"); 17: 18: // メンバー一覧表示用のテーブル 19: String tableHTML = "<table border=1>"; Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 原因 javax.servlet.ServletException: ERROR: relation "member" does not exist (略) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 原因 org.postgresql.util.PSQLException: ERROR: relation "member" does not exist org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548) (略) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) ーーー ここまで ーーー 自分が行った手順なんですが、 1、postgresユーザで'sampledb'というdbを作り、そのなかにmemberという テーブルを作成し、select * from member; を実行したところテーブル はありました。 2、MyDBAccess.javaは参考サイトとほぼ同じです。 コンストラクタの設定のところを以下のようにしました。 ーーーーーーーーーーーー public MyDBAccess() { driver = "org.postgresql.Driver"; url = "jdbc:postgresql://localhost:5432/sampledb; user = "postgres"; password = "********"; } ーーーーーーーーーーーー コンパイルも通ったので TOMCAT_HOME/webapps/####/WEB-INF/classes/atmarkitに クラスファイルを置きました。 3、jspファイルはdbaccess.jspという名前でそのまま使いました。 TOMCAT_HOME/webapps/####/dbaccess.jsp 4、/usr/local/pgsql/data/postgresql.confの #listen_addresses = 'localhost' を listen_addresses = '*' に書き換え、その後に $ pg_ctl reload としました。 5、ブラウザから "http://localhost:8080/####/dbaccess.jsp" にアクセスするとエラーがでました。 例外の部分のエラーはいろいろいじっていると出たり出なかったりですが、 "relation "member" does not exist"というエラーは消えません。 自分でいろいろ調べてみたのですがうまくいかなくて行き詰まってしまいました。 どうか助言や解決策があれば教えてください。 お願いいたします。

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

みんなの回答

  • neko_noko
  • ベストアンサー率45% (146/319)
回答No.4

確認したかったのは、JSPファイルでクエリ文を変更した場合のエラーの違いです。 クォートを付けた場合と付けない場合でエラーが変わっているのかと思ったためです。 少し状況を整理しましょうか。 今回の環境としては、 1.OSはVineLinux 2.データベースはPostgreSQL 3.JSPを利用してサンプルプログラムを実行している 大きく分けるとおよそこんな感じです。 原因もこのいずれかにあると思われます(おそらく) そこで、どこが悪く、どこが悪くないかを判断するため、以前の回答で確認していたわけです。 まず、Javaアプリケーションとして実行して問題ないかどうか、ですが、 これで動作すればPostgreSQLの方はおよそ問題なさそうと判断できます。 ※本当はそうとも言い切れないけど… プログラムとしては、データベースアクセス処理とResultSetの取得(クエリの実行)、 そして最後のクローズ処理があれば細かいところはなくても良いでしょう。 例えば以下のとおりです  // MyDBAccess のインスタンスを生成する  MyDBAccess db = new MyDBAccess();    // データベースへのアクセス  db.open();    //ResultSetの取得(クエリの実行)  ResultSet rs = db.getResultSet("select * from member");    //クエリ実行に成功したら表示  System.out.println("データベースに接続しました。");    // データベースへのコネクションを閉じる  db.close(); こんな感じでJavaファイルを作成し手動でコンパイルし、javaコマンドで実行したらどうなるか。 JSPと同じように「relation …」の例外が出ればデータベースに何か原因があるかも知れません。 クォートの方は、 … db.getResultSet("select * from member"); と、 … db.getResultSet("select * from \"member\""); という2つで違いがあるかどうか。 違いがあれば、このクエリの実行環境、つまりJSPやTomcatを実行する際には テーブル名にクォートを付けないといけない、というケースがあったようなので念のためです。 (これはググったら出てきただけなので、詳細な理由は不明ですが…) あとは最終手段に近くなりますが、先に挙げた1.2.に注目して、 ・PostgreSQLで他のデータベースを作成してそちらでも試してみる ・PostgreSQLをインストールし直す(Vineだと大変かなあ…) ・別のPCで環境を作って同じ現象が出るか確認(Winだとやりやすい?) 一応、自分のPC(WinXP)でもやってみましたが、動作しました。 ※かなりいいかげんに試したのでJSPが文字化けしてますが… 案外、環境をガラっと変えるとすんなり動いたりするかもしれませんね。

  • neko_noko
  • ベストアンサー率45% (146/319)
回答No.3

>恐縮なのですけどJDBCから実行するというのは具体的にどういうことを意味しているのですか? すみません。間違った言い方してました。JDBCから実行って当たり前ですね。 JSPではなく、Javaアプリケーションとして実行、ということです。 例えば、 http://www.atmarkit.co.jp/fjava/rensai/jdbc02/jdbc02.html このサイトのような感じです。 TomcatやJSPを使うと、どうしてもサーバの設定などが関係して原因の特定が難しいので、 できるだけシンプルな構成で試して原因を探っていく、ということです。 >jspファイル内の記述もクォートを付けて試してみましたがエラー文が変わり解決しませんでした。 >jspファイルがコンパイルできないとは出つづけているので う~ん、コンパイルエラーが出るのは不思議ですね。 ちなみに「select * from "member"」のクォートはエスケープして、 「select * from \"member\"」とする、くらいはありますが… 変わったエラーはどんなものでしょうか?

tana0901
質問者

補足

>う~ん、コンパイルエラーが出るのは不思議ですね。 >変わったエラーはどんなものでしょうか? エラーは最初の質問内容にのせてあるものと同じことを言ってると思うのですがそのURLを何度かリロードするとなぜか違うエラーがでることがあるのです。一応長いのですが2つ載せてみます。 ーーー 1 ーーー HTTPステータス 500 - type 例外レポート メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: JSPのクラスをコンパイルできません: JSP FileName:/dbaccess.jsp Java FileName:/usr/local/tomcat5.5.25/work/Catalina/localhost/javaroad//org/apache/jsp/dbaccess_jsp.java JSPファイル: /dbaccess.jsp の中の6行目でエラーが発生しました Syntax error on token "member", , expected 3: contentType="text/html; charset=euc-jp" 4: %> 5: 6: <% 7: // 内容: データベースにアクセスする 8: 9: // MyDBAccess のインスタンスを生成する Stacktrace: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:98) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:435) org.apache.jasper.compiler.Compiler.compile(Compiler.java:298) org.apache.jasper.compiler.Compiler.compile(Compiler.java:277) org.apache.jasper.compiler.Compiler.compile(Compiler.java:265) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) ーーー 2 ーーー HTTPステータス 500 - type 例外レポート メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: Exception in JSP: /dbaccess.jsp:6 3: contentType="text/html; charset=euc-jp" 4: %> 5: 6: <% 7: // 内容: データベースにアクセスする 8: 9: // MyDBAccess のインスタンスを生成する Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 原因 javax.servlet.ServletException: ERROR: relation "member" does not exist (略) 原因 org.postgresql.util.PSQLException: ERROR: relation "member" does not exist (略) JSPファイルのソースも同じなのに出力が違う("原因"が出る場合と出ない場合)のがなぜなのかわかりません。

  • neko_noko
  • ベストアンサー率45% (146/319)
回答No.2

エラーメッセージからして、やはりデータベースもしくはテーブルに何かありそうですね。 「select * from member」というSQLを 「select * from "member"」となるように、つまりテーブル名をクォートで囲む、 というのがあるようなのですが、これは試してみましたでしょうか? あとは、原因の切り分けとして、 テーブルまたはデータベースを別のものを用意して、それでも同じかどうか (現在作成したテーブルに問題があるかどうか) JSPからではなく、JDBCから実行する(Tomcat側の問題があるかどうか) といったことを確認して、どこに原因があるかを探っていく、というのがトラブル解決の基本なので、 こういったことを試してみてはどうでしょう。

tana0901
質問者

お礼

回答ありがとうございます。 返答が遅くなってしまってもうしわけありません。 「select * from "member"」は jspファイル内の記述ではなくてpostgresのコマンドラインですよね? postgresのコマンドラインではクォートを付けなくても付けてもテーブルの参照はできました。 jspファイル内の記述もクォートを付けて試してみましたがエラー文が変わり解決しませんでした。そのエラー文なんですがjspファイルにアクセスして何度かリロードするとエラー文の原因の部分があったりなかったりします。これはどう解釈していいかわからず困っています。 jspファイルがコンパイルできないとは出つづけているのでやはり何か別の作業が必要なのではないかと思いました。 恐縮なのですけどJDBCから実行するというのは具体的にどういうことを意味しているのですか? やりかたが自分ではわかりませんでした。すいません。

  • yoshog
  • ベストアンサー率66% (6/9)
回答No.1

> org.postgresql.util.PSQLException: ERROR: relation "member" does not exist エラーから判断するに、JSPの問題ではなくて、データベースの問題ですね。 スキーマがpublicじゃないとかそうゆう問題かもしれないです。 Googleで「relation does not exist postgresql」をキーワードにして検索すると、参考になりそうなページが見つかりますよ。 http://www.google.co.jp/search?q=relation++does+not+exist+postgresql&sourceid=navclient-ff&ie=UTF-8&rls=GGGL,GGGL:2006-46,GGGL:ja

tana0901
質問者

お礼

回答ありがとうございます。 スキーマは以下のようにpublicでした sampledb=# \d List of relations Schema | Name | Type | Owner --------+----------------------+----------+---------- public | member | table | postgres public | member_member_id_seq | sequence | postgres エラー文の検索は質問を投稿する前にやってみてはいました。 回答をいただいてもう一度探してみたのですが やはり参考になりそうなページが見つかりませんでした;; ブラウザでjspにアクセスしたとき、 ターミナルでデータベースに入っている(?)状態にこちらにも 以下のようにエラー表示されます sampledb=# ERROR: relation "member" does not exist STATEMENT: select * from member LOG: unexpected EOF on client connection やはりデータベース側の問題なのでしょうか;;

関連するQ&A

  • JSPのエラー

    org.apache.jasper.JasperException: ERROR: character 0xc282 of encoding "UTF8" has no equivalent in "EUC_JP" org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:476) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:371) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 原因 javax.servlet.ServletException: ERROR: character 0xc282 of encoding "UTF8" has no equivalent in "EUC_JP" org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779) org.apache.jsp.jsp.sub_jsp._jspService(sub_jsp.java:80) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 原因 org.postgresql.util.PSQLException: ERROR: character 0xc282 of encoding "UTF8" has no equivalent in "EUC_JP" org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548) org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316) org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191) org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452) org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:337) org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:329) atmarkit.MyDBAccess.execute(MyDBAccess.java:65) org.apache.jsp.jsp.sub_jsp._jspService(sub_jsp.java:67) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) おそらく文字の変換がいけないと思いますが、対処方法がわからないです・・ <ソース>の一部 <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ page import="java.sql.*,atmarkit.MyDBAccess" %> <% while(rs.next()) { int id = rs.getInt("member_id"); String name = rs.getString("name"); String age = rs.getString("age"); int state = rs.getInt("attendance"); String comment = rs.getString("comment"); name = new String(name.getBytes("8859_1"), "Shift_JIS"); if(comment != null) {   comment = new String(comment.getBytes("8859_1"), "Shift_JIS"); } %> 詳しい方いらしゃったら、教えてください。 よろしくお願いします。

    • ベストアンサー
    • Java
  • JSP NullPointerException

    JSPでNullPointerExceptionが出たのですが、初めて見るエラーなので、 どういうものなのか、どなたか教えてください。 スタックトレースは以下です。 メッセージ java.lang.NullPointerException 説明 The server encountered an internal error that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: java.lang.NullPointerException org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430) 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) accession.filter.SessionFilter.doFilter(SessionFilter.java:97) accession.filter.ReferFilter.doFilter(ReferFilter.java:39) accession.filter.TimeoutFilter.doFilter(TimeoutFilter.java:23) accession.filter.EncodeFilter.doFilter(EncodeFilter.java:10) 原因 java.lang.NullPointerException org.apache.jsp.Use.Select.SendSelect_jsp._jspService(SendSelect_jsp.java:93) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) 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) accession.filter.SessionFilter.doFilter(SessionFilter.java:97) accession.filter.ReferFilter.doFilter(ReferFilter.java:39) accession.filter.TimeoutFilter.doFilter(TimeoutFilter.java:23) accession.filter.EncodeFilter.doFilter(EncodeFilter.java:10) 原因一行目の「SendSelect_jsp.java:93」は何というファイルの93行目のことですか? SendSelect_jsp._jspServiceというのは・・・? このようなエラー(_jspServiceが原因の最初にあるもの)は初めてで、 調べてはみたのですが、同じようなエラーを見つけられなかったので、 教えてください。 JSPがSendSelect.jspで、SendSelect.javaを使っています。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • jspのプログラムについて

    jspファイルで データベースの中のテーブルの中身をCSVファイルに出力するプログラムを教えてください。 delete文で中身を消すプログラムは書けたのですが、これはできません。 conn = null; st=null; conn=DriverManager.getConnection("jdbc:mysql://localhost/データベース名?" + "user=ユーザー名&password=パスワード&useUnicode=true&characterEncoding=utf8"); st=conn.createStatement(); StringBuffer buf = new StringBuffer(); buf.append("delete from where id="+id); st.executeUpdate(buf.toString()); これで削除はできました。 なのでbuf.appendの中身を buf.appendbuf.append("select * from テーブル名 INTO OUTFILE \"data.csv\" fields terminated by ',' "); これに書き換えればできると思ったのですができません。 よろしくお願いします。 エラー内容は org.apache.jasper.JasperException: An exception occurred processing JSP page /CSV.jsp at line 24 21: 22: StringBuffer buf = new StringBuffer(); 23: buf.append("select * from anpisystem INTO OUTFILE \"data.csv\" fields terminated by ',' "); 24: st.executeUpdate(buf.toString()); 25: 26: } 27: Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401) 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) 原因 javax.servlet.ServletException: java.sql.SQLException: Can not issue SELECT via executeUpdate(). org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791) org.apache.jsp.CSV_jsp._jspService(CSV_jsp.java:94) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) 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.sql.SQLException: Can not issue SELECT via executeUpdate(). com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1086) com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989) com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975) com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920) com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1803) com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1764) org.apache.jsp.CSV_jsp._jspService(CSV_jsp.java:76) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) 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
  • 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)

  • DB接続しようと思ったら下記のようなエラー

    JSPでDB接続するページを作成してアクセスしたら下記のようなエラー出てしまいました。解決策をお願いします。 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: javax.servlet.ServletException: javax.naming.NameNotFoundException: 名前 jdbc はこのコンテキストにバインドされていません org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:491) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401) 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) day10.LogFilter.doFilter(LogFilter.java:46) 原因 javax.servlet.ServletException: javax.naming.NameNotFoundException: 名前 jdbc はこのコンテキストにバインドされていません org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791) org.apache.jsp.day06.insert2_jsp._jspService(insert2_jsp.java:81) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) 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) day10.LogFilter.doFilter(LogFilter.java:46) 原因 javax.naming.NameNotFoundException: 名前 jdbc はこのコンテキストにバインドされていません org.apache.naming.NamingContext.lookup(NamingContext.java:770) 略 org.apache.naming.NamingContext.lookup(NamingContext.java:153) org.apache.naming.SelectorContext.looku

    • ベストアンサー
    • Java
  • jspのエラーが修正できません。

    jspソースのエラーが修正できなくて困っています。 現在、tomcat5.5とjdbc、muSQLなどを用いてシステムを作っています。 形態素解析などと組み合わせたいので、 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> を使いたいのですが、実行すると以下のエラーが発生します。 org.apache.jasper.JasperException: 絶対URI: http://java.sun.com/jsp/jstl/core はweb.xmlとこのアプリケーションを配備したJARファイルのどちらかでも解決できません org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) jsp1.1やjstlのjarファイルはWEB-INT/libフォルダに入れています。 web.xmlもバージョン2.4なので問題がないように思います。 いろいろ修正したのですがエラーが消えず、困り果てています。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • SOAPの設定方法でご質問です

    下記環境で、SOAPを動かしてみようとしたのですが、 エラーになってしまいます。 ご存知の方がおられましたら、問題点、正しい設定方法等をご教授していただけませんでしょうか? よろしくお願い致します。 【環境】 Windows XP JDK 1.5.0_13 Tomcat 5.5 ・下記のJarファイルをCLASSPATHに追加設定 D:\goo\jar\tools\xalan.jar; D:\goo\jar\tools\xercesImpl.jar; D:\goo\jar\javamail-1.4.1\mail.jar; D:\goo\jar\jaf-1.1.1\activation.jar; D:\goo\jar\soap-2_3\lib\soap.jar; ■ブラウザより、下記URLを実行 http://localhost:7000/soap/admin/ 【エラー内容】 HTTPステータス 500 - -------------------------------------------------------------------------------- type 例外レポート メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: javax/mail/MessagingException org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 原因 javax.servlet.ServletException: javax/mail/MessagingException org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:843) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:776) org.apache.jsp.admin.deploy_jsp._jspService(deploy_jsp.java:495) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 原因 java.lang.NoClassDefFoundError: javax/mail/MessagingException org.apache.jsp.admin.deploy_jsp._jspService(deploy_jsp.java:55) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 注意 原因のすべてのスタックトレースは、Apache Tomcat/5.5.20のログに記録されています

    • ベストアンサー
    • Java
  • localhostでページ表示されないのですが、、

    いつもお世話になっております。 javaを勉強し始めて2週間になります。独学なので、解決しないことばかり・・・。助けてください。 Tomcatをつかって、javaで作ったページをローカルで表示させたいのですが、うまくいきません。以下はそのエラー内容です。ページに何か足りないのでしょうか?? 例外 org.apache.jasper.JasperException: Exception in JSP: /pages/ONUM010/ONUM010010.jsp:30 27: <script language="JavaScript" src="./js/Common.js"></script> 28: 29: <body class="body"> 30: <html:form action="/ONUM010"> 31: 32: <table border="0" cellpadding="3" cellspacing="1" width="760" class="common_header"> 33: <tr> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) jp.co.sankoriken.com001.filters.COM001F010.doFilter(COM001F010.java:170) 原因 javax.servlet.ServletException: アクション /ONUM010 のフォームbean ONUM010F010 に対する定義が見つかりません org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774) org.apache.jsp.pages.ONUM010.ONUM010010_jsp._jspService(ONUM010010_jsp.java:426) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) jp.co.sankoriken.com001.filters.COM001F010.doFilter(COM001F010.java:170) 原因 javax.servlet.jsp.JspException: アクション /ONUM010 のフォームbean ONUM010F010 に対する定義が見つかりません org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:767) org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:443) org.apache.jsp.pages.ONUM010.ONUM010010_jsp._jspService(ONUM010010_jsp.java:120) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) jp.co.sankoriken.com001.filters.COM001F010.doFilter(COM001F010.java:170)

    • ベストアンサー
    • Java
  • DB呼び出すページのはずなのですが以下のエラーが…

    わかる方、対応お願いいたします。 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: javax.servlet.ServletException: javax.naming.NameNotFoundException: 名前 jdbc はこのコンテキストにバインドされていません org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:491) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401) 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) day10.LogFilter.doFilter(LogFilter.java:46) 原因 javax.servlet.ServletException: javax.naming.NameNotFoundException: 名前 jdbc はこのコンテキストにバインドされていません org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791) org.apache.jsp.day06.select_jsp._jspService(select_jsp.java:117) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) 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) day10.LogFilter.doFilter(LogFilter.java:46) 原因 javax.naming.NameNotFoundException: 名前 jdbc はこのコンテキストにバインドされていません org.apache.naming.NamingContext.lookup(NamingContext.java:770) org.apache.naming.NamingContext.lookup(NamingContext.java:140) org.apache.naming.NamingContext.lookup(NamingContext.java:781) org.apache.naming.NamingContext.lookup(NamingContext.java:140) org.apache.naming.NamingContext.lookup(NamingContext.java:781) org.apache.naming.NamingContext.lookup(NamingContext.java:153) org.apache.naming.SelectorContext.loo

  • JSPからデータベースへのアクセス

    質問させて頂きます。 下のサイトを参考にJSPからDBにアクセスする練習をしてるのですが、 思うように動きません。 http://www.fk.urban.ne.jp/home/kishida/kouza/shop/shop.html 同じようにDBにはAccessを利用。ODBCも設定を行いました。 tomcatの設定は他のJSPやサーブレットが動くので問題ないと 考えています。 サンプルをそのままコピーして、実行するとエラーがでます。 HTTPステータス500 The server encountered an internal error () that prevented it from fulfilling this request. org.apache.jasper.JasperException: JSPのクラスをロードできません org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:598) org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:147) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) JSPソース <%@page contentType="text/html; charset=Shift_JIS"%> <html> <head><title>商品一覧</title></head> <body> <%@page import="java.sql.*"%> <h1>商品一覧</h1> <% Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn = DriverManager.getConnection("jdbc:odbc:sampleshop"); Statement stmt = conn.createStatement(); String sql = "select * from t_shohin order by shohin_code"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ out.print(rs.getString("shohin_name")); out.print(" - "); out.print(rs.getInt("price") + "円"); out.println("<br>"); } conn.close(); %> </body> </html> ご回答よろしくお願いします。

専門家に質問してみよう