今天来讲讲Cookie。
Cookie技术是某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据。
举个例子,当你访问一些购物网站的时候,都会有一个你访问商品的历史记录。虽然这些历史记录可以保存在数据库中,但是有那么多人访问这个购物网站,如果将所有用户的历史记录全部保存起来,不仅数据量会很大,而且操作起来麻烦。于是我们就可以使用Cookie技术。
下面写一个简单的实例:
package com.test.demo;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
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;
import com.test.demo.dao.impl.ProductDAOImpl;
import com.test.demo.User;
public class ServletA extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html;charset=utf-8");
SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String stime = s.format(new Date());
//创建Cookie对象
Cookie cookie = new Cookie("time", stime);
//添加Cookie到浏览器中
response.addCookie(cookie);
//得到Cookie
Cookie[] cs = request.getCookies();
boolean flag = false;
PrintWriter pw = response.getWriter();
if (cs != null) {
for (Cookie c : cs) {
if (c.getName().equals("time")) {
pw.write("您上次的登录时间为:"+c.getValue());
c.setValue(stime);
response.addCookie(c);
flag = true;
}
}
}
if (!flag) {
pw.write("您首次登录时间为:"+stime);
response.addCookie(cookie);
}
}
}
这个代码是用来显示用户上一次访问页面的时间。首先先得到系统的当前时间,然后创建一个Cookie对象,并将当前时间的字符串存到这个Cookie对象中。再把这个Cookie对象保存在浏览器里,然后从浏览器中读取这个Cookie对象,再根据你的需要,对得到的对象进行操作即可。