Cookie例子

马士兵老师的~~

cookie是服务器将信息保存在客户端的一个表示方式 名-值  

               服务器只能写入文档文件

              每个浏览器都有唯一的标识号 且每个浏览器只允许访问与自身相关的cookie的内容

cookie分为两种,一种为浏览器型,不设置生命周期或者设为-1时,cookie的存在与浏览器该页面是否存在相关,另一种为永久型,即设置了生命周期

定义一个cookie   setcookie  应利用response来设置  而获取cookie  应该使用 request来获取

             页面对cookie的访问与页面间的“继承”关系有关。。。

代码

SetCookies.java、

import java.io.IOException;
import java.io.PrintWriter;

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 SetCookies extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		for(int i=0;i<3;i++)
		{
			Cookie cookie=new Cookie("Session-Cookie-"+i,"Cookie-Value-S"+i);
			response.addCookie(cookie);
			cookie=new Cookie("Persistent-Cookie-"+i,"Cookie-Value-P"+i);
			cookie.setMaxAge(3600);
			response.addCookie(cookie);
		}
		response.setContentType("text/html;charset=gb2312");
		PrintWriter pw=response.getWriter();
		pw.println("<html><head><title>设置Cookies</title></head><body bgcolor='#FDF5E6'>");
		pw.println("<p>There are six Cookies associated with this page.To see them," +
				"   visit the <a href='ShowCookies'>ShowCookies servlet</a></p>");
		pw.println("<p>Three of the cookies are associated only with the current session,while three are persistent." +
				"      Quit the browser,restart,ans return to the ShowCookies servlet to verify that the three long-lived ones persist across sessions;</p>");
		pw.println("</body></html>");
		
	}

	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
	  doGet(request,response);
	}

}


ShowCookies.java

import java.io.IOException;
import java.io.PrintWriter;

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 ShowCookies extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		Cookie []cookies=request.getCookies();
		response.setContentType("text/html;charset=gb2312");
		PrintWriter pw=response.getWriter();
		pw.println("<html><head><title>获取客户端Cookies</title></head><body bgcolor='#FDF5E6'>");
		pw.println("<h1 align='center'>Active Cookies</h1><br/>");
		pw.println("<table align='center' border=1 ><tr><td>Cookie Name</td><td>Cookie Value</td></tr>");
		for(Cookie cookie:cookies)
		{
			pw.println("<tr><td>"+cookie.getName()+"</td><td>"+cookie.getValue()+"</td></tr>");
		}
		pw.println("</table></body></html>");

	}

	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request,response);
	}

}


web.xml配置

 <servlet>
     <servlet-name>SetCookies</servlet-name>
     <servlet-class>SetCookies</servlet-class>
  </servlet>
  <servlet-mapping>
     <servlet-name>SetCookies</servlet-name>
     <url-pattern>/servlet/SetCookies</url-pattern>
  </servlet-mapping>
  
   <servlet>
     <servlet-name>ShowCookies</servlet-name>
     <servlet-class>ShowCookies</servlet-class>
  </servlet>
  <servlet-mapping>
     <servlet-name>ShowCookies</servlet-name>
     <url-pattern>/servlet/ShowCookies</url-pattern>
  </servlet-mapping>

页面


原文地址:https://www.cnblogs.com/riasky/p/3471507.html