一、servlet功能代碼:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String value=request.getParameter("oper");
if("add".equals(value)){
//創建Cookie對象
Cookie cookieName=new Cookie("ckname", "zsf");
Cookie cookiePass=new Cookie("ckpass", "zsf");
cookiePass.setPath("/web06/servlet/");//設置有效路徑
//注意:項目名稱/路徑
//響應
response.addCookie(cookieName);
response.addCookie(cookiePass);
request.getRequestDispatcher("./index.jsp").forward(request, response);
}else if("delete".equals(value)){
//刪除Cookie原理
Cookie cookiePass=new Cookie("ckpass", null);
//刪除時要與創建的Cookie的有效路徑一致
cookiePass.setPath("/web06/servlet/");
cookiePass.setMaxAge(0);//立馬刪除 -1關閉瀏覽器后刪除
//響應
response.addCookie(cookiePass);
request.getRequestDispatcher("./index.jsp").forward(request, response);
}else if("select".equals(value)){
//獲取所有Cookie信息
Cookie[] cookies=request.getCookies();
if(cookies!=null){
for(Cookie ck:cookies){
System.out.println(ck.getName());
System.out.println(ck.getValue());
}
}
request.getRequestDispatcher("./index.jsp").forward(request, response);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
index.jsp頁面代碼:
<a href="./ck.do?oper=add">AddCookie</a>
<a href="./ck.do?oper=delete">DeleteCookie</a>
<a href="./ck.do?oper=select">SelectCookie</a>
二、效果
(1)點擊AddCookie
在下面地址中僅顯示用戶名
http://localhost:8080/web06/
輸入下面地址才顯示密碼和用戶名
http://localhost:8080/web06/servlet/ck.do
(2)點擊SelectCookie效果如下:
控制台輸出
(3)點擊DeleteCookie