java.lang.IllegalArgumentExceptionが:クッキーの値や属性で制御文字。
クッキーの値またはプロパティの制御文字で例外の説明が、私は値と特殊文字を設定します。
最初にBASE64を有する第1の文字列を符号化された前に、中国の符号化問題を疑われるCookie cookie =
new
Cookie(
"name"
, URLEncoder.encode(str,
"UTF-8"
));
元の文字列のUTF-8エンコーディングであることが、結果は、例外のようになります。
元の文字列ではなく、結果をしようとする、または障害の、ない文字列が符号化問題と思われ、中国語、英語を削除します。
次のようにインターネットから関連情報を検索
クッキーの長さの制限は:
各ドメインのクッキーの最大数(1)ブラウザは、このような状況についての情報を見つけるために、インターネットから、可能
IE:元は20であり、後の50にアップグレード
Firefoxの:50番目の
オペラ:30ヶ月
クローム:180ヶ月
サファリ:無制限
クッキーは、ブラウザの制限動作を超えた場合:IEとOperaは使用頻度の低い、Firefoxの動作がクッキーの特定の値のうち、ランダムに蹴られを取り除く古いクッキーにLRUアルゴリズムを使用します。もちろん、どんなに戦略の種類、または可能にクッキーブラウザの数を超えないようにしてみてください。
(2)ブラウザは、各クッキーの最大長許容
のFirefox、サファリ:4079バイト
オペラ:4096バイト
IE:4095のバイト
当社は、4095バイトにクッキーの最大長、最大長IE Cookieサポートまでであるが、これは不明で計算する方法、クッキーオブジェクトの全体の長さのサイズである必要があり、ここで心配しています。
私はここにIE9のテスト結果だ、最大の長さの値は、コーディングがこれより小さくなる前に、これは、base65エンコード後の文字列の元の長さで、76文字です。
また、固定値である必要があり、まだ変更されていないサポートの最大の長さの値を見つけ、クッキー名の長さを短くしてみてください。
あなたはより多くのデータを保存するか、または複数のクッキーを使用するか、または、そのようなデータベースIDなどの重要な情報を保存するために、アウト次回、その後、データベースを照会したり、ファイルを読みたい場合。
ソリューション上記のシステムが正常に動作しているものの、クッキーにも保存され、パスワードを覚えているし、正常にログオンすることができ、試されます。しかし、舞台裏やクッキーの値や属性に誤り制御文字
しかし、それはテストサーバー環境とローカルの開発環境は同じではありませんが、テストサーバーのTomcat 7.0バージョン、ローカルのTomcat 6.0の開発環境ながら、環境は皆の開発環境を思い出させるために、異例のすべての方法一様ではありません、テスト、公式を発見しました環境ソフトウェアのバージョンが統一されなければなりません!!!