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 {List fruit_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集合List fruit_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("
");out.println("");out.println("");out.println("选择");out.println("水果名");out.println("价格");out.println("数量");out.println("");for (Fruit fruit : fruit_list) {out.println( ""+ ""+fruit.getName()+""+ ""+fruit.getPrice()+""+ ""+fruit.getCount() +"" );}out.println("");out.println("");out.println("");out.println("");out.println("");out.println("");out.println("");out.println("");}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {doPost(req, resp);}}



原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 穿完臭袜子要洗手吗不洗怎么办 超敏c反应蛋白117怎么办 钢铁雄心4无模板怎么办 登录 新浪微博登录异常怎么办 微博授权失败怎么办qq uc微博授权失败怎么办 苹果手机无线网坏了怎么办 小米手机wife信号不好怎么办 微博出错了c403怎么办 微信客服没人接怎么办 安装包解析错误怎么办平板 苹果手机新浪免费邮箱用不了怎么办 苹果手机老是弹跳邮箱登陆怎么办 qq长时间不登录上不了怎么办 父母不会说英语怎么办英国签证 美军舰真来台湾怎么办 现役军人回家探亲和人打架怎么办 对四六不懂的人怎么办 赌球小2.5进3球怎么办 皮肤旧伤黑色斑怎么办 小米5c网络不好怎么办 小米去5c卡怎么办 戴尔游匣5577开机黑屏怎么办 三星s6的通知栏拉不下来怎么办 电脑记住密码打不开了怎么办 联想手机升级系统失败了怎么办 日本语言学校申请研究生签证怎么办 在埃塞俄比亚签证过期了怎么办 看完的小说想要卖掉该怎么办 在俄罗斯脸干了痛怎么办 苹果手表电池放亏了怎么办 平板电脑电池不耐用怎么办 计算机电池放入后没反应怎么办 笔记本电脑玩游戏花屏怎么办 笔记本玩游戏花屏怎么办 笔记本电脑充电插口坏了怎么办 车蓄电池没电了怎么办 汤浅q85电瓶亏电怎么办 富士康自离行李怎么办 微店红酒食品认证怎么办 yy频道提示禁止游客进入怎么办