教えてください。
現在、Apache1.3.20+Tomcat3.2.3+JDK1.3.1+PostgrSQL7.1.3というサーバー環境でをつくっているのですが、Apache→JDK→Tomacat→PostgrSQLと問題なくインストールしました。tomcatとapacheの連動もいまくいき、http://localhost:8080http://localhost/examples/jsp、と共にブラウジングに成功しました。
しかし、いざ自分がつくったjspファイルを置くとError:500Location:localhost/~/index.jsp Internal Servlet Error: (以下略) になってしまいます。
ちなみにPATHはきちんと通してあると思います。ソースのエラーかと思いましたが、他のサーバーではきちんと表示されました。

皆様、もしこのような事をご存知であれば宜しくお願いいたします。ちなみにOSはLinux RedHat7.1です。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

JDBCの接続文字列というのは、言葉が正確でなかったですね...


失礼しました。
DriverManagerクラスの getConnection メソッドの第1引数のURLのことを
言いたかったのです。
どうでしょうか?
    • good
    • 0

PostgreSQLは動いているみたいですね。


DBへの接続もできるのであれば、あとは
Javaの方のJDBCの接続文字列等ではないでしょうか?

この回答への補足

JDBCに関しましては、/usr/local/pgsql/shere 以下にpostgres権限で、
javaディレクトリを作成しpostgresql.jarを置きました。
(/usr/local/tomcat/lib以下にも置きました。)

あとは、/home/postgres/.bash_profile にCLASSPATHを

exportCLASSPATH=/usr/local/tomcat/lib/ant.jar:/usr/local/tomcat/lib/jasper.jar:/usr/local/tomcat/lib/jaxp.jar:/usr/local/tomcat/lib/parser.jar:/usr/local/tomcat/lib/servlet.jar:/usr/local/tomcat/lib/webserver.jar:/usr/local/tomcat/lib/postgresql.jar:

のように通しました。
これに何か問題がありそうですか?
宜しくお願いいたします。

補足日時:2001/11/20 14:32
    • good
    • 0

書くまでもないことかもしれませんが、エラーの内容は、



 接続が拒否されました。
 ホスト名とポートが正しいかどうか、
 また、ポストマスターが TCP/IPネットワーキングをできるように
 -i フラグで起動しているかどうかをチェックしてください。

というようなものですね。
まず、下の方のエラーの内容から、PostgreSQLへの接続ができて
いないということが分かります。
ここから、まずチェックしてみた方がよいでしょう。
当然、PostgreSQLのデーモンが起動しているかどうか、はチェックしないと
ですね... (^^;

ちなみに、-i フラグ云々というのは、私は意識したことがありませんが、
PostgreSQLを平気で利用できています(TurboLinuxですけれど)。
私の場合、起動時にPostgreSQLが起動するようにしています。

この回答への補足

お返事誠に有難うございます!
しかし、 ps -aux | grep postmaster
で確かめたのですが、動いてはいるようです。
psql -l でちゃんとDBが出てきました。

私は実はPostgreSQLやLinuxを始めて扱うのでなにもわかりませんが、
PostgreSQLのデーモンが起動しているかどうかチェックするには
上記の作業ではだめですか?

補足日時:2001/11/20 11:24
    • good
    • 0

black moreさんが(以下略)とされた個所にエラーの原因を示唆するものが


書かれていたはずだと思うのですが...。

この回答への補足

すいません。以下略の所を捕捉します。

Error: 500

Location: /frameworx/index.jsp

Internal Servlet Error:

javax.servlet.ServletException: Connection refused. Check that the hostname and port is correct, and that the postmaster is running with the -i flag, which enables TCP/IP networking.
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:459)
at _0002findex_0002ejspindex_jsp_0._jspService(_0002findex_0002ejspindex_jsp_0.java:221)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspCountedServlet.service(JspServlet.java:130)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
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:500)
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:812)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
at org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:166)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java:484)

Root cause:

Connection refused. Check that the hostname and port is correct, and that the postmaster is running with the -i flag, which enables TCP/IP networking.
at org.postgresql.Connection.openConnection(Connection.java:136)
at org.postgresql.Driver.connect(Driver.java:122)
at java.sql.DriverManager.getConnection(DriverManager.java:517)
at java.sql.DriverManager.getConnection(DriverManager.java:177)
at _0002findex_0002ejspindex_jsp_0._jspService(_0002findex_0002ejspindex_jsp_0.java:88)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspCountedServlet.service(JspServlet.java:130)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
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:500)
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:812)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
at org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:166)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java:484)

です。

宜しくお願い致します。

補足日時:2001/11/19 19:02
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QTomcat5.5でhttp://localhost:8080/myApp/でディレクトリ一覧が表示されない。

はじめまして。javaの初心者です。先ほども
Tomcat5.5の設定についての質問をさせていただいた
のですが、質問の回答者様のご返事を待たずに改めて
質問をさせていただくのは、申し訳ございません。
現在jdk1.5.0_06とTomcat 5.5.17をインストール
していまして、Tomcatの設定で苦戦しております。
http://localhost:8080/myApp/を入力すると
「HTTPステータス 404 - /myApp/」と表示されて
ディレクトリ一覧が表示されないのに
http://localhost:8080/myApp/test.htmlや
http://localhost:8080/myApp/testでサーブレット
が表示される状態になっています。おそらく
コンテキストの設定が問題になっていると思うのです
がどのようにしたら解決するのがわかりません。
どうか教えてください。お願いします。

