`
whoosh
  • 浏览: 235367 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

巴巴运动网商品交易系统对用户最近浏览过的产品列表的技术方案

 
阅读更多

本文参考传智播客巴巴运动网视频教程

 

1.对最近浏览商品的实现需要用到cookie,一下代码可以获取cookie:

 

 /**
     * 获取cookie的值
     * @param request
     * @param name cookie的名称
     * @return
     */
    public static String getCookieByName(HttpServletRequest request, String name) {
    	Map<String, Cookie> cookieMap = WebUtil.readCookieMap(request);
        if(cookieMap.containsKey(name)){
            Cookie cookie = (Cookie)cookieMap.get(name);
            return cookie.getValue();
        }else{
            return null;
        }
    }
    
    protected static Map<String, Cookie> readCookieMap(HttpServletRequest request) {
        Map<String, Cookie> cookieMap = new HashMap<String, Cookie>();
        Cookie[] cookies = request.getCookies();
        if (null != cookies) {
            for (int i = 0; i < cookies.length; i++) {
                cookieMap.put(cookies[i].getName(), cookies[i]);
            }
        }
        return cookieMap;
    }

 readCookieMap先获取request里面的所有cookie,然后以键值对的形式存放到一个Map中。在getCookieByName方法中,先调用 readCookieMap方法来获取所有的cookie,然后在查询自己想要查找的那个cookie的值。

2.完成了获取cookie值之后,我们就可以对cookie里面的浏览记录进行修改排序:

public String buildViewHistory(HttpServletRequest request, Integer currentProductId){
		//23-2-6-5
		//1.如果当前浏览的id已经在浏览历史里了,我们要把移到最前面
		//2.如果浏览历史里已经达到了10个产品了,我们需要把最选进入的元素删除
		String cookieValue = WebUtil.getCookieByName(request, "productViewHistory");
		LinkedList<Integer> productids = new LinkedList<Integer>();
		if(cookieValue!=null && !"".equals(cookieValue.trim())){
			String[] ids = cookieValue.split("-");			
			for(String id : ids){
				productids.offer(new Integer(id.trim()));
			}
			if(productids.contains(currentProductId)) productids.remove(currentProductId);
			if(productids.size()>=10) productids.poll();
		}
		productids.offer(currentProductId);
		StringBuffer out = new StringBuffer();
		for(Integer id : productids){
			out.append(id).append('-');
		}
		out.deleteCharAt(out.length()-1);
		return out.toString();
	}

为了方便排序 cookie的值是:用户浏览过的商品的id加横杠分隔符结合而成的。如:23-2-6-5。

3.排序结束后我们又可以将新的cookie存入浏览器中:

/**
     * 添加cookie
     * @param response
     * @param name cookie的名称
     * @param value cookie的值
     * @param maxAge cookie存放的时间(以秒为单位,假如存放三天,即3*24*60*60; 如果值为0,cookie将随浏览器关闭而清除)
     */
    public static void addCookie(HttpServletResponse response, String name, String value, int maxAge) {        
        Cookie cookie = new Cookie(name, value);
        cookie.setPath("/");
        if (maxAge>0) cookie.setMaxAge(maxAge);
        response.addCookie(cookie);
    }

 该方法的调用如下:

WebUtil.addCookie(response, "productViewHistory", 
				buildViewHistory(request, formbean.getProductid()), 30*24*60*60);

 这样就完成了将用户最近浏览过的产品以cookie的形式存入浏览器。

分享到:
评论
1 楼 mountainol 2012-01-09  
mnmnm              [/size][size=x-large]

相关推荐

    巴巴运动网商品交易系统详细设计说明书

    通过以上分析可以看出,巴巴运动网商品交易系统是一款功能全面且技术先进的电子商务平台,不仅能够满足企业的日常运营管理需求,还能提供丰富的用户交互体验,有助于提升品牌形象和用户满意度。

    巴巴运动网原码

    【巴巴运动网原码】指的是巴巴运动网的源代码,它是构建巴巴运动网这一在线平台的基础。源码是程序员用编程语言编写的未被编译的原始代码,它揭示了网站的功能实现细节、数据处理逻辑以及用户交互方式。了解并研究...

    巴巴运动网详细设计说明书

    巴巴运动网商品交易系统是一套面向大型企业开发的商品交易系统,具备先进的电子商务运营及管理理念。订单流转实现多部门协同处理,满足大型企业多部门协作处理业务的需求。系统包含以下模块: 产品管理:产品具有...

    巴巴运动网 部分 前端代码

    巴巴运动网的前端代码可能已经过优化,以加快页面加载速度和提升用户体验。 总的来说,巴巴运动网的前端代码涵盖了前端开发的多个方面,包括但不限于HTML结构、CSS样式、JavaScript交互、响应式布局以及性能优化等...

    巴巴运动网源码巴巴运动网源码

    【巴巴运动网源码】是一个基于Java开发的分布式系统,其设计和实现充分展示了现代互联网应用的高效能和可扩展性。在当前的数字化时代,此类源码对于开发者来说是一份宝贵的参考资料,可以帮助他们理解大型网站的架构...

    巴巴运动网 lib3

    【巴巴运动网 lib3】是源自巴巴运动网的一个开源项目,该项目主要包含了lib3相关的代码库,为开发者提供了丰富的功能和资源,旨在促进运动类应用的开发与创新。这个源码下载提供了深入学习和理解运动类应用开发的...

    巴巴运动网 基于分布式构架的大型商品交易平台

    巴巴运动网 基于分布式构架的大型商品交易平台,系统围绕一个业务中心的思想,实现了多种类型的客户端应用,如:基于浏览器的web交易系统,基于手机的wap交易系统,用于内部办公的OA系统,像这些系统都使用了同一个...

    百度云 2016年版新巴巴运动网项目12天完整视频教程以及源码

    根据提供的文件信息,我们可以推断出这是一套关于“新巴巴运动网”项目的视频教程及相关源码资料。接下来,我们将围绕这个项目的背景、教程内容、技术栈等方面进行深入解析。 ### 项目背景 “新巴巴运动网”项目...

    巴巴运动网源码和jar文件

    巴巴运动网源码和jar文件,完整的源码和用到的jar文件。工程配置后可直接运行。。。

    传智巴巴运动网源代码[两个模块]

    更重要的是巴巴运动网是真正的商业化产品(售价12万元),它溶合了作者多年积累的商务网站运营及软件构架经验,是目前为数不多的集网站运营、业务处理及技术于一身的商品交易系统。是网上流传的商城系统无法比拟的。

    巴巴运动网源代码-完整版

    巴巴运动网的源代码设计涵盖了电子商务网站的关键模块,包括但不限于前端用户界面、后台管理、商品展示、购物车、订单处理、用户注册与登录等。 1. **前端用户界面**:前端部分是用户与网站交互的窗口,源代码可能...

    新巴巴运动网page包

    "新巴巴运动网page包"是一个专门为传智播客的新巴巴运动网项目设计的分页功能组件。这个组件被封装在一个压缩包中,方便开发者下载并直接放入Maven的本地仓库,以便在项目中快速引入和使用。Maven本地仓库是Java开发...

    巴巴运动网 lib1

    "巴巴运动网 lib1" 提供的jar包很可能是为开发者提供的一种库或者服务,方便他们在开发过程中调用相关的功能或实现。下面我们将深入探讨与jar包相关的知识点,以及如何利用它进行开发和学习。 首先,Java的jar文件...

    2016最新版新巴巴运动网数据库+开发文档

    新巴巴运动网数据库和开发文档资源的提供,对于想要了解或进行该项目开发的人员来说,是一份非常宝贵的学习和参考资料。这份2016年的最新版本包含了一系列关键元素,可以帮助开发者更好地理解系统的架构和功能。 ...

    新巴巴运动网

    新巴巴运动网是一个运动商品网站,它涉及到前端和后端的开发工作,主要技术栈为JavaScript(js)和Spring Boot + MyBatis(ssm)。在这个项目中,JavaScript主要用于前端交互,提供用户友好的界面和动态功能,而SSM...

    巴巴运动网完整源代码.rar

    巴巴运动网是一个在线平台,主要用于分享与运动相关的视频教程,其源代码的公开为开发者提供了一个深入了解此类网站架构和功能实现的机会。这个压缩包包含了巴巴运动网106集及后续视频的所有源代码,这对于学习网站...

    巴巴运动网源码(传智播客)

    【巴巴运动网源码(传智播客)】是一套基于Java编程语言开发的网站源码,主要用于构建体育运动类的在线服务平台。这套源码在IT教育领域,特别是由传智播客这样的知名教育机构中被用作教学案例,帮助学员理解和实践...

    巴巴运动网完整源代码(已测试可运行)

    【巴巴运动网完整源代码(已测试可运行)】是一个基于JavaEE技术栈开发的项目,主要用于体育类电商平台的构建。这个源代码包是传智博客发布的一个学习资源,特别适合那些想要深入理解和实践JavaEE开发的程序员。下面...

    巴巴运动网完整源代码

    总的来说,"巴巴运动网完整源代码"是一个全面了解Web开发流程和实践的好材料,涵盖了从前端界面到后端逻辑的各个环节,对学习和研究Web开发具有很高的价值。通过深入分析和理解这些源代码,开发者可以掌握如何构建一...

Global site tag (gtag.js) - Google Analytics