Webアプリ開発中で500エラーが発生して困っています

このQ&Aのポイント
  • JavaでWebアプリを開発中ですが、500エラーが発生しています。OSはWindows Server 2003 R2、アプリケーションサーバはTomcat、WebサーバはIIS6を使用しています。
  • Webブラウザからの情報をServletで受け取り、解析、DBアクセスなどの処理を行い、JSPを経由してブラウザに表示しています。しかし、Servletの処理時間が長くなった場合に500エラーが発生します。
  • ローカル環境では問題が再現せず、Firefoxなどの他のブラウザでも同じ問題が発生します。タイムアウトの設定や各種設定を調査しましたが解決策が見つかりません。どなたか解決策をご教授いただけないでしょうか。
回答を見る
  • ベストアンサー

こんにちは。

こんにちは。 javaにて、webアプリを開発中です。 500エラーが発生して困っています。 <環境> OS:windows server 2003 R2 アプリケーションサーバ:tomcat webサーバ:IIS6 開発言語:java ブラウザ:IE8 <事象> webブラウザからの情報をServletにて受け取り、解析、DBアクセス等の処理をおこないjspを経由し、ブラウザへ表示しています。 servletでの処理時間が長くなった場合に、webブラウザに500エラーが飛んできます。 ブラウザでsubmitしてから、500エラーを受信するまでの時間は、常に15秒です。 リクエストのタイムアウト設定を疑い、tomcat、IIS、ブラウザ等の設定を調査しましたが、解決策が見い出せません。 また、問題の切り分けとして、ローカル環境にてtomcatへアクセスした場合は、同事象は再現しません。 firefox等、ブラウザを変更しても、同事象は再現します。 良い解決案がございましたら、ご教授をお願いいたします。

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

  • ベストアンサー
  • crossgate
  • ベストアンサー率65% (78/119)
回答No.1

>また、問題の切り分けとして、ローカル環境にてtomcatへアクセスした場合は、同事象は再現しません。 それならプロキシかDNS辺りじゃないですか? それでも15秒っていうのはかなり短い気がしますが。

impulse1872
質問者

お礼

回答ありがとうございます。 プロキシについては、少し調査をしていました。 特にタイムアウトの設定はしていませんでした。 デフォルト値が15秒なのかもしれません。 変更が可能なのか、現状では不明です。 DNSの設定については、未調査でした。 調査してみます。

