- - PR -
POSTリクエストでQueryString
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-09-07 23:57
こんばんは。
もしかするとすごく簡単なことなのかもしれませんが。 リクエストでGETの場合、getQueryStringで?以降のものを 順番をそのままに取得できます。 http://www.localhost.jp?name=a&name2=b getQueryString=name=a&name2=b POSTの場合はgetQueryStringにはnullがかえります。 これはポストだと?以降がないので当たり前ですが。 いろいろとドキュメントを調べては見たのですが これに対応するものが見つかりませんでした。 ご教授いただければと思います。 よろしくお願いします。 | ||||
|
投稿日時: 2003-09-08 00:01
すみません。
内容がよくわからない感じになってしましました。 知りたいことはPOSTリクエストにて 行われた場合にQueryStringと同じ内容の Stringを取得するには何か方法はないものかと 思っています。 今は並びをみてgetParameterで取得して 並べている状況です。 何かいい方法がないものかと思いまして書かせていただきました。 よろしくお願いします。 | ||||
|
投稿日時: 2003-09-08 00:03
それしか方法はないと思います。 | ||||
|
投稿日時: 2003-09-08 00:56
getを無効化したいのでしょうか? ならば、 doGet()を記述せずに doPost() に getParameter()メソッドを記述すればよいはず。 | ||||
|
投稿日時: 2003-09-08 09:09
uk様、raystar様
返信ありがとうございます。 GETリクエストを無効にしたいという意味になります。 しかし、Queryの並びはそのまま取得したいと考えて おり、その部分でPOSTの際にgetQueryStringと同じ内容を 取得できないかと思っておりました。 やはり並びを見てgetParameter()にて取得するしか 方法はないようですね。 もっとうまくできる方法がありそうな気がしたのですが。 | ||||
|
投稿日時: 2003-09-08 09:36
javax.servlet.ServletRequest#getParameterNames()を使用すれば、 リクエストに含まれる全パラメーターの名前を取得することができます。 http://java.sun.com/j2ee/sdk_1.3/ja/techdocs/api/javax/servlet/ServletRequest.html#getParameterNames() | ||||
|
投稿日時: 2003-09-18 00:01
BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
String query = br.readLine(); br.close(); というように、HttpServletRequest#getInputStream()を 使えば取得できると思います。 昔使ったコードなのでたぶん大丈夫だとは思います。 ただ、2年間ほとんどJavaにさわっておらず、久しぶりの Javaでの開発のため、たまたまこの会議室を見ていて思い 出した程度で、すっかりなまくらになっているもので、 本当に大丈夫かどうか心配ですが(汗) | ||||
|
投稿日時: 2003-09-25 01:23
ろろ様
ご返信ありがとうございます。 しばらく会議室に来ていなかったので 返信がおくれてすみません。 早速試してみます。 ありがとうございました。 | ||||
1
