Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

http://localhost:8080/につながりません。

現在、エクリプスをインストールしてトムキャットの設定をしてトムキャットが起動できるようになりました。しかし、http://localhost:8080/につながりません。
エラーメッセージはリクエストされたURLが取得できませんでした や下のメッセージが表示されます。
--------------------------------

以下の URL を取得した際に: / 

次のエラーが発生しました: 

不正な URL です. 
URL が不正です.可能性のある問題は以下の通りです: 

プロトコルが指定されていないか,あるいは間違っています ('http://' などのようになっていなければいけません). 
ホスト名がありません. 
URL パスに不正な多重エスケープがあります. 
ホスト名に不正な文字が使われています: アンダースコアは使えません. 

どなたか教えて頂けると幸いです。

23

回答

289314

閲覧

23件の回答

評価

0

それって、Tomcatのエラーメッセージですか?もし、他にもメッセージが表示されているのであれば、それも記載してください。

まったくの勘ですが、http://127.0.0.1:8080/でつながるようになるとか。あと、ファイアウォールソフトか何かがポート8080のアクセスを許可していないとか。

Tomcatは確実に起動しているんですよね?

評価

0

Tomcatは問題なく起動していると思います。

2007/01/07 14:10:28 org.apache.coyote.http11.Http11Protocol init
情報: Coyote HTTP/1.1を http-8080 で初期化します
2007/01/07 14:10:28 org.apache.catalina.startup.Catalina load
情報: Initialization processed in 1453 ms
2007/01/07 14:10:28 org.apache.catalina.core.StandardService start
情報: サービス Catalina を起動します
2007/01/07 14:10:28 org.apache.catalina.core.StandardEngine start
情報: Starting Servlet Engine: Apache Tomcat/5.5.9
2007/01/07 14:10:28 org.apache.catalina.core.StandardHost start
情報: XML検証は無効です
2007/01/07 14:10:30 org.apache.catalina.core.ApplicationContext log
情報: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
2007/01/07 14:10:30 org.apache.catalina.core.ApplicationContext log
情報: ContextListener: contextInitialized()
2007/01/07 14:10:30 org.apache.catalina.core.ApplicationContext log
情報: SessionListener: contextInitialized()
2007/01/07 14:10:31 org.apache.catalina.core.ApplicationContext log
情報: ContextListener: contextInitialized()
2007/01/07 14:10:31 org.apache.catalina.core.ApplicationContext log
情報: SessionListener: contextInitialized()
2007/01/07 14:10:32 org.apache.coyote.http11.Http11Protocol start
情報: Coyote HTTP/1.1を http-8080 で起動します
2007/01/07 14:10:32 org.apache.jk.common.ChannelSocket init
情報: JK: ajp13 listening on /0.0.0.0:8009
2007/01/07 14:10:32 org.apache.jk.server.JkMain start
情報: Jk running ID=0 time=0/94  config=null
2007/01/07 14:10:32 org.apache.catalina.storeconfig.StoreLoader load
情報: Find registry server-registry.xml at classpath resource
2007/01/07 14:10:32 org.apache.catalina.startup.Catalina start
情報: Server startup in 4688 ms
Tomcat起動時のコンソールです。


ブラウザでhttp://localhost:8080/のアドレスにアクセスするとエラーメッセージが出ます。

徹夫さんのおっしゃられた通りにhttp://127.0.0.1:8080/で
アクセスしましたが、エラーメッセージは変わりませんでした。ファイアウォールソフトを切ってみてからアクセスしましたが結果は変わらずでした。
システム環境変数の設定やxmlの設定はしています。

説明不足ですいません。

評価

0

>以下の URL を取得した際に: / 
(以下略)

こう言うメッセージをあまり見たことが無いのですが
ブラウザが表示しているんでしょうね・・ブラウザは何でしょう?
IEでも同じメッセージですか?

telnetでつないでテストしてみる方法もあります。
コマンドプロンプトで
telnet localhost 8080 として
GET / HTTP/1.0
を入力してEnterを2回押すと返事が来るはずです。

接続に失敗しましたなどのメッセージが表示されたら
Tomcatが起動していないかポートが違っています。

返事が返ってきた場合通常はHTTPステータスコードが返ってくるので
それで判断できるかもしれません。
普通はHTTP/1.1 200 OKが先頭にあるはずです。

評価

0

返信が遅くなってしまって申し訳ありません。

telnet localhost 8080で試してみました。

ホストとの接続が切断されましたと表示されました。

Tomcatが起動していると思うので、ポートの設定が出来ていないと思いますがポートの設定方法を調べましたが、この方法で大丈夫でしょうか?今まで設定したことがないので不安です。
http://www.geocities.jp/seidy_seidy/bb/port.html

評価

0

