day72_淘淘商城專案_05_匠心筆記
課程計劃:
- 第五天
- 1、首頁輪播圖的展示
- 2、首頁大廣告展示流程圖
- 3、Redis的安裝及使用
- 4、Redis叢集的搭建
- 5、向業務邏輯中新增快取
- 6、Jedis的使用(redis的客戶端)
- 7、快取同步
- 8、Solr伺服器安裝
1、首頁輪播圖的展示
taotao-portal-web工程中,動態展示內容資訊。
前端團隊:負責JS,html等開發。
後端團隊:負責後臺的開發並提供資料給前端。
1.1、功能分析
只需要動態生成一個json資料,輪播圖就可以動態展示。
taotao-portal-web工程下的index.jsp中:
Json資料格式:
[
{
"srcB": "http://image.taotao.com/images/2015/03/03/2015030304360302109345.jpg",
"height": 240,
"alt": "",
"width" : 670,
"src": "http://image.taotao.com/images/2015/03/03/2015030304360302109345.jpg",
"widthB": 550,
"href": "http://sale.jd.com/act/e0FMkuDhJz35CNt.html?cpdad=1DLSUE" ,
"heightB": 240
},
{
"srcB": "http://image.taotao.com/images/2015/03/03/2015030304353109508500.jpg",
"height": 240,
"alt": "",
"width": 670,
"src": "http://image.taotao.com/images/2015/03/03/2015030304353109508500.jpg",
"widthB": 550,
"href": "http://sale.jd.com/act/UMJaAPD2VIXkZn.html?cpdad=1DLSUE",
"heightB": 240
},
......
]
分析:
taotao-portal-web 需要自己自定義的POJO的型別資料的列表。
taotao-content 是服務層公用的,可以被其他的系統(表現層的系統)來呼叫。
為了通用性:taotao-content 服務層中獲取tb_content的內容列表 即:list<TbContent>
taotao-portal-web 表現層需要拿到tb_content的列表,然後進行轉換成自定義的型別的資料列表即可。
從tb_content表中取資料,根據(葉子節點)內容分類id查詢列表(內容列表)。
內容分類id固定,需要配置在屬性檔案中
。
圖片的width、height配置在屬性檔案中
。
alt屬性從欄位sub_title中獲取。
src --> pic
srcB --> pic2
href --> url
URL:/index
引數:無。
返回值:首頁頁面(資料是JSON,設定在Model中)
業務邏輯:
1、根據分類的id 查詢內容列表(List<TbContent>)
2、服務層釋出服務。
3、表現層引入服務。
4、呼叫服務,轉換成自定義的資料型別(Ad1Node)
的列表。
5、將資料列表設定到Model
中,返回給頁面。
需要建立一個pojo轉換成頁面需要的json資料格式。放入taotao-portal-web工程的com.taotao.portal.pojo中。
AD1Node.java
/**
* 前臺大廣告位需要的pojo資料型別
* @author chenmingjun
* @date 2018年11月18日下午4:03:34
* @version 1.0
*/
public class AD1Node implements Serializable {
private static final long serialVersionUID = 1L;
private String srcB;
private Integer height;
private String alt;
private Integer width;
private String src;
private Integer widthB;
private String href;
private Integer heightB;
public String getSrcB() {
return srcB;
}
public void setSrcB(String srcB) {
this.srcB = srcB;
}
public Integer getHeight() {
return height;
}
public void setHeight(Integer height) {
this.height = height;
}
public String getAlt() {
return alt;
}
public void setAlt(String alt) {
this.alt = alt;
}
public Integer getWidth() {
return width;
}
public void setWidth(Integer width) {
this.width = width;
}
public String getSrc() {
return src;
}
public void setSrc(String src) {
this.src = src;
}
public Integer getWidthB() {
return widthB;
}
public void setWidthB(Integer widthB) {
this.widthB = widthB;
}
public String getHref() {
return href;
}
public void setHref(String href) {
this.href = href;
}
public Integer getHeightB() {
return heightB;
}
public void setHeightB(Integer heightB) {
this.heightB = heightB;
}
@Override
public String toString() {
return "AD1Node [srcB=" + srcB + ", height=" + height + ", alt=" + alt + ", width=" + width + ", src=" + src
+ ", widthB=" + widthB + ", href=" + href + ", heightB=" + heightB + "]";
}
}
1.2、Dao層
從tb_content表中取出資料,根據內容分類id查詢內容列表。可以使用逆向工程生成的Mapper。
1.3、Service層
引數:Long categoryId
返回值:List<TbContent>
@Override
public List<TbContent> getContentListByCategoryId(Long categoryId) {
TbContentExample contentExample = new TbContentExample();
Criteria criteria = contentExample.createCriteria();
criteria.andCategoryIdEqualTo(categoryId);
List<TbContent> list = contentMapper.selectByExample(contentExample);
return list;
}
1.3.1、釋出服務
在taotao-content-service工程applicationContext-service.xml中釋出服務
1.4、表現層
在taotao-portal-web中實現,查詢首頁輪播圖的內容。
1.4.1、引用服務
先在taotao-protal-web專案中引入對taotao-content-interface的依賴,如圖:
在taotao-content-web工程springmvc.xml中引入服務
1.4.2、Controller
在首頁展示之前,對資料進行處理,然後展示首頁,需要在IndexController中實現。
/**
* 前臺首頁展示Controller
* @author chenmingjun
* @date 2018年11月14日下午11:22:22
* @version 1.0
*/
@Controller
public class IndexController {
@Autowired
private ContentService contentService;
@Value("${AD1_CATEGORY_ID}")
private Long AD1_CATEGORY_ID;
@Value("${AD1_HEIGHT}")
private Integer AD1_HEIGHT;
@Value("${AD1_HEIGHT_B}")
private Integer AD1_HEIGHT_B;
@Value("${AD1_WIDTH}")
private Integer AD1_WIDTH;
@Value("${AD1_WIDTH_B}")
private Integer AD1_WIDTH_B;
/**
* 展示前臺首頁,並展示首頁輪播圖
* @return
*/
@RequestMapping("/index")
public String showIndex(Model model) {
// 1、引入服務
// 2、注入服務
// 3、呼叫方法查詢TbContent的列表
List<TbContent> contentList = contentService.getContentListByCategoryId(AD1_CATEGORY_ID);
// 4、把TbContent的列表轉換為AD1Node列表
List<AD1Node> aD1NodeList = new ArrayList<>();
for (TbContent tbContent : contentList) {
AD1Node aD1Node = new AD1Node();
aD1Node.setAlt(tbContent.getSubTitle());
aD1Node.setHref(tbContent.getUrl());
aD1Node.setSrc(tbContent.getPic());
aD1Node.setSrcB(tbContent.getPic2());
aD1Node.setHeight(AD1_HEIGHT);
aD1Node.setHeightB(AD1_HEIGHT_B);
aD1Node.setWidth(AD1_WIDTH);
aD1Node.setWidthB(AD1_WIDTH_B);
aD1NodeList.add(aD1Node);
}
// 5、把AD1Node列表轉換為JSON資料
String json = JsonUtils.objectToJson(aD1NodeList);
// 6、把JSON資料設定到request域中去(Model)
model.addAttribute("ad1", json);
return "index";
}
}
屬性檔案所在位置:
在taotao-portal-web中的springmvc.xml中還需要配置:
<!-- 配置載入屬性檔案 -->
<context:property-placeholder location="classpath:resource/resource.properties"/>
相關推薦
day72_淘淘商城專案_05_匠心筆記
課程計劃:
第五天
1、首頁輪播圖的展示
2、首頁大廣告展示流程圖
3、Redis的安裝及使用
4、Redis叢集的搭建
5、向業務邏輯中新增快取
6、Jedis的使用(redis的客戶端)
7、快取同步
day71_淘淘商城專案_04_匠心筆記
課程計劃
1、門戶(前臺)系統的搭建
2、顯示前臺商城首頁
3、CMS內容管理系統的介紹
4、CMS內容管理系統的建立
5、CMS內容管理系統的實現
a) 內容分類管理
b) 內容管理
day72_淘淘商城專案_05_首頁輪播圖顯示實現 + redis的安裝及使用 + redis叢集環境搭建 + redis實現快取 + 快取同步_匠心筆記
淘淘商城專案_05
1、首頁輪播圖的展示
1.1、功能分析
1.2、Dao層
1.3、Service層
1.3.1、釋出服務
1.4、表現層
1.
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)服務消費者
day81_淘淘商城專案_14_專案釋出 + Linux下安裝mysql + tomcat熱部署 + 反向代理的配置 + 資料庫分庫分表 + Mycat學習_匠心筆記
淘淘商城專案_14
1、開發流程淺解
2、專案釋出前的準備
3、專案部署
3.1、Linux下安裝mysql
3.2、專案架構講解
3.3、系統功能介紹
3.4、網路拓撲圖
3.5
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、配置
day71_淘淘商城專案_04_入口網站介紹 + 商城首頁搭建 + CMS內容管理系統的建立 + CMS內容管理系統的實現_匠心筆記
淘淘商城專案_04
1、門戶(前臺)系統的搭建
1.1、什麼是門戶系統
1.2、系統架構
1.3、搭建taotao-portal-web工程
1.3.1、建立Maven工程
1.3
day72_淘淘商城專案_05_匠心筆記
課程計劃: 第五天 1、首頁輪播圖的展示 2、首頁大廣告展示流程圖 3、Redis的安裝及使用 4、Redis叢集的搭建 5、向業務邏輯中新增快取 6、Jedis的使用(redis的客戶端) 7、快取同步
day71_淘淘商城專案_04_匠心筆記
課程計劃 1、門戶(前臺)系統的搭建 2、顯示前臺商城首頁 3、CMS內容管理系統的介紹 4、CMS內容管理系統的建立 5、CMS內容管理系統的實現 a) 內容分類管理 b) 內容管理
day72_淘淘商城專案_05_首頁輪播圖顯示實現 + redis的安裝及使用 + redis叢集環境搭建 + redis實現快取 + 快取同步_匠心筆記
淘淘商城專案_05 1、首頁輪播圖的展示 1.1、功能分析 1.2、Dao層 1.3、Service層 1.3.1、釋出服務 1.4、表現層 1.
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)服務消費者
day81_淘淘商城專案_14_專案釋出 + Linux下安裝mysql + tomcat熱部署 + 反向代理的配置 + 資料庫分庫分表 + Mycat學習_匠心筆記
淘淘商城專案_14 1、開發流程淺解 2、專案釋出前的準備 3、專案部署 3.1、Linux下安裝mysql 3.2、專案架構講解 3.3、系統功能介紹 3.4、網路拓撲圖 3.5
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、配置
day71_淘淘商城專案_04_入口網站介紹 + 商城首頁搭建 + CMS內容管理系統的建立 + CMS內容管理系統的實現_匠心筆記
淘淘商城專案_04 1、門戶(前臺)系統的搭建 1.1、什麼是門戶系統 1.2、系統架構 1.3、搭建taotao-portal-web工程 1.3.1、建立Maven工程 1.3