1.Cookie是保存在客户端的一个“键-值”对,用来标识用户的一些信息
2.Cookie的应用
-在电子商务回话中标识用户
对站点进行定制
定向广告
3调用Cookie的构造函数,给出cookie的名称和cookie的值,二者都是字符串
4.如果要告诉浏览器将cookie存储在磁盘上,而非仅仅保存在内存中,使用setMaxAge(参数为秒数)
c.setMaxAge(60*60*24*7);//One week
5.将Cookie放入到HTTPxiangying
response.addCookie(c);
6.调用request.getCookies 获得这会得到Cookie对象组成的数组,在这个数组中循环,调用每个对象的getName,直到找到想要的cookie为止。
7.实例,创建cookie
package com.geek99.demo;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class CookieServlet
*/
public class CookieServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public CookieServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
Cookie c1 = new Cookie("hp","hp123");
c1.setMaxAge(60);
response.addCookie(c1);
Cookie c2 = new Cookie("wdq","wdq123");
c2.setMaxAge(60);
response.addCookie(c2);
Cookie [] cs=request.getCookies();
for(Cookie c:cs)
{
System.out.println(c.getName()+":"+c.getValue());
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
实例:使用Cookie检查初访者
createServlet.java
package com.geek99.demo;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class createServlet
*/
public class createServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public createServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
Cookie cs=new Cookie("hp","123456");
cs.setMaxAge(60*2);
response.addCookie(cs);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
testUserServlet.java
package com.geek99.demo;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class CookieServlet
*/
public class CookieServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public CookieServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
Boolean flag=true;
Cookie [] cs =request.getCookies();
if(cs!=null)
{
for(int i=0;i<cs.length;i++)
{
Cookie c =cs[i];
if(c.getName().equals("admin")&&c.getValue().equals("123456"))
{
flag=false;
break;
}
}
if(flag)
{
Cookie adcs = new Cookie("admin","123456");
adcs.setMaxAge(60*2);
response.addCookie(adcs);
System.out.println("Welcome first");
}
else
{
System.out.println("Welcome back");
}
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}