Windows Firewallが有効になっていて、8080を追加してないとか。

評価

0

>ホストとの接続が切断されましたと表示されました。

このメッセージは、一旦サーバに接続したあとに表示される物です。
なので8080ポートは生きているはずです。
接続できない場合、接続中がしばらく表示された後に、そのままエラーになります。

接続が切断されましたのメッセージが出たということは
接続後GET / HTTP/1.0を入力されたのですよね?

メッセージはこれだけしか表示されなかったのでしょうか?
HTTPサーバであれば何らかのステータスを返すはずなのですが?

評価

0

>mioさん
キングソフトのファイアウォールを切断して接続しています。8080を追加していないと思います。参考書を見たときに8080の設定まで書いていなかったので。

>tamaさん
telnet localhost 8080と打つと接続中と表示はされておらず、黒い画面になって「接続が切断されました」と出るまで文字を打つことができなくなりました。

接続が切断されましたのあとに、GET / HTTP/1.0を打って
試してみます。今は家のパソコンから離れたところに
いるので試すのは夜になります。返信が遅くなってすいません。

評価

0

オフになっているだから、ポートの追加は関係ありませんね。

再度ですが、Windows XPには最初からFirewallがありますので、そちらの設定も確認してください。これが無効になっていなければ、影響を受けます。
大抵は独自Firewall導入時に無効にされますが、されない場合もあるし、なにかのタイミングで再び有効になっているかもしれません。
例えばSpybot - Search and Destroyは、別にFirewallが稼動していても、Windows標準のものを有効にするよう促されます。

Firewallが複数有効になっていると、場合によっては誤作動することもあります。

>返信が遅くなってすいません。
質問者も回答者も自分の都合のいいときにアクセスするのだから、気にしないでいいでしょう。
忘れた頃に返信ということになると、見逃してしまうこともありえますが。

評価

0

>黒い画面になって「接続が切断されました」と出るまで文字を打つことができなくなりました。

多分telnetのエコーがOFFになっているのでしょう
黒い画面は、接続中の画面です。

キー入力しても、画面に何も表示されないかも
しれませんが、間違えずにGET / HTTP/1.0を入力後
2回Enterします。
あと、telnetの設定でエコーをONにすることも出来ます

「接続が切断されました」しか表示されないのであれば
それはHTTPサーバでは無いか、Tomcatが異常なのでしょう。

Enterを2回押す前に「接続が切断されました」が
表示される場合も、HTTPサーバではないですね。

サーバのOSがXPの場合コマンドプロンプトで
netstat -anbv
とすると、ポートをつかんでいるプロセスを
表示することが出来るので、競合などが無いか
確認できるかも知れません。

評価

0

>mioさん
OSは2000を使っています。色々と助言をありがとうございます。私の質問に答えてくれる人のためにも、早く返信をしなければと思い謝っていました。コメントありがとうございます。

>tamaさん
telnetのエコーをONにしてtelnet localhost 8080を打ってみました。するとすぐに「接続中: localhost...ホストへ接続できませんでした ポート番号 8080 : 接続に失敗しました」と表示されました。
上のメッセージが表示された後にGET / HTTP/1.0を入力
したところ'GET'は内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチファイルとして認識されていません。 と表示されました。

お二人とも返信ありがとうございます。

評価

0

ログを見直してみたんですが

>情報: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]

これはなんでしょうか?
自分で設定した覚えのあるものですか?

評価

0

>mioさん
C:\Program Files\Java\jre1.5.0_03\bin\javax.exeを起動しています。
エクリプスでTomcat起動ボタンを押した際にコンソールに
情報...英文が表示されます。
自分で設定した覚えがないです。

評価

0

あ、それはデフォルトで入っているようです。
設定変えてるので私のところでは、読み込まれてないだけです。
失礼しました。

評価

0

>接続中: localhost...ホストへ接続できませんでした ポート番号 8080 : 接続に失敗しました

あれ、メッセージが変わりましたね・・
これだと、接続に失敗しているので8080ポートは
使えません。

「接続が切断されました」のメッセージとはまったく意味が違います。
telnetのエコーをONにしただけではホストに対する挙動は変わらないので、それ以外の何かが変わっているはずです。

あとこのように「接続に失敗しました」のメッセージが表示された場合telnetはもう終了しています。
なのでその後にGET・・してもそれはtelnetではなく、コマンドプロンプトで単にコマンドを入力していることになるので意味がありません。


接続が切断されました

が表示される場合というのは、プロンプトが消えて接続状態になったあと、端末から入力できるようになります。
このときにGET・・を入力します
コマンドが受け入れられると(HTTPサーバの場合)返事が来て、その後に切断して「接続が切断されました」が表示されtelnetは終了します。
HTTPサーバで無い場合、返事が来ないで切断されるか、無反応か反応はさまざまです。
HTTPサーバの場合、コマンドを間違った場合でも、何らかのメッセージを送ってきます。


