Ⅰ Java 如何实现类似购物车功能
给你介绍三种可以实现购物车功能的方法:
1.用cookie实现购物车;
2.用session实现购物车;
3.用cookie和数据库(购物车信息持久化)实现购物车;
=======================================================
分析一下这三种方法的优缺点:
1.单纯有cookie实现购物车,这样的购物车不是很理想,设想一下,如果客户端的浏览器把cookie给禁用了,这种方法就会在这里流产...
2.session中保存购物车的信息,这个只是在一个会话中可用,如果用户没有登录,或者说登录了以后,添加购物车,在关闭浏览器或者登出后,之前所添加的购物车通通都流产啦...
3.用cookie和数据库(购物车信息持久化)实现购物车;
主要的流程:
A.用户登录前的数据流:用户在没有登录系统的时候,对喜欢的商品进行添加购物车,那么这个时候,我们可以把购物车信息保存
到cookie中,这里会涉及到cookie的添加,修改操作;也即如果之前在cookie中不存对应的cookie,则就对cookie进行添加操作。
如果在cookie中存在对应的cookie,那么,这时候,就要对cookie进行修改操作了(这里涉及到用户对同一个商品进行多次添加购物车的情况)。
B.用户登录后的数据流:用户在登录后,系统首先做的第一件事就是去获取对应的cookies,如果存在相关的购物车cookies,那么就对该购物车
信息进行相应用户User的持久化操作,要么添加,要么修改。(添加操作:该用户所对应的购物车如果没有相应的信息进行添加操作;修改操作:类似的,
如果存在对应用户的购物车信息,就进行修改操作)。用户登录后,也可以进行购物车的添加操作,不过,这里不是添加到cookie中,而是直接持久化到数据库中。
Ⅱ java web购物车
首先你应该对java有个基础的了解,什么是变量,什么事关键字。我先给你每行都注释下
//公共的类,类名为ShopingServlet 继承父类HttpServlet
public class ShopingServlet extends HttpServlet {
实现父类方法doGet 意识就是通过get请求的就会进入这个方法,下面还有一个doPost方法就是通过post方式请求的会进入doPost,至于这两个的区别:doGet安全性差,参数是在浏览器连接中直接显示,然而doPost就是不会显示的安全性要高,这也是最直观的区别
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//通过request获取session
HttpSession session=request.getSession();
//获取参数为id的值
String id=request.getParameter("id");
//判断id的值是否为null
if(id!=null)
{
//id不为空进入这里面,在获取参数为book的值,book的值为数组类型
Book[]book=(Book[])session.getAttribute("book");
在判断book是否为null
if(book!=null)
{
//部位空进入,进行循环
for(int i=0;i<book.length;i++)
{
//判断book数组中的第i个的BookId是否和之前的参数Id相同
if(book[i].getBookId().equals(id))
{
//相同,就把book数组中的第i个的id赋值为空
book[i].setid();
}
}
把当前book存入session中,变量名为book
session.setAttribute("book", book);
}
}
//跳转到页面/test4E/Shopping.jsp
response.sendRedirect("/test4E/Shopping.jsp");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//调用上面的doGet方法
doGet(request,response);
}
}
下面的代码和这个是重复的,不知道为什么你要发布两遍,你可以对比一下
Ⅲ 最近老师叫我们用java web 搞一个购物车,但我的思路很乱,谁能帮我理清一下的啊
这在考虑你在项目管理级别的能力,以及产品设计级别的能力
1)首先你要考虑你要做的购物车涉及到哪些人员使用,这样你可以定出使用人员,譬如管理人员他们负责发布产品,而另一类人群就是购买者。
2)第二你要考虑购物车都会涉及到哪些功能,如产品发布,产品购买,产品结算,报表等等,把功能拆分细分至模块。
3)第三你要考虑各个功能的规则都是怎么样的,比如产品发布首先要选择产品类别,找到产品类别后你要填写描述,不能重复发送多个相同名称的产品等等,这个规则你可以来定,因为毕竟没有明确的需求前,所有的设计都是依靠规则来完成的,如果有需求的话,需求会提供相应明确的规则来辅助你的设计,请罗列出该功能的“要点”,所谓要点就是需要设计时候注意的严重或者需要考虑的。
4)第四你需要整理出哪些功能,应该由什么人可以用操作,这就是角色的控制。
5)第五你要考虑整个流程上的不足,建议你把自己模拟成为一名购买者或者你是一名产品管理员应该怎样做日常的工作来完成你所有的购买及产品发布工作,如果在第二点罗列的不全面,可以对第二点进行补充,然后往返第二步至第五部的思考中,直到你作为一名购买者及一个管理者能够完成整个正常流程。
6)就是要找出对应功能中的实体用于设计库表。
7)进行反例思考,考虑设计库表中的缺陷
8)实现编码。
9)其他(不属于设计期不做解释)
之所以你能问这个问题是说明你考虑到代码细节中去了,缺少整体流程上的把控,建议以上步骤用笔一步一步的在纸上实现,如果你到第五步能够画出整个购买或者发布的功能流程图说明该项目已经可以满足了,最后的设计和编码问题,不好意思只能去啃代码和去“取经”了。希望以上思考方式对你有所帮助,给好评哦亲!
Ⅳ JavaWeb开发中,怎么根据用户来实现单个的购物车,小白入门,请指教。能附上源码跟容易理解谢谢!
1、这个如果连抄数据库就很简袭单了,cart数据库,首先有id,proctID,然后userid,就是买家的id,然后PublishID,视为卖家id,其他的数据从proct表里面读,避免了重复存。
2、如果单纯的起步学习,我还记得我小时候,老师讲用session,用户进入系统后如果要登录就用用户id去存session,不登录就随即生成一个id存session,购物车就根据用户id读session数据。
Ⅳ javaweb开发 在购物车实现的问题
第3中比较好。第一种,javaweb本身在cookie中存放复杂对象就很麻烦,读写量大。第二种,客户下内线sesson一般就会容被移除,这样用户下次登陆时就没有之前购物车信息了。第3中,可以避免上面的不足
Ⅵ 求教java实现购物车的思路
写个用于封装购物车的类,将商品信息都存进去,将其保存在session中就完了
Ⅶ (java WEB)谁能告诉我在大型购物网站中使用什么技术实现购物车的,在线等....只有50分了,一定给
目前购物车的实现主要是通过cookie、session或结合数据库的方式。下面分析一下它们的机制及作用。
1. cookie
cookie是由服务器产生,存储在客户端的一段信息。它定义了一种Web服务器在客户端存储和返回信息的机制,cookie文件它包含域、路径、生存期、和由服务器设置的变量值等内容。当用户以后访问同一个Web服务器时,浏览器会把cookie原样发送给服务器。通过让服务器读取原先保存到客户端的信息,网站能够为浏览者提供一系列的方便,例如在线交易过程中标识用户身份、安全要求不高的场合避免用户重复输入名字和密码、门户网站的主页定制、有针对性地投放广告等等。利用cookie的特性,大大扩展了WEB应用程序的功能,不仅可以建立服务器与客户机的联系,因为cookie可以由服务器定制,因此还可以将购物信息生成cookie值存放在客户端,从而实现购物车的功能。用基于cookie的方式实现服务器与浏览器之间的会话或购物车,有以下特点:
n cookie存储在客户端,且占用很少的资源,浏览器允许存放300个cookie,每个cookie的大小为4KB,足以满足购物车的要求,同时也减轻了服务器的负荷;
n cookie为浏览器所内置,使用方便。即使用户不小心关闭了浏览器窗口,只要在cookie定义的有效期内,购物车中的信息也不会丢失;
n cookie不是可执行文件,所以不会以任何方式执行,因此也不会带来病毒或攻击用户的系统;
n 基于cookie的购物车要求用户浏览器必须支持并设置为启用cookie,否则购物车则失效;
n 存在着关于cookie侵犯访问者隐私权的争论,因此有些用户会禁止本机的cookie功能。
2. session
session是实现购物车的另一种方法。session提供了可以保存和跟踪用户的状态信息的功能,使当前用户在session中定义的变量和对象能在页面之间共享,但是不能为应用中其他用户所访问,它与cookie最重大的区别是,session将用户在会话期间的私有信息存储在服务器端,提高了安全性。在服务器生成session后,客户端会生成一个sessionid识别号保存在客户端,以保持和服务器的同步。这个sessionid是只读的,如果客户端禁止cookie功能,session会通过在URL中附加参数,或隐含在表单中提交等其他方式在页面间传送。因此利用session实施对用户的管理则更为安全、有效。
同样,利用session也能实现购物车,这种方式的特点是:
n session用新的机制保持与客户端的同步,不依赖于客户端设置;
n 与cookie相比,session是存储在服务器端的信息,因此显得更为安全,因此可将身份标示,购物等信息存储在session中;
n session会占用服务器资源,加大服务器端的负载,尤其当并发用户很多时,会生成大量的session,影响服务器的性能;
n 因为session存储的信息更敏感,而且是以文件形式保存在服务器中,因此仍然存在着安全隐患。
3. 结合数据库的方式
这也是目前较普遍的模式,在这种方式中,数据库承担着存储购物信息的作用,session或cookie则用来跟踪用户。这种方式具有以下特点:
n 数据库与cookie分别负责记录数据和维持会话,能发挥各自的优势,使安全性和服务器性能都得到了提高;
n 每一个购物的行为,都要直接建立与数据库的连接,直至对表的操作完成后,连接才释放。当并发用户很多时,会影响数据库的性能,因此,这对数据库的性能提出了更高的要求;
n 使cookie维持会话有赖客户端的支持。
各种方式的选择:
虽然cookie可用来实现购物车,但必须获得浏览器的支持,再加上它是存储在客户端的信息,极易被获取,所以这也限制了它存储更多,更重要的信息。所以一般cookie只用来维持与服务器的会话,例如国内最大的当当网络书店就是用cookie保持与客户的联系,但是这种方式最大的缺点是如果客户端不支持cookie就会使购物车失效。
Session 能很好地与交易双方保持会话,可以忽视客户端的设置。在购物车技术中得到了广泛的应用。但session的文件属性使其仍然留有安全隐患。
结合数据库的方式虽然在一定程度上解决了上述的问题,但从上面的例子可以看出:在这种购物流程中涉及到对数据库表的频繁操作,尤其是用户每选购一次商品,都要与数据库进行连接,当用户很多的时候就加大了服务器与数据库的负荷。
PS:以上是参考网上资料,对购物车实现的分析!
结合你自身的web的访问及部署情况,可考虑优先或结合使用。
如果使用数据库存储,一般考虑使用缓存技术去解决性能问题。
有问题再追问,good luck!~
Ⅷ java web 做购物车的大概思路,和实现步奏是什么
购物车是网上购物平台中的一个重要模块,模拟超市中的购物车功能,即用户在结账前挑选商品的过程。
看完图就会明白,采纳哦。
Ⅸ 急求一个用java web编写的购物车程序,期末考试要用。
查询的资料,找到三种方法:
1.用cookie实现购物车;
2.用session实现购物车;
3.用cookie和数据库(购物车信息持久化)实现购物车;
=========================================================================
分析一下这三种方法的优缺点:
1.单纯有cookie实现购物车,这样的购物车不是很理想,设想一下,如果客户端的浏览器把cookie给禁用了,
这种方法就会在这里流产...
2.session中保存购物车的信息,这个只是在一个会话中可用,如果用户没有登录,或者说登录了以后,添加购物车,在关闭浏览器
或者登出后,之前所添加的购物车通通都流产啦...
其实每次遇到不会的都来求助是很不方便的
如果你想了解和学习更多的JAVA编程,成为一名真正的JAVA高手,你可以来这个裙,前面三个数是四二六 中间是三九六 后面是二八四
把这串数字连起来就可以了,这是一个高手的学习裙,在这里你可以学习到书上学不到的知识,还有大牛相互讨论并指导你解答哦!
3.我这里要说就是这种方法啦.....
主要的流程:
A.用户登录前的数据流:用户在没有登录系统的时候,对喜欢的商品进行添加购物车,那么这个时候,我们可以把购物车信息保存
到cookie中,这里会涉及到cookie的添加,修改操作;也即如果之前在cookie中不存对应的cookie,则就对cookie进行添加操作。
如果在cookie中存在对应的cookie,那么,这时候,就要对cookie进行修改操作了(这里涉及到用户对同一个商品进行多次添加购物车的情况)。
B.用户登录后的数据流:用户在登录后,系统首先做的第一件事就是去获取对应的cookies,如果存在相关的购物车cookies,那么就对该购物车
信息进行相应用户User的持久化操作,要么添加,要么修改。(添加操作:该用户所对应的购物车如果没有相应的信息进行添加操作;修改操作:类似的,
如果存在对应用户的购物车信息,就进行修改操作)。用户登录后,也可以进行购物车的添加操作,不过,这里不是添加到cookie中,而是直接持久化到
数据库中。注:用户登录后的数据都是和数据库打交道。
===========================================
以上就是我的见解 如果有什么不懂可以问我 想学习的童鞋秒懂 供参考 满意请采纳
Ⅹ 用JAVA做购物车的思路
先判断Session中是否有这个购物车List<ShopingItem>没有就创建一个。商品购物项ShopingItem用一个JavaBean封装起来版添加到购物物车权中List<ShopingItem>在遍历里面的集合,是否存在。存在就把封装在Javabean 的数量修改以下就可以了。在保存在Session中去。