2017-01-01 26 views
1

request.getParameter("name")POST変数にアクセスしようとしていますが、問題は完全に機能します。しかし、いくつかの状況では、POSTリクエストが私のアプリケーションに届くと、クエリ文字列からGETパラメータを取得する必要があります。サーブレットはdoPostメソッドでGETとPOSTのパラメータを取得します

私の知る限り見ることができるように、私が言ったようにgetParameterで、あなただけの、私の条件のように、現在のリクエストのパラメータにアクセスすることができますが、私はまた、doPostメソッド内GETパラメータを取得する必要があります。

フェッチする方法はありますかGETクエリ文字列を解析せずにパラメータを使用しますか?

+0

実際にはそのようなものだ: 'POSTのA/B Q = 1 postParam = postVal ' –

+1

POSTとGETミキシングだけErolKESKİ[email protected]本当に悪い考え – fabfas

+0

は私の答えを読むのですか? plzとそれは意味がある場合私に教えてください? –

答えて

1

getParameter()メソッドは、可能であれば、GETPOSTの間で透過的に動作するため、GETパラメータとPOSTパラメータの両方を返すことができます。 GETパラメータを取得するために明示的な作業を行う必要はありません。クエリパラメータとPOSTパラメータの両方にgetParameterを使用できます。

あなたはそれを行う必要がありますか? - 特に送信する機密情報がある場合は、設計上の習慣が貧弱であると考えられます。

は、この答えを見てみましょう:

+0

しかし、どうすればいいですか?私はそれが要求を設計するための最良のアイデアではないが、私はそれを行う必要があります知っている。私が見る限り、私はGETパラメータのためにクエリ文字列を解析し、 'getParameter'を使ってPOST/PUT/DELETEパラメータを取得するべきでしょうか? –

+0

いいえ、GETパラメータを取得するために明示的な作業を行う必要はありません。クエリパラメータとPOSTパラメータの両方に 'getParameter'を使うことができます。 – GurV

+0

答えをありがとう。 –

1

私はあなたがここに混乱を持っていると思います。リクエストのタイプに応じて、同じgetParameter(..)を使用して、すべてのリクエストパラメータ(GETまたはPOSTまたは他のものの両方)をretieveできます。 GETリクエストの場合は、すべてのGETパラメータを取得できます。 POSTリクエストの場合は、すべてのPOSTパラメータを取得できます。 getParameter(...)を使用してパラメータを取得します。そしてあなたは一度に一つのリクエストをします。 HTMLまたはJSPファイルでPOST要求を行う場合は、doPostメソッドを使用してすべてのパラメーターを受け取ります。この時点では、GETリクエストには何もありません。その後、GETリクエストを行い、doGetメソッドのすべてのパラメータを取得します。この瞬間、POSTには何もありません。 HTTP要求はステートレスであることを忘れないでください。

+0

答えをありがとう。 –

2

クエリ文字列と投稿フォームデータに同じ名前のパラメータがある場合は、getParameterValues()を使用してください。

例: -

String fromQuery = request.getParameterValues("name")[0]; 
String fromForm = request.getParameterValues("name")[1]; 
+0

答えをありがとう。 –

関連する問題