- PR -

POSTでのクエリ文字列の取得方法

1
投稿者投稿内容
sho
会議室デビュー日: 2008/05/19
投稿数: 2
投稿日時: 2008-05-19 15:03
POSTでクエリ文字列を扱いたいのですが、どのように処理すればいいのかわかりません。

http://.../Servlet?name=aaa&age=20
上記のようなURLにアクセスした際、サーブレットの変数に代入したいのですがうまくいきません・・・
formタグを使ったテストは行ったので、POST送信が出来ていないわけでは無いはずです。

検索をしてみましたが、欲しい情報が見つからなかったので、参考になりそうなページや、些細なことでも結構ですので、どなたかご存知の方ご教示ください。
未記入
会議室デビュー日: 2007/03/28
投稿数: 19
投稿日時: 2008-05-19 15:49
Servletのjavadoc見れば良いんじゃないの?
まずは使用するクラスのことを知るべきでは??

unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2008-05-19 16:24
引用:

shoさんの書き込み (2008-05-19 15:03) より:
POSTでクエリ文字列を扱いたいのですが、どのように処理すればいいのかわかりません。

http://.../Servlet?name=aaa&age=20
上記のようなURLにアクセスした際、サーブレットの変数に代入したいのですがうまくいきません・・・


GET に相当する部分で name と age の送信をおこない、それと同時に POST で別の属性(address や occupation など)も一緒に送信したいということですよね?

直接の回答ではありませんが、私はやらないほうが良いと思います。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=42033&forum=7
などでは HTML の規格上は問題ないそうです。

ただ、私が懸念する点としては、種々のツールは、GET や POST (や Cookie)の取得方法を兼用していたりすることもあり、たとえば明示的に GET と POST の指定をしなかったりして、かつ、GET と POST に同じ属性名を使うと、区別できなくなったりするなども考えられます。(実際になにかのツールでそうなるという確信は持っていませんが、危なそうだなあ、と感じるだけです。)
たとえて言えば、よく話題になるものとしては、データーベースのテーブル名やカラム名に日本語を使うぐらいの危なさはあると思っています。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2008-05-19 17:04
Servlet上ではHttpServletRequest#getAttribute()で取れます。
HttpServletRequest#getQueryString()を使えば、生のクエリ文字列を取れます。
私も苦肉の策で使ったことはありますが、正直お勧めはできないなぁ。
sho
会議室デビュー日: 2008/05/19
投稿数: 2
投稿日時: 2008-05-19 18:00
皆様、ご親切なお返事ありがとうございます。

仰っておられる内容を検討しました結果、断念致しました。
引き続き調査していたのですが、あまり良い情報もありませんでしたし、お返事下さった内容からも適切ではないと判断しました。

アドバイスありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)