A. javaweb开发 在购物车实现的问题
第3中比较好。第一种,javaweb本身在cookie中存放复杂对象就很麻烦,读写量大。第二种,客户下内线sesson一般就会容被移除,这样用户下次登陆时就没有之前购物车信息了。第3中,可以避免上面的不足
B. 最近老师叫我们用java web 搞一个购物车,但我的思路很乱,谁能帮我理清一下的啊
这在考虑你在项目管理级别的能力,以及产品设计级别的能力
1)首先你要考虑你要做的购物车涉及到哪些人员使用,这样你可以定出使用人员,譬如管理人员他们负责发布产品,而另一类人群就是购买者。
2)第二你要考虑购物车都会涉及到哪些功能,如产品发布,产品购买,产品结算,报表等等,把功能拆分细分至模块。
3)第三你要考虑各个功能的规则都是怎么样的,比如产品发布首先要选择产品类别,找到产品类别后你要填写描述,不能重复发送多个相同名称的产品等等,这个规则你可以来定,因为毕竟没有明确的需求前,所有的设计都是依靠规则来完成的,如果有需求的话,需求会提供相应明确的规则来辅助你的设计,请罗列出该功能的“要点”,所谓要点就是需要设计时候注意的严重或者需要考虑的。
4)第四你需要整理出哪些功能,应该由什么人可以用操作,这就是角色的控制。
5)第五你要考虑整个流程上的不足,建议你把自己模拟成为一名购买者或者你是一名产品管理员应该怎样做日常的工作来完成你所有的购买及产品发布工作,如果在第二点罗列的不全面,可以对第二点进行补充,然后往返第二步至第五部的思考中,直到你作为一名购买者及一个管理者能够完成整个正常流程。
6)就是要找出对应功能中的实体用于设计库表。
7)进行反例思考,考虑设计库表中的缺陷
8)实现编码。
9)其他(不属于设计期不做解释)
之所以你能问这个问题是说明你考虑到代码细节中去了,缺少整体流程上的把控,建议以上步骤用笔一步一步的在纸上实现,如果你到第五步能够画出整个购买或者发布的功能流程图说明该项目已经可以满足了,最后的设计和编码问题,不好意思只能去啃代码和去“取经”了。希望以上思考方式对你有所帮助,给好评哦亲!
C. (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!~
D. 各位java web大神,求帮忙看个超小的demo,实现一个简单的购物车功能,出现了很让人费解的问题,不看后悔
我运行了你的代码获取到的是同一个session啊,没问题啊
E. java web 做购物车的大概思路,和实现步奏是什么
购物车管理模块主要功能有如下几个部分:(1)创建购物车 当客户登录后,系统会给客户创建一个购物车放入服务器的Session会话中。使客户在整个会话中都拥有一个相同的购物车。这里主要运用了Http协议中的会话机制,将购物车保存在客户的会话中,这样在整个客户游览不同页面商品的过程中,都会使用同一个购物车对象。 具体执行步骤:(1)从客户的请求对象中获取Session会话对象(2)从会话对象中获取购物车对象(3)判断是购物车对象是不是空的,如果是空是就创建一个 /* * 在监听到session被创建之后,就立即向session中添加一个购物车Car; */ public void sessionCreated(HttpSessionEvent arg0) { HttpSession session = arg0.getSession(); Cart cart=new Cart(); session.setAttribute("cart", cart); } /* * 从session中获得购物车 */ Cart cart = (Cart) session.getAttribute("cart"); if (cart == null) { cart = new Cart(); }(2)向购物车中添加一个商品项 客户在查看网页上的一个商品时,当向服务器发送一个“添加到购物车”的请求时,会执行这个功能。功能执行过程:(1)从客户请求对象中获取商品的ID(2)调用业务层的方法根据商品ID去数据查询商品的信息,返回商品对象(3)从商品对象中获取商品名,商品价格,来构建一个商品项对象(4)从Session会话中获取购物车对象(5)调用业务层的方法来根据购物车对象和商品项对象来执行添加操作(6)将些商品项对象放入到购物车中 部分实现代码: /* * 从数据库中把商品取到; */ ProctService proctService = (ProctService) ServiceFactory.getInstance().getService(Globals.PRODUCT_SERVICE); Integer id = Integer.parseInt(request.getParameter("proctid")); Proct proct = proctService.getProctById(id); /* * 在向购物车中添加商品的时候会判断商品是否已经存在, * 已存在的就不让在加入了; */ if (cart.isExist(id)) { message = "该商品已经存在!请<a onclick='javascript:history.go(-1)'>返回</a>!"; request.setAttribute("message", message); return mapping.findForward("error"); } else { /* * 向购物车添加一个商品; */ cart.addCart(proct); session.setAttribute("cart", cart); return mapping.findForward("addcartsuccess"); }
F. web前端购物车功能实现
其实思路都是很简单的,如果你要纯前端的实现,那用Javascript或者jquery就可以做了,如果想前后端联动,那么具体数据操作你就提交到后台,然后后台重新返回页面就可以了
G. 谁有java web开发实战1200例第23章综合运用那章,有购物车和聊天室的例子。那一章的源码,跪求
我好像有,你等下,我找找看哈!!!
H. Java Web典型模块与项目实战大全的目录
第1篇 开发工具及框架概述
第1章 开发前奏
教学视频:25分钟
1.1.1 JavaWeb应用概述
1.1.1 JavaWeb应用程序基础:HTTP协议
1.1.2 Java.Web容器(Servlet+JavaBean+JSP)
1.1.3 两种模式:Modell模式和Model2模式
1.1.4 MVC设计思想
1.2 配置开发环境
1.2.1 下载工具包JDK
1.2.2 安装工具包JDK
1.2.3 下载服务器Tomcat
1.2.4 安装服务器Tomcat
1.2.5 下载开发环境MyEclipse
1.2.6 安装开发环境MyEclipse
1.2.7 下载数据库服务器’MySQ[
1.2.8 安装数据库服务器MySO[
1.2.9 下载数据库服务器Oracle
1.2.1 0安装数据库服务器Oracle
1.2.1 1安装数据库服务器Oracle客户端
1.3 基础技术简单简介
1.3.1 Servlet服务器端编程
1.3.2 关于SetMet程序的编写
1.3.3.JSP主流网站开发技术
1.3.4.JSP的一些基本语法
1.3.5 JavaBean组件技术
1.3.6 JavaBean的属性——简单属性
1.3.7 JavaBean的属性——复杂属性
1.4 核心框架初步认识
1.4.1 实现了MVC模式的Structs框架
1.4.2 无侵入性的SprJng框架
1.4.3 简单灵活的Guice框架
1.4.4 实现持久化的Hibernate框架
1.4.5 实现JPQL语言的.IPA框架
1.4.6 实现数据映射器的iBATIS框架
1.4.7 用于开发服务器端用户界面的JSF框架
I.4.8 实现了异步交换的AJAX框架
1.5 小结
第2章 MyEclipSO开发工具对各种框架的支持:
教学视频:51分钟
2.1 使用JSP的两种模式
2.1.1 开发环境MyEclipse对模式1的支持
2.1.2 开发环境MyEclipse对模式2的支持
2.2 Struts框架的实现
2.2.1 下载和分析Strutits1.x框架包
2.2.2 用MyEclipse实现Struts1.x框架环境
2.2.3 用.MyEclipse实现Struts1.x项目
2.2.4 分析Struts1.x框架
2.2.5 用MyEclipse实现Struts2.x框架环境
2.2.6 用MyEclipse实现Struts2.x项目
2.2.7 分析Struts2.x框架
2.3 Hibernate框架的实现
2.3.1 下载和了解Hibernate框架
2.3.2 用MyEclipse实现Hibernate框架环境
2.3.3 MyEclipse对Hibernate框架支持——关系数据库到对象映射
2.3.4 Hibernate框架中经常用到的工具类
2.4.IPA框架的实现
2.4.1 用MyEclipse实现.JPA框架环境
2.4.2 MyEclipse对JPA框架支持——添加实体
2.4.3 MyEclipse对JPA框架支持——单个类转成JPA实体
2.5 Spring框架的实现
2.5.1 用MyEclipse实现Spring框架环境
2.5.2 用MyEclipse实现Spring项目
2.5.3 MyEclipse对Spring框架方面的支持
2.6.JSF框架的实现
2.6.1 用MyEclipse实现JSF框架环境
2.6.2 用MyEclipse实现.JSF框架项目
2.7 AJAX框架的实现.
2.7.1 用MyEclipse实现AJAX
2.7.2 分析AJAX技术
2.8 使用JDBC连接数据库
2.8.1 JDBC的基本概念
2.8.2 JDBC的基本步骤
2.9 小结
第3章 实现各种框架的集成
教学视频:54分钟
3.1 Spring框架与其他框架的集成原理
3.1.1 依赖查找方式实现spmg与struts集成
3.1.2 Action注入方式实现Spring与Struts集成
3.1.3 Spring集成Hibemate——事务代理功能
3.2 实现sSH三种框架环境集成
3.2.1 配置数据库字符集体
3.2.2 集成Hibernate
3.2.3 集成Spring框架
3.2.4 集成Struts1.x框架
3.3 实现Spring与struts2.x集成
3.3.1 关于spring框架的插件
3.3.2 Spring与snuts2.x框架集成
3.4 实现Spring、sla'uts2.x和Hibernate框架集成
3.4.1 Hibernate与Struts2.x框架集成
3.4.2 Struts2.x和JPA框架集成
3.4.3 Struts2.x、Spring和Hibemate框架集成
3.5 小结
第2篇 典型模块开发
第4章 在线文本编辑器(FCKeditor)
教学视频:14分钟
4.1 分析FCKeditor在线文本编辑器
4.1.1 FCKeditor在线文本编辑器功能描述
4.1.2 下载FCKeditor在线文本编辑器相关软件
4.1.3 FCKeditor在线文本编辑器目录简介和开发文档
4.2 FCKed.itor在线文本编辑器初级应用
4.2.1 利用JavaScript语言调用FCKeditor在线文本编辑器
4.2.2 利用JSP标签调用FCKeditor在线文本编辑器
4.3 FCKedicor在线文本编辑器常用配置
4.3.1 修改配置文件
4.3.2 自定义工具栏
4.3.3 设置常用的字体和键行为
4.3.4 修改插入表情图标
4.4 FCKeditor在线文本编辑器高级应用
4.4.1 FCKeditor在线文本编辑器上传文件配置
4.4.2 FCKeditor在线文本编辑器上传文件配置——中文乱码(一)
4.4.3 FCKeditor在线文本编辑器上传文件配置——中文乱码(二)
4.4.4 FCKeditor在线文本编辑器配置上传文件类型
4.5 小结
第5章 验证模块(JSP+Serylet+JSValldation)
教学视频:48分钟
5.1 表单基础
5.1.1 表单的基础内容
5.1.2 表单必备功能
5.1.3 表单功能具体实现
5.2 客户端表单验证框架
5.2.1 下载客户端表单验证框架(JSValidation)
5.2.2 JSValidation表单验证框架使用
5.3 服务器端验证
5.3.1 校验输入字符工具类
5.3.2 处理输入字符类
5.4 实现图形验证码
5.4.1 为什么要使用验证码技术
5.4.2 图形验证码的具体实现
5.5 避免重复提交功能
5.5.1 客户端避免重复提交
5.5.2 服务器端避免重复提交
5.6 缩略加水印图像
5.6.1 缩略加水印图像应用框架分析
5.6.2 实现缩略加水印工具类
5.6.3 对图像实现缩略加水印
5.7 小结
第6章 网络硬盘(JSP+Servlet)
教学视频:27分钟
6.1 网络硬盘功能原理
6.1.1 网络硬盘框架分析
6.1.2 网络硬盘功能描述
6.2 网络硬盘功能具体实现——浏览磁盘和显示文件信息
6.2.1 实现相关工具类
6.2.2 浏览磁盘
6.2.3 浏览磁盘里的文件夹和文件
6.2.4 显示文件夹和文件的内容
6.3 网络硬盘功能具体实现——操作文件夹和文件
6.3.1 删除文件夹和文件
6.3.2 查找文件夹和文件
……
第7章 网站统计模块(JSP+Servlet)
第8章 网络购物车(JSP+Servlet+JavaBean)
第9章 搜索索引(Lucene+Web Spider)
第10章 在线网上支付(JSP+Swrvlet+JavaBean)
第11章 JavaWeb邮件发送系统(JSP+Servlet+JavaBean)
第12章 网络留言板(JSP+Servlet+JavaBean)
第13章 网络留言板续——Oracle数据库
第14章 AJAX技术JQuery框架的经典应用
第15章 在线文件上传和下载(Struts 2.X+FileUpload)
第16章 网上投票系统(Struts2.X+JFreeChat)
第17章 商业银行网上账户管理系统(Struts2.X)
第18章 Hibernate分页系统(Hibernate3.0)
第19章 生成报表(Struts 2.X+Hibernate+JXL)
第20章 数据格式转换(Struts 2.X+Hibernate+Dom4j)
第21章 用户维护功能(Struts 2.X+iBATIS)
第22章 用户登录模块(Struts 2.X+Guice+国际化)
第3篇 项目案例实战
第23章 在线音乐管理系统(AJAX+JSP+Struts 2.X)
第24章 数据汇聚系统(Struts 2.X+Spring+iBATIS)
第25章 投票管理系统(Struts 2.X+Spring+Hibernate)
第26章 权限管理系统(Struts 2.X+Spring+JPA)
第27章 商业银行设备巡检系统(Struts 2.X+Spring+Hibernate)
I. JavaWeb开发中,怎么根据用户来实现单个的购物车,小白入门,请指教。能附上源码跟容易理解谢谢!
1、这个如果连抄数据库就很简袭单了,cart数据库,首先有id,proctID,然后userid,就是买家的id,然后PublishID,视为卖家id,其他的数据从proct表里面读,避免了重复存。
2、如果单纯的起步学习,我还记得我小时候,老师讲用session,用户进入系统后如果要登录就用用户id去存session,不登录就随即生成一个id存session,购物车就根据用户id读session数据。