⑴ servlet购物车的理解,还有就是session的运用,求指教。。
这下面是我当初做当当网demo的购物车设计笔记,希望对你有所帮助购物车功能
点击购买,将产品添加到购物车,存储购物车里面,把购物车里的产品以列表的形式显示出来,而且有变更功能删除功能
借助存储用session,为了内聚性高些,封装购物车组件
构建组件car
构建cart接口
方法public void add(int id)throws Exception;添加,尽可能传入有用的参数
组建写好以后,调用购买的action,AddCartAction,接受的请求参数,private id;写一个baseAction类,来获取session用的
public String execute(){
Cart cart=(Cart)session.get("cart");
if(cart=null){
cart=new CartImpl;
session.put("cart",cart);
}
cart.add(id);
session.put("cart", cart);
return success;
}
构建删除的action,也需要参数id
public String execute(){
Cart cart=(Cart)session.get("cart");
if(cart=null){
cart=new CartImpl;
session.put("cart",cart);
}
cart.delete(id);
session.put("cart", cart);
return success;
}
我想使用cart组件,所以要提取再封装
引入工厂,CartFactory干吗用的?
这样的,来个静态的static返回一个对像,类型cart类型
public static Cart getCart(Map<Integer,Object> session){
Cart cart=(Cart)session.get(Constant.CART_SESSION);
if(cart=null){
cart=new CartImpl;
session.put("cart",cart);
}
return cart;
}
而后cart代码以上全部更换代码
定义共通的常量
public class Constant{
//session key
public static finnal String CART_SESSION="cart";
//application key
}
显示购物车
划分显示
需要写一个CartAction来初始化显示界面
private List<CartItem> buylist;
private List<CartItem> dellist;
private double total;//总计金额
private double sale;//优惠金额 需要Cart对象往回传,继续在Cart里追加方法,public double totalDangPrice()throws Exception
public double totalshijiPrice()throws Exception;
private String execute{
获取cart
通过那个CartFactory获取cart
实例化上面的属性,之后到页面显示
}
在 CartInterface中追加方法,public List<CartList>getPros(boolean buy)throws Exception();
从store将=buy标示的pro返回
已进入购物车界面先去查找,有没有cookie存在
⑵ 求J2EE做一个简单的购物车系统 servlet+javabean+html的最好,谢谢!
老兄,既然简单,何不自己动手呢,岂不更有感觉。知道原理,这功能做起来不难。要内html是做什么用,动态语言里容面,他只能做静态页面。写一些js,提交表单,仅此而以,后台的值它一样都获取不了。
购物车,说白了就是服务器内存里面的一个对象,然后到客户端去显示。当然也可以永远的保存到数据库,这里就不说了。它可以是List,也可以是Set,可以put(商品),也可以remove(商品),还可以clear(商品),对象存放于session,随时可以取用
⑶ jsp+servlet做的购物网站怎么绑定用户和购物车(实现每个用户有独立的购物车)
当然是持久化到数据库中了;
建一个购物车表,用户ID作为外键约束,添加删除内购物车的时候直接容操作数据库就行了;
如果要实现用户不登录也有购物车的功能,就加一个cookie,把商品存在cookie里,浏览器不关闭就都在;
⑷ java中servlet的购物车程序是怎么样的流程
购买过程就是选择好物品放入购物车然后结账
import java.util.Vector;public class gouwuche { /**
* @param args
*/
private static Vector vec = new Vector();
public static void gw(String name,int price,int sum)
{
gouwuchebean bean;
if(vec.size()>0)
{
//说明购物车内有物品 进来比对 看是否有一样的东西 有的话让数量+sum
bean = new gouwuchebean();
int j=0;//用来计数
for(int i=0;i<vec.size();i++)
{
gouwuchebean bean1 = (gouwuchebean)vec.get(i);
if(bean1.getName().equals(name))
{
j++;
bean.setName(name);
bean.setPrice(price);
bean.setSum(sum+bean1.getSum());
vec.remove(i);//去掉原来的数据
vec.add(bean);//放入新的数据
}
}
if(j==0)
{
bean.setName(name);
bean.setPrice(price);
bean.setSum(sum);
vec.add(bean);
}
}
else
{
//如果集合是空的说明购物车内没有重复的 直接放入即可
bean = new gouwuchebean();
bean.setName(name);
bean.setPrice(price);
bean.setSum(sum);
vec.add(bean);
}
}
public static void show()
{
System.out.println("=============购物车当前物品==============");
int sum = 0;//用来计一共有几件物品
int pric = 0;//用来计共消费金额
for(int i=0;i<vec.size();i++)
{
gouwuchebean bean = (gouwuchebean)vec.get(i);
sum = sum+bean.getSum();
pric = pric+(bean.getPrice()*bean.getSum());
System.out.println("*第"+(i+1)+"种物品-----名称:"+bean.getName()+"---数量是:"+bean.getSum()+"---单价是:"+bean.getPrice()+"元----共计"+(bean.getSum()*bean.getPrice()+"元"));
}
System.out.println("物品共计"+sum+"件 共计金额是:"+pric+"元");
System.out.println("=============欢迎使用购物车==============");
}
public static void main(String[] args) {
// TODO Auto-generated method stub gw("电视机",100,1);//选择购买物品 价格和数量还有名字
gw("可口可乐",100,9);
gw("电视机",100,9);
gw("西瓜",10,5);
gw("电动车",3000,2);
gw("奥迪A6",4000000,2);
show();
}}测试结果
⑸ JSP 与 Javascript Servlet 交互实现 添加购物车的功能
用form 的 request,或者用xmlhttprequest。
⑹ java购物车用servlet做,sql数据库,能实现基本增加、删除、修改商品,结账,然后下订单,求源代码
加入购物车的代码:
//把商品保存到session中
HttpSession session=request.getSession();
List<Goods> list=(List) session.getAttribute("list");
int gid=Integer.parseInt(request.getParameter("gid"));
int num=Integer.parseInt(request.getParameter("num"));
Goods goods=null;
if(list==null || list.size()<0){
list=new ArrayList();
}else{
for (Goods g : list) {
if(g.getGid()==gid){
goods=g;
g.setSum(g.getSum()+num);
break;
}
}
}
if(goods==null){
goods=goodsDao.queryGoodsByG_id(gid);
goods.setSum(num);
list.add(goods);
}
session.setAttribute("list", list);
request.getRequestDispatcher("/index.jsp").forward(request, response);
增加、删除、修改商品差不多,只是sql语句不同
⑺ 如何用servlet写一个简单的购物车系统
一个不用连接数据库的方法是为每个用户创建一个session,在这个session里面存一个List放用户内的商品,以后当每容次需要放入是都可以先用session来获取这个List以后再往List里面添加你的商品,最后需要结账的时候只要把这个List里面的元素遍历出来就可以了
⑻ 用J2EE实现一个购物车的功能,需要有源代码,在myEclipse中能打开,求各位高手指教
是把你抄买的物品加入购物车吧!我知袭道这样的一个思路:当你点击商品时,点击购买此物品,就进入了servlet类里,然后在servlet类里面,你先要判断是否存在此商品,如果存在则保存在session里,如果不存在则重新new一个集合,再保存到session里,然后重定向到JSP界面。当然,servlet类要调用了Dao包里的方法。思路大概流程是这样的,具体代码实现,我也不是很清楚!我觉得思路有,代码慢慢来就可以去实验,相信可以的!不知这个答案你是否满意。
⑼ jsp+servlet怎样实现网上购物车功能
利用cookie去写应该可以