[PR]
2025年08月17日 08時26分20秒
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
request.getParameterNames()でIllegalArgumentException
2015年10月08日 21時52分09秒
JAVA:1.8.0
アプリケーションサーバ:Wildfly 8.1.0
リクエストが届いたら、ログにパラメータを出力するようにしています。
いちいちパラメータ名をハードコーディングしてgetParameterするわけにもいかないので、
getParameterNamesを使って、要素分getParameterしてログに出力しています。
しかし、あるリクエストが来た際、getParameterNamesでエラーが発生!!
エラーの詳細は
java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string:
原因を調べてみると、
パラメータ名にURLデコード出来ない文字、例えば%ssという文字が含まれた状態でリクエストが飛んできているのが原因でした。
getParameterNamesを実行すると、内部でURLDecoderのdecodeメソッドを実行している為、
decodeメソッドで、そんなのデコード出来ない!!と怒っているようです。
まぁこの問題自体は別にどうでもいいんですが、
問題は、URLデコード出来ない文字がパラメータに含まれていると、getParameterNamesまたはgetParameterが出来ず、
パラメータがログに出力出来ないってとこでした。
エラーメッセージには、不正な値が見つかった場所から2バイトしか出力してくれない為、
パラメータにはどんな値がセットされていたのか全く分かりません。
URLデコード出来ない文字が含まれていてもパラメータを確認する方法がないか調べたところ、
request.getInputStream()またはrequest.getReader()を使えば、
URLデコードしないのでエラーが発生することなくパラメータを確認することが出来ることが判明。
が、ここで新たな問題が。
getInputStream()、getReader()、getParameter()はそれぞれ排他関係にあるらしく
同一のリクエストではどれか1つしか使えないようになっている!!
どういう事かというと、getInputStream()を1度でも実行すると、同一のrequestでgetParameter()は使用出来なくなります!!
逆に、getParameter()を実行するとgetInputStream()は使用出来なくなります。
し、知らなかった(^^;
getInputStreamで生のデータをログ出力し、
生のデータを自前でparseしてFormにセットする等すればいいんでしょうが、
既にgetParameterを使用し、Formに値がセットされている状態なので、
getInputStreamを使うことも出来ず。
リフレクションを使ってフラグを変えて、getInputStream後でもgetParameterが使えないか、
強引な方法も試してみましたが、結局出来ず。諦めました。(T-T)
アプリケーションサーバ:Wildfly 8.1.0
リクエストが届いたら、ログにパラメータを出力するようにしています。
いちいちパラメータ名をハードコーディングしてgetParameterするわけにもいかないので、
getParameterNamesを使って、要素分getParameterしてログに出力しています。
しかし、あるリクエストが来た際、getParameterNamesでエラーが発生!!
エラーの詳細は
java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string:
原因を調べてみると、
パラメータ名にURLデコード出来ない文字、例えば%ssという文字が含まれた状態でリクエストが飛んできているのが原因でした。
getParameterNamesを実行すると、内部でURLDecoderのdecodeメソッドを実行している為、
decodeメソッドで、そんなのデコード出来ない!!と怒っているようです。
まぁこの問題自体は別にどうでもいいんですが、
問題は、URLデコード出来ない文字がパラメータに含まれていると、getParameterNamesまたはgetParameterが出来ず、
パラメータがログに出力出来ないってとこでした。
エラーメッセージには、不正な値が見つかった場所から2バイトしか出力してくれない為、
パラメータにはどんな値がセットされていたのか全く分かりません。
URLデコード出来ない文字が含まれていてもパラメータを確認する方法がないか調べたところ、
request.getInputStream()またはrequest.getReader()を使えば、
URLデコードしないのでエラーが発生することなくパラメータを確認することが出来ることが判明。
が、ここで新たな問題が。
getInputStream()、getReader()、getParameter()はそれぞれ排他関係にあるらしく
同一のリクエストではどれか1つしか使えないようになっている!!
どういう事かというと、getInputStream()を1度でも実行すると、同一のrequestでgetParameter()は使用出来なくなります!!
逆に、getParameter()を実行するとgetInputStream()は使用出来なくなります。
し、知らなかった(^^;
getInputStreamで生のデータをログ出力し、
生のデータを自前でparseしてFormにセットする等すればいいんでしょうが、
既にgetParameterを使用し、Formに値がセットされている状態なので、
getInputStreamを使うことも出来ず。
リフレクションを使ってフラグを変えて、getInputStream後でもgetParameterが使えないか、
強引な方法も試してみましたが、結局出来ず。諦めました。(T-T)
PR
くろアゲハ
2015年10月08日 21時50分21秒
加瀬あつしさんによる、1990年から週刊少年マガジンにて連載されていた人気ヤンキー漫画『カメレオン』の続編。
カメレオンから7年後が舞台となっています。
主人公は星野英太(16歳)。
カメレオンとは一切関係ない人物が主人公ですが、
カメレオンのメインキャラである、相沢直樹、椎名雄二、等々のOZメンバーに加え、
松戸苦愛の松岡英治も登場します。
残念ながら、くろアゲハ5巻の時点では矢沢栄作は登場していません。
内容としては、
ダジャレ有り、下ネタ有り、ケンカ有りで、カメレオンの作風と変わっていません。
※これはカメレオンとか以前に、加瀬あつし作品の特徴か。。。
メインキャラがエイラ(星野英太が女装)、山本都姫で女性キャラが多いせいか、
カメレオンよりもケンカのシーンは少なくなっている気がします。
絵はカメレオンの時よりも圧倒的に上手くなっています。
登場する女の子の絵が可愛いです。
まずは下記サイトより試し読みでもどうぞ。
くろアゲハ
カメレオンから7年後が舞台となっています。
主人公は星野英太(16歳)。
カメレオンとは一切関係ない人物が主人公ですが、
カメレオンのメインキャラである、相沢直樹、椎名雄二、等々のOZメンバーに加え、
松戸苦愛の松岡英治も登場します。
残念ながら、くろアゲハ5巻の時点では矢沢栄作は登場していません。
内容としては、
ダジャレ有り、下ネタ有り、ケンカ有りで、カメレオンの作風と変わっていません。
※これはカメレオンとか以前に、加瀬あつし作品の特徴か。。。
メインキャラがエイラ(星野英太が女装)、山本都姫で女性キャラが多いせいか、
カメレオンよりもケンカのシーンは少なくなっている気がします。
絵はカメレオンの時よりも圧倒的に上手くなっています。
登場する女の子の絵が可愛いです。
まずは下記サイトより試し読みでもどうぞ。
くろアゲハ
ベルベット・キス
2015年10月08日 21時46分58秒
作者:ハルミチヒロ
8000万円の借金を抱えた主人公・新田信。
借金を「凍結」(チャラではない)する条件として、菊池屋花乃子と友達になる契約を結ばされます。
鼻から?な設定ですが、ぶっちゃげ、内容はどうでもいいです。
とにかく登場する女の子の絵が非常に上手いです。
そして、その絵でエッチなシーンを描いてくれています!!
これだけで十分です。
試し読みではエッチシーンまでは見れないですが、
可愛い女の子のエロ作品をお求めの方はぜひお試しあれ。
ベルベット・キス
8000万円の借金を抱えた主人公・新田信。
借金を「凍結」(チャラではない)する条件として、菊池屋花乃子と友達になる契約を結ばされます。
鼻から?な設定ですが、ぶっちゃげ、内容はどうでもいいです。
とにかく登場する女の子の絵が非常に上手いです。
そして、その絵でエッチなシーンを描いてくれています!!
これだけで十分です。
試し読みではエッチシーンまでは見れないですが、
可愛い女の子のエロ作品をお求めの方はぜひお試しあれ。
ベルベット・キス
ぱちスロAKB48 バラの儀式
2015年09月29日 20時40分54秒
ぱちスロAKB48の第二段。バラの儀式がいよいよデビューのようです。
最速で11月16日から導入開始との噂です。
プロモーションムービー
スペックなどの情報は下記のサイトで詳しく紹介されています。
http://slotkaiseki.jp/post-8220/
最速で11月16日から導入開始との噂です。
プロモーションムービー
スペックなどの情報は下記のサイトで詳しく紹介されています。
http://slotkaiseki.jp/post-8220/