接続に失敗しました

この場合そもそもサーバに接続できていません
つまり、サーバは起動していません。

評価

0

答える側になるのは初めてなので、間違えていたら申し訳ありません。

スレ主様の現象に似た症状を私も経験したことがあります。
私の場合もlocalhost:8080に接続できない現象でした。
私の場合、Tomcatをアンインストールし、ポート番号を8080以外の数字で入れなおした事によって繋がった記憶がございます。
根本的な解決にはなっていないのですが、一応最終手段という形で記憶にとどめておくくらいにでもと思いまして書き込ませていただきました。
駄文すいません。

評価

0

Oracle9のデフォルトポートのせいでバッティングした事例は知ってるんですが、バッティングなら

「pjava.net.BindException: Address already in use: JVM_Bind:8080」

なる例外が出るんですよね。

最初に示されたエラーメッセージを検索しても、urlにアンダースコアが含まれていた場合しか引っかからないという。

ところで、netstatの結果が示されていないようですが?

評価

0

java、Tomcat相互のバージョンは問題ないのでしょうか?
TTTさんの投稿内にもありますが。

評価

0

>レスを頂いた皆様へ
telnet localhost 8080 として
GET / HTTP/1.0
を入力してEnterを2回押す やり方を間違っていました。
今日、上の文を正しく入力をしたところ
『HTTP/1.1 505 HTTP Version Not Supported
Server: Apache-Coyote/1.1
Date:
Connection: close』
このようなメッセージが表示され、『ホストとの接続が切断されました』と表示されました。

>レッドさん
ご意見ありがとうございます。

>mioさん
netstatという文字が一切、出てきませんでした。

>.netさん
相互のバージョンで問題が発生するかもと思っていませんでした。今のところ問題があるかどうかはわかりません。私の知識不足ですいません。

沢山の返信感謝致しております。

評価

0

>netstatという文字が一切、出てきませんでした。
…?
2007-01-09 20:38のtamaさんのレスを、ちゃんと読んでいますか?

評価

0

>mioさん
見落としていました、すいません。
OSは2000です。

netstat -anbvと打った際に出てきた文字です。

Displays protocol statistics and current TCP/IP network connections.
NETSTAT[-a][-e][-n][-s][-p proto][-r][interval]
-a Displays all connections and listening ports.

-e Displays Ethernet statistics.This may be combined
with the -s option

-n Displays addresses and port numbers in numerical
form.

-p proto Shows connections for the protocol specified by proto; proto may be TCP or UDP.
If used with the -s option to display per-proto
col statistics, proto may be TCP, UDP, or IP.

-r Displays the routing table.
-s Displays per-protocol statistics. By default,
statistics are shown for TCP, UDP and IP;
the -p option may be used to specify a subset
of the default.

interval Redisplays selected statistics,pausing interval seconds between each display.
Press CTRL+C to stop redisplaying statistics.
If omitted,netstat will priont the current
configuration information once.

評価

0

これは設定のミスだと思います。

tomcat5か5.5を使っているのでしょう。

tomcatは設定ファイルにserver.xmlやweb.xmlの設定にミスがない限りプロセスとしては立ち上がってしまいます。

ですが実際のサービスとして提供する段階でその挙動に不具合が生じて前述のような反応を示してしまうのです。

この原因はContextの設定のミスだと思います。

まず、5系のContextの配備の設定は新たに[CATALINEHOME/conf/Catalina/localhost/アプリケーション名.xml]というファイル名で適切に設定しなければいけません。

その上で注意点。
まず基本的にデフォルトでの設定でContextを配備する場合はこの設定ファイルを用意する必要はありません。

それとこの設定ファイルはROOT.xmlという名前は使えません。

ROOTアプリケーションはもともと、どこかは分からないがデフォルトの挙動をするようにどこかで定義されているらしいので新たに設定ファイルを用意してもxmlの検証段階で無効になってしまいます。

以上のことを踏まえてもう一度設定を見直してみてください。

おわり。

評価

0

>『HTTP/1.1 505 HTTP Version Not Supported
とりあえず、現象がはっきりしましたね。
GET / HTTP/1.0の要求がサポートされていない
ということは。
てstさんのおっしゃるように、Tomcatの設定ミスがあると思います。

あとnetstatですが、Win2000の場合、プロセスを表示するオプションが無いので。
netstat -anbvは使えないですね
失礼しました。
XPではちゃんと表示されますので何かの機会に使ってみてください。

評価

0

>てstさん、tamaさん
Tomcatの設定をもう一度見直してみたいと思います。
見直した上で書き込みをしたいと思います。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。