1. 程式人生 > >在Servlet中使用Cookie

在Servlet中使用Cookie

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.catalina.util.URLEncoder;

public class CookieToBrowserServlet extends HttpServlet {

	private static final long serialVersionUID = 1L;
	
	@Override
	public void doGet(HttpServletRequest request, 
			HttpServletResponse response) {
		Cookie cookie1 = new Cookie("name1", "value1");
		cookie1.setMaxAge(1000);
		
		Cookie cookie2 = new Cookie("name2", new URLEncoder().encode("你好", "UTF-8"));
		cookie2.setMaxAge(1000);

		response.addCookie(cookie1);
		response.addCookie(cookie2);
	}

}

////////////////////////

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class CookieFromBrowserServlet extends HttpServlet {

	private static final long serialVersionUID = 1L;
	
	@Override
	public void doGet(HttpServletRequest request, 
			HttpServletResponse response) {
		Cookie[] cookies = request.getCookies();
		for (Cookie cookie : cookies) {
			System.out.println(cookie.getName() + ":" + cookie.getValue());
		}
	}

}

注意,瀏覽器對Cookie的支援都是有限的。首先一個域名只能支援幾十個鍵值對。儲存空間也有限制,一般是幾千個位元組。