使用session对象的简易购物车
2015-08-14 15:23
162 查看
使用session对象的简易购物车
session对象是JSP的内置对象,是javax.servlet.http.HttpSession类的实例。当用户登录网站时,系统将为登录用户生成一个独一无二的session对象,并且不同的session对象之间不会相互干扰。这样就可以使用session对象存储特定的用户会话过程的数据,当用户在页面之间跳转时,存储在session中的数据不会被清除,而是跟踪着用户在同一个站点漫游过程中始终存在,只有当会话过期或被放弃时,服务器才终止维持这个对象。
使用session可以实现购物车机制。
商品选择页面shop.jsp
shop_do.jsp
该页面有两个功能,一个是获得客户提交的商品数据并加入到购物车,另一个是实现购物流程的控制(继续购物或结账)。
pay.jsp
该页面完成结账处理。主要功能是把购物车里面所有商品名称显示给客户(实际中要远比这样处理复杂的多)
session对象是JSP的内置对象,是javax.servlet.http.HttpSession类的实例。当用户登录网站时,系统将为登录用户生成一个独一无二的session对象,并且不同的session对象之间不会相互干扰。这样就可以使用session对象存储特定的用户会话过程的数据,当用户在页面之间跳转时,存储在session中的数据不会被清除,而是跟踪着用户在同一个站点漫游过程中始终存在,只有当会话过期或被放弃时,服务器才终止维持这个对象。
使用session可以实现购物车机制。
商品选择页面shop.jsp
<body> <form id="form1" name="form1" method="post" action="shop_do.jsp"> <p><strong>请选择你要购买的商品</strong></p> <table width="300" border="1"> <tr> <td>商品名:</td> <td><input type="text" name="goods"></td> </tr> <tr> <td colspan="2"> <div align="center"> <input type="submit" name="Submit" value="加入购物车"> <input type="reset" name="Submit2" value="重选"> </div> </td> </tr> </table> </form> </body>
shop_do.jsp
该页面有两个功能,一个是获得客户提交的商品数据并加入到购物车,另一个是实现购物流程的控制(继续购物或结账)。
<body> <% String goodsName = request.getParameter("goods");//获取商品名称 if(!goodsName.equals("")){ goodsName = new String(goodsName.getBytes("ISO-8859-1"),"UTF-8"); //解决中文乱码问题 ArrayList list = null; //定义保存商品的动态数组 list = (ArrayList)session.getAttribute("list"); //通过list属性取得购物车 if(list==null){ list = new ArrayList(); list.add(goodsName); session.setAttribute("list", list); }else{ list.add(goodsName); } %> <% }else{ response.sendRedirect("shop.jsp"); } %> <center> <strong>提示:您刚才选择了商品 <font color="red"><%=goodsName %></font> ,请问您还想做什么? </strong><br><br> <button onclick="location.href='shop.jsp'">继续购买商品</button> <button onclick="location.href='pay.jsp'">到收银台结账</button> </center> </body>
pay.jsp
该页面完成结账处理。主要功能是把购物车里面所有商品名称显示给客户(实际中要远比这样处理复杂的多)
<body> 非常感谢您的光临!您本次在我们这里购买了一下商品:<br> <% ArrayList list = (ArrayList)session.getAttribute("list"); for(int i=0;i<list.size();i++){ String goodsName = (String)list.get(i); %> 商品:<%=i %>:<%=goodsName %><br> <%} %> </body>
相关文章推荐
- Android训练课程(Android Training) - 测试你的Android Activity
- Android Studio 学习笔记(1)
- git 忽略已经添加到版本库的文件
- Android训练课程(Android Training) - 使用Volley传输网络数据(Transmitting Network Data Using Volley)
- For循环输出九九乘法表
- Win7下通过eclipse远程连接CDH集群来执行相应的程序以及错误说明
- Linux多线程之优先级
- hadoop+nutch+solr搜索引擎配
- CSU 1113 Updating a Dictionary
- Android屏幕适配总结
- 每日一题(13)——24点 (分治&递归)
- Android指南 - 主题
- Android指南 - 样式和主题
- Android训练课程(Android Training) - 构建你的第一个应用
- Android训练课程(Android Training) - 添加活动栏(使用action bar)
- Android设计 - 图标设计概述(Iconography)
- 汉字转拼音首字母的java实现
- android开发(41) Fragment中使用POP_BACK_STACK_INCLUSIVE达到一次跳转到栈底。类似Activity的 采用FLAG_ACTIVITY_CLEAR_TOP
- Android开发,在Fragment中,隐藏或关闭软键盘(虚拟键盘)的方法
- Android开发,使用背景图(xml drawable)为view 设置边框