学习淘淘商城第九十六课(购物车实现分析及工程搭建)

        关于购物车模块,京东和淘宝并不一样,京东允许用户在没有登录的情况下就使用购物车,而且加到购物车里面的商品可以一直保存着(其实是放到了Cookie当中,如果清空了Cookie也就清空购物车了)。而淘宝则是必须先登录才能将商品添加到购物车当中,就用户体验来说,京东的购物车模块用户体验更好。

        我们看下京东购物车,如下图所示,可以看到域名是cart.jd.com,这与商品详情页面的item.jd.com是不一样的,说明京东的购物车模块是个单独的工程。


         我们搭建购物车工程只需要搭建web工程就可以了,不需要服务端,这是因为购物车里面的商品信息,我们可以通过taotao-manager服务来获取。

         下面我们便新建taotao-cart-web工程,File----->New---->Other....,如下图所示


         会看到如下图所示对话框,点击"Maven Project",然后点击"Next"。


          勾选最上面的复选框,然后点击"Next",如下图所示。


         工程名就叫taotao-cart-web,打包方式是war,如下图所示。


         下面我们便配置下pom.xml文件,我们可以参考taotao-item-web工程的pom.xml文件,把freemarker和activemq的依赖去掉,因为购物车模块用不到这些。然后将tomcat插件的端口号改为8089,修改完后taotao-cart-web的pom.xml文件内容如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.taotao</groupId>
    <artifactId>taotao-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <groupId>com.taotao</groupId>
  <artifactId>taotao-cart-web</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  
  <dependencies>
    <!-- 依赖taotao-common -->
    <dependency>
    	<groupId>com.taotao</groupId>
		<artifactId>taotao-common</artifactId>
		<version>0.0.1-SNAPSHOT</version>
    </dependency>
    <dependency>  
        <groupId>com.taotao</groupId>  
        <artifactId>taotao-manager-interface</artifactId>  
        <version>0.0.1-SNAPSHOT</version>  
    </dependency>
  	<!-- Spring -->
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-beans</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-webmvc</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-jdbc</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-aspects</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-jms</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context-support</artifactId>
	</dependency>
	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
	</dependency>
	<!-- JSP相关 -->
	<dependency>
		<groupId>jstl</groupId>
		<artifactId>jstl</artifactId>
	</dependency>
	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>servlet-api</artifactId>
		<scope>provided</scope>
	</dependency>
	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>jsp-api</artifactId>
		<scope>provided</scope>
	</dependency>
	<!-- dubbo相关的jar包 -->
	<dependency>
		<groupId>com.alibaba</groupId>
		<artifactId>dubbo</artifactId>
		<exclusions>
			<exclusion>
				<artifactId>spring</artifactId>
				<groupId>org.springframework</groupId>
			</exclusion>
			<exclusion>
				<artifactId>netty</artifactId>
				<groupId>org.jboss.netty</groupId>
			</exclusion>
		</exclusions>
	</dependency>
	<dependency>
		<groupId>org.apache.zookeeper</groupId>
		<artifactId>zookeeper</artifactId>
	</dependency>
	<dependency>
		<groupId>com.github.sgroschupf</groupId>
		<artifactId>zkclient</artifactId>
	</dependency>
	<dependency>  
        <groupId>commons-fileupload</groupId>  
        <artifactId>commons-fileupload</artifactId>  
    </dependency>
  </dependencies>
  <build>
  	<plugins>
  		<plugin>
  			<groupId>org.apache.tomcat.maven</groupId>
  			<artifactId>tomcat7-maven-plugin</artifactId>
  			<configuration>
  				<path>/</path>
  				<port>8089</port>
  			</configuration>
  		</plugin>
  	</plugins>
  </build>
</project>
         接着,我们把taotao-item-web工程的src/main/resources目录下的resource和spring两个目录复制到taotao-cart-web工程的src/main/resources目录下,我们把resource目录下的resource.properties文件中的内容清空,另外由于刚粘贴过来resource.properties文件的编码格式是ISO8859-1,我们要把它改成UTF-8,在文件上右键--->Properties,如下图所示。


        把spring目录下的springmvc-activemq.xml文件删除掉,然后修改springmvc.xml,配置包扫描目录并且在src/main/java目录下新建这个包,dubbo服务名称改为"taotao-cart-web"。引用的item服务不用动,因为我们查询商品刚好就是用的item服务。


         springmvc.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
        http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd">
       
    <!-- 加载配置文件 -->
    <context:property-placeholder location="classpath:resource/resource.properties"/>    
	<!-- 配置注解驱动 -->
	<mvc:annotation-driven />
	<!-- 视图解析器 -->
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp" />
	</bean>
	
	<!-- 配置包扫描器,扫描@Controller注解的类 -->
	<context:component-scan base-package="com.taotao.cart.controller"/>
	
	
	<!-- 引用dubbo服务 -->
	<dubbo:application name="taotao-cart-web"/>
	<dubbo:registry protocol="zookeeper" address="192.168.156.14:2181"/>
    <dubbo:reference interface="com.taotao.service.ItemService" id="itemService" />
</beans>
        下面我们把taotao-item-web工程下面的web.xml复制到taotao-cart-web工程的webapp目录下,只不过需要先建一个名为"WEB-INF"的目录,然后粘贴到WEB-INF目录下,如下图所示,我们将原来所有叫taotao-item-web名字地方都改为taotao-cart-web,我们可以使用Ctrl+F打开查找替换对话框,然后进行替换操作。



         这样,我们的taotao-cart-web工程便搭建完了。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值