<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的java歷程

    Cookie的使用

     

    Cookie的使用

     

    一、cookie的作用

    在我們平常寫的B/S程序中,會經常用到cookie,主要有以下一些作用:

    1、 記錄用戶名和密碼

    以及該用戶需要保存的一些信息,如購物購站,使用cookie,可以讓用戶自動登錄到站點等。

    2、 定制站點

    可以使用cookie來記錄用戶的偏好。

    3、 定向廣告

    可以使用cookie來記錄用記經常訪問的主題,并向他們顯示與這些主題相關的廣告。

     

    二、向客戶程序發(fā)送cookie

    1、 創(chuàng)建cookie對象

    Cookie c = new Cookie(“userId”,”landril”);

    2、 設置最大時效,默認該cookie是存儲在瀏覽器的內在中,用戶關閉瀏覽器則被刪除,下面的方法是將cookie存儲在硬盤上。

    c.setMaxAge(60*60*24);//一天,如果設置為0則是刪除該cookie

    3、 cookie放入到HTTP響應報頭,可以使用HttpServletResponseaddCookie方法,此方法不修改之前指定的Set-Cookie報頭,而是創(chuàng)建新的報頭。

    response.addCookie(c);

           注意:設置cookie的步驟為創(chuàng)建cookie對象,設置最大時效,將cookie放入響應報頭,即發(fā)送到客戶程序,記住一定要將cookie發(fā)送到客戶程序

     

    三、從客戶端讀取cookie

    1、 調用HttpServletRequestgetCookies得到一個Cookie對象的數(shù)組

    2、 對數(shù)組進行循環(huán),調用cookiegetName方法,獲取具體的cookie的值

    Cookie[] cookies = request.getCookies();

    if(cookies != null){

    for(int i=0;i<cookies.length;i++){

            Cookie c = cookies[i];

            if(“userId”.equals(c.getName())){

            System.out.println(c.getValue());

    }

    }

    }

     

    四、cookie的常用方法

    1、 setComment()/getComment():指定或查找與該cookie相關的注釋

    2、 setDomain()/getDomain():設置或讀取該cookie適用的域

    3、 setMaxAge()/getMaxAge():操作cookie保留的時間,多長時間后過期

    4、 getName():讀取cookie的名稱

    5、 setPath()/getPath():設置或取得cookie適用的路徑

    cookie.setPath(“/”);指定服務器的所有頁面都應該收到該cookie

    6、 setSource()/getSource():指定cookie是否只能通過加密連接(SSL

    默認false,表示cookie適用所有連接

    7、 setValue()/getValue():指定或獲取cookie的值

     

    五、使用cookie

     

    1RepeatServlet.java

    public class RepeatServlet extends HttpServlet {

     

        public void doGet(HttpServletRequest request, HttpServletResponse response)

               throws ServletException, IOException {

            boolean newa = true;

            Cookie[] cookies = request.getCookies();

            if(cookies != null){

               for (int i = 0; i < cookies.length; i++) {

                   Cookie c = cookies[i];

                   if ((c.getName().equals("repeat")) && (c.getValue().equals("true"))) {

                      newa = false;

                       break;

                   }

               }

           }

          

            String title;

           if (newa) {

               Cookie rtn = new Cookie("repeat"," true");

               rtn.setMaxAge(60*60*24*365);

               response.addCookie(rtn);

               title = "First Welcome";

           } else {

               title = "Welcom Back";

           }

          

            response.setContentType("text/html");

            PrintWriter out = response.getWriter();

            out.println("<html><body><h3>");

            out.println(title);

            out.println("</h3></body></html>");

        }

     

        public void doPose(HttpServletRequest request, HttpServletResponse response)

               throws ServletException, IOException {

            doGet(request,response);

        }

    }

     

    2CookieUtil.java

    public class CookieUtil{

     

        public static String getValue(HttpServletRequest request,String cName,String value){

            Cookie[] cookies = request.getCookies();

            if(cookies != null){

               for (int i = 0; i < cookies.length; i++) {

                   Cookie cookie = cookies[i];

                   if (cName.equals(cookie.getName())) {

                       return cookie.getValue();

                   }

               }

           }

            return value;

        }

       

        public static Cookie getCookie(HttpServletRequest request,String cName){

            Cookie[] cookies = request.getCookies();

            if(cookies != null){

               for (int i = 0; i < cookies.length; i++) {

                   Cookie cookie = cookies[i];

                   if (cName.equals(cookie.getName())) {

                       return cookie;

                   }

               }

           }

            return null;

        }

    }

     

    3AccessCountServle.java 記錄訪問數(shù)

    public class AccessCountServlet extends HttpServlet {

     

        public void doGet(HttpServletRequest request, HttpServletResponse response)

               throws ServletException, IOException {

          

            String acount = CookieUtil.getValue(request, "acc", "1");

           int count = Integer.parseInt(acount);

            Cookie cookie = new Cookie("acc",String.valueOf(count+1));

            cookie.setMaxAge(60*60*24*365);

            response.addCookie(cookie);

          

            response.setContentType("text/html");

            PrintWriter out = response.getWriter();

            out.println("<html><body>Hello,the number is<h3>");

            out.println(count);

            out.println("</h3></body></html>");

        }

       

        public void doPost(HttpServletRequest request, HttpServletResponse response)

        throws ServletException, IOException {

            doGet(request,response);

        }

    }

    posted on 2007-04-10 12:37 landril 閱讀(12426) 評論(2)  編輯  收藏 所屬分類: Jsp&Servlet

    Feedback

    # re: Cookie的使用 2007-10-14 10:50 22

    留言怎么沒有COOKIES的,  回復  更多評論   

    # re: Cookie的使用 2013-09-09 13:58 帶飯

    你知道老習是誰不  回復  更多評論   

    主站蜘蛛池模板: 亚洲人成电影在线观看网| 亚洲中久无码永久在线观看同| 情人伊人久久综合亚洲| 成人免费视频一区二区| 在线看片无码永久免费aⅴ| 亚洲中文字幕无码中文字| 一二三四免费观看在线视频中文版| 亚洲精品资源在线| 啦啦啦完整版免费视频在线观看 | 美女黄网站人色视频免费国产 | 亚洲日韩中文字幕一区| 黄色成人网站免费无码av| 亚洲男人天堂2018av| 女人18毛片a级毛片免费| 亚洲精品成a人在线观看夫 | 国产成人亚洲综合| 国产福利电影一区二区三区,免费久久久久久久精 | 国产成人免费ā片在线观看| 亚洲av日韩专区在线观看| 免费夜色污私人影院在线观看| 免费看一级一级人妻片| 久久久久亚洲AV无码专区网站| a级毛片在线免费看| 亚洲精品第五页中文字幕| 免费a级毛片无码a∨蜜芽试看| 亚洲欧洲精品成人久久曰| 免费人成无码大片在线观看| 久久久久免费视频| 在线观看亚洲人成网站| 精品免费国产一区二区三区| 亚洲五月午夜免费在线视频| 亚洲黄色片免费看| 免费黄网在线观看| 两个人日本免费完整版在线观看1| 亚洲国产一区二区a毛片| 免费精品人在线二线三线区别 | 美女视频黄a视频全免费网站色窝| 久久精品国产亚洲AV大全| 啦啦啦手机完整免费高清观看| 国产精品免费大片一区二区| 亚洲美女激情视频|