温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用JSP的Session机制编写购物车程序

发布时间:2021-11-22 11:45:31 来源:亿速云 阅读:262 作者:小新 栏目:编程语言

小编给大家分享一下怎么用JSP的Session机制编写购物车程序,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

JSP Session 机制购物车之一构建的商品类

◆写一个Goods类,并定义商品的各个属性,返回商品属性的方法,以及商品对象进行比较的方法

◆Goods.java

package com.viita.Shop;   public class Goods implements Comparable {

◆初始化各成员变量

private String Id = null;//商品的编号Id  private String name = null;//商品的名称name  private float price = 0.00F;//商品的价格price  private int number = 0;//商品的数量number  public Goods(String Id, String name, float price, int number) {  this.Id = Id;  this.name = name;  this.price = price;  this.number = number;   }  public String getId() //返回订购商品的编号Id  {  return this.Id;  }  public String getName() //返回订购商品的名称name  {  return this.name;  }  public float getPrice() //返回订购商品的价格price  {  return this.price;  }  public int getNumber() //返回订购商品的数量number  {  return this.number;  }  public int compareTo(Object m) {  // TODO Auto-generated method stub   Goods n = (Goods) m;  int comRs = Id.compareTo(n.Id);  return comRs;   }   }

JSP Session 机制购物车之二购物车实现

◆首先建立Goods(商品)对象goods,并建立建立ArrayList对象ay

◆通过ArrayList对象的方法add()将商品对象添加到ArrayList对象ay中

◆由于ArrayList对象是具有添加和删除成员的方法,从而实现多个商品存储管理于ArrayList对象

◆将ArrayList对象ay存储于session对象当中,实现购物车功能

◆shopcar.jsp

<%@ page language="java" import=" java.sql.*,com.viita.Shop.*,java.util.*" pageEncoding="GBK"%> <%

◆设置编码格式

request.setCharacterEncoding("GBK");

◆获取参数信息

String id = request.getParameter("id");  String name = request.getParameter("name");  int number = java.lang.Integer.parseInt(request.getParameter("number"));  float price= java.lang.Float.parseFloat(request.getParameter("price"));

◆建立商品对象和ArrayList对象

Goods goods = new Goods(id,name,price,number);  ArrayList ay = null;

◆如果session中从未写入过,则将建立的商品对象添加到ArrayList对象当中,并写入 session

if((ArrayList)session.getAttribute("car")==null)  {  ay = new ArrayList();  ay.add(goods);  session.setAttribute("car",ay);  response.sendRedirect("order_index.jsp");  }

◆如果写如过,则将商品对象添加到ArrayList对象当中,并写入 session

else  {  ay=(ArrayList)session.getAttribute("car");

◆如果ArrayList 对象为空,则直接添加到ArrayList对象当中

if(ay.isEmpty())  {  ay.add(goods);  session.setAttribute("car",ay);  response.sendRedirect("order_index.jsp");  }

◆如果ArrayList 对象不为空,则判断购入商品是否已经存在于车中

else  {  Iterator it = ay.iterator();  for(int i = 0;i<ay.size();i++) //下面还有另一种遍历方法  {  Goods shop = (Goods)it.next();

◆如果购入商品已经存在,则打印输入提示信息

if(shop.compareTo(goods)==0)  {  out.println("<script>alert('你已经订购了此商品!');window.close();script>");  }

◆如果购入商品不存在,则直接将商品添加到ArrayList对象当中,并写入 session

else  {  ay.add(goods);  session.setAttribute("car",ay);  response.sendRedirect("order_index.jsp");  }  }  }  }   %>

JSP Session 机制购物车之三删除商品

◆对购物车中的商品进行删除操作

◆removeGoods.jsp

<%@ page language="java" import="java.sql.*,com.viita.Shop.*,java.util.*" pageEncoding="GBK"%> <%

◆设置编码格式

request.setCharacterEncoding("gb2313");

◆获取参数信息

String id = request.getParameter("id");  String name = request.getParameter("name");  float price = java.lang.Float.parseFloat(request.getParameter("price"));  int number = java.lang.Integer.parseInt(request.getParameter("number"));

◆创建符合条件参数要删除的商品对象

Goods goods = new Goods(id,name,price,number);

◆获取session 中存储的ArrayList对象

ArrayList ay = (ArrayList)session.getAttribute("car");  Iterator it = ay.iterator();

◆遍历ArrayList对象,并将ArrayList对象中的元素和创建的符合参数条件要删除的商品进行比较

for(int i = ay.size();it.hasNext();i--)  {  Goods shop = (Goods)it.next();

◆查询是否有ArrayList对象中的元素与要删除的商品相同

if(shop.compareTo(goods)==0)  {  int index = ay.indexOf(shop);

◆如果ArrayList对象已经为空,则跳转

if(ay.isEmpty())  {  response.sendRedirect("order_index.jsp");  }

◆如果ArrayList对象不为空,则从其中移去要与要删除的商品条件相符的元素,并重新写session

else  {  ay.remove(index);  session.setAttribute("car",ay);  response.sendRedirect("order_index.jsp");  }  }  else  {  out.print("程序异常");  }  }  %>

JSP Session 机制购物车是不是使你眼睛豁然一亮的感觉呢?赶紧开始吧,JSP Session机制的使用期待你的尝试。

看完了这篇文章,相信你对“怎么用JSP的Session机制编写购物车程序”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI