1. 程式人生 > >day71_淘淘商城專案_04_入口網站介紹 + 商城首頁搭建 + CMS內容管理系統的建立 + CMS內容管理系統的實現_匠心筆記

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.