関連するQ&A

  • ブラウザを閉じた後のサーバ側の処理について

    webシステムにて、クライアントからのリクエストをサーバが処理している 途中にクライアントがブラウザを閉じた場合、サーバ側の処理が 続いてしまいます。 ブラウザが閉じられた場合、なんらかのタイミングでサーバ側が それを感知して処理を途中でキャンセルする方法はありますでしょうか。 ※サーバ側の処理は大変重く、20~40分程かかるものとします。  又、その処理自体を軽くする事は出来ません。 言語:Java(JSP+servlet) APサーバ:Tomcat

    • ベストアンサー
    • Java
  • この様な場合のWeb開発におけるJavaの利点を教えて下さい

    IIS+VB.NetでしかWeb開発をしたことがありません。 Web開発においてJavaが素晴らしいと言うのを何度も目にし、Javaを使ってみたいのですが、以下の自社の縛りがあります。 ・OSはWindowsに限定 ・サポートのある商用サーバソフトが望ましい ・クラスタリング技術は必要としない ・2-300人で利用 ネットで聞きかじった以下の知識でJavaの利用へ踏み切れません。 ・最も利用されるWebアプリケーションサーバのTomcatはフリーソフトである(サポート無し)。 ・TomcatはWebサーバとして利用した場合、利用人数が多いと機能がIISよりも劣る。 ・Tomcatと親和性の高いWebサーバであるApatchサーバもフリーソフトである。 素晴らしい点が沢山あると思いますが、たどり着く事ができません。 「このアプリケーションサーバは商用サポートがある」 「jspのWebページだとこのような事が簡単にできる」 等を教えて頂けないでしょうか。 よろしくお願い致します。

    • ベストアンサー
    • Java
  • tomcatにapacheを連携させるのは何のため?

    以前、仕事でローカル開発環境としてtomcatを使用していました。 今家でtomcatを動かしてみよう、とwebでマニュアルを探したら、たいていtomcat+apacheで説明されています。 tomcatもwebサーバーの機能があるのに、わざわざapacheやIISとわざわざ連携させるのは何のためですか? また、IISだけでもwebサーバー+アプリケーションサーバーとして機能するのに、tomcatと連携させるのは何のためでしょう。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Tomcat

    Tomcatって、Webサーバになるのですか? それとも、APサーバになるのですか? ネットで調べたのですが、結果は、 Javaサーブレット・JSPを処理するアプリケーション(AP)サーバ。と書いてあると思えば。  逆に、Tomcatは単独でWebサーバとして動作することも可能だが、ApacheやIISのプラグインと動作できるようになっており、実際にはプラグインとしての利用が主流である。とも書いてあります。  WebサーバなのかAPサーバなのかどっちなんでしょうか?

  • eclipse、Tomcatの設定

    お世話になります。 以前JAVAで開発していたプロジェクトを久々に動かそうと 思、新たにEclipse3.2、Tomcat5.5の環境を構築し、 TomcatのWebappsにWarをデプロイし、起動したのですが、 ブラウザからhttp://localhost:8080/プロジェクト名/index.html にアクセスしても404エラー画面が出力されてしまいます。 index.javaにSystem.outでデバッグしたのですが、 eclipseのコンソール上は何も出力されていないため、 TomcatとStrutsの連携がうまくいってなようです。 以前の設定でTomcatのWeb.xmlとServer.xmlを記述したのですが 何故うまくいかないのかわかりません。 どなたかご存知の方がいましたら教えていただけないでしょうか?

  • Tomcatにおけるサーブレットの呼び出し

    tomcatに関してですが、現在サーブレットからjspを呼び出すようなことをしたいと思い、web.xmlを以下のように設定し、”http:localhost:8080/servlet/Login”としても『HTTP Status 404 - 』が返却されます。jspからサーブレットを呼び出すことはできるのですが・・・(この場合、jspファイルをWEB-INFの直下にディレクトリを作成するとやはりアクセスができませんでした。WEB-INFと同レベルに置けばアクセスは可能でした。)。 どなたかわかる方がいれば教えて下さい! よろしくお願いします。 --------------- 環境 --------------- Windows2000Server eclipse ver2.1.1 tomcat ver4.1 --------------- ディレクトリ構成 --------------- WEB-INF Lclasses | LLogin_serv.java Ljsp LLogin.jsp --------------- web.xml --------------- <?xml version="1.0" encoding="shift_jis"?> <!DOCTYPE web-app PUBLIC "-//SUN Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>Login</servlet-name> <servlet-class>serv.Login_serv</servlet-class> </servlet> <servlet-mapping> <servlet-name>Login</servlet> <url-pattern>Login</url-pattern> </servlet-mapping> </web-app> 補足:tomcat-confにあるweb.xmlの『invoker』はコメントを外し有効にしてます。

    • ベストアンサー
    • Java
  • 【Java】Eclipseで作成したTomcatプロジェクトへブラウザ

    【Java】Eclipseで作成したTomcatプロジェクトへブラウザからアクセスできません。 Tomcatは問題なく起動していて、Apache Tomcatへはアクセスできます。 以下に詳細を記載していますのでアドバイスをお願いします。 環境は以下の通りです。 ・Windows XP ・Internet Explorer8.0 or Firefox ・Eclipse Platform 3.4.2 Ganymede (All in one) ・Tomcat6.0 ・jre1.6 EclipseでTomcatを起動でき、その際のコンソールにも特にエラーはありません。 Tomcatを起動した際に http://localhost:8080/ へアクセスすると、Apache Tomcatへ繋がります。 なので問題なくTomcatは起動しています。 EclipseでTomcatプロジェクトとして”mbshop”という名のプロジェクトを作成しました。 http://localhost:8080/mbshop/とアクセスするとHTTPステータス 404 - /mbshop/ と表示されてしまいます。 mbshop配下にWEB/INFがあり、その中にweb.xmlを記述しています。 web.xmlの記述内容は以下の通りです。 <?xml version="1.0" encoding="ISO-8859-1"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd" <servlet> <servlet-name>invoker</servlet-name> <servlet-class> org.apache.catalina.servlets.InvokerServlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> </web-app> Tomcatが起動できApache Tomcatのサイトへアクセスできるのに、 Eclipse内のTomcatプロジェクトが表示できないのは、なぜでしょうか。 いくら調べても原因が見つかりません。 ご存知の方がいれば、アドバイスを下さい。 宜しくお願いします。

    • ベストアンサー
    • Java
  • servletを起動させるURLについて

    現在、javaのservletの勉強をしているのですが、 1つ疑問があります。 現在、サーバのtomcat + apacheを起動して、 http://<サーバのホスト名>:8080/ でアクセスしたら、tomcatのindex.html を起動するようになっているのを、自分が作ったservletを起動する ように変更したいのですが、このようなことはできるのでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Java Servletでのバックグラウンド処理

    eclipseを利用してjavaのServletシステムの開発を行っております。 昨日納品したプログラム内で、エクセル出力処理があるのですが 一度に生成されるファイル数が多いため、実行側のブラウザでタイムアウトエラーが発生してしまいます (エクセル自体はサーバー側の所定の場所に正常に生成されている) そこで、エクセル出力処理をバックグラウンドで実行させ、ブラウザ側でタイムアウトとならないようにするという方針になりました いろいろWeb上の情報を調べてみましたが、解決には到っておりません 解決策をご存知の方、おりましたらお教えいただけたらと思います よろしくお願い致します

  • Tomcatは2、3日に1回再起動が必要なのでしょうか?

    こんにちは。 現在Servlet、JSP、HTMLを用いて、webアプリケーションを作成しています。 トップページがHTMLでHTML→Servlet→JSPのように処理が流れます。Tomcatを起動仕立て~1日位は問題なく動作するのですが、Tomcatを起動したまま2,3日経つとトップページのHTMLを開くと、下記のエラーが発生しました。 --------------------------------------------------- エラー内容: java.lang.IllegalStateException: Can't happen - classname is null, who added this ? --------------------------------------------------- このエラーに対して、Tomcatの再起動をすると、エラーも表示されなくなり、通常通り動作しました。 そこでわからないのですが、Tomcatではwebアプリケーションを継続的に運用するには、2、3日に1回はTomcatの再起動をしないといけないのでしょうか? それともserver.xmlの設定の問題なのでしょうか?server.xmlの中身を見たのですが、それらしきものを見つける事ができませんでした。 ちなみにTomcatのバージョンは3.2.4で、RedHatLinux7.2、JDK1.4.0です。 何か分かることがありましたら、ご教授お願い致します。