• 締切済み

MySQL・Tomcat・JSP 何度もSubmit実行すると、SQLNestedExceptionエラー

現在、社内で勉強がてら、社内用アプリケーションを開発しております。 環境は以下です。 ・Windows2003ServerR2 ・Apache2.2.11 ・Tomcat6 ・MySQL5.1 ・Java1.6 フレームワークを使わずに、JSP/サーブレットで開発しております。 submitして、ブラウザの「戻る」を何度も繰り返したりして DB接続するサーブレットを何度も実行すると 「SQLNestedException」エラーになり、 サーバーリブート(もしくはtomcat/mysqlサービス再起動) しない限り、アプリに接続できなくなってしまいます。 tomcatのstdout.logには、以下が出力されております。 -------------------------------------------------------↓ org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object at org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:104) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880) ・ ・ ・ -------------------------------------------------------↑ connectionのclose()をすれば良いようなことが、 ネットで調べてあったのですが、 射た感じの情報が 見つからなかったので、投稿させていただきました。 SJC-Pのバージョン5.0を取ってはいますが、 元々NotesDominoの開発が長く、JSPは初心者で、 申し訳ありません。 ご教示いただけるとありがたいです。 【補足】 すみません。try{}catchのcatch側に、close()を入れてませんでした。 しかし、close()を入れてないからといってサーバリブート(サービスリブート)しないかぎり、鍵が開けられないような感じになっているのは なんか変ですね。 引き続き調べてみますが、解る方いらっしゃいましたら、よろしくお願いいたします。 他力本願かもですが、生産性向上思考で、情報ご提供お願いいたします。

  • Java
  • 回答数7
  • ありがとう数8

みんなの回答

回答No.7

携帯ブラウザの×を押されても、一定期間たてばセッションタイムアウトでsessionDestroyedメソッドが呼ばれるのではないでしょうか?(多分) 例えPCのブラウザでも電源をいきなり切れば同じ事です。 セッションタイムアウトは一定時間操作しなければ発生します。 コネクション数の上限とタイムアウトの時間を何分とるかです。

  • gigamac
  • ベストアンサー率57% (8/14)
回答No.6

これは正攻法では無いと思うのですが、ブラウザを閉じた時や、別の ページを表示した時の方法の一例として取扱いください。 JavaScriptを用い、onUnloadイベントが発生した時に、セッションや コネクションを削除するサーブレットを呼び出す方法です。 --------------- <SCRIPT language="JavaScript"> <!-- function byeWin(){ document.form1.closeWin.value = "true"; document.form1.submit(); } //--> </SCRIPT> <body onUnload="byeWin()"> <form action="hoge" method="POST" name="form1"> <input type="hidden" name="closeWin" value=""> ・・・ </form> --------------- サーブレット側にて、 --------------- String closeWin = request.getParameter("closeWin"); if( closeWin.equals("true") ){ // セッション、コネクション削除 HttpSession session = request.getSession(true); Connection con = (Connection)session.getAttribute("con"); if( con != null){ con.close(); } session.invalidate(); } ・・・ --------------- という感じでしょうか。 (つっこみ所は多々ありますが、実際にシステムで使用してます) ただし、携帯電話ではダメでしょうし、ブラウザ等、環境によっては NGかもしれませんし、あくまでも一例として。

fushululu
質問者

お礼

すみません。補足の方に書いちゃいました。

fushululu
質問者

補足

お忙しい中、回答ありがとうございます。 参考にさせていただきます。 もともと作ろうとしているものが、 ケータイからもアクセス可能なシステムなので、 ケータイブラウザ側の対応も考えたいのですが、 ケータイサイトでDBを使用しているサービスは多々ありますし、 何かしらの対処の方法があると思いますので、 がんばって探してみます。 最悪、毎日リブート運用とか、バッチを仕込むのも考えます。 もし、何か方法が見つかりましたら、情報提供くださるとありがたいです。

  • gigamac
  • ベストアンサー率57% (8/14)
回答No.5

すみません。No4の回答ですが、ブラウザを閉じた事を検知するのは 少々、コツがいるようです。 今、ちょっとしたサンプルが見つからない為、見つかりましたら、 提示したいと思います。

fushululu
質問者

お礼

ご回答ありがとうございます。 無償でお仕事を依頼しているようで、大変恐縮です。 セッションがメモリ上からガベージされるタイミングで呼ばれるなら、 セッションリスナーでいけそうな感じがしましたが。 私の方でも色々調べてみます。 万が一見つかりましたら、 情報いただけるとありがたいです。

  • gigamac
  • ベストアンサー率57% (8/14)
回答No.4

