`
meiyoudao
  • 浏览: 87760 次
  • 性别: Icon_minigender_1
  • 来自: 冲脉
社区版块
存档分类
最新评论

Servlet对Cookie的使用

阅读更多
1.服务器端可以向客户端写的内容就是Cookie
2.只能写入文本内容
3.客户端可以在IE中设置隐私禁止写入Cookie
4.只能通过web端写入
5.Cookie分为两种
  属于窗口/子窗口(放在内存中)
  属于文本(有生命周期)
6.一个servlet/jsp设置的cookies能够被同一个URL路径下面或者子URL路径下面的servlet/jsp读取
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<servlet>
		<servlet-name>setCookies</servlet-name>
		<servlet-class>com.meiyoudao.SetCookies</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>setCookies</servlet-name>
		<url-pattern>/setCookies</url-pattern>
	</servlet-mapping>
	<servlet>
		<servlet-name>showCookies</servlet-name>
		<servlet-class>com.meiyoudao.ShowCookies</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>showCookies</servlet-name>
		<url-pattern>/showCookies</url-pattern>
	</servlet-mapping>
</web-app>

package com.meiyoudao;

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 {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
		int i = 2;
		while(i > 0){
			//该cookie只存在内存中.
			Cookie cookie = new Cookie("Key-"+i,"Value-"+i);
			arg1.addCookie(cookie);
			
			//该cookie设置了360秒后消失.即,新打开的窗口也可以获取cookie.
			cookie = new Cookie("Time-Key-"+i,"Time-Value-"+i);
			cookie.setMaxAge(360);
			arg1.addCookie(cookie);
			
			i--;
		}
		arg1.setContentType("text/html;charset=gb2312");
		PrintWriter out = arg1.getWriter();
		
		out.println("<html><head><title>设置Cookie</title></head>"
				+ "<BODY>\n" 
				+ "<H1 ALIGN=\"CENTER\">"
				+ "设置Cookie" + "</H1>\n"
				+ "6个Cookie\n"
				+ "<A HREF=\"showCookies\">\n"
				+ "查看</A>.\n"
				+ "</BODY></HTML>");
		
		out.flush();
		out.close();
		
	}

}

package com.meiyoudao;

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 {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
		arg1.setContentType("text/html;charset=gb2312");
	    PrintWriter out = arg1.getWriter();
	    String title = "显示 Cookies";
	    out.println("<html><head><title>获取客户端Cookie</title></head>" +
	                "<BODY BGCOLOR=\"#FDF5E6\">\n" +
	                "<H1 ALIGN=\"CENTER\">" + title + "</H1>\n" +
	                "<TABLE BORDER=1 ALIGN=\"CENTER\">\n" +
	                "<TR BGCOLOR=\"#FFAD00\">\n" +
	                "  <TH>Cookie Name\n" +
	                "  <TH>Cookie Value");
	    Cookie[] cookies = arg0.getCookies();
	    if (cookies != null) {
	      Cookie cookie;
	      for(int i=0; i<cookies.length; i++) {
	        cookie = cookies[i];
	        out.println("<TR>\n" +
	                    "  <TD>" + cookie.getName() + "</TD>\n" +
	                    "  <TD>" + cookie.getValue() + "</TD></TR>\n" );
	      }
	    }
	    out.println("</TABLE></BODY></HTML>");
	    out.flush();
	    out.close();
	  }
	
	

}
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics