java 使用Cookie实现,浏览过商品记录
2017-10-02 22:20
561 查看
1.ProductDao类
public Product findProductByPid(String pid) throws SQLException { QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource()); String sql = "select * from product where pid=?"; return runner.query(sql, new BeanHandler<Product>(Product.class), pid); }
2.ProductService类
//通过pid查找商品信息 public Product findProductByPid(String pid) { try { return productDao.findProductByPid(pid); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; }
3.FindProductInfoByPidServlet类
public class FindProductInfoByPidServlet extends HttpServlet { private static final long serialVersionUID = 1L; private ProductService productService=new ProductService(); private CategoryService categoryService=new CategoryService(); protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String pid=request.getParameter("pid"); Product product= productService.findProductByPid(pid); Category category= categoryService.findCategoryByCid(product.getCid()+""); product.setCategory(category); request.setAttribute("product", product); String pids=pid; //将pid放入cookie中 Cookie [] cookies= request.getCookies(); if(cookies!=null){ for(Cookie cookie: cookies){ if("pids".equals(cookie.getName())){ //将值 3-2-8存放 pids=cookie.getValue(); String [] split= pids.split("-"); List<String> aslist=Arrays.asList(split); LinkedList<String> list=new LinkedList<String>(aslist); if(list.contains(pid)){ list.remove(pid); list.addFirst(pid); }else{ list.addFirst(pid); } StringBuffer sb=new StringBuffer(); for(int i=0;i<list.size();i++){ sb.append(list.get(i)).append("-"); } sb.deleteCharAt(sb.length()-1); pids=sb.toString(); } } } Cookie cookie=new Cookie("pids", pids); response.addCookie(cookie); request.getRequestDispatcher("product_info.jsp").forward(request, response); } }
4.FindProductByCategroyServlet类POST方法添加如下代码 展示浏览记录
//浏览记录 List<Product> historyList=new ArrayList<Product>(); Cookie [] cookies=request.getCookies(); if(cookies!=null){ for(Cookie cookie : cookies){ if("pids".equals(cookie.getName())){ String pids=cookie.getValue(); String [] splits=pids.split("-"); for (int i = 0; i < splits.length; i++) { String pid=splits[i]; Product product= productService.findProductByPid(pid); historyList.add(product); } } } } request.setAttribute("historyList",historyList);
相关文章推荐
- 使用cookie实现记录浏览商品的过程并能够清空浏览记录(简单的小程序不涉及到数据库的调取)
- 使用cookie技术实现大型网站购物网站的商品浏览记录
- 使用Cookie实现商品的浏览记录功能
- javaWeb 使用cookie显示商品浏览记录
- 使用Cookie实现保存商品浏览记录
- 利用Cookie实现用户浏览商品记录
- 使用cookie+工具类实现的 记录显示 用户【浏览商品记录】
- 使用Cookie保存商品浏览记录
- 用Cookie实现商品浏览记录
- 手把手做一个JSP入门程序(七):使用Cookie实现浏览记录(JSP)
- javaweb之Cookie显示商品的浏览记录和Cookie的常见应用有哪些
- Java Cookie记录商品浏览历史
- 【JSP开发】利用cookie实现商品浏览记录
- 使用jsp实现对商品的浏览与保存浏览过的商品记录
- 【java】Cookie实现简单浏览商品
- Cookie实现:您曾经浏览过的商品记录
- jQuery.cookie.js实现记录最近浏览过的商品功能示例
- cookie实现商品浏览记录的原理
- Java遇见HTML——JSP篇之商品浏览记录的实现
- 【JSP开发】利用cookie实现商品浏览记录