セッションリスナーをご存知でしょうか? http://www.ingrid.org/jajakarta/servletapi/servletapi-4.0/docs-ja/javax/servlet/http/HttpSessionListener.html セッション作成時とか消滅時のタイミングで呼ばれます。 sessionDestroyedメソッドは消滅時に呼ばれます(ブラウザを閉じた時等) インターネットで検索すると幾つかサンプルが出てきますので詳細は そちらをご覧ください。 ご参考まで。

  • gigamac
  • ベストアンサー率57% (8/14)
回答No.3

この例外はDBCPのコネクションプールを受け持つメソッドで発生しています。 コネクションプールはリソースの省資源化、コネクションする際のサーバー負荷軽減などメリットがあります。 また、コネクションプールは通常、最大数が決まっています。 それをオーバーしてしまうとgetConnectionメソッドで、コネクションオブジェクトを返す事ができなくなり、 getConnectionメソッドはコネクションが空くまで(どこかのインスタンスでcloseされるまで)、待ち状態になります。 それが、ずーーーと続いてしまうとタイムアウトで例外発生という仕組みです。(恐らくcontext.xmlファイルのmaxWait設定値を超えたとき) セッションを作って管理するのが良いと思います。 1つの接続に対し、セッションオブジェクトを生成し、 そのセッションオブジェクト内にコネクションオブジェクトを 置いておく構造にします。そして、そのセッション内に コネクションオブジェクトがnullならgetConnectionするという 感じです。 若しくは、最初の画面からシステムの機能画面へ遷移する際に セッションをはり、getConnectionします。 そして、済んだ後、例えば最初の画面へ戻ったとき等に、 コネクションをcloseし、セッションを無効化する。 という事で、ご参考まで。

fushululu
質問者

お礼

皆様ご回答ありがとうございます。 初めて投稿するもので、あまりの回答の早さに驚いております。 セッションで管理するのがよさげなのですね。 ちょっとやってみます。 気になるのですが、ブラウザの「×」で閉じた場合、 セッションの破棄は「invalidate()」をされないと思うので、コネクションプールは開いたままになってしまうような気がするのですが。 ケータイでもアクセスできるようなシステムを作りたいと思ってまして、 その場合、JavaScriptのonUnloadでSubmitさせるとかはできないと思うので。 以下の2案のような対処方法があったらいいと思うのですが、なさそうですね。 ・バックグラウンドでコネクションプーリングを監視するJavaプログラムとかを常駐させといて、使われてなくて開いているコネクションプーリングがあったら閉じる ・getConnectionは新規にコネクションプールを取得するメソッドですので、getActiveConnectionみたいな、開いていて使われてないコネクションを取得するメソッドがあればいいのですが、APIリファレンスを見る限りなさそうですね。

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

いやいやいや ずばりconnectionをcloseしていないのが原因よ。 データベースが接続を許可している数が 例えば50となっている場合、 connectionを50個ゲットしたら 次の51個目はゲットできないわ。 そうなると強制的にDBとのコネクションを切らない限り 次のコネクションを生成することができないのよ。

回答No.1

http://atbb.jp/kurimaru/viewtopic.php?p=39 ↑の状況に似てる気がします。 >今回は web アプリケーション側で、SQL を実行する度に > BasicDataSource クラスを毎回 new していたため、その都度新たな > JDBC 接続が生成され、プーリングされていた。 >つまり、sleep プロセスがたまる一方で、これが MySQL の max >connections を超えたとき Nested Exception が発生した、という >ことのよう。 DBの接続方法の部分のコードやJDBCドライバーは何を使っているのか? とかがあればもう少し原因がわかるかもしれず。 >【補足】 >すみません。try{}catchのcatch側に、close()を入れてませんでした。 >しかし、close()を入れてないからといってサーバリブート(サービスリブート)しないかぎり、鍵が開けられないような感じになっているのは >なんか変ですね。 そんなことはないでしょう、世の中1つの問題が複数のインシデントを引き起こしたりするもんです。

