ItemsDAO.java
package dao; import java.util.* ; import java.sql.* ; import util.DBHelper; import entity.Items; //商品的业务逻辑类 public class ItemsDAO { static public ArrayList<Items> getAllItems() { Connection conn = null ; PreparedStatement stmt = null ; ResultSet rs = null ; //数据集 ArrayList<Items> list = new ArrayList<>() ; 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.setPricce(rs.getInt("pricce")); 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 ex){ ex.printStackTrace() ; } } //释放语句对象 if(stmt != null) { try{ stmt.close() ; stmt = null ; } catch (Exception ex){ ex.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.setPricce(rs.getInt("pricce")); 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 ex){ ex.printStackTrace() ; } } //释放语句对象 if(stmt != null) { try{ stmt.close() ; stmt = null ; } catch (Exception ex){ ex.printStackTrace() ; } } } } //获取最近浏览的前五条 public ArrayList<Items> getViewList(String list){ ArrayList<Items> itemlist = new ArrayList<Items> () ; int iCount = 5 ; if(list != null && list.length()>0){ String [] arr = list.split(","); if(arr.length >= 5){ for(int i = arr.length-1 ; i >= arr.length-iCount-1 ; 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 ; } } }
Items.java
package entity; public class Items { private int id; private String name; private String city; private int pricce; private String picture; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public int getPricce() { return pricce; } public void setPricce(int pricce) { this.pricce = pricce; } public String getPicture() { return picture; } public void setPicture(String picture) { this.picture = picture; } }
DBHElper.java
package util; import java.sql.Connection; import java.sql.DriverManager; public class DBHelper { private static final String driver = "com.mysql.jdbc.Diver"; private static final String url = "jdbc:mysql://localhost:3306/zhuopengDB?useUnicode=true&characterEncoding=GB2312"; private static final String username = "zhuopeng" ; private static final String password = "zhuopeng" ; private static Connection conn = null ; //静态代码块加载驱动 static { try { Class.forName("com.mysql.jdbc.Driver"); } catch (Exception e) { e.printStackTrace(); System.out.println("驱动"); } } //单例模式 public static Connection getConnection() throws Exception { if(conn == null) { conn = DriverManager.getConnection(url,username,password); } return conn ; } }
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import = "dao.ItemsDAO" %> <%@ page import = "java.util.*" %> <%@ page import = "entity.Items" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>商品</title> </head> <body> <h1>商品展示</h1> <hr> <center> <table width="550" height = "60 "cellpadding = "0" celpacing = "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 item = list.get(i); %> <!-- 循环部分 --> <div> <dl> <dt> <a href = "details.jsp?id=<%=item.getId()%>"> <img src ="E:javawebTestMyfirstWebappWebContentWEB-INFimages<%=item.getPicture() %>" width = "100" heigh="100"/></a> </dt> <dd class = "dd_name" > <%=item.getName() %> </dd> <dd class = "dd_city" > <%=item.getCity() %> 价格:<%=item.getPricce() %></dd> </dl> </div> <!-- 循环结束哦 --> <% } } %> </td> </tr> </table> </center> </body> </html>
details.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import = "dao.ItemsDAO" %> <%@ page import = "java.util.*" %> <%@ page import = "entity.Items" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <% ItemsDAO itemDao = new ItemsDAO () ; Items item = itemDao.getItemsById(Integer.parseInt(request.getParameter("id"))); if(item != null) { %> <img src ="E:javawebTestMyfirstWebappWebContentWEB-INFimages<%=item.getPicture() %>" width = "400" heigh="400"/><br> 产地:<%=item.getCity() %><br> 价格:<%=item.getPricce() %><br> <% } %> <% String list = "" ; Cookie [] cookies = request.getCookies() ; if(cookies !=null && cookies.length>0) for(Cookie c :cookies){ if(c.getName() . equals("ListViewCookie")) { list = c.getValue() ; } } list += request.getParameter("id")+"," ; String [] arr = list.split(","); if(arr!=null && arr.length>0 ){ if(arr.length>=100) { list = "" ; } } Cookie cookie = new Cookie("ListViewCookie" ,list) ; //创建Cookie cookie.setMaxAge(8000); response.addCookie(cookie); //添加Cookie %> <hr> 浏览过的商品:<br> <% ArrayList<Items> itemslist = itemDao.getViewList(list); if(itemslist!= null && itemslist.size()>0){ for(Items i : itemslist){ %> <img src ="E:javawebTestMyfirstWebappWebContentWEB-INFimages<%=i.getPicture() %>" width = "200" heigh="200"/><br> 产地:<%=i.getCity() %><br> 价格:<%=i.getPricce() %><br> <% } } %> </body> </html>