こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

frameとgetメソッド

はじめまして。Servletについて質問させていただきます。

フレームにあるサーブレットを指定して、下記の様にgetメソッドで値を渡そうと思っています。
<frame name="text" src="ServletTest?para1=1&para2=2">

ですが、実行すると
「HTTPステータス 405 - HTTPのGETメソッドは、このURLではサポートされていません。」
というメッセージが表示されます。

http://oshiete.nikkeibp.co.jp/qa2865668.html
に書かれている方法でも値は渡せると思うのですが、getメソッドは使用できないのでしょうか?
アドバイスお願い致します。

投稿日時 - 2008-11-06 00:14:00

QNo.4456820

困ってます

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

まず参考URL(HttpServletクラスの定義)を、簡単に一読してください。
# Tomcat5のServletAPIドキュメントです。

すでにお分かりかと思いますが、参考URLの文章中
>doGet メソッド, Servlet が HTTP GET リクエストをサポートする場合
>doPost メソッド, HTTP POST リクエストをサポートする場合
とあるように、Servlet(HttpServlet)は自身が解釈可能な「HTTPのXXXXメソッド」を「JavaのdoXXXX()メソッド」としてOverride定義する必要があります。
つまり、「HTTPのGETメソッド」を利用したい場合は、作成したServletクラスに「JavaのdoGet()メソッド」を追加作成すれば良いわけです。

# POSTメソッドが作成済みの場合は、
# protected void doGet(HttpServletRequest req,HttpServletResponse resp){ doPost(req,resp); }
# を書き足すだけですね。

ちなみに、doXXXX()をOverrideしなかった場合は、HttpServletクラス中で定義されている「デフォルトのdoXXXX()メソッド」が実行されます。

# 質問中のメッセージ
#「HTTPステータス 405 - HTTPのGETメソッドは、このURLではサポートされていません。」
# は、この「デフォルトのdoXXXX()メソッド」が実行された結果です。
#

参考URL:http://mergedoc.sourceforge.jp/tomcat-servletapi-5-ja/javax/servlet/http/HttpServlet.html

投稿日時 - 2008-11-06 01:37:44

お礼

返事が遅くなり申し訳ありません。
ご回答ありがとうございました。
とても初歩的なことがわかっていませんでした...
少しずつ勉強していきます。

投稿日時 - 2009-02-01 00:30:20

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問