関連する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の表示時エラー

    いつもお世話になっております。 ・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
  • eclipse-tomcat 実行エラー

    eclipseでfess(全文検索オープンソース)のデバッグをしようとしましたがtomcat実行した際に以下のエラーがでてしまいます。なぜでしょうか?起動構成のクラスパスには$TOMCAT_HOME\bin、$TOMCAT_HOME\lib内のjarファイルを指定しています。tomcat6でも7でも試してみました。Server.xmlの内容は「<Context path="fess" reloadable="true" docBase="D:\workspace\fess\src\main\webapp" workDir="D:\workspace\fess\src\main\webapp" />」一行を追加したのみです。ちなみに http://localhost:8080/examples/ は正常に表示されています。 2012/05/11 10:36:13 org.apache.tomcat.util.digester.Digester startElement 致命的: Begin event threw exception java.lang.NullPointerException at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:144) at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1276) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501) at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:767) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1363) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$ContentDriver.scanRootElementHook(XMLDocumentScannerImpl.java:1318) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3104) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:922) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1537) at org.apache.catalina.startup.Catalina.load(Catalina.java:601) at org.apache.catalina.startup.Catalina.load(Catalina.java:649) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:449)

  • tomcat5.0のエラー内容を教えたください

     WINDOWS2000 SERVER SP4にj2sdk1.4.2_13、Tomcat 5.0をいれてウェブアプリケーションサーバを構築しているのですが、下記のようなtomcatのlocalhost_logが出てサーブレット(RT001JV.class)がうまく動きません。  大変お手数ですけれどもどなたかアドバイスよろしくお願いします。 2007-02-21 11:50:22 StandardWrapperValve[RT001JV]: サーブレット RT001JV のServlet.service()が例外を投げました java.lang.NullPointerException at RT001JV.doPost(RT001JV.java:122) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462).......

  • tomcatのメモリ限界?エラー

    サーバー環境がwin2000+apach+tomcatで、jspを実行させています。 しかしある処理をさせると下のようなエラーが出てしまい、もう一度tomcatを起動し直さなければ、正常に動きません。 サーバーのメモリーは1GBも積んでいるのですが・・・ tomcat側でのメモリーの限界なのでしょうか? 回答よろしくお願いします。 Internal Servlet Error: javax.servlet.ServletException: at org.apache.jasper.servlet.JspServlet.service(JspServlet.java, Compiled Code) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405) at org.apache.tomcat.core.Handler.service(Handler.java:287) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:166) ・ ・ ・ Root cause: java.lang.OutOfMemoryError: at java.lang.String.(String.java, Compiled Code) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:282) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:429) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java, Compiled Code) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405) at org.apache.tomcat.core.Handler.service(Handler.java:287) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797) ・ ・ ・

    • ベストアンサー
    • Java
  • 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
  • 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)

  • EclipseでJSP→Mysql接続エラー

    こんにちは。 EclipseもJavaも初心者ですが、学習本を頼りにJSPでMysqlに接続しようとしています。 <sql:setDataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/test"   user="root" password="pass"     var="office_dts" /> <sql:query var="office" dataSource="${office_dts}"> select * from office_tbl </sql:query> MysqlのtestDBのoffice_tblへ接続したいのですが、下記のエラーが出てしまいます。 DataSourceが無効ということは、url="jdbc:mysql://localhost/test" の部分が違うということでしょうか? また、パスワードは設定してみたのですが、以前からMySQLを使用するとき、パスワードの入力を求められたことがありません。 このあたりがおかしいのでしょうか? よろしくお願いいたします。 -------------------------------- javax.servlet.ServletException: DataSource が無効であるため、Connection を取得できません: "Invalid authorization specification, message from server: "Access denied for user: 'root@127.0.0.1' (Using password: YES)"" org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:867) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:800) org.apache.jsp.OfficeList_jsp._jspService(OfficeList_jsp.java:80) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248) javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

    • ベストアンサー
    • Java
  • Tomcat+Postgresql 起動時のエラー

    以下のようなエラーが発生するのですが どういった原因が考えられるでしょうか? よろしくお願いいたします。 環境 postgresql-7.4.12 tomcat5.0 jdk1.4.2 以下、プログラムログ [FATAL] 2011-02-17 08:25:41 [TP-Processor6] org.postgresql.util.PSQLException: The backend has broken the connection. Possibly the action you have attempted has caused it to close. [WARN ] 2011-02-17 08:25:41 [TP-Processor6] java.lang.RuntimeException: org.postgresql.util.PSQLException: The backend has broken the connection. Possibly the action you have attempted has caused it to close. [FATAL] 2011-02-17 08:25:41 [TP-Processor3] org.postgresql.util.PSQLException: An I/O error has occured while flushing the output - Exception: java.net.SocketException: Broken pipe Stack Trace: java.net.SocketException: Broken pipe at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at java.net.SocketOutputStream.write(SocketOutputStream.java:136) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:66) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:124) 以下、catalineログ -- [GC 1147257K->973413K(2073856K), 0.1046160 secs] org.postgresql.util.PSQLException: The backend has broken the connection. Possibly the action you have attempted has caused it to close. at org.postgresql.core.PGStream.ReceiveChar(PGStream.java:168) at org.postgresql.core.QueryExecutor.executeV3(QueryExecutor.java:128) at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:101) at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:43) at org.postgresql.jdbc1.AbstractJdbc1Connection.execSQL(AbstractJdbc1Connection.java:875) at org.postgresql.jdbc1.AbstractJdbc1Connection.setAutoCommit(AbstractJdbc1Connection.java:1266) at org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:266) at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setAutoCommit(PoolingDataSource.java:338)

  • jspのクラスのコンパイルエラー

    jspのクラスのコンパイルエラーが解決出来ず皆様にお力を借りたいと思っています 以前はjdk1.4のtomcat5の動かしていたプログラムを jdk1.7のtomcat7で動かさないといけなくなりました。 実行環境 tomcat7 jdk1.7 エラー内容 org.apache.jasper.JasperException: JSPのクラスをコンパイルできません: An error occurred at line: [16] in the generated java file: [E:\Tomcat 7.0\work\Catalina\localhost\test\org\apache\jsp\WEB_002dINF\pages\ac\AC10101_jsp.java] The type AC10101_jsp must implement the inherited abstract method JspSourceDependent.getDependants() An error occurred at line: [22] in the generated java file: [E:\Tomcat 7.0\work\Catalina\localhost\test\org\apache\jsp\WEB_002dINF\pages\ac\AC10101_jsp.java] The type Map is not generic; it cannot be parameterized with arguments <String, Long> An error occurred at line: [25] in the generated java file: [E:\Tomcat 7.0\work\Catalina\localhost\test\org\apache\jsp\WEB_002dINF\pages\ac\AC10101_jsp.java] _jspx_dependants cannot be resolved to a variable An error occurred at line: [25] in the generated java file: [E:\Tomcat 7.0\work\Catalina\localhost\test\org\apache\jsp\WEB_002dINF\pages\ac\AC10101_jsp.java] The type HashMap is not generic; it cannot be parameterized with arguments <String, Long> An error occurred at line: [26] in the generated java file: [E:\Tomcat 7.0\work\Catalina\localhost\test\org\apache\jsp\WEB_002dINF\pages\ac\AC10101_jsp.java] _jspx_dependants cannot be resolved An error occurred at line: [26] in the generated java file: [E:\Tomcat 7.0\work\Catalina\localhost\test\org\apache\jsp\WEB_002dINF\pages\ac\AC10101_jsp.java] The method valueOf(String) in the type Long is not applicable for the arguments (long) An error occurred at line: [27] in the generated java file: [E:\Tomcat 7.0\work\Catalina\localhost\test\org\apache\jsp\WEB_002dINF\pages\ac\AC10101_jsp.java] _jspx_dependants cannot be resolved An error occurred at line: [27] in the generated java file: [E:\Tomcat 7.0\work\Catalina\localhost\test\org\apache\jsp\WEB_002dINF\pages\ac\AC10101_jsp.java] The method valueOf(String) in the type Long is not applicable for the arguments (long) An error occurred at line: [28] in the generated java file: [E:\Tomcat 7.0\work\Catalina\localhost\test\org\apache\jsp\WEB_002dINF\pages\ac\AC10101_jsp.java] _jspx_dependants cannot be resolved An error occurred at line: [28] in the generated java file: [E:\Tomcat 7.0\work\Catalina\localhost\test\org\apache\jsp\WEB_002dINF\pages\ac\AC10101_jsp.java] The method valueOf(String) in the type Long is not applicable for the arguments (long) An error occurred at line: [29] in the generated java file: [E:\Tomcat 7.0\work\Catalina\localhost\test\org\apache\jsp\WEB_002dINF\pages\ac\AC10101_jsp.java] _jspx_dependants cannot be resolved An error occurred at line: [29] in the generated java file: [E:\Tomcat 7.0\work\Catalina\localhost\test\org\apache\jsp\WEB_002dINF\pages\ac\AC10101_jsp.java] The method valueOf(String) in the type Long is not applicable for the arguments (long) An error occurred at line: [30] in the generated java file: [E:\Tomcat 7.0\work\Catalina\localhost\test\org\apache\jsp\WEB_002dINF\pages\ac\AC10101_jsp.java] _jspx_dependants cannot be resolved An error occurred at line: [30] in the generated java file: [E:\Tomcat 7.0\work\Catalina\localhost\test\org\apache\jsp\WEB_002dINF\pages\ac\AC10101_jsp.java] The method valueOf(String) in the type Long is not applicable for the arguments (long) An error occurred at line: [31] in the generated java file: [E:\Tomcat 7.0\work\Catalina\localhost\test\org\apache\jsp\WEB_002dINF\pages\ac\AC10101_jsp.java] _jspx_dependants cannot be resolved An error occurred at line: [31] in the generated java file: [E:\Tomcat 7.0\work\Catalina\localhost\test\org\apache\jsp\WEB_002dINF\pages\ac\AC10101_jsp.java] The method valueOf(String) in the type Long is not applicable for the arguments (long) An error occurred at line: [45] in the generated java file: [E:\Tomcat 7.0\work\Catalina\localhost\test\org\apache\jsp\WEB_002dINF\pages\ac\AC10101_jsp.java] The type Map is not generic; it cannot be parameterized with a

専門家に質問してみよう