Cookie案例 記錄顯示訪問過商品的名稱

一.實現(xiàn)該案例思維導(dǎo)圖

實現(xiàn)功能:通過Cookie實現(xiàn)在頁面顯示訪問過的商品名稱
思維導(dǎo)圖

二.編寫index.jsp頁面

顯示商品名稱和訪問過的商品名稱
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <div style="width: 300px;float: left ;border: 3px solid blue;margin-left: 500px;">
    <h1>商品列表</h1>
    <a href="/AServlet?name=ipad"><h3>1.ipad</h3></a><br>
    <a href="/AServlet?name=xiaomi"><h3>2.xiaomi</h3></a><br>
    <a href="/AServlet?name=huawei"><h3>3.huawei</h3></a><br>
    <a href="/AServlet?name=meizu"><h3>4.meizu</h3></a><br>
    <a href="/AServlet?name=sanxing"><h3>5.sanxing</h3></a><br>
    <a href="/AServlet?name=zhongxing"><h3>6.zhongxing</h3></a><br>
  </div>
  <div style="width: 300px;height: 600px; float: left ;border: 3px solid blue;margin-left: 50px">
    <h1>瀏覽過的商品</h1>
    <h3>
  <%
    Cookie [] cs =request.getCookies();
    if(cs!=null){
        for (Cookie c :cs){
            if("goods".equals(c.getName())){
              out.print(c.getValue());//打印出瀏覽過的商品名稱
            }
        }
    }
  %><br>
    </h3>
  </div>
  </body>
</html>

index.jsp

三.寫Java類

里面包含:
1.Set集合:保存商品名稱
1.構(gòu)造方法:將Servlet中傳來的Cookie值保存在List集合中,再將list集合中的值傳入Set集合中
2.add方法:保存訪問的商品名稱
3.toString方法:將set集合中的值轉(zhuǎn)換為String,將字符串掐頭去尾返回


import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;

/**
 * Created by pc on 17-4-3.
 */
public class GoodsUtils {
    private Set<String> goodSet=new LinkedHashSet<String>();//保存商品名稱
    public  GoodsUtils(String goods){
        if(goods.trim().isEmpty()){//判斷是否為空
            return ;
        }
        String [] str = goods.split(", ");
        List<String> list = Arrays.asList(str);//將信息存入list集合中
         goodSet.addAll(list);//將list中的信息寫入set中
    }
    public void add(String goodss){

        goodSet.add(goodss);
    }
    public String toString(){
        String str = goodSet.toString();
        return str.substring(1,str.length()-1);//將
    }
}


四.寫Servlet方法

1.接受request信息
2.創(chuàng)建Cookie:name=“goods”
3.將請求中name的值傳給GoodsUtils類中的方法
4.判斷是否有名為goods的Cookie
5.重定向到index.jsp文件

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;
import java.io.IOException;
/**
 * cookie小案例二:實現(xiàn)瀏覽過的商品功能
 * Created by pc on 17-4-3.
 */
@WebServlet(name = "AServlet",urlPatterns = "/AServlet")
public class   AServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;char=utf-8");
        Cookie[] co = request.getCookies();
        String goods="";
        if(null!=co){
            for(Cookie cc:co){
                if("goods".equals(cc.getName())){
                    goods=cc.getValue();
                    break;
                }
            }
        }
        GoodsUtils gu =new GoodsUtils(goods);
        String goodName = request.getParameter("name");
        gu.add(goodName);

        Cookie c =new Cookie("goods",gu.toString());
        response.addCookie(c);//添加CooKie
        //重定向
        response.sendRedirect(request.getContextPath()+"/index.jsp");//
    }
}

運行tomcat環(huán)境

實現(xiàn)功能:

在頁面記錄訪問過的商品名稱,并將結(jié)果顯示在該頁面,不重復(fù)。
瀏覽過的商品

文章文集:JavaEE--學(xué)習(xí)筆記

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 從三月份找實習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時芥藍(lán)閱讀 42,901評論 11 349
  • HTTP cookie(也稱為web cookie,網(wǎng)絡(luò)cookie,瀏覽器cookie或者簡稱cookie)是網(wǎng)...
    留七七閱讀 18,392評論 2 71
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,715評論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,898評論 18 399
  • 很好 最終泡泡在碎 人們在搶 愛情在慌 時間在綁 最終忙忙碌碌 兵荒馬亂 丟盔卸甲 戰(zhàn)死沙場 最終什么什么都沒了 ...
    牧童啊閱讀 121評論 0 0

友情鏈接更多精彩內(nèi)容