1. 學習計划
1、電商行業的背景。
2、電商行業的技術特點
3、商城的介紹
a) 常用的名詞介紹
b) 系統功能介紹
4、淘淘商城的系統架構
a) 傳統架構
b) 分布式架構
c) 基於服務的架構
d) 淘淘商城的架構
5、技術的選型
6、工程搭建-后台工程
a) 使用maven搭建工程
b) 使用maven的tomcat插件啟動工程
7、SVN的使用
2. 電商行業背景介紹
近年來,中國的電子商務快速發展,交易額連創新高,電子商務在各領域的應用不斷拓展和深化、相關服務業蓬勃發展、支撐體系不斷健全完善、創新的動力和能力 不斷增強。電子商務正在與實體經濟深度融合,進入規模性發展階段,對經濟社會生活的影響不斷增大,正成為我國經濟發展的新引擎。
2016年5月17日,中國“互聯網+產業”智庫中國電子商務研究中心(100EC.CN)發布《2015年度中國電子商務市場數據監測報告》。報告顯示,2015年,中國電子商務交易額達18.3萬億元,同比增長36.5%,增幅上升5.1個百分點。其中,B2B電商交易額13.9萬億元,同比增長39%。網絡零售市場規模3.8萬億元,同比增長35.7%。
2.1. 11.11
2016年的雙十一
結論:
1、電商行業很掙錢,找互聯網相關的工作。
2、電商行業技術要求很高、高可用、海量數據的存儲。
2.2. 電商行業技術特點
- 技術新
- 技術范圍廣
- 分布式
- 高並發、集群、負載均衡、高可用
- 海量數據
- 業務復雜
- 系統安全
分布式:一件事情,拆開來做
集群:同樣的事情,大家一起做
1024b=1kb 1024kb=1mb 1024mb=1gb 1024gb=1tb 1024tb=1pb 。
3. 淘淘商城介紹
淘淘網上商城是一個綜合性的B2C平台,類似京東商城、天貓商城。會員可以在商城瀏覽商品、下訂單,以及參加各種活動。
管理員、運營可以在平台后台管理系統中管理商品、訂單、會員等。
客服可以在后台管理系統中處理用戶的詢問以及投訴。
其他的一些名詞解釋:
(IT)傳統行業:OA,CRM,ERP,醫葯采購管理系統,銀行系統,財務軟件
(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、把項目拆分成若干個子項目,不同的團隊負責不同的子項目。
3、增加功能時只需要再增加一個子項目,調用其他系統的接口就可以。
4、可以靈活的進行分布式部署。
缺點:
1、系統之間交互需要使用遠程通信,需要開發接口,增加工作量。
2、各個模塊有一些通用的業務邏輯無法公用。
5.2.1.
基於SOA的架構
SOA:Service 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.72(Maven 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的常見打包方式:jar、war、pom
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)
Maven:3.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>
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-manager的pom文件中添加如下配置:
<!-- 配置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. 客戶端
客戶端使用Eclipse的svn插件,在提供的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-common、taotao-manager、taotao-manager-web