この記事では、Java で Servlet Cookie が値を取得できない理由の解決策に関する関連情報を主に紹介します。必要な方は、
Java の Servlet Cookie が値を取得できない理由の解決策を参照してください。値
現象: Cookie を使用した HTTP リクエストをテストすると、サーバーは request.getHead
er("cookie") を使用して値を取得できるが、request.getCookies() を使用して値を取得できないことがわかりました。Cookie mycookies[] = request.getCookies();常に uid の値より小さい値を取得します (ポート 80 を除く)
原因:
ブラウザの特定の Cookie 値を確認したところ、
http://localhost:8080/
アクセスすると、Cookie の値が localhost の下に配置され、サーバーによって自動的に生成された SESSIONID も localhost パスの下に保存されます。
http://127.0.0.1:8080/
そのため、サーバーが Cookie を送信するとき、
String host=request.getHeader("host");を
if(host.indexOf(":")>-1){ host=host.split(":")[0]; }に変更するか、設定を放棄する必要があります
mycookie.setDomain(host);この方法では、Cookie の値も 127.0.0.1 で保存され、ポート番号とは関係ありません
もちろん、それはサーバーです。すでにドメイン名を持っている場合は、ポート番号で Cookie 値を取得できないという問題はありません。
解決策:
String cookie=request.getHeader("cookie"); Cookie mycookies[] = request.getCookies();それを取得するには、前の行を追加します。
以上がJavaでServlet Cookieが値を取得できない問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。