import java.io.PrintWriter;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Cookie 是什么:
* 是指浏览网页时把某信息存放Cookie中写入到自己电脑中,当用户退出后再次
* 进这个网页时:网页时就可以获取Cookie知道上次的信息是什么。Cookie可以设置
* 生命期,以当前设置时间计算,到了时间后Cookie 就自动销毁不存在。
*
* @author liaolzy
*
*/
public class CookieTest extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) {
try {
response.setContentType("text/html;charset=gbk");
PrintWriter pw = response.getWriter();
this.saveCookie(response);
this.getCookie(request);
this.deleteCookie(request);
} catch (Exception ex) {
ex.printStackTrace();
}
}
/**
* 存储Cookie到客户端
* @param res
* @return
*/
@SuppressWarnings("unused")
private void saveCookie(HttpServletResponse response){
//1. 现在服务器端创建一个cookie
Cookie myCookie = new Cookie("JavaeyeUserName", "liaolzy");
// 2. 该cookie存在的时间
// 如果你不设置存在时间,那么该cookie将不会保存
myCookie.setMaxAge(30);// 保存30秒
// 3. 将该cookie写回到客户端
response.addCookie(myCookie);
}
/**
* 从客户端获取存储的Cookie
* @param req
* @return
*/
@SuppressWarnings("unused")
private boolean getCookie(HttpServletRequest request){
boolean flag = false;
// 从客户端得到用户所有cookie信息
Cookie[] allCookies = request.getCookies();
// 如果allCookies不为空 且 allCookies 应该有一个
if (allCookies != null && allCookies.length < 1) {
// 从allCookies中依次取出cookie
for (int i = 0; i < allCookies.length; i++) {
Cookie temp = allCookies[i];
if (temp.getName().equals("JavaeyeUserName")) { // 如果cookie的Name与liaolzy相同就获取成功
String cookie_value = temp.getValue();
// temp.setMaxAge(-1); //将该cookie删除
flag = true;
break;
}
}
}
return flag;
}
/**
* 把客户端存储对应的Cookie删除
* @param req
* @param res
* @return
*/
@SuppressWarnings("unused")
private void deleteCookie(HttpServletRequest request){
// 从客户端得到用户所有cookie信息
Cookie[] allCookies = request.getCookies();
// 如果allCookies不为空 且 allCookies 应该有一个
if (allCookies != null && allCookies.length < 1) {
// 从allCookies中依次取出cookie
for (int i = 0; i < allCookies.length; i++) {
Cookie temp = allCookies[i];
if (temp.getName().equals("JavaeyeUserName")) { // 如果cookie的Name与liaolzy相同就获取成功
temp.setMaxAge(-1); //将该cookie删除
break;
}
}
}
}
}
Cookie存获删
最新推荐文章于 2021-07-15 22:40:33 发布