1
eclipseを使ってサーブレットで簡単なクッキープログラムを作成しようとしています。なぜ、Cookieの名前と値がそれぞれ 'http'と 'proxy'であるのですか?
これは、それがどのようにある: -
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html");
PrintWriter out = response.getWriter();
Cookie[] cookies = request.getCookies();
if(cookies == null)
{
out.print("<b> Hello Stranger </b><br>");
}
else
{
for(Cookie cookie:cookies)
{
out.print("<b> Hello" + cookie.getValue() + "</b>");
}
}
out.print("<form action = '' method = 'post'>");
out.print("What is your name?");
out.print("<input type = 'text' name = 'username'><br>");
out.print("<br>");
out.print("<input type = 'submit'>");
out.print("</form>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
PrintWriter out = response.getWriter();
response.setContentType("text/html");
String str = request.getParameter("username");
Cookie[] cookies = request.getCookies();
if (cookies == null)
{
Cookie c = new Cookie("username",str);
c.setMaxAge(-1);
response.addCookie(c);
}
for(Cookie cookie: cookies)
{
out.print("<b> Hello," + cookie.getName() + "</b>");
}
}
私も提出をクリックした後にこんにちはHTTP を取得していますストレンジャーこんにちはとして日食 を使用しての代わりに、出力を取得Tomcatサーバーでそれを実行している場合 名前の代わりに同じものが表示されています。
しかし、今はうまくいくようです!クッキーが一つのことになっているわけではありません。つまり、レスポンスオブジェクトにクッキーを追加した後、レスポンス(クッキーを含む)がクライアントに送信され、そこに格納されます。クライアント側からのそれぞれのさらなる要求は、その特定のウェブページに設定されたすべてのクッキーを含むべきである。 つまり、更新ページを表示すると、doGetメソッドが呼び出されましたが、Cookieは既に存在しています。 –
Yup - クライアントからの同じサーブレットへの後続の要求には、以前の応答で設定されたCookieが含まれます。 –