你的位置:首页 > Java教程

[Java教程]使用cookies查询商品浏览记录


经历了俩个星期,易买网项目如期完工,现在总结一下如何使用cookies实现浏览商品的历史记录。

第一步:创建商品实体类。

第二步:连接oracle数据库。

第三步:创建商品三层架构。

效果图:

 

在要显示 的地方加入核心代码:

<h2>最近浏览</h2>      <div >     <%  //获取所有的cookie      Cookie[] cookies = request.getCookies();          //筛选cookie      if(cookies != null && cookies.length>0){        for(int j = cookies.length-1; j>=0; j--){          String cookieName = cookies[j].getName();          if(cookieName.startsWith("product-view")){                        //调用查询商品的方法            List<easybuy_product> list4 = productbiz.product(cookies[j].getValue());            request.setAttribute("list4",list4);                        %>      <c:forEach var="hao" items="${requestScope.list4}" >          <dl class="clearfix">        <dt><img src="${hao.ep_file_name}" width="50px"/></dt>        <dd><a href="addcookie?id=${hao.ep_id}" target="_blank">${hao.ep_name}</a></dd>                  </dl>      </c:forEach>      <%}}}%>    </div>

点击跳转查看商品详细页代码如下:

<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";//获取商品idrequest.setCharacterEncoding("utf-8");String book = request.getParameter("id");Cookie[] cookies = request.getCookies();List<Cookie> cookieList = new ArrayList<Cookie>();Cookie tempCookie =null;//筛选cookieif(cookies != null && cookies.length>0){  for(Cookie c:cookies){    String cookieName = c.getName();    if(cookieName.startsWith("product-view")){      cookieList.add(c);    }        if(c.getValue().equals(book)){      tempCookie = c;    }  }}  if(cookieList.size()>=10 && tempCookie==null){  tempCookie = cookieList.get(0);}Cookie cookie = new Cookie("product-view"+book,book);response.addCookie(cookie);%>

这样就实现了商品的浏览记录。