您的位置:首页 > 其它

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

2017-06-11 20:17 405 查看
        关于购物车模块,京东和淘宝并不一样,京东允许用户在没有登录的情况下就使用购物车,而且加到购物车里面的商品可以一直保存着(其实是放到了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工程便搭建完了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: