Session用法案例 -->实现简单购物车功能(实际项目可能不会这么使用)
来源:互联网 发布:淘宝旺铺怎么装修 编辑:程序博客网 时间:2024/05/17 03:30
07120170909
1、session是在cookie的基础之上,利用cookie返回JSESSIONID(key[服务器随机生成])存在客户端实现,正真的数据存在服务端[key-value]。
2、session的使用步骤:
1)、设置:request.getSession().setAttribute("username", username);
2)、获取:request.getSession(false).getAttribute(username); 注:[false表示沿用之前设置的;不设置,默认为true,如果存在session,则沿用之前的,没有则新建];
3、session是每个浏览器对应一个JSESSIONID; --->注:例如设置session之后,在Resquest Headers 会存在Cookie:JSESSIONID=A75D52D01876F3B404B8CC668BC8180C
4、代码如下:
package com.tiger.two0906.bean;import java.io.*;import java.util.*;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.*;/** * 水果保存到购物车 * @author tiger * @time 2017年9月9日 */@WebServlet("/fruitSave")public class FruitSave extends HttpServlet {private static final long serialVersionUID = 1L; public FruitSave() { }protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Listfruit_list = (List ) request.getServletContext().getAttribute("fruit_list");String[] ids = request.getParameterValues("sg");List fruits = new ArrayList<>();for (Fruit fruit : fruit_list) {Integer id = fruit.getId();for (String d : ids) {if (id==Integer.parseInt(d)) {fruits.add(fruit);}}}//将信息添加到session中,不同的客户拥有不同的水果列表request.getSession().setAttribute("fruits", fruits);response.sendRedirect("shopCar");}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}package com.tiger.two0906.bean;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.annotation.WebServlet;import javax.servlet.http.*;@WebServlet("/shopCar")public class FruitCar extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");List fruits = (List ) request.getSession().getAttribute("fruits");PrintWriter out = response.getWriter();out.println("");out.println("");out.println(" ");out.println("---shopCar---");out.println(" ");out.println("");out.println("");out.println("");for (Fruit fruit : fruits) {out.println( ""+ ""+fruit.getId()+""+ ""+fruit.getName()+""+ ""+fruit.getPrice()+""+ ""+fruit.getCount() +""+ "");}out.println("");out.println("");out.println("");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);}}package com.tiger.two0906.bean;/** * 水果bean * @author tiger * @time 2017年9月6日 */public class Fruit {Integer id;String name;double price;int count;public void setId(Integer id) {this.id = id;}public Integer getId() {return id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public int getCount() {return count;}public void setCount(int count) {this.count = count;}public Fruit() { }public Fruit(Integer id, String name, double price, int count) {super();this.id = id;this.name = name;this.price = price;this.count = count;}@Overridepublic String toString() {return "Fruits [id=" + id + ", name=" + name + ", price=" + price + ", count=" + count + "]";}}package com.tiger.two0906.bean;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.annotation.WebServlet;import javax.servlet.http.*;/** * 07120170909 * 水果列表 * @author tiger * @time 2017年9月6日 */@WebServlet("/shopList")public class FruitList extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");//数据源Fruit[] fruits = {new Fruit(1,"苹果",2.32, 22),new Fruit(2,"雪梨",2.32, 22),new Fruit(3,"坚果",2.32, 22),new Fruit(4,"苹果",2.32, 22),new Fruit(5,"葡萄",2.32, 22)};//将数据源添加进List集合Listfruit_list = new ArrayList ();Collections.addAll(fruit_list, fruits);request.getServletContext().setAttribute("fruit_list", fruit_list);PrintWriter out = response.getWriter();out.println("");out.println("");out.println(" ");out.println("---shopList---");out.println(" ");out.println("");out.println("");out.println("
阅读全文
0 0
- Session用法案例 -->实现简单购物车功能(实际项目可能不会这么使用)
- Session简单实现购物车功能
- session的典型案例一:使用session实现购物车
- Session小案例-----简单购物车的使用
- PHP+MYSQL+SESSION+ThinkPHP实现简单购物车功能
- PHP+MYSQL+SESSION+ThinkPHP实现简单购物车功能
- 用session实现简单的购物车功能
- session实现简单购物车
- 使用session技术来实现网上商城购物车的功能
- Java EE中使用session实现购物车功能
- 使用session技术实现购物车的功能
- 使用session技术来实现网上商城购物车的功能
- Session案例之实现购物网址购物车
- 实现简单购物车功能
- 使用Session实现购物车
- Session实现购物车功能(八)
- session实现购物车功能实例
- session实现简单的购物车
- 链表——创建、插入、删除、查找
- lua源码阅读(1)----概览
- Windows10下安装numpy和scipy(避免“ImportError: cannot import name NUMPY_MKL”)
- 网易2017编程题之前n个数的最大奇约数之和
- 文件I/O实现拷贝功能
- Session用法案例 -->实现简单购物车功能(实际项目可能不会这么使用)
- Train TF models in Python and Invoke models in Java
- JVM 垃圾回收器介绍
- 舒适的前端开发环境是怎样一种体验?
- POJ总结(3080)
- sublime 快捷键
- Ubuntu16.04将.png/.jpg图片转换为.eps/.pdf格式
- HTTP协议详解
- PAT乙级1065. 单身狗(25)