2015.11.26购物车,非cookie版

【点击来,你发现被骗了(笑哭,笑哭,笑哭,源代码的话,留下邮箱吧,是在不好找这一时半会儿的。)】

Jsp通过反射机制获取bean中的标签,但其实,可以没有真实的属性与之对应。只要是符合getset方法设置的名字,就可以通过el表达式在jsp页面中获取。

更新核心代码:

private void update(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

Enumeration<String> enumeration = request.getParameterNames();//得到参数名字们。

ShoppingCar shoppingCar = (ShoppingCar) request.getSession().getAttribute("shoppingCar");

Map<Integer, GoodsInCar> map = shoppingCar.getMap();

while(enumeration.hasMoreElements()){

String idString = enumeration.nextElement();//取得某一个参数

if(!"method".equals(idString)){//参数名不能为 update。因为 它并不对应一个值。

String value = request.getParameter(idString);//通过参数名获得对应参数值。

System.out.println(map.containsKey(Integer.parseInt(idString)));//key这个类型不一样可以么?先把正确的试出来,然后再试奇葩的。

//改几个,输出几个true就对了,好吧类型要一直应该

//不是应该,而是,就是! 虽然是object但是 类型必须对应一致!

map.get(Integer.parseInt(idString)).setNumber(Integer.parseInt(value));//也改成了

}

}

lookMyCar(request, response);

}

更新核心代码:

containsKey要求必须类型一致。

复习:

监听器:

requestListener httpSessionListener servletContexListener

这些对象创建和销毁的监听

RequestAttributeListener HttpSessionAttributeListener

ServletContextAttributeListener

给这些对象上,添加 删除 修改 属性的时候监听

利用 HttpSessionLIstener 的销毁方法做在线用户列表的更细(如果用户超过30min未操作的话)

2、自定义标签

1)标签处理程序

2)标签描述文件tld

3)Jsp页面taglib uri tld (uri,tld目录)

标签处理程序:当执行到某个标签的开始,结束时调用。在对应的标签处理程序中(java代码),执行对应的方法,在对应的方法中操作jsp页面。

JspContext PageContext JspWriter BodyContext

通过 这几个对象,就可以操作jsp页面中的数据。

分页标签:给处理程序的属性赋值的时候,实际就是给定标签的属性值。

标签有没有属性,怎么样的属性,是否允许在jsp页面中给值,是在标签的描述文件也就是对应的tld文件中,配置值:attribute,是否是必须的,是否是需要从jsp中给出的。

本天内容:

购物车:

1、学一个能够描述,现实生活中的购物车类,当需要购物车的时候,就new一个出来。

2、把所有的商品展现出来

3、添加购物车

4、删除购物车中某一个商品(多选框,全部删除)

5、修改购物车,购买商品的数量

6、每一种商品的总价,整个购物车中所有商品的总价。

购物车非cookie版的更多相关文章

  1. [转].net cookie版购物车

    本文转自:http://www.sulong.cc/article/program/aspx/110613114249.html #region 添加到购物车AddShoppingCar /// &l ...

  2. js 控制Div循环显示 非插件版

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. python练习_购物车(简版)

    python练习_购物车(简版) 需求: 写一个python购物车可以输入用户初始化金额 可以打印商品,且用户输入编号,即可购买商品 购物时计算用户余额,是否可以购买物品 退出结算时打印购物小票 以下 ...

  4. SpringBoot整合Mybatis【非注解版】

    接上文:SpringBoot整合Mybatis[注解版] 一.项目创建 新建一个工程 ​ 选择Spring Initializr,配置JDK版本 ​ 输入项目名 ​ 选择构建web项目所需的state ...

  5. [C++]竞赛模板·数据统计与IO(重定向版与非重定向版)

      /* 数据统计与IO 重定向版模板 描述:本机测试用文件数据流重定向,一旦提交到比赛就自动“删除”重定向语句 */ # define LOCAL #include<stdio.h> # ...

  6. 购物车存到cookie

    为什么不存session? 首先,session存在时间限制,会定期清空的,而cookie如果不主动清或者设置定期则不会清楚: session存放在服务器端,cookie存放在客户端浏览器. 购物车存 ...

  7. mysql 非安装版的配置

    一直以来都是使用wamp中集成的mysql数据库,今天突然想试试下载一个mysql的zip包进行配置. 一.下载mysql非安装版 下载地址可以到:http://dev.mysql.com/downl ...

  8. UOJ34 多项式乘法(非递归版)

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  9. Eclipse下创建Spring MVC web程序--非maven版

    首先, 安装eclipse和tomcat, 这里我下载的是tomcat9.0版本64位免安装的:地址https://tomcat.apache.org/download-90.cgi 免安装的如何启动 ...

随机推荐

  1. poj炮兵阵地(状压)(25+10+20=55)

    http://poj.org/problem?id=1185 刚开始思路就错了 想着用保存这一行的状态 然后再去枚举前面两行的状态 这样不能保证前面两行的状态同时满足要求 正解:保存两行的状态 再依次 ...

  2. [Hadoop源码解读](一)MapReduce篇之InputFormat

    平时我们写MapReduce程序的时候,在设置输入格式的时候,总会调用形如job.setInputFormatClass(KeyValueTextInputFormat.class);来保证输入文件按 ...

  3. BZOJ3781: 小B的询问

    3781: 小B的询问 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 146  Solved: 98[Submit][Status] Descript ...

  4. apache开源项目--HydraBase

    Facebook 在官方博客上宣布推出HBase数据库的升级版——HydraBase, Facebook是HBase的重度用户,Facebook的HBase数据库系统存储着Facebook的很多关键业 ...

  5. 理解SVG坐标系和变换:视窗,viewBox和preserveAspectRatio

    SVG元素不像HTML元素一样由CSS盒模型管理.这使得我们可以更加灵活定位和变换这些元素-也许一眼看上去不太直观.然而,一旦你理解了SVG坐标系和变换,操纵SVG会非常简单并且很有意义.本篇文章中我 ...

  6. Android 开发性能优化之SparseArray(一)

    多数Android开发者都知道在Android中可以使用HashMap来映射一种对应关系,在java开发中HashMap也算是一种很重要的数据存储结构.然后很多人在Android开发中多数都会用Has ...

  7. GPIO

    一.什么是GPIO?       首先应该理解什么是GPIO.GPIO,英文全称为General-Purpose IO ports,也就是通用IO口.在嵌入式系统中常常有数量众多,但是结构却比较简单的 ...

  8. NGINX(二)内存池

    ngxin中为了加快内存分配的速度,引入了内存池, 大块申请, 减少分配次数, 小块分割, 极大的提高了内存申请速度, 另外一个用途就是省去了很多内存管理的任务,因为这里没有提供内存释放的功能,也就是 ...

  9. LoadRunner脚本优化之—参数化迭代介

    在LoadRunner的脚本优化时,有时发送给服务器的请求参数化时,服务器返回的内容也会和参数化的内容相对应,例如发送的请求带有查询key=123,则服务器也会返回含有123相关的内容.这时我们在使用 ...

  10. 三种情形容易引起Azure虚拟机重新启动

      与虚拟机或云服务角色中运行的代码有关的问题可能会导致重新启动.但是,Microsoft 在以下情况下也会重新启动您的角色: 来宾操作系统更新 – 仅影响云服务 Web 和辅助角色.有关如何限制这些 ...