Aベストアンサー

%CATALINA_HOME%\conf\web.xml

に以下の記述があると思います。
そのパラメータに「listings」というのがあります。
これがtrueであれば一覧は表示されfalseであれば表示されません。
ココをもう一度確認してみてください。

<servlet>
<servlet-name>default</servlet-name>
<servlet-class>
org.apache.catalina.servlets.DefaultServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

%CATALINA_HOME%\conf\web.xml

に以下の記述があると思います。
そのパラメータに「listings」というのがあります。
これがtrueであれば一覧は表示されfalseであれば表示されません。
ココをもう一度確認してみてください。

<servlet>
<servlet-name>default</servlet-name>
<servlet-class>
org.apache.catalina.servlets.DefaultServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0<...続きを読む

Qapache + tomcat でtomcatが起動しません。

既出の質問であれば申し訳ありません。

apacheサーバをインストールした後、tomcat6.0をインストールしました。インストール時は正常に動作するのですが、tomcatを再起動すると

「ローカルコンピュータ上のApache Tomcatサービスは起動して停止いたしました。パフォーマンスログ、警告サービスなど、一部のサービスは作業がない場合に自動停止します。」

というメッセージが表示されて起動されません。
windowsXP(Home Edition)を再起動すると右下にアイコンも出ていないようです。以前は動いていたのですが。。。
何かアドバイスがございましたらお願いいたします。

Aベストアンサー

Tomcatはデフォルト8080のポートを使用しています、まずコマンドプロンプトで netstat コマンドで8080のポートをしようしているかどうかを確認してください。

QTomcatの基本認証が8080ポートだと通るのに80ポートだと通らない

JSPファイルにアクセス制限をかけたかったため、
http://www.javaroad.jp/opensource/js_tomcat9.htm
を参考にして 基本認証をかける設定にしました。

そうすると、
http://localhost:8080/XXXX.jsp
のように8080ポートでは ちゃんと認証を行えるのに
http://localhost/XXXX.jsp
でアクセスすると、

ユーザ名
パスワード
ドメイン

を聞く ボックスがあらわれ、ユーザ名とパスワードを入力しても認証がとおりません。

8080でアクセスしたときには、ドメインを聞かれないのに、80でアクセスすると聞かれるんです。
また、認証エラーも TomcatではなくIISが出しているように思います。

80でアクセスしたとき、ドメインには何を指定すればよいのでしょうか?(マシン名や 空欄ではNG)
もしくはそもそも設定が間違っているのでしょうか?

教えてください。

Aベストアンサー

 設定が間違っているというよりかは、状況を正しく把握できていないのではないかと思う。

 IIS-Tomcat連携を行っている場合、WebブラウザとHTTPでやりとりをしているのはIISだ。図で説明すると以下のようになる。

  Tomcat-Engine
 |       |
TomHTTPD   IIS
 8080      80
 |       |
Webブラウザ  Webブラウザ

 つまり、80番につないで来たWebブラウザにBASIC認証のHTTPレスポンスを返すのは当然IISだ。この時、Tomcat-HTTPDは一切関与しない。

 なので、どうしても同じ動きをさせたければ、80番の特定のロケーションを8080にリバースプロクシするなどの、泥臭い設定を行わなければいけないだろう。

 まぁ、それが全てではないので、もっとTomcatに明るい人の回答を待ってみましょう。

QTomcatとJDKについて

TomcatとJDKについて

こんにちは。お世話になります。
Tomcatインストール時にJDKがインストールされていた場合、
自動的にJDKのパスを取得して設定をくれたと思うのですが。

その後、JDKのバージョンが違うものをインストールし、TomcatにJDKを再設定したいと考えています。
TomcatにJDKを設定し直すにはTomcatを再インストールするしかないのでしょうか
どれかファイルを操作すれば設定を変えられるのであれば、そちらで済ませたいと考えています。

tomcat6w.exe内に「Configure Tomcat」というツールが入っているようで、
これを使用すれば変更ができるように見えるのですが、これを使用しない方法がありましたら、
教えていただきたいです。

皆様のお力をお貸しください。


以下、当方で使用中のTomcatと設定したJDKのバージョンです。
Tomcat: 6.0
JDK : 1.6.0_01


カテゴリはどのカテゴリにしたらよいかわからなかったため、
JAVAにさせていただきました。

Aベストアンサー

あなたの環境がどうなっちゃっているか分からないけど
Tomcatは環境変数を見ているはず。

PATH

の値がどうなっているか確認してみると良いわ。

QJSP 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

特別なコンパイルオプションなどは指定していません。

よろしくお願いいたします。

お世話になります。

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> の値が...続きを読む

Aベストアンサー

class属性でなくtype属性にするといいらしい。


人気Q&Aランキング

おすすめ情報