私はいくつかの奇妙な質問があります: POST経由でhtmlフォームを送信すると、私たちのすべてのパラメータはGET submitの場合、リクエストボディに送られます:paramsはURLのqueryStringに行きます。TwitterのHTTP要求解析ロジックを書き直す
しかし、bodyのparamsとURLのqueryStringを使ってPOSTを送信するなど、私たちは停止できません。ここに問題があります。Tomcatの解析リクエストとorg.apache.coyote.Requestオブジェクトの作成 - queryStringとbodyのすべてのパラメータがParameterMapに移動し、パラメータがどこから来たのか検出できません。私はそれからqueryStringとparse paramsを得ることができますが、私は体内のこのparamであるかどうかを検出できません。
例:
1)
<form method="POST" action="someUrl/?a=1&a=2">
<input type="hidden" name="a" value="1"/>
<input type="hidden" name="a" value="2"/>
...
</form>
パラメータマップは、それらから来る任意の情報なしに二つの値1,2を有するであろう。それらは体内で、またはなかった
2)
<form method="POST" action="someUrl/?a=1&a=2">
...
</form>
パラメータマップは、任意の情報なしに二つの値1,2を有するであろう。
tomcatのリクエスト解析ロジック、折り返しリクエストなどを書き換える必要がありますか?もし必要なら - マニュアルが必要だと思う。任意のアイデア、推測。ありがとうございました。
あなたがやっていることは、有効なHTTPではありません。標準的なソフトウェアが非標準的なプラクティスをサポートすると期待するのは妥当ではありません。 – EJP
私はこれを知っていませんが、この要件を満たしており、回避策が必要です。だから私は尋ねている - 私はどのように風袋をカスタマイズすることができますか?出来ますか? –
要件を変更する必要があります。 URLには要求パラメータと要求本体との間にHTTPの区別はありません。 – EJP