这是什么情况??
就是删掉response.addCookie(cookie)就不会了,不过不循环了
就是删掉response.addCookie(cookie)就不会了,不过不循环了
2020-10-24
这是index.jsp的 <%@ page import="java.util.ArrayList" %> <%@ page import="list.entity.Items" %> <%@ page import="list.dao.ItemsDAO" %><%-- Created by IntelliJ IDEA. User: zz Date: 2020/10/21 Time: 10:50 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>商品展示</title> <style type="text/css"> div{ float:left; margin:10px; } div dd{ margin:0px; font-siez:10pt; } div dd.dd_name{ color:blue; } div dd.dd_city{ color: #000; } </style> </head> <body> <h1>商品展示</h1> <hr> <center> <table width="750" height="60" cellpadding="0" cellspacing="0" border="0"> <tr> <td> <!--商品循环开始--> <% ItemsDAO itemsDAO=new ItemsDAO(); ArrayList<Items>list=itemsDAO.getAllItems(); if(list!=null&&list.size()>0){ for(int i=0;i<list.size();i++){ Items items=list.get(i); %> <div> <dl> <dt> <a href="details.jsp?id=<%=items.getId()%>"><img src="images/<%=items.getPicture()%>" width="120" height="80"></a> </dt> <dd class="dd_name"><%=items.getName()%></dd> <dd class="dd_city">产地:<%=items.getCity()%> 价格:¥<%=items.getPrice()%></dd> </dl> </div> <!--商品循环结束--> <% } } %> </td> </tr> </table> </center> </body> </html> 这是ItemsDAO的 package list.dao; import list.entity.Items; import list.util.DBHelper; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; //商品的业务逻辑类 public class ItemsDAO { //获得所有的商品信息 public ArrayList<Items> getAllItems(){ Connection conn=null; PreparedStatement stmt=null; ResultSet rs=null; ArrayList<Items> list=new ArrayList<Items>(); try{ conn= DBHelper.getConnection(); String sql="SELECT * from items"; stmt=conn.prepareStatement(sql); rs=stmt.executeQuery(); while (rs.next()){ Items item=new Items(); item.setId(rs.getInt("id")); item.setName(rs.getString("name")); item.setCity(rs.getString("city")); item.setNumber(rs.getInt("number")); item.setPrice(rs.getInt("price")); item.setPicture(rs.getString("picture")); list.add(item);//把一个对象加入集合 } return list; }catch (Exception e){ e.printStackTrace(); return null; }finally { //释放数据集对象 if(rs!=null){ try{ rs.close(); rs=null; }catch (Exception e){ e.printStackTrace(); } } //释放语句对象 if(stmt!=null){ try{ stmt.close(); stmt=null; }catch (Exception e){ e.printStackTrace(); } } } } //根据商品编号获得商品资料 public Items getItemsById(int id){ Connection conn=null; PreparedStatement stmt=null; ResultSet rs=null; try{ conn= DBHelper.getConnection(); String sql="SELECT * from items where id=?"; stmt=conn.prepareStatement(sql); stmt.setInt(1,id); rs=stmt.executeQuery(); if (rs.next()){ Items item=new Items(); item.setId(rs.getInt("id")); item.setName(rs.getString("name")); item.setCity(rs.getString("city")); item.setNumber(rs.getInt("number")); item.setPrice(rs.getInt("price")); item.setPicture(rs.getString("picture")); return item; }else{ return null; } }catch (Exception e){ e.printStackTrace(); return null; }finally { //释放数据集对象 if(rs!=null) { try { rs.close(); rs = null; } catch (Exception e) { e.printStackTrace(); } } //释放语句对象 if (stmt != null) { try { stmt.close(); stmt = null; } catch (Exception e) { e.printStackTrace(); } } } } //获取最近浏览的签5条商品信息 public ArrayList<Items> getViewList(String list){ ArrayList<Items> itemlist=new ArrayList<Items>(); int iCount=5;//每次返回前5条记录 if(list!=null&&list.length()>0) { String[] arr = list.split(","); //如果商品记录大于等于5条 if (arr.length >= 5) { for(int i=arr.length-1;i>=arr.length-iCount;i--){ itemlist.add(getItemsById(Integer.parseInt(arr[i]))); } }else{ for(int i=arr.length-1;i>=0;i--){ itemlist.add(getItemsById(Integer.parseInt(arr[i]))); } } return itemlist; } else { return null; } } } 这是detals.jsp的 <%@ page import="list.dao.ItemsDAO" %> <%@ page import="list.entity.Items" %> <%@ page import="java.util.ArrayList" %><%-- Created by IntelliJ IDEA. User: zz Date: 2020/10/21 Time: 10:01 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>商品详情</title> <style type="text/css"> div{ float:left; margin-left:30px; margin-right:30px; margin-top:5px; margin-bottom:5px; } div dd{ margin:0px; font-size:10pt; } div dd.dd_name{ color:blue; } div dd.dd_city{ color:#000; } </style> </head> <body> <h1>商品详情</h1> <hr> <center> <table width="750" height="60" cellpadding="0" cellspacing="0"border="0"> <tr> <!--商品详情--> <% Items items=new Items(); ItemsDAO itemsDAO=new ItemsDAO(); items=itemsDAO.getItemsById(Integer.parseInt(request.getParameter("id"))); if(items!=null){ %> <td width="70%" valign="top"> <table> <tr> <td rowspan="4"><img src="images/<%=items.getPicture()%>" width="200" height="160"/> </td> </tr> <tr> <td><B><%=items.getName()%></B></td> </tr> <tr> <td>产地:<%=items.getCity()%></td> </tr> <tr> <td>价格:<%=items.getPrice()%>¥</td> </tr> </table> </td> <% } %> <% String list=""; //从客户端获得Cookies集合 Cookie[] cookies=request.getCookies(); //遍历这个Cookies集合 if(cookies!=null&&cookies.length>0) { for (Cookie c : cookies) { if (c.getName().equals("ListViewCookie")) { list = c.getValue(); } } } list+=request.getParameter("id")+","; //如果浏览记录超过1000条,清零 String [] arr=list.split(","); if(arr!=null&&arr.length>0){ if(arr.length>=1000){ list=""; } } Cookie cookie=new Cookie("ListViewCookie",list); response.addCookie(cookie); %> <!--浏览过的商品--> <td width="308" bgcolor="#EEE" align="center"> <br> <b>您浏览过的商品</b><br/> <!--循环开始--> <% ArrayList<Items> itemlist=itemsDAO.getViewList(list); if(itemlist!=null&&itemlist.size()>0){ for(Items i:itemlist){ %> <div> <dl> <dt> <a href="details.jsp?id=<%=i.getId()%>"><img src="images/<%=i.getPicture()%>" width="120" height="120"></a> </dt> <dd class="dd_name"><%=i.getName()%></dd> <dd class="dd_city">产地:<%=i.getCity()%> 价格:<%=i.getPrice()%>¥</dd> </dl> </div> <% } } %> <!--循环结束--> </td> </tr> </table> </center> </body> </html>
举报