zoukankan      html  css  js  c++  java
  • 11月7日学习日志

    今天学习了servlet删除Cookie 。

    删除 Cookie 是非常简单的。如果您想删除一个 cookie,那么您只需要按照以下三个步骤进行:

    读取一个现有的 cookie,并把它存储在 Cookie 对象中。

    使用 setMaxAge() 方法设置 cookie 的年龄为零,来删除现有的 cookie。

    把这个 cookie 添加到响应头。

    实例:

    下面的例子将删除现有的名为 "url" 的 cookie,当您下次运行 ReadCookies 的 Servlet 时,它会返回 url 为 null。

    package com.runoob.test;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class DeleteCookies
     */
    @WebServlet("/DeleteCookies")
    public class DeleteCookies extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public DeleteCookies() {
            super();
            // TODO Auto-generated constructor stub
        }
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
        {
            Cookie cookie = null;
            Cookie[] cookies = null;
            // 获取与该域相关的 Cookie 的数组
            cookies = request.getCookies();
            
                // 设置响应内容类型
            response.setContentType("text/html;charset=UTF-8");
       
            PrintWriter out = response.getWriter();
            String title = "删除 Cookie 实例";
            String docType = "<!DOCTYPE html>\n";
            out.println(docType +
                      "<html>\n" +
                      "<head><title>" + title + "</title></head>\n" +
                      "<body bgcolor=\"#f0f0f0\">\n" );
             if( cookies != null ){
               out.println("<h2>Cookie 名称和值</h2>");
               for (int i = 0; i < cookies.length; i++){
                  cookie = cookies[i];
                  if((cookie.getName( )).compareTo("url") == 0 ){
                       cookie.setMaxAge(0);
                       response.addCookie(cookie);
                       out.print("已删除的 cookie:" + 
                                    cookie.getName( ) + "<br/>");
                  }
                  out.print("名称:" + cookie.getName( ) + ",");
                  out.print("值:" + cookie.getValue( )+" <br/>");
               }
            }else{
                out.println(
                  "<h2 class=\"tutheader\">No Cookie founds</h2>");
            }
            out.println("</body>");
            out.println("</html>");
            }
    
        /**
         * @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);
        }
    
    }
  • 相关阅读:
    CSS压缩工具(自动合并重复的定义)
    windows创建服务
    ashx是什么文件,如何创建(转载)
    在mojoportal中建立自定义模块
    Mojoportal2339之汇总页面
    在vs2008中设置jquery智能提示 (转载)
    关于mojoportal在局域网或单机使用时注意事项
    html编辑器kindeditor我的使用方法 (转载)
    visual studio 2008 没有设计视图的解决方法(转载)
    模块开发捷径配置参数
  • 原文地址:https://www.cnblogs.com/20193925zxt/p/14159988.html
Copyright © 2011-2022 走看看