请问大家 ,购物车中用java是如何保存订单的信息,用了什么机制来实现的?
解决方案 »
- apache + tomcat 负载均衡 并发问题 求解!
- 两个div不换行,第一个已经有<div align='center'>且不能改变,第二个要怎么定义才能不换行
- 问个问题,为什么TOMCAT挂在自己的主机上外网无法访问
- Applet JButton纠结问题 无法正常显示 请高手出手呀!
- linux服务器下tomcat 频繁出现问题
- 如何把数据库查询 出来的结果生成dbf2格式的文件(不是dbf3哦)急~
- 求Hibernate和Spring的视频教程
- 启动tomcat的时候出现的错误)
- 能够发现Web Service,但是调用的时候出现错误
- 请各位推荐几个J2EE的编译工具^_^
- 生产者-消费者【比较】
- org.jbpm.api.JbpmException: no process definition with key 'process'
当然你也可以加入数据库,比如淘宝。
session.put("shoppingCar",shoppingCar);
session.put("shoppingCar",shoppingCar);
你也可以创建一个购物车表,就不用session存放商品的id和数量了,这样相对于session来说更容易实现。
也可以用cookie。操作跟session类似。
不过各有各的好处和坏处。用session会耗服务器的内存,用数据库会影响数据库性能。cookie不安全,而且可以清空。
推荐楼主看下这个:
http://blog.csdn.net/cooliceman/article/details/3096081
如果不看我把把代码复制出来你看看:
* 开发一个WEB应用,用户通过一个JSP页面car.jsp选择商品提交给add.jsp,该文件负责将商品添加到用户session对象中(相当于用户的购物车),并将session对象中商品显示给用户,用户通过selectRemovedGoods.jsp文件选择要从购物车中删除的商品提交给removeWork.jsp,该文件负责从用户的购物车中删除商品。在网上看到很多人都是用JSP+JAVABEAN实现的此功能,但是这个题目被要求只能用session和Hastable或vector,所以只好自己写了,这是本人写的程序,希望可以和大家分享和共同学习!以下是各个JSP页面的内容 car.jsp<%@ page contentType="text/html;charset=GB2312"%>
<html>
<head></head>
<body>
<%
session.getId();
%>
<form name="f" method="post" action="add.jsp">
<p>这里是第一百货商场,选择您要购买的商品添加到购物车:</p>
<p><select name="selection" >
<option value="电视机">电视机</option>
<option value="电冰箱">电冰箱</option>
<option value="空调">空调</option>
<option value="笔记本电脑">笔记本电脑</option>
<option value="水果">水果</option>
<option value="可口可乐">可口可乐</option>
</select>
<p>输入购买的数量:
<input type="text" name="mount" width="10" value="" align="center"></p>
<p>选择计量单位:
<input type="radio" name="r" value="个">个
<input type="radio" name="r" value="公斤">公斤
<input type="radio" name="r" value="台" checked>台
<input type="radio" name="r" value="瓶">瓶
<input type="submit" name="s1" value="添加到购物车">
</p>
</form>
<form name="f2" action="selectRemovedGoods.jsp" method="post">
<p>您的购物车中有如下货物:</p>
<p><input type="submit" name="b" value="修改购物车中的货物"></p>
</form>
</body>
</html> add.jsp<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="java.util.*"%>
<html>
<head>
</head>
<body>
<form name="form1" action="car.jsp" method="get">
<%!
String s,m,u;
Hashtable h=new Hashtable();
int j=0;
synchronized void getMes(String i,String s)
{
j++;
h.put(i,s);
}
%>
<%
request.setCharacterEncoding("gb2312");
s=request.getParameter("selection");
m=request.getParameter("mount");
u=request.getParameter("r");
if(m.equals(""))
response.sendRedirect("car.jsp");
String str="Name:"+s+"#"+"Mount:"+m+"#"+"Unit:"+u+"<br>";
if(s.equals("电视机"))
getMes("电视机",str);
if(s.equals("电冰箱"))
getMes("电冰箱",str);
if(s.equals("空调"))
getMes("空调",str);
if(s.equals("笔记本电脑"))
getMes("笔记本电脑",str);
if(s.equals("水果"))
getMes("水果",str);
if(s.equals("可口可乐"))
getMes("可口可乐",str);
session.setAttribute("Mes",h);
Enumeration ve=((Hashtable)session.getAttribute("Mes")).elements();
out.println("您的购物车有如下商品:"+"<br>");
while(ve.hasMoreElements())
{ String message=ve.nextElement().toString();
StringTokenizer fenxi=new StringTokenizer(message,"#");
while(fenxi.hasMoreTokens())
{ String st=fenxi.nextToken();
out.print(" "+st);
}
}
%>
<p>
<input type="submit" value="继续购物">
</p>
</form>
<form name="form2" action="selectRemovedGoods.jsp" method="get">
<p>
<input type="submit" value="修改购物车中的物品">
</form>
</body>
</html> selectRemovedGoods.jsp<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="java.util.*"%>
<html>
<head>
</head>
<body>
<form name="f1" method="post" action="removeWork.jsp" >
<p>选择你要从购物车中删除的物品:</p>
<p><select name="select" ><%
Enumeration e=((Hashtable)session.getAttribute("Mes")).keys();while(e.hasMoreElements()){
String message=e.nextElement().toString();
out.println("<option value="+message+">"+message+"</option>");
}
%>
</select>
<input type="submit" name="sub" value="提交删除"></p><%
Enumeration m=((Hashtable)session.getAttribute("Mes")).elements();
out.println("您的购物车有如下商品:"+"<br>");
while(m.hasMoreElements())
{ String message=m.nextElement().toString();
StringTokenizer fenxi=new StringTokenizer(message,"#");
while(fenxi.hasMoreTokens())
{ String st=fenxi.nextToken();
out.print(" "+st);
}
}
%>
</form>
<form name="form2" action="car.jsp">
<p>
<input type="submit" value="继续购物">
</p></body>
</html> removeWork.jsp<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="java.util.*"%>
<html>
<head></head>
<body>
<form name="form1" action="car.jsp">
<%
request.setCharacterEncoding("gb2312");
String s=request.getParameter("select");out.println("您删除了货物:"+s);
out.println("<br>购物车中现在的货物:<br>");
Hashtable h=(Hashtable)session.getAttribute("Mes");
h.remove(s);Enumeration ve=((Hashtable)session.getAttribute("Mes")).elements();
while(ve.hasMoreElements())
{ String message=ve.nextElement().toString();
StringTokenizer fenxi=new StringTokenizer(message,"#");
while(fenxi.hasMoreTokens())
{ String st=fenxi.nextToken();
out.print(" "+st);
}
}
%>
<p><input type="submit" name="sub" value="继续购物"></p>
</form>
</body>
</html>