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;
}
}
}
}
}
转载于:https://my.oschina.net/u/230843/blog/287517