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(,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 = ;
if(list != null && list.length()>){
String [] arr = list.split(","); if(arr.length >= ){
for(int i = arr.length- ; i >= arr.length-iCount- ; i--){
itemlist.add(getItemsById(Integer.parseInt(arr[i])));
}
} else {
for(int i = arr.length- ; i>= ; 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="" height = "60 "cellpadding = "" celpacing = "" border = "">
<tr>
<td>
<%
ItemsDAO itemsDao = new ItemsDAO() ;
ArrayList<Items> list = itemsDao.getAllItems() ;
if(list != null && list.size() > ){
for(int i = ; i < list.size() ; i ++){
Items item = list.get(i); %>
<!-- 循环部分 -->
<div>
<dl>
<dt>
<a href = "details.jsp?id=<%=item.getId()%>"> <img src ="E:\javawebTest\MyfirstWebapp\WebContent\WEB-INF\images\<%=item.getPicture() %>" width = "" heigh=""/></a>
</dt>
<dd class = "dd_name" > <%=item.getName() %> </dd>
<dd class = "dd_city" > <%=item.getCity() %> &nbsp; &nbsp; 价格:<%=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:\javawebTest\MyfirstWebapp\WebContent\WEB-INF\images\<%=item.getPicture() %>" width = "" heigh=""/><br>
产地:<%=item.getCity() %><br>
价格:<%=item.getPricce() %><br> <%
}
%> <%
String list = "" ;
Cookie [] cookies = request.getCookies() ;
if(cookies !=null && cookies.length>)
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> ){
if(arr.length>=)
{
list = "" ;
}
}
Cookie cookie = new Cookie("ListViewCookie" ,list) ; //创建Cookie
cookie.setMaxAge();
response.addCookie(cookie); //添加Cookie
%>
<hr>
浏览过的商品:<br>
<%
ArrayList<Items> itemslist = itemDao.getViewList(list);
if(itemslist!= null && itemslist.size()>){
for(Items i : itemslist){ %>
<img src ="E:\javawebTest\MyfirstWebapp\WebContent\WEB-INF\images\<%=i.getPicture() %>" width = "" heigh=""/><br>
产地:<%=i.getCity() %><br>
价格:<%=i.getPricce() %><br>
<%
}
}
%>
</body>
</html>

Cookie 简单使用记录浏览记录的更多相关文章

  1. cookie记录浏览记录

    cookie记录浏览记录 HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在.在HashMap中,key-value总是会当做 ...

  2. 简单的Cookie记录浏览记录案例

    books.jsp 界面 代码 <%@ page contentType="text/html;charset=UTF-8" language="java" ...

  3. Cookie中图片的浏览记录与cookie读取servle时路径的设置(文字描述)

    public class ShowServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpSer ...

  4. js操作Cookie,实现历史浏览记录

    /** * history_teacher.jsp中的js,最近浏览名师 * @version: 1.0 * @author: mingming */ $(function(){ getHistory ...

  5. 用JS中的cookie实现商品的浏览记录

    最近在做一个购物车效果,为了实现商品的浏览记录效果可是让我百般周折,避免以后忘记特写此随笔与大家共享,希望博友们看后有所收获. 第一步:在一个公用的js文件下getCookie(“liulan”),c ...

  6. 使用cookie实现打印浏览记录的功能

    可以用cookie知识来实现打印浏览记录.这里面用到的思路是将浏览记录以字符串的方式保存到cookie中,当浏览记录增加时,再将其转化为数组. $uri=$_SERVER['REQUEST_URI'] ...

  7. destoon系统开发-最新利用浏览器的cookie 做历史浏览记录

      注意: 代码 放在要显示的为 (一般放在详情页),注意本教程不入库,直接利用浏览器的 cookie 缓存判断    <!--历史浏览记录 S--> <div class=&quo ...

  8. 使用Cookie实现用户商品历史浏览记录

    该功能分为四个模块: 1. 获取所有商品并以链接的形式显示 out.write("网站商品: <br/>"); Map<String, Book> book ...

  9. Java遇见HTML——JSP篇之商品浏览记录的实现

    一.项目总体介绍 使用Cookie实现商品浏览记录. 要实现这个程序采取的是Model1(Jsp+JavaBean)架构实现,具体步骤: 首先要有个数据库,商品表,操作数据库的一个类DBHelper类 ...

随机推荐

  1. Linux学习 -- Shell编程 -- 条件判断

    按照文件类型进行判断 两种格式 test -e /root/install.log [ -e /root/install.log ]   注意空格  适合用于脚本中 echo $?可以看到结果 [ - ...

  2. CodeForces 412D Giving Awards

    根据给出的条件建边,然后进行dfs 对于某个点x,当x的后继都遍历完毕后,再输出x节点. 这样能保证所有约束条件. #include<cstdio> #include<cstring ...

  3. 为什么做Web开发要选择PHP

    大部分互联网公司做WEb开发都选择PHP,PHP的优势在哪?你应该知道的 以前偶尔被人问到,为什么你(和大部分互联网公司)做Web开发要选择PHP, PHP有什么好处.简单的回答便是“PHP简单,开发 ...

  4. 第11章 类的高级特性--final

    1.final变量 (1)final关键字可用于变量声明,一旦该变量被设定,就不可以再改变该变量的值.通常,由final定义的变量为常量.例如:final double PI=3.14; final关 ...

  5. 转:Web测试需要了解的知识

    这里只是介绍Web测试相对于其他类型软件的测试额外需要了解的内容,关于测试方法不是本文的重点,里面谈到的每一项在以后的文章中再说明.大家看到这些内容可能都不陌生,我晒出的内容也许不对或有误导,请大家指 ...

  6. Android studio怎么创建shape的XML文件

    drawable里面 new一个 Drawable resource xml 一般打开是selector ,把selector改成shape就OK了

  7. MyBatis基础用法(一)

    <select id="getErrorTimes" resultType="Integer"> SELECT ErrorTimes FROM `e ...

  8. HDU 5547 暴力

    Sudoku Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total Subm ...

  9. NOI2004 郁闷的出纳员 Splay

    郁闷的出纳员 [问题描述] OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的工资.这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常, ...

  10. smali插入log,打印变量

    一:Log打印变量: Log打印字符串: #liyanzhong debug const-string v1, "TAG" const-string v2, "xunbu ...