day71_淘淘商城專案_04_入口網站介紹 + 商城首頁搭建 + CMS內容管理系統的建立 + CMS內容管理系統的實現_匠心筆記
淘淘商城專案_04
- 課程計劃
- 1、門戶(前臺)系統的搭建
- 2、顯示前臺商城首頁
- 3、CMS內容管理系統的介紹
- 4、CMS內容管理系統的建立
- 5、CMS內容管理系統的實現
- a) 內容分類管理
- b) 內容管理
1、門戶(前臺)系統的搭建
1.1、什麼是門戶系統
從廣義上來說,它將
各種應用系統
、資料資源
和網際網路資源
整合到一個資訊管理平臺
之上,並以統一的使用者介面
提供給使用者,並建立企業對客戶、企業對內部員工和企業對企業的資訊通道,使企業能夠釋放儲存在企業內部和外部的各種資訊。
門戶就是訪問網站的入口
,通俗的說在這裡就是首頁
。比如:jd首頁,taotao首頁,taobao首頁。
門戶屬於前臺系統:面向廣大的網際網路網民。
後臺系統:面向維護人員、入住的商家使用。
1.2、系統架構
1.3、搭建taotao-portal-web工程
可以參考taotao-manager-web工程的搭建。
1.3.1、建立Maven工程
不使用骨架建立
打包方式為war
1.3.2、修改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>
<artifactId>taotao-portal-web</artifactId>
<packaging>war</packaging>
<dependencies>
<!-- 配置對taotao-common的依賴 -->
<dependency>
<groupId>com.taotao</groupId>
<artifactId>taotao-common</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>
<!-- 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的依賴 -->
<!-- dubbo相關 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<!-- 排除對低版本jar包的依賴 -->
<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>
</dependencies>
<build>
<plugins>
<!-- 配置Tomcat外掛 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<port>8082</port>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
</project>
1.3.3、配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>taotao-portal-web</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<!-- 配置解決post亂碼的過濾器 -->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 配置springmvc的前端控制器 -->
<servlet>
<servlet-name>taotao-portal-web</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- contextConfigLocation不是必須的, 如果不配置contextConfigLocation,
springmvc的配置檔案預設在:WEB-INF/servlet的name+"-servlet.xml" -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>taotao-portal-web</servlet-name>
<!-- 攔截(*.html)結尾的請求,實現了網頁的偽靜態化,SEO:搜尋引擎優化-->
<url-pattern>*.html</url-pattern>
</servlet-mapping>
</web-app>
SEO:搜尋引擎優化
,為了提高網站的流量,提高在各搜尋引擎中的搜尋排名
,需要進行優化,那麼可以為動態網站偽靜態化
,以提高排名。
1.3.4、加入配置檔案
springmvc.xml
log4j.properties (新增log4j不是必須的,但是建議新增)
搭建後的效果圖:
2、顯示前臺商城首頁
首頁的原型如下圖所示:
新增靜態頁面及資源。頁面位置如下:
2.1、功能分析
請求的url:/index
http://localhost:8082/index.html
引數:沒有
返回值:String 邏輯檢視
2.2、功能實現
https://www.jd.com/
https://www.jd.com/index.html
一般:jd、taobao訪問時直接訪問域名
我們這裡能否直接訪問: http://localhost:8082/ 呢?
(http://localhost:8082/ 相當於訪問域名,後面部署的時候將會換成域名訪問)
答案是否定的,要想實現此功能,需要修改:web.xml
新增紅色部分如下圖:
3、CMS內容管理系統的介紹
3.1、首頁大廣告位開發實現分析
- 可以根據首頁大廣告位的資料結構設計一張表,進行增刪改查管理。
- 其他部分的展示內容同樣可以設計表,進行增刪改查。
- 上述思路存在的問題:
如果每一個前端展示內容(大廣告位、小廣告位等等),單獨建立表,進行CRUD操作,會有以下問題:- 1、首頁頁面資訊大量堆積,釋出顯的異常繁瑣沉重;
- 2、內容繁雜,管理效率低下;
- 3、許多工作都需要其他技術人員配合完成;
- 4、改版工作量大,維護,擴充套件性差。
- 使用
內容管理系統
解決以上問題。
3.2、內容管理系統
內容管理系統(content management system,CMS)是一種位於WEB 前端(Web伺服器)和後端辦公系統或流程(內容創作、編輯)之間的軟體系統。內容的創作人員、編輯人員、釋出人員使用內容管理系統來提交、修改、審批、釋出內容。這裡指的“內容”可能包括檔案、表格、圖片、資料庫中的資料甚至視訊等一切你想要釋出到Internet網站的資訊。
3.3、動態展示分析
- 對首頁展示功能進行分析,抽取,發現應當有以下的欄位屬性:
- 有圖片
- 有連結
- 有標題
- 有價格
- 圖片提示
- 包含大文字型別,可以作為公告
- 把首頁的每個展示功能(大廣告位,淘淘快報等),看作是一個分類,每個展示功能裡面展示的多條資訊,看作是分類下的內容。
- 例如:首頁大廣告,對應的是大廣告分類,而大廣告位展示的多張圖片,就是大廣告分類下的內容。
- 前臺需要獲取大廣告的圖片,只需要根據大廣告的id查詢對應的內容即可。
- 需要一個
內容分類表
和一個內容表
。內容分類和內容表是一對多
的關係。
- 內容分類表,需要儲存
樹形結構
的資料。(大分類下有小分類)- 內容分類表:tb_content_category
- 內容表:tb_content
- 內容分類表結構:
- 內容表結構:
- 需要有後臺來維護內容資訊
CMS系統
。
- 需要建立一個內容服務系統。
4、CMS內容管理系統的建立
根據單一職能原則
,內容服務只管內容,商品服務只管商品,所以需要新建立一個內容服務工程。
可以參考taotao-manager的建立。
taotao-content:聚合工程,打包方式pom。
|–taotao-content-interface 打包方式為jar
|–taotao-content-service 打包方式為war
// 直接依賴POJO過來
// 直接依賴dao過來
4.1、taotao-content
建立Maven工程taotao-content,跳過骨架
4.1.1、pom檔案
可以參考聚合工程taotao-manager的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>
<artifactId>taotao-content</artifactId>
<packaging>pom</packaging>
<modules>
<module>taotao-content-interface</module>
<module>taotao-content-service</module>
</modules>
<dependencies>
<!-- 配置對taotao-common的依賴 -->
<dependency>
<groupId>com.taotao</groupId>
<artifactId>taotao-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 配置Tomcat外掛 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<port>8083</port>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
</project>
4.2、taotao-content-interface
4.2.1、pom檔案
可以參考模組工程taotao-manager-interface的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-content</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>taotao-content-interface</artifactId>
<dependencies>
<!-- 配置對taotao-manager-pojo的依賴 -->
<dependency>
<groupId>com.taotao</groupId>
<artifactId>taotao-manager-pojo</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
4.3、taotao-content-service
4.3.1、pom檔案
可以參考模組工程taotao-manager-service的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-content</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>taotao-content-service</artifactId>
<packaging>war</packaging>
<dependencies>
<!-- 配置對taotao-manager-dao的依賴 -->
<dependency>
<groupId>com.taotao</groupId>
<artifactId>taotao-manager-dao</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!-- 配置對taotao-content-interface的依賴:服務層釋出服務要通過該介面 -->
<dependency>
<groupId>com.taotao</groupId>
<artifactId
相關推薦
day71_淘淘商城專案_04_入口網站介紹 + 商城首頁搭建 + CMS內容管理系統的建立 + CMS內容管理系統的實現_匠心筆記
淘淘商城專案_04
1、門戶(前臺)系統的搭建
1.1、什麼是門戶系統
1.2、系統架構
1.3、搭建taotao-portal-web工程
1.3.1、建立Maven工程
1.3
day70_淘淘商城專案_03_商品類目選擇 + 圖片上傳 + 圖片伺服器FastDFS + 富文字編輯器KindEditor + 新增商品_匠心筆記
淘淘商城專案_03
1、商品類目選擇
1.1、功能分析
1.1.1、資料庫表結構設計
1.1.2、前端頁面分析
1.2、服務層工程開發
1.2.1、Dao
day81_淘淘商城專案_14_專案釋出 + Linux下安裝mysql + tomcat熱部署 + 反向代理的配置 + 資料庫分庫分表 + Mycat學習_匠心筆記
淘淘商城專案_14
1、開發流程淺解
2、專案釋出前的準備
3、專案部署
3.1、Linux下安裝mysql
3.2、專案架構講解
3.3、系統功能介紹
3.4、網路拓撲圖
3.5
day71_淘淘商城專案_04_匠心筆記
課程計劃
1、門戶(前臺)系統的搭建
2、顯示前臺商城首頁
3、CMS內容管理系統的介紹
4、CMS內容管理系統的建立
5、CMS內容管理系統的實現
a) 內容分類管理
b) 內容管理
day74_淘淘商城專案_07_solrcloud搭建 + zookeeper叢集搭建 + 搜尋功能切換到叢集版 + httpclient學習 + 全域性異常處理器 + 附錄_匠心筆記
課程計劃
1、solr叢集的搭建
2、使用solrJ管理solr叢集
3、把搜尋功能切換到solr叢集版
4、httpclient
5、全域性異常處理
1、什麼是SolrCloud
SolrCloud(solr 雲)是Solr提供的分散式搜尋
淘淘商城專案_同步索引庫問題分析 + ActiveMQ介紹/安裝/使用 + ActiveMQ整合spring + 使用ActiveMQ實現新增商品後同步索引庫_匠心筆記
文章目錄
1、同步索引庫問題分析
2、ActiveM的介紹
2.1、什麼是ActiveMQ
2.2、ActiveMQ的訊息形式
3、ActiveMQ的安裝
3.1、安裝環境
3.2、安裝步驟
day79_淘淘商城專案_12_購物車流程 + 商城購物車系統的搭建 + 商城購物車系統的實現分析 + 購物車實現增刪改查_匠心筆記
課程計劃
1、購物車的流程
2、購物車的實現
a) 登入狀態下的購物車實現
b) 未登入狀態下的購物車實現
1、購物車流程
1.1、以前的購物車流程
使用者將商品新增到購物車時,判斷使用者是否登入,如果已經登入將購物車放入se
day81_淘淘商城專案_14_專案釋出 + Linux下安裝mysql + tomcat熱部署 + 資料庫分庫分表 + Mycat學習_匠心筆記
第十四天:
1、Linux上mysql的安裝
2、系統的部署
3、mycat的介紹
4、專案總結
5、面試中的問題
1、開發流程淺解
2、專案釋出前的準備
1、測試 a) 本地單元測試 b) 測試環境測試(1,2,3,4,5) c) 使用
day82_淘淘商城_15_專案的總結 + 專案中的問題_匠心筆記
專案的總結
第一天:
學習電商行業的背景,電商模式:B2B、B2C、B2B2C、O2O。分散式,叢集的理解,系統的架構,基於SSO的架構。使用Maven搭建後臺工程,及SVN的使用。
第二天:
dubbo的學習和使用,系統和系統之間通訊的中介軟體。webservice :系統之間通訊。應
day73_淘淘商城專案_06_solr索引庫搭建 + solr搜尋功能實現 + 圖片顯示等問題解決_匠心筆記
課程計劃
第六天:
1、搜尋工程的搭建
2、linux下solr服務的搭建
3、測試使用solrJ管理索引庫
4、把商品資料匯入到索引庫中(後臺功能)
5、商品搜尋功能實現(前臺功能)
1、搜尋工程的搭建
要實現搜尋功能,需要搭建solr服務、搜尋服務工程、搜尋系統(表
day82_淘淘商城專案_15_專案總結 + 專案中的問題_匠心筆記
專案總結
第一天 1、電商行業的背景,b2b、b2c、b2b2c、c2c、o2o2。 2、系統的架構。基於SOA的架構。 3、工程搭建。使用maven管理工程。 4、svn的使用。
第二天 1、ssm框架整合。 2、使用dubbo進行通訊 1)服務提供者 2)服務消費者
day80_淘淘商城專案_13_訂單系統搭建 + 展示訂單確認頁面 + 使用者身份認證(SpringMVC攔截器) + 實現提交訂單功能_匠心筆記
淘淘商城專案_13
1、訂單系統搭建
1.1、功能分析
1.2、工程搭建
1.2.1、建立訂單服務層工程
1.2.2、建立訂單表現層工程
2、展示訂單確認頁面
day79_淘淘商城專案_12_購物車流程 + 商城購物車系統的搭建 + 商城購物車系統的實現分析(cookie+redis方案) + 購物車實現增刪改查_匠心筆記
淘淘商城專案_12
1、購物車流程
1.1、以前的購物車流程
1.2、現在的購物車流程
2、商城購物車系統的搭建
2.1、購物車系統的架構
2.2、服務層工程搭建
day78_淘淘商城專案_11_實現SSO系統的登入註冊功能 + 門戶首頁展示使用者名稱 + ajax請求跨域問題詳解_匠心筆記
淘淘商城專案_11
1、服務介面實現
1.1、檢查資料是否可用介面開發
1.1.1、功能分析
1.1.2、Dao
1.1.3、Service
1.1.4、釋出服務
day77_淘淘商城專案_10_ Linux下的Nginx代理詳解(配置虛擬主機+實現反向代理+實現負載均衡+高可用) + 單點登入系統工程搭建 + SSO系統介面文件講解_匠心筆記
淘淘商城專案_10
1、目前訪問系統使用的方式存在的問題
2、什麼是nginx
3、nginx的應用場景
4、nginx的安裝
4.1、要求的安裝環境
4.2、安裝步驟
4.3、啟動nginx
day76_淘淘商城專案_09_商品詳情頁動態展示實現(jsp+redis) + FreeMarker模板引擎入門 + 商品詳情頁靜態化實現(Win版本的nginx作http伺服器)_匠心筆記
淘淘商城專案_09
1、商品詳情頁面展示,動態展示(jsp + redis)
1.1、工程搭建
1.1.1、pom檔案
1.1.2、框架整合
1.1.3、springmvc.xml
day75_淘淘商城專案_08_同步索引庫問題分析 + ActiveMQ介紹/安裝/使用 + ActiveMQ整合spring + 使用ActiveMQ實現新增商品後同步索引庫_匠心筆記
淘淘商城專案_08
1、同步索引庫問題分析
2、ActiveM的介紹
2.1、什麼是ActiveMQ
2.2、ActiveMQ的訊息形式
3、ActiveMQ的安裝
3.1、安裝環
day74_淘淘商城專案_07_ zookeeper叢集搭建 + solrcloud叢集搭建 + 搜尋功能切換到叢集版 + httpclient學習 + 全域性異常處理器 + 附錄_匠心筆記
淘淘商城專案_07
1、什麼是SolrCloud
2、Solr叢集的系統架構
2.1、SolrCloud的物理結構
2.2、SolrCloud的邏輯結構
2.2.1、Collection
day73_淘淘商城專案_06_搜尋工程的搭建 + linux下solr索引庫的搭建 + 把商品資料匯入到索引庫中(後臺) + 商品搜尋功能實現(前臺) + 圖片顯示等問題解決_匠心筆記
淘淘商城專案_06
1、搜尋工程的搭建
1.1、Solr服務搭建
1.1.1、solr的環境
1.1.2、solr的搭建步驟
1.1.3、solr的使用
1.2、配置
day72_淘淘商城專案_05_首頁輪播圖顯示實現 + redis的安裝及使用 + redis叢集環境搭建 + redis實現快取 + 快取同步_匠心筆記
淘淘商城專案_05
1、首頁輪播圖的展示
1.1、功能分析
1.2、Dao層
1.3、Service層
1.3.1、釋出服務
1.4、表現層
1.