- 浏览: 1357891 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (453)
- Struts2 (4)
- Struts1 (16)
- Spring (9)
- Hibernate (5)
- AJAX (16)
- MS Server (9)
- Oracle (35)
- 测试技术 (5)
- 其他 (37)
- JSF (1)
- EJB (5)
- ASP.NET (9)
- iBATIS (5)
- Struts Spring Hibernate (2)
- HTML (12)
- Eclipse使用 (5)
- 设计模式 (5)
- JSP (32)
- 正则表达式 (2)
- 服务器 (12)
- Java基础 (48)
- MySQL (4)
- 面试 (22)
- UML (1)
- 数据结构 (3)
- Ant (2)
- 规范 (4)
- JavaScript (29)
- 软件使用及技巧 (25)
- PHP (1)
- DWR (3)
- FreeMarker (1)
- ExtJs (17)
- JFreeChart (9)
- Reports (2)
- JavaException (1)
- Java Mail (1)
- Flex (9)
- 异常 (12)
- Log4j (2)
- WebService (1)
- jQuery (1)
- Sybase (2)
- myeclipse_plugin (2)
- Linux (5)
- jbpm (2)
- SCM (1)
- mongoDB (1)
最新评论
-
lihua2008love:
<typeAlias alias="User& ...
IBATIS简单操作 -
lihua2008love:
...
关于项目框架设计的一点学习 -
c_jinglin:
我使用<OBJECT CLASSID="cls ...
这就是个静态页面通过js控制mscomm对某com设备进行访问的例子. -
zlbjava:
赞,用了还不错
java获取请求的ip地址,并解析ip所属地区 -
完美天龙:
cs842813290 写道楼主,我明白的地方:在链表已有N个 ...
JAVA实现双向链表
Cusorderitem.java 封装了相关的商品购买信息
SessionUser.java 验证用户是否登录,只有合法用户才能拥有购物车
CookieUtil.java 对购物车中的商品信息进行操作时的应用
package com.yahaitt.model; import java.io.Serializable; import com.yahaitt.util.PageProperty; /** * Cusorderitem generated by jwgen * * @author mahaibo * 2007-08-26 17:27:41 */ public class Cusorderitem extends PageProperty implements Serializable { private Integer id; private Integer quantity; private Float unitprice; private String color; private String chic; private Cusorder cusorder; private Product product; /*-----------------default construct-----------*/ public Cusorderitem() { } /*-----------------sample construct--------------*/ public Cusorderitem( Integer id ) { this.id = id; } /*-----------------full construct--------------*/ public Cusorderitem( Integer id, Cusorder cusorder, Product product ) { this.id = id; this.cusorder = cusorder; this.product = product; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getQuantity() { return quantity; } public void setQuantity(Integer quantity) { this.quantity = quantity; } public Float getUnitprice() { return unitprice; } public void setUnitprice(Float unitprice) { this.unitprice = unitprice; } public Cusorder getCusorder() { return cusorder; } public void setCusorder(Cusorder cusorder) { this.cusorder = cusorder; } public Product getProduct() { return product; } public void setProduct(Product product) { this.product = product; } public String getChic() { return chic; } public void setChic(String chic) { this.chic = chic; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } }
SessionUser.java 验证用户是否登录,只有合法用户才能拥有购物车
package com.yahaitt.web; import java.util.Set; import javax.servlet.http.HttpServletRequest; import org.springframework.web.util.WebUtils; import com.yahaitt.model.User; import com.yahaitt.service.UserManager; import com.yahaitt.util.CookieUtil; public class SessionUser { private String id; private String name; private String loginname; private Integer status; private Set resPermissions; private String tel; private String addr; private Integer zip; // public SessionUser(String id, String name) { // this.id = id; // this.name = name; // } // public SessionUser(String id,String loginname,Integer status) // { // this.id = id; // this.loginname = loginname; // this.status = status; // } public SessionUser(Integer id,String loginname,String name,String tel, String addr,Integer zip,Integer status) { this.id = id.toString(); this.loginname = loginname; this.name = name; this.tel = tel; this.addr = addr; this.zip = zip; this.status = status; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } public String getAddr() { return addr; } public void setAddr(String addr) { this.addr = addr; } public Integer getZip() { return zip; } public void setZip(Integer zip) { this.zip = zip; } public String getLoginname() { return loginname; } public void setLoginname(String loginname) { this.loginname = loginname; } public Integer getStatus() { return status; } public void setStatus(Integer status) { this.status = status; } public String getId() { return id; } public void setId(String id) { this.id = id; } /** * 从request获取SessionUser */ public static SessionUser getFromRequest(HttpServletRequest request,UserManager userManager) { SessionUser su = (SessionUser)WebUtils.getSessionAttribute(request, "sessionUser"); if(su == null){ CookieUtil.getCookie(request,userManager); su = (SessionUser)WebUtils.getSessionAttribute(request, "sessionUser"); } return su; } public static SessionUser getFromRequest(HttpServletRequest request) { SessionUser su = (SessionUser)WebUtils.getSessionAttribute(request, "sessionUser"); return su; } /** * 从request获取SessionUser的id */ public static String getId(HttpServletRequest request) { SessionUser user = getFromRequest(request); if (user != null) { return user.getId(); } return null; } /** * 从request获取SessionUser的name */ public static String getName(HttpServletRequest request) { SessionUser user = getFromRequest(request); if (user != null) { return user.getName(); } return null; } /** * 从request获取SessionUser的loginname */ public static String getLoginname(HttpServletRequest request,UserManager userManager) { SessionUser user = getFromRequest(request,userManager); if (user != null) { return user.getLoginname(); } return null; } public static String getLoginname(HttpServletRequest request) { SessionUser user = getFromRequest(request); if (user != null) { return user.getLoginname(); } return null; } public Set getPermissionStrings() { return resPermissions; } /** * 把用户信息放到session里 * @param request * @param user */ public static void saveSession(HttpServletRequest request,User user) { String usertel = user.getTel(); String usermobile = user.getMobile(); String usertels = ""; if(null!=usertel && !"".equals(usertel) && null!=usermobile && !"".equals(usermobile)) { usertels = usertel + "/" + usermobile; } else if(null!=usertel && !"".equals(usertel)) { usertels = usertel; } else if(null!=usermobile && !"".equals(usermobile)) { usertels = usermobile; } SessionUser su = new SessionUser(user.getId(), user.getLoginname(),user.getName(),usertels,user.getAddr(),user.getZip(),user.getStatus()); WebUtils.setSessionAttribute(request, "sessionUser", su); } public static void removeSession(HttpServletRequest request) { WebUtils.setSessionAttribute(request, "sessionUser", null); } }
CookieUtil.java 对购物车中的商品信息进行操作时的应用
package com.yahaitt.util; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.util.WebUtils; import com.yahaitt.model.Cusorderitem; import com.yahaitt.model.User; import com.yahaitt.service.ProductManager; import com.yahaitt.service.UserManager; import com.yahaitt.web.SessionUser; public class CookieUtil { /** * 在客户端保存Cookie * @param response * @param user */ public static void saveCookie(HttpServletResponse response,User user) { Cookie userCookie = new Cookie(ContextConfigure.USER_COOKIE_NAME,URLEncoder.encode(user.getLoginname())); userCookie.setMaxAge( 60 * 60 * 24 * 30 ); // userCookie.setDomain( ContextConfigure.WSAY_DOMAIN ); userCookie.setPath("/"); Cookie passwordCookie = new Cookie(ContextConfigure.USER_COOKIE_PASSWORD,URLEncoder.encode(user.getPassword()) ); passwordCookie.setMaxAge( 60 * 60 * 24 * 30 ); // passwordCookie.setDomain( ContextConfigure.WSAY_DOMAIN ); passwordCookie.setPath("/"); response.addCookie( userCookie );//userCookie中包含中文时怎么会出错误呢? response.addCookie( passwordCookie ); } /** * 从客户端移除Cookie * @param response */ public static void removeCookie(HttpServletResponse response) { Cookie userCookie = new Cookie(ContextConfigure.USER_COOKIE_NAME,""); //userCookie.setDomain( ContextConfigure.WSAY_DOMAIN ); userCookie.setMaxAge(0); userCookie.setPath("/"); Cookie passwordCookie = new Cookie(ContextConfigure.USER_COOKIE_PASSWORD,"" ); passwordCookie.setMaxAge( 0 ); // passwordCookie.setDomain( ContextConfigure.WSAY_DOMAIN ); passwordCookie.setPath("/"); response.addCookie( userCookie ); response.addCookie( passwordCookie ); } /** * 从客户端获得Cookie * @param request * @param userManager */ public static void getCookie(HttpServletRequest request,UserManager userManager) { Cookie name = WebUtils.getCookie(request, ContextConfigure.USER_COOKIE_NAME); Cookie password = WebUtils.getCookie(request, ContextConfigure.USER_COOKIE_PASSWORD); String now = SecurityBase.getNow(); if (name != null && password != null) { User user = userManager.checkPassword(URLDecoder.decode(name.getValue()), URLDecoder.decode(password.getValue())); if(user != null) { SessionUser.saveSession(request,user); //user.setLastLogin(user.getCurrentLogin()); user.setLastlogin(now); user.setCurrentlogin(now); userManager.update(user); } else { SessionUser.removeSession(request); } } } /** * 在购物车中添加商品,购物车存于Cookie * @param request * @param response * @param cusorderitem */ public static void saveToCar(HttpServletRequest request,HttpServletResponse response,Cusorderitem cusorderitem) { //cookie与用户登录名关联,可以根据不同的用户设置不同的购物车(方便不同用户在同台机器使用时的情况) String loginname = SessionUser.getLoginname(request); if(null==loginname || "".equals(loginname.trim()) ) { return; } String[] products = null; String[] counts = null; String[] colors = null; String[] chics = null; Cookie[] aa = request.getCookies(); if(null==aa) { aa = new Cookie[0]; } for(int i=0;i { Cookie cook = aa[i]; if((loginname+"_products").equals(cook.getName())) { products = cook.getValue().split("\\|"); } else if((loginname+"_counts").equals(cook.getName())) { counts = cook.getValue().split("\\|"); } else if((loginname+"_colors").equals(cook.getName())) { colors = cook.getValue().split("\\|"); } else if((loginname+"_chics").equals(cook.getName())) { chics = cook.getValue().split("\\|"); } } if(null!=cusorderitem) { String product = cusorderitem.getProduct().getId().toString(); //对color元素进行编码 String color = URLEncoder.encode(cusorderitem.getColor()); String chic = cusorderitem.getChic(); int count = cusorderitem.getQuantity().intValue(); String countstr = new Integer(count).toString(); boolean flag = true; if(null!=products) { for(int i=0;i { if(product.equals(products[i]) && color.equals(colors[i]) && chic.equals(chics[i]))
评论
1 楼
hanyuhaha
2009-10-26
color = URLEncoder.encode(cusorderitem.getColor());
String chic = cusorderitem.getChic();
int count = cusorderitem.getQuantity().intValue();
String countstr = new Integer(count).toString();
boolean flag = true;
if(null!=products)
{
for(int i=0;i
{
String chic = cusorderitem.getChic();
int count = cusorderitem.getQuantity().intValue();
String countstr = new Integer(count).toString();
boolean flag = true;
if(null!=products)
{
for(int i=0;i
{
发表评论
-
Web开发通用监控类解决方案(代码零侵入性)
2009-07-01 14:00 1211我们开发网站的过程中,经常会碰到这种情况,当调用某个类中函数的 ... -
java获取请求的ip地址,并解析ip所属地区
2009-06-01 09:05 9093每次看见QQ上面能够显示对方的ip和地址让人觉得舒服。。刚刚无 ... -
jsp是上传图片加水印
2009-05-05 14:46 1544参考附件. -
JSP 中路径相关的常用解决办法
2009-04-22 15:58 1939<%@ page language="ja ... -
Jsp页面弹出输入对话框的实现收藏
2009-01-16 16:48 4010在写JSP页面的时候,有时需要点击一个按钮弹出一个输入对话框, ... -
log4j xml配置详解
2008-12-30 08:07 15572<?xml version="1.0" ... -
一个关于java.net.Socket的超时的问题
2008-12-26 10:44 5046从异常信息中,可以看到是read timed out,应该是S ... -
防止刷新带来的重复提交
2008-10-08 14:17 1535------------------------------- ... -
防止盗链
2008-09-04 22:28 1588<%=request.getHeader("R ... -
ip 验证
2008-08-31 23:38 1231if(kk_BlacklistVehicle_UserEnro ... -
用户登陆 封装
2008-08-31 23:37 1200首先要有一个封装类,我用UserInfo package d ... -
加密算法SHA-1,SHA-256,SHA-512,MD2,MD5
2008-08-31 23:33 6197自定义某种算法 package test; ... -
Java 调用 Oracle 存储过程返回结果集
2008-08-12 08:16 2602Oracle 存储过程返回结果集用 ref cursor 实现 ... -
分页技术
2008-07-19 11:33 1420在使用数据库的过程中,不可避免的需要使用到分页的功能,可是JD ... -
对分页的封装
2008-07-16 19:59 1893package com.bjsxt.oa.web; im ... -
Pagger-taglib分页
2008-07-16 17:57 1427<%@ page language="java ... -
JavaScirpt和JSP数据数据交互使用问题
2008-07-03 21:53 1512一、页面中的JavaScript的数据如何提交给后台的jsp程 ... -
Servlet中文API文档
2008-06-30 14:08 4167基本类和接口 一、javax. ... -
控制 Web 缓存
2008-06-19 21:11 1300控制 Web 缓存 假设两个并发用户(用户 A 和用户 ... -
JSP tag 学习
2008-05-19 20:16 2749在JSP2.0 中,对于自定义的标签有两种实现方法,实现接口或 ...
相关推荐
总的来说,Cookie在实现购物车功能时提供了一种简单且实用的方法,但同时也存在一些限制和潜在的安全风险。开发者在实际应用中应根据需求和场景选择合适的技术来实现购物车功能,同时注意用户隐私保护。
然而,对于学习和小型项目,使用Cookie实现购物车功能是一个实用且易于理解的方法。 总结来说,利用Cookie实现购物车效果的关键在于正确地读取、修改和设置Cookie值,以及在客户端处理商品的添加、删除和显示。通过...
### 使用Cookie实现购物车功能详解 #### 一、引言 在现代Web应用开发中,购物车是一个不可或缺的功能。为了使用户能够在不登录的情况下也能享受到添加商品至购物车的便捷,许多开发者选择使用Cookie来存储用户的...
下面我们将详细探讨这个`MyCart`类以及如何利用Cookie来实现购物车功能。 1. **类结构与属性**: `MyCart`类有两个私有字段:`_goodsId`和`_buyCount`,分别对应商品ID和购买数量。这两个字段通过公共的getter和...
1. **Cookie实现** Cookie是一种在客户端存储数据的技术,ASP.NET购物车使用Cookie时,通常会为每个商品创建一个唯一的标识,并在用户浏览商品时将这些标识存储在Cookie中。当用户添加商品到购物车时,服务器会返回...
购物车\用Cookie实现的购物车\用Cookie实现的购物车购物车购物车\用Cookie实现的购物车
总结来说,利用Cookie实现购物车功能是一个实用且常见的技术实践。通过创建、读取、更新和删除Cookie,我们可以轻松地在客户端存储和管理购物车信息,为用户提供便捷的在线购物体验。同时,也要注意在实现过程中对...
在这个"PHP+COOKIE实现购物车类"的案例中,我们将探讨如何使用PHP和Cookie技术来创建一个简单而实用的购物车类。Cookie是一种在客户端存储数据的方法,对于实现购物车功能特别有用,因为它可以在用户浏览网站时持久...
购物车添加商品 以及删除商品 把添加的数据放在一个数组了 方便提取
总结,ASP.NET中的Cookie在购物车应用中起到了关键作用,它帮助我们实现跨页面的数据持久化,而GridView则提供了一个直观的方式来展示和管理购物车中的商品。理解并熟练掌握这两者,对于开发功能丰富的Web应用程序至...
JavaScript 和 Cookie 在实现购物车功能中的应用是一种常见的技术组合,特别是在单页面应用程序(SPA)或者没有后台数据库支持的简单电商网站中。以下是对这个主题的详细讲解。 **购物车功能概述** 购物车是电商...
使用目前大部分购物网站都是用的cookie技术,实现了购物车从cookie中的详细实现,此购物车的最主要的功能是,用户每次在本地登录时会创建一个cookie文件,此文件保存了用户名和编号,作为下次登陆的凭证,另外还有一...
通过上述分析,我们可以看出使用JavaScript操纵Cookie实现购物车功能是一个实用且高效的方法。它不仅能够帮助开发者快速实现基本的购物车功能,还可以根据实际需求进行扩展和优化。需要注意的是,在实际项目中还应...
【标题】"我用cookie写的购物车实例"揭示了这个项目是使用Cookie技术来实现一个购物车功能。在Web开发中,Cookie是一种小型文本文件,由服务器发送到用户的浏览器并存储在本地,用来保存用户的状态信息,如登录状态...
为了实现购物车功能,我们可以使用多种方法,包括使用 Cookie、Session 和数据库等。在本文中,我们将详细介绍使用 Cookie 和 Session 实现购物车功能的方法,并分析它们的优缺点。 使用 Cookie 实现购物车 使用 ...
### 一、使用JavaScript实现购物车功能 #### 1. 使用变量存储商品类型与商品信息 在示例代码中,作者使用了数组来存储不同类型的商品以及每种商品的具体信息。这里可以看到有两个主要的数据结构:`typeObj` 和 `...
在本文中,我们将深入探讨如何使用jQuery库结合Cookie技术来实现一个动态的“加入购物车”功能,同时加入抛物线动画效果。这个功能对于电商网站来说尤其吸引用户,因为它可以提供一种直观、有趣的交互体验。 首先,...
**Cookie实现购物车** 1. **添加商品**:用户选择商品后,将商品ID和数量等信息存储为Cookie。由于Cookie大小有限制(通常4KB),所以可能需要对多个商品进行分组或编码。 2. **查看购物车**:当用户查看购物车时...
本示例通过使用Cookie来实现一个面向对象的购物车系统,该系统能够跟踪用户的购买选择,并在用户会话期间保持其状态。以下是对这个项目的详细解析: 1. **Cookie基础**:Cookie是一种在客户端存储数据的技术,用于...