JAVAEE——淘淘商城第一天:電商行業的背景和技術特色,商城的介紹、技術的選型、系統架構和工程搭建

1. 學習計劃

一、電商行業的背景。java

二、電商行業的技術特色mysql

三、商城的介紹git

a) 經常使用的名詞介紹  github

b) 系統功能介紹web

四、淘淘商城的系統架構redis

a) 傳統架構spring

b) 分佈式架構sql

c) 基於服務的架構數據庫

d) 淘淘商城的架構apache

五、技術的選型

六、工程搭建-後臺工程

a) 使用maven搭建工程

b) 使用maventomcat插件啓動工程

七、SVN的使用

2. 電商行業背景介紹

近年來,中國的電子商務快速發展,交易額連創新高,電子商務在各領域的應用不斷拓展和深化、相關服務業蓬勃發展、支撐體系不斷健全完善、創新的動力和能力 不斷加強。電子商務正在與實體經濟深度融合,進入規模性發展階段,對經濟社會生活的影響不斷增大,正成爲我國經濟發展的新引擎。

    2016517日,中國「互聯網+產業」智庫中國電子商務研究中心(100EC.CN)發佈《2015年度中國電子商務市場數據監測報告》。報告顯示,2015年,中國電子商務交易額達18.3萬億元,同比增加36.5%,增幅上升5.1個百分點。其中,B2B電商交易額13.9萬億元,同比增加39%。網絡零售市場規模3.8萬億元,同比增加35.7%

 

 

  

2.1. 11.11

 

 

2016年的雙十一

 

 

 

結論:

一、電商行業很掙錢,找互聯網相關的工做。

二、電商行業技術要求很高、高可用、海量數據的存儲。

 

 

2.2. 電商行業技術特色

  • 技術新
  • 技術範圍廣
  • 分佈式
  • 高併發、集羣、負載均衡、高可用
  • 海量數據
  • 業務複雜
  • 系統安全

 

 

分佈式:一件事情,拆開來作

集羣:一樣的事情,你們一塊兒作

 

1024b=1kb  1024kb=1mb  1024mb=1gb  1024gb=1tb 1024tb=1pb 。

3. 淘淘商城介紹

淘淘網上商城是一個綜合性的B2C平臺,相似京東商城、天貓商城。會員能夠在商城瀏覽商品、下訂單,以及參加各類活動。

管理員、運營能夠在平臺後臺管理系統中管理商品、訂單、會員等。

客服能夠在後臺管理系統中處理用戶的詢問以及投訴。

 

 

其餘的一些名詞解釋:

IT)傳統行業:OACRMERP,醫藥採購管理系統,銀行系統,財務軟件

IT)互聯網行業:電商(淘寶、京東、淘淘),搜索(百度、谷歌),社交(人 人網,天涯論壇),新浪微博,門戶網站(新浪,搜狐),12306.cn

 

電商模式:

B2B:商家到商家。(阿里巴巴,慧聰網、銘萬網).

B2C:商家到用戶。(之前的京東)

C2C:用戶到用戶。(淘寶)

B2B2C:商家到商家到用戶。(天貓、如今的京東)

O2O:線上到線下。百度外賣、美團、餓了麼。(online to offline)。

 

 

 

 

互聯網金融

P2P:Person 2 Person,我的對我的的信貸,互聯網的我的對我的的信貸平臺

 

4. 淘淘商城系統功能

4.1. 系統功能圖

 

 

4.2. 系統功能介紹

 

後臺管理系統:管理商品、訂單、類目、商品規格屬性、用戶管理以及內容發佈等功能。

前臺系統:用戶能夠在前臺系統中進行註冊、登陸、瀏覽商品、首頁、下單等操做。

會員系統:用戶能夠在該系統中查詢已下的訂單、收藏的商品、個人優惠券、團購等信息。

訂單系統:提供下單、查詢訂單、修改訂單狀態、定時處理訂單。

搜索系統:提供商品的搜索功能。

單點登陸系統:爲多個系統之間提供用戶登陸憑證以及查詢登陸用戶的信息。

5. 系統架構

5.1. 傳統架構

5.1.1. 500併發

如圖:5.1

 

 

 

