Servlet中的doGet方法:
1 protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { 2 request.setCharacterEncoding("utf-8"); 3 response.setContentType("text/html;charset=utf-8"); 4 5 // 創建一個Cookie對象,使用Cookie名稱和值做參數 6 Cookie cookie1 = new Cookie("username", request.getParameter("username")); 7 // 設置cookie1的生命周期為24小時 8 cookie1.setMaxAge(24*60*60); 9 // 將Cookie發送至HTTP響應頭中 10 response.addCookie(cookie1); 11 Cookie cookie2 = new Cookie("userpwd", request.getParameter("userpwd")); 12 // 設置cookie2的生命周期為24小時 13 cookie2.setMaxAge(24*60*60); 14 // 每個新建的cookie都需要添加到HTTP響應頭中 15 response.addCookie(cookie2); 16 17 PrintWriter out = response.getWriter(); 18 out.print("存取Cookie成功"); 19 }
使用Servlet中的request對象讀取客戶端的所有Cookie數組,輸出其中的Cookie的Name和Value:
PrintWriter out = response.getWriter(); // 返回客戶端所有的Cookie的數組 Cookie[] cookies = request.getCookies(); if (cookies == null) { System.out.println("No Cookies"); } else { for (Cookie c : cookies) { out.print(c.getName() + ": " + c.getValue()); out.println(); } }