Servlet-Cookie

import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;

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

public class CreateCookie extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html;charset=gb2312");
		PrintWriter out = response.getWriter();

		// 建立cookie
		// 時間-1爲回話級別的 關閉會話就刪除
		Cookie ck = new Cookie("mycookie", "123");
		ck.setMaxAge(-1);
		response.addCookie(ck);
		// out.println("建立mycookie");

		// 建立同名cookie覆蓋
		Cookie ck1 = new Cookie("mycookie", java.net.URLEncoder.encode("哈哈哈",
				"gb2312"));
		ck1.setMaxAge(3600);
		response.addCookie(ck1);
		// out.println("建立mycookie");

		// 建立同名cookie覆蓋

		// out.println("建立ck_date");

		// 這裏取到的是上一次的 由於沒有回發
		Cookie[] cks = request.getCookies();
		boolean isFirst = true;
		if (cks != null) {
			out.println(cks.length);

			for (Cookie c : cks) {

				out.println(c.getName() + ","
						+ java.net.URLDecoder.decode(c.getValue(), "gb2312")
						+ "</br>");
				// c.setMaxAge(0);
				// response.addCookie(c);
				// out.println("刪除"+c.getName());
				if (c.getName().equals("ck_date")) {
					isFirst = false;
					out.println("上次登陸:" + c.getValue());
					break;
				}
			}
		}
		if (isFirst) {
			out.println("首次登陸");
			addDateCookie(response, out);
		}
		addDateCookie(response, out);

	}

	private void addDateCookie(HttpServletResponse response, PrintWriter out) {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String nowTime = sdf.format(new Date());
		Cookie ck_date = new Cookie("ck_date", nowTime);
		ck_date.setMaxAge(3600);
		response.addCookie(ck_date);
	}
}
相關文章
相關標籤/搜索