存在的問題:

1、功能耦合度高

2、系統維護成本高

3、若是併發量大,沒法解決高併發的問題

 

5.1.2. 1000併發

 

 

 

 

 

 

 

存在的問題:

1、系統沒法有效進行水平擴展(集羣不能針對功能模塊)5.1

2、用戶存在重複登陸的問題

 

針對第二點:須要session共享,是以session廣播的形式,比較消耗資源,寬帶。

 

 

若是要達到10000併發

須要20臺服務器作tomcat集羣。當tomcat集羣中節點數量增長,服務能力先增長後降低

因此集羣中節點數量不能太多,通常也就5個左右。

 

 

 

 

 

 

 

5.2. 分佈式架構(10000併發)

須要按照功能點把系統拆分,拆分紅獨立的功能工程,能夠單獨爲某一個節點添加服務器,須要系統之間配合才能完成整個業務邏輯這就叫作分佈式

 

 

 

集羣:至關於同一個工程代碼拷貝多份部署到多臺服務器,每臺服務器單獨獨立部署運行。

分佈式架構:

把系統按照模塊拆分紅多個子系統;多個子系統相互協做才能完成業務流程系統之間須要進行通訊。

優勢:

一、把模塊拆分,使用接口通訊,下降模塊之間的耦合度。

二、把項目拆分紅若干個子項目,不一樣的團隊負責不一樣的子項目。

三、增長功能時只須要再增長一個子項目,調用其餘系統的接口就能夠。

四、能夠靈活的進行分佈式部署。

 

缺點:

1、系統之間交互須要使用遠程通訊,須要開發接口,增長工做量。

2、各個模塊有一些通用的業務邏輯沒法公用。

5.2.1. 
基於SOA的架構

SOAService Oriented Architecture面向服務的架構。也就是把工程都拆分紅服務層工程、表現層工程。服務層中包含業務邏輯,只須要對外提供服務便可。表現層只須要處理和頁面的交互,業務邏輯都是調用服務層的服務來實現。工程均可以獨立部署。

 

 

 

 

5.3. 淘淘商城系統架構

 

 

 

6. 技術選型和開發環境

6.1. 技術選型

  • Spring、SpringMVC、Mybatis
  • JSP、JSTL、jQuery、EasyUI、KindEditor(富文本編輯器)
  • Redis(緩存服務器,單點登陸,購物車)
  • Solr(搜索)
  • dubbo(分佈式服務框架)
  • HttpClient(HTTP 協議訪問客戶端)
  • ActiveMQ(消息隊列)
  • Quartz(定時任務)
  • FastDFS(圖片服務器)
  • FreeMarker(網頁靜態化)
  • Nginx(反向代理服務器)
  • MyCat(數據庫中間件)
  • Eclipse Mars.2
  • Maven 3.3.9
  • Tomcat 7.0.72Maven Tomcat Plugin)
  • JDK 1.7
  • Mysql 5.7
  • Dubbo 2.5.3
  • Nginx 1.8.0
  • Redis 3.0.0
  • ActiveMQ 5.13.0
  • Win7 操做系統
  • SVN(版本管理)

6.2. 開發工具版本和環境

7. 工程搭建

7.1. 使用maven的好處

使用maven管理工程。

Jar包的管理

工程之間的依賴管理

自動打包

統一的版本的控制。

7.2. 
後臺管理系統工程搭建分析

Maven的常見打包方式:jarwarpom

Pom工程通常都是父工程,管理jar包的版本、maven插件的版本、統一的依賴管理。聚合工程。

 

taotao-parent:父工程,打包方式pom,管理jar包的版本號。

  |           項目中全部工程都應該繼承父工程。

  |--taotao-common:通用的工具類通用的pojo,util。打包方式jar

  |--taotao-manager:服務層工程。聚合工程。Pom工程

    |--taotao-manager-dao:打包方式jar

    |--taotao-manager-pojo:打包方式jar

    |--taotao-manager-interface:打包方式jar

    |--taotao-manager-service:打包方式:war  (爲了發佈服務的方便)

  |--taotao-manager-web:表現層工程。打包方式war

7.3. 工程搭建

7.3.1. taotao-parent

Pom工程。

 

開發環境:eclipse mars2  32

Maven3.3.9

本地倉庫:默認位置在~/.m2/repository

Eclipse不須要配置,只須要把本地倉庫放到當前用戶目錄下的.m2下。

jdk  1.7   32位)

 

注意:本地倉庫使用此已經提供的,將如下的文件解壓後,放到電腦對應的.m2目錄。

\01.參考資料\maven\MavenRepository目錄下

 

 

 

解壓以後的目錄效果以下:

 

 

 

 

 

eclipse的相關配置:

若是使用的是老師提供的eclipse .須要注意:

    設置全局的字符編碼爲UTF-8;

配置maven;

 

可根據本身的喜愛,個性化的設置。可參考:

 

關注文檔中的第六節

 

建立工程:

 

右擊鼠標 ---NEW --Maven Project

 

 

 

 

 

Pom文件

<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>
    <groupId>com.taotao</groupId>
    <artifactId>taotao-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>
    <!-- 集中定義依賴版本號 -->
    <properties>
        <junit.version>4.12</junit.version>
        <spring.version>4.2.4.RELEASE</spring.version>
        <mybatis.version>3.2.8</mybatis.version>
        <mybatis.spring.version>1.2.2</mybatis.spring.version>
        <mybatis.paginator.version>1.2.15</mybatis.paginator.version>
        <mysql.version>5.1.32</mysql.version>
        <slf4j.version>1.6.4</slf4j.version>
        <jackson.version>2.4.2</jackson.version>
        <druid.version>1.0.9</druid.version>
        <httpclient.version>4.3.5</httpclient.version>
        <jstl.version>1.2</jstl.version>
        <servlet-api.version>2.5</servlet-api.version>
        <jsp-api.version>2.0</jsp-api.version>
        <joda-time.version>2.5</joda-time.version>
        <commons-lang3.version>3.3.2</commons-lang3.version>
        <commons-io.version>1.3.2</commons-io.version>
        <commons-net.version>3.3</commons-net.version>
        <pagehelper.version>3.4.2-fix</pagehelper.version>
        <jsqlparser.version>0.9.1</jsqlparser.version>
        <commons-fileupload.version>1.3.1</commons-fileupload.version>
        <jedis.version>2.7.2</jedis.version>
        <solrj.version>4.10.3</solrj.version>
        <dubbo.version>2.5.3</dubbo.version>
        <zookeeper.version>3.4.7</zookeeper.version>
        <zkclient.version>0.1</zkclient.version>
        <activemq.version>5.13.0</activemq.version>
        <freemarker.version>2.3.23</freemarker.version>
        <quartz.version>2.2.2</quartz.version>
    </properties>
    <dependencyManagement>
        <dependencies>
            <!-- 時間操做組件 -->
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${joda-time.version}</version>
            </dependency>
            <!-- Apache工具組件 -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons-lang3.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons-io.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-net</groupId>
                <artifactId>commons-net</artifactId>
                <version>${commons-net.version}</version>
            </dependency>
            <!-- Jackson Json處理工具包 -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <!-- httpclient -->
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.version}</version>
            </dependency>
            <!-- quartz任務調度框架 -->
            <dependency>
                <groupId>org.quartz-scheduler</groupId>
                <artifactId>quartz</artifactId>
                <version>${quartz.version}</version>
            </dependency>
            <!-- 單元測試 -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
            <!-- 日誌處理 -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <!-- Mybatis -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>${mybatis.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>${mybatis.spring.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.miemiedev</groupId>
                <artifactId>mybatis-paginator</artifactId>
                <version>${mybatis.paginator.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper</artifactId>
                <version>${pagehelper.version}</version>
            </dependency>
            <!-- MySql -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.version}</version>
            </dependency>
            <!-- 鏈接池 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>${druid.version}</version>
            </dependency>
            <!-- Spring -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aspects</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jms</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context-support</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <!-- JSP相關 -->
            <dependency>
                <groupId>jstl</groupId>
                <artifactId>jstl</artifactId>
                <version>${jstl.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>${servlet-api.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jsp-api</artifactId>
                <version>${jsp-api.version}</version>
                <scope>provided</scope>
            </dependency>
            <!-- 文件上傳組件 -->
            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>${commons-fileupload.version}</version>
            </dependency>
            <!-- Redis客戶端 -->
            <dependency>
                <groupId>redis.clients</groupId>
                <artifactId>jedis</artifactId>
                <version>${jedis.version}</version>
            </dependency>
            <!-- solr客戶端 -->
            <dependency>
                <groupId>org.apache.solr</groupId>
                <artifactId>solr-solrj</artifactId>
                <version>${solrj.version}</version>
            </dependency>
            <!-- dubbo相關 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>dubbo</artifactId>
                <version>${dubbo.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>${zookeeper.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.sgroschupf</groupId>
                <artifactId>zkclient</artifactId>
                <version>${zkclient.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.activemq</groupId>
                <artifactId>activemq-all</artifactId>
                <version>${activemq.version}</version>
            </dependency>
            <dependency>
                <groupId>org.freemarker</groupId>
                <artifactId>freemarker</artifactId>
                <version>${freemarker.version}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <!-- 資源文件拷貝插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.7</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <!-- java編譯插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.2</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <!-- 配置Tomcat插件 -->
                <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                </plugin>

                <!-- 配置打包時跳過測試 ,首次配置使用的時候會自動聯網進行下載 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.12.4</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>
pom.xml

 


  

7.3.2. taotao-common

通用的工具類、通用的pojo。打包方式jar。須要繼承父工程。

一樣的,右擊鼠標 NEW-->Maven Project

 

 

Pom文件

 

<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-common</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <!-- 依賴工具類的jar包 -->
    <dependencies>
        <!-- 時間操做組件 -->
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
        </dependency>
        <!-- Apache工具組件 -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
        </dependency>
        <!-- Jackson Json處理工具包 -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <!-- httpclient -->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
        </dependency>
        <!-- quartz任務調度框架 -->
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
        </dependency>
        <!-- 單元測試 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>
        <!-- 日誌處理 -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </dependency>
    </dependencies>
</project>

 

 


7.3.3. taotao-manager
 

聚合工程。打包方式pom

一樣 右擊鼠標-->NEW--> Maven Project

 

 

Pom文件

 

<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-manager</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>
    <dependencies>
        <dependency>
            <groupId>com.taotao</groupId>
            <artifactId>taotao-common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>

 


7.3.4. taotao-manager-pojo
 

是一個maven模塊,打包方式爲jar

選擇taotao-manager 右擊鼠標--NEW ---Maven Module

 

 

 

 

 

建立後效果以下

 

 

Pom文件

 

<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-manager</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <artifactId>taotao-manager-pojo</artifactId>
</project>

 


  

7.3.5. taotao-manager-dao

Maven模塊,打包方式jar

 

選擇taotao-manager 右擊鼠標--NEW ---Maven Module

 

 

Pom文件

 

<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-manager</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <artifactId>taotao-manager-dao</artifactId>
    <!-- 依賴的jar包 -->
    <dependencies>
<dependency>
            <groupId>com.taotao</groupId>
            <artifactId>taotao-manager-pojo</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <!-- Mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.miemiedev</groupId>
            <artifactId>mybatis-paginator</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
        </dependency>
        <!-- MySql -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!-- 鏈接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
        </dependency>
    </dependencies>
</project>

 


7.3.6. taotao-manager-interface
 

Maven模塊,打包方式jar

選擇taotao-manager 右擊鼠標--NEW ---Maven Module

 

 

Pom文件

 

<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-manager</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <artifactId>taotao-manager-interface</artifactId>
    <dependencies>
        <dependency>
            <groupId>com.taotao</groupId>
            <artifactId>taotao-manager-pojo</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>

 


7.3.7. taotao-manager-service
 

打包方式war包。

選擇taotao-manager 右擊鼠標--NEW ---Maven Module

 

 

Pom文件

 

<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-manager</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <artifactId>taotao-manager-service</artifactId>
    <packaging>war</packaging>
    <dependencies>
            <!-- taotao dao依賴 -->
        <dependency>
            <groupId>com.taotao</groupId>
            <artifactId>taotao-manager-dao</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
            <!-- taotao的接口的依賴 -->
            <dependency>
            <groupId>com.taotao</groupId>
            <artifactId>taotao-manager-interface</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <!-- spring的依賴 -->
        <!-- 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>
    </dependencies>
</project>

 


建立
web.xml,能夠
手動建立或者使用以下操做 

 

 

 

 

 

7.3.8. taotao-manager-web

表現層,打包方式war(繼承taotao-parent)

 

右擊鼠標 --NEW -->Maven Project

 

 

 

 

 

建立web.xml

 

 

Pom文件

 

<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-manager-web</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <dependencies>
        <!-- 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>
        <!-- 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>
        <!-- 文件上傳組件 -->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
        </dependency>
    </dependencies>
    <!-- 配置tomcat插件 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <configuration>
                    <port>8081</port>
                    <path>/</path>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

 


7.4. 啓動工程
 

7.4.1. 啓動taotao-manager工程

須要在taotao-manager pom工程中,配置tomcat插件。啓動的端口號,和工程名稱。

taotao-managerpom文件中添加以下配置:

 

<!-- 配置tomcat插件 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <configuration>
                    <port>8080</port>
                    <path>/</path>
                </configuration>
            </plugin>
        </plugins>
    </build>

 

 

使用tomcat插件啓動

  • 先安裝taotao-parent工程到本地倉庫
  • 再安裝taotao-common工程到本地倉庫

操做步驟以下:分別對兩個工程作以下圖的操做

 

 

 

  • 使用tomcat插件啓動taotao-manager

 

 

 

 

 

表示啓動 成功

 

7.4.2. 啓動taotao-manager-web工程

 

 

 

 

表示啓動成功

 

8. Svn的使用

8.1. 服務端

服務端使用VisualSVN,通常一個項目組只有一個svn,並非每一個開發者都須要安裝服務端。

windows版本的安裝可參考:E:\courses\淘淘商城\01.教案\01.參考資料\SVN 下的安裝文檔。

8.1.1. 安裝SVN服務器

安裝後的效果以下:

 

 

 

8.1.2. 添加SVN用戶

 

 

8.1.3. 建立倉庫

 

 

 

 

 

 

8.1.4. 設置倉庫的權限

 

 

 

 

 

注意:用戶和權限的設置應當按照須要設置。

 

8.2. 客戶端

客戶端使用Eclipsesvn插件,在提供的Eclipse中已經安裝好,直接使用便可。

 

若是想本身安裝:可參考

E:\courses\淘淘商城\01.教案\01.參考資料\開發工具\

 

下的eclipse開發環境 ,關注第四節

 

服務端的訪問地址爲

https://ThinkPadSteven:4443/svn/taotao

 

https://{svn服務ip地址}/svn/{倉庫名稱}/

用戶名:user01

密碼:user01

 

8.2.1. 使用客戶端上傳(檢入)代碼

 

 

 

 

 

a) 檢入taotao-parent代碼

回到JAVAEE視圖

 

 

 

 

 

 

 

上傳的代碼只須要資源 不須要上傳諸如:.project  .class  target 等等文件。

 

因此須要忽略這些文件,有兩種方式:

  • 第一種:右鍵選擇忽略,如圖:

 

 

 

 

此種方式只針對當前文件有效,

 

  • 第二種:配置忽略規則

 

 

 

 

點擊OK便可。

再以下圖:同步,若是有衝突,再更新 再提交便可。

 

 

 

b) 檢入taotao-manager代碼

一樣選擇taotao-manager工程,右擊--》選擇 team-->share project-->SVN-->提交

 

 

 

先提交pom.xml

再忽略target

 

 

 

 

依次類推,其餘的子模塊 同理。

 

 

再總的提交taotao-manager工程

 

 

 

出現衝突:

 

 

 

選擇全部,再更新一遍

 

 

 

 

 

提交便可。

 

 

刷新後,效果

 

 

同理檢入其餘工程的代碼。

 

8.2.2. 使用客戶端檢出代碼

 

爲了測試檢出代碼,須要先刪除代碼

 

 

 

 

同理,依次檢出taotao-commontaotao-managertaotao-manager-web

相關文章
相關標籤/搜索