免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

Java Web電影推薦系統(tǒng)實戰(zhàn):Spring Boot + 協(xié)同過濾算法實現(xiàn)

Java Web電影推薦系統(tǒng)實戰(zhàn):Spring Boot + 協(xié)同過濾算法實現(xiàn) 簡介基于SSMSpringSpringMVCMyBatis與Vue開發(fā)的電影推薦系統(tǒng)Java Web項目源碼適用于畢業(yè)設計、課程設計或SSM整合實戰(zhàn)練習。資源共845個文件壓縮包大小17.62MB涵蓋Java后端源碼、Vue前端頁面、JavaScript/CSS等靜態(tài)資源、MySQL數(shù)據(jù)庫腳本、Maven及項目配置文件并附有一鍵環(huán)境搭建與啟動腳本便于快速導入運行。系統(tǒng)采用B/S架構(gòu)數(shù)據(jù)庫使用MySQL 5.7前端采用ElementUI實現(xiàn)了用戶信息、圖片素材、視頻素材等模塊代碼注釋清晰、目錄結(jié)構(gòu)規(guī)范完整呈現(xiàn)從需求分析到系統(tǒng)實現(xiàn)的SSM開發(fā)流程可幫助讀者理解前后端數(shù)據(jù)交互、MyBatis持久化配置及SpringMVC請求路由等關(guān)鍵環(huán)節(jié)。已有282人瀏覽學習適合具備一定Java基礎的開發(fā)者參考借鑒。1. 電影推薦系統(tǒng)源碼先搞清楚它解決什么問題再決定要不要動手如果你是在畢業(yè)設計、課程設計或跳槽作品集里搜到“電影推薦系統(tǒng)”這幾個字那大概率已經(jīng)不是第一次看到類似題目了。這個方向每年都有大量 Java 方向的 Web 項目在做原因很直接它有完整的業(yè)務閉環(huán)——用戶、電影、評分、推薦、后臺管理既能展示 Java 后端基本功又能講出“推薦算法”這個亮點比純增刪改查的管理系統(tǒng)更容易在答辯時撐起場面。但這里要先潑一盆冷水標題里同時出現(xiàn)“推薦系統(tǒng)源碼”“管理系統(tǒng)”“設計與實現(xiàn)”意味著這類項目通常不是一個工業(yè)級的推薦平臺而是一個能跑通、能演示、能講清楚原理的 Java Web 應用。核心價值不在算法多先進而在于三層東西數(shù)據(jù)模型設計是否合理用戶-電影-評分怎么建表、協(xié)同過濾邏輯是否講得通、以及后臺管理有沒有覆蓋電影和用戶的完整操作閉環(huán)。這篇文章我會按這套邏輯把基于 Web 的電影推薦系統(tǒng)怎么做講透。順序是先定技術(shù)棧和架構(gòu)再給庫表設計和實體映射然后落到推薦算法的 Java 實現(xiàn)最后把部署階段最容易翻車的幾個問題先指出來。讀者里如果是 Java 基礎一般、第一次做完整 Web 項目的照著這條線走一遍能少走很多彎路如果已經(jīng)寫過幾個管理系統(tǒng)重點看第四章的協(xié)同過濾實現(xiàn)和第五章的邊界問題那部分才是這個題目真正拉開差距的地方。2. 技術(shù)選型與整體架構(gòu)Spring Boot 為主干的三層結(jié)構(gòu)為什么這么搭2.1 后端框架選型Spring Boot 是這類題目的默認答案但不是唯一答案電影推薦系統(tǒng)在 Java 技術(shù)棧里最常見的搭配是 Spring Boot MyBatis/Spring Data JPA MySQL Thymeleaf或前后端分離。Spring Boot 之所以成為默認答案不是因為它在推薦算法上有什么特殊優(yōu)勢而是因為它把 Web 層、數(shù)據(jù)訪問層、事務管理、內(nèi)置 Tomcat 全部打包好了你在答辯時可以花更多時間講推薦邏輯而不是糾結(jié)怎么配置 web.xml。如果只用標題“基于 Web 的 Java 電影推薦系統(tǒng)”來推斷更常見的課程設計是服務端渲染方案Spring Boot 提供接口和頁面渲染Thymeleaf 直接輸出 HTML。這個選擇的優(yōu)點是對新手友好不需要處理跨域、不需要單獨部署前端工程一個mvn spring-boot:run就能看到完整效果。前后端分離Spring Boot Vue的版本更多出現(xiàn)在近兩年的題目里但如果你對 JavaScript 不熟強行上 Vue 反而會增加工作量。我一般建議按下面的標準來判斷選型方向?qū)Ρ软桽pring Boot ThymeleafSpring Boot Vue前后端分離上手難度低Java 開發(fā)者無需額外學前端框架中需要理解跨域與接口聯(lián)調(diào)推薦功能集成服務端算好后渲染到頁面前端調(diào)用接口展示答辯演示單工程啟動即可需要同時啟動前后端兩個工程找工作加分一般稍好但項目深度更重要如果目標是把系統(tǒng)跑通并講清楚選 Thymeleaf 方案就夠了這也是我從實踐里更推薦的方式。而數(shù)據(jù)庫訪問層JPA 在實體關(guān)系映射上寫起來更短MyBatis 則在復雜 SQL 上更可控。電影推薦系統(tǒng)的 SQL 復雜度不高兩者都可以。下面的示例以 Spring Data JPA 為主因為它能讓實體代碼短很多。2.2 架構(gòu)分層與三張核心表的關(guān)系用戶、電影、評分是推薦系統(tǒng)的地基整個系統(tǒng)我習慣拆成四個包controller、service、repository、entity對應表現(xiàn)層、業(yè)務層、數(shù)據(jù)訪問層和實體層。推薦的靈魂在service包里不只是在 controller 里寫幾行 SQL。核心數(shù)據(jù)關(guān)系只有三張表用戶表user、電影表movie、評分表rating。用戶通過評分與電影建立聯(lián)系推薦算法就是基于這張評分表計算“相似的人”或“相似的電影”。-- 用戶表 CREATE TABLE user ( id bigint NOT NULL AUTO_INCREMENT, username varchar(50) NOT NULL, password varchar(100) NOT NULL, -- 建議存 BCrypt 加密后的結(jié)果 created_at datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; -- 電影表 CREATE TABLE movie ( id bigint NOT NULL AUTO_INCREMENT, title varchar(200) NOT NULL, genre varchar(100) DEFAULT NULL, release_year int DEFAULT NULL, director varchar(100) DEFAULT NULL, poster_url varchar(500) DEFAULT NULL, PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; -- 評分表 CREATE TABLE rating ( id bigint NOT NULL AUTO_INCREMENT, user_id bigint NOT NULL, movie_id bigint NOT NULL, score tinyint NOT NULL COMMENT 1-5分, rated_at datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), UNIQUE KEY uk_user_movie (user_id, movie_id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;三個表之間有兩個關(guān)鍵設計點。第一評分表上加唯一索引uk_user_movie避免同一個用戶對同一部電影重復評分這是推薦數(shù)據(jù)干凈的基本保證如果漏掉這個約束后面算用戶相似度時會出現(xiàn)重復計數(shù)推薦結(jié)果直接失真。第二用戶密碼不能明文存儲這是這類系統(tǒng)經(jīng)常被點評的細節(jié)建議在注冊時用BCryptPasswordEncoder加密答辯時這是可以主動講出來的加分點。還有一張表在實現(xiàn)“電影推薦管理系統(tǒng)”時不可或缺favorite收藏表。它記錄用戶主動收藏的電影一方面可以豐富推薦入口另一方面在前端“我的收藏”頁面直接展示。核心邏輯是用戶對電影的顯式反饋有三種評分、收藏、瀏覽記錄。評分和收藏用于推薦算法的輸入瀏覽記錄則可以在“最近瀏覽”功能中展示形成完整的數(shù)據(jù)采集閉環(huán)。2.3 數(shù)據(jù)從哪來爬取豆瓣 Top250 作為填充數(shù)據(jù)的常規(guī)方案庫表建好之后不能空著跑推薦。電影推薦系統(tǒng)需要真實的電影數(shù)據(jù)否則推薦結(jié)果毫無說服力。常見做法是解析豆瓣電影 Top250 并入庫。但這里要建議你不要花太多時間在數(shù)據(jù)采集上。Top250 一共 250 條包含電影名、導演、類型、年份、評分、簡介足夠完成演示和測試推薦效果。我一般用 HttpClient 或 Jsoup 抓取存成 SQL 腳本直接導入而不是在代碼里做實時爬蟲。抓取時要注意兩個細節(jié)一是類型字段用英文逗號分隔方便后面做“同類電影”推薦二是把海報 URL 一并存下來前端頁面會好看很多。抓取數(shù)據(jù)屬于一次性工程不用做得太復雜代碼里留一個data.sql文件即可讓系統(tǒng)啟動時自動初始化數(shù)據(jù)省去手工導入的步驟。這塊的典型問題是很多同學直接從網(wǎng)上下載了一個 movie.sql但表結(jié)構(gòu)和字段名對不上改起來反而更耗時。最穩(wěn)妥的方式是理解實體類的字段順序然后保證 SQL 的插入列名和實體類的Column名稱一致。3. 從建庫到跑通接口實體類設計與用戶評分閉環(huán)的實現(xiàn)3.1 用 JPA 注解定義實體Movie 與 Rating 的映射關(guān)系上一章給出的建表 SQL現(xiàn)在需要落到 Java 實體上。以 Movie 表為例字段映射如下Entity Table(name movie) public class Movie { Id GeneratedValue(strategy GenerationType.IDENTITY) private Long id; Column(nullable false, length 200) private String title; Column(length 100) private String genre; Column(name release_year) private Integer releaseYear; private String director; Column(name poster_url, length 500) private String posterUrl; // getter / setter / 構(gòu)造函數(shù)略實際開發(fā)中用 Lombok Data 簡化 }這里的Column(name release_year)必須和表字段名嚴格一致否則 JPA 啟動時不會報錯但查詢結(jié)果里 releaseYear 始終為 null。這是 Spring Data JPA 新手經(jīng)常碰到的問題。如果用 Lombok只需要在類上加Data注解getter/setter 自動生成代碼能少一半。接著是 User 和 Rating 實體。Rating 實體不直接用ManyToOne關(guān)聯(lián)對象而是只存userId和movieId兩個 Long 字段。原因是推薦算法要批量遍歷所有評分關(guān)聯(lián)對象會導致大量延遲加載。為了性能實體設計上做“扁平化”關(guān)聯(lián)關(guān)系在 Service 層手動拼接。Entity Table(name rating, uniqueConstraints { UniqueConstraint(columnNames {userId, movieId}) }) public class Rating { Id GeneratedValue(strategy GenerationType.IDENTITY) private Long id; Column(name user_id, nullable false) private Long userId; Column(name movie_id, nullable false) private Long movieId; Column(nullable false) private Integer score; // 1-5 Column(name rated_at) private LocalDateTime ratedAt; }注意 JPA 列名默認的駝峰轉(zhuǎn)下劃線策略。userId字段默認映射到user_id如果你在application.yml里關(guān)閉了spring.jpa.hibernate.naming.physical-strategy的默認配置就可能在運行時報“列 userId 不存在”。為了保險上面代碼里顯式標注了Column(name user_id)。這里全都是經(jīng)得起運行驗證的細節(jié)寫的時候一步到位能省下很多調(diào)試時間。3.2 用戶注冊登錄與評分接口寫推薦系統(tǒng)之前先建立數(shù)據(jù)采樣入口推薦系統(tǒng)的效果取決于評分數(shù)據(jù)的數(shù)量和質(zhì)量。所以第一步不是實現(xiàn)推薦算法而是先把用戶評分接口寫出來。一個完整的評分閉環(huán)包括用戶注冊登錄 → 瀏覽電影列表 → 點擊某部電影 → 評分 → 刷新后看到評分狀態(tài)。接口設計遵循 REST 風格即可PostMapping(/api/rating) public Result rateMovie(RequestBody RateRequest request) { Rating rating ratingService.rate(request.getUserId(), request.getMovieId(), request.getScore()); return Result.success(rating); } GetMapping(/api/movie/{id}) public MovieVO getMovieDetail(PathVariable Long id) { Movie movie movieService.findById(id); ListRatingVO ratings ratingService.findByMovieId(id); return MovieVO.from(movie, ratings); }ratingService.rate里的核心邏輯是“存在則更新不存在則插入”。用上一章那張唯一索引可以先findByUserIdAndMovieId有記錄就更新 score沒有就新建。這個邏輯雖然簡單卻決定了推薦算法候選集的質(zhì)量。另外管理員后臺能夠批量導入評分數(shù)據(jù)比如給新注冊用戶隨機生成 10 條評分這樣在演示協(xié)同過濾時不需要手工一條條去點效果展示更快。評分接口完成后推薦系統(tǒng)的數(shù)據(jù)基礎就搭好了。下一步才進入重頭戲什么樣的算法能讓一個只有幾百條評分的數(shù)據(jù)集跑出“像樣”的推薦列表。4. 協(xié)同過濾推薦算法用基于用戶的 UserCF 撐起“推薦”兩個字4.1 為什么選 UserCF 而不是 ItemCF從數(shù)據(jù)規(guī)模和答辯角度分析推薦算法主流分為基于內(nèi)容的推薦和協(xié)同過濾推薦。協(xié)同過濾又分成基于用戶的UserCF、基于物品的ItemCF和基于模型的矩陣分解等。對電影推薦這種規(guī)模的 Web 項目基于物品的推薦在工業(yè)界如 Amazon 中表現(xiàn)優(yōu)秀但課程設計里我更推薦 UserCF。原因有兩個。第一數(shù)據(jù)規(guī)模小。UserCF 的原理是“找到和你口味相似的用戶把那些用戶喜歡而你沒看過的電影推薦給你”。評分表只有幾百行計算相似度時時延完全可以接受如果換 ItemCF 要計算電影間的相似度矩陣效果差異在數(shù)據(jù)量大時才能體現(xiàn)而演示場景下 UserCF 更好講。第二UserCF 的另一方面優(yōu)勢是推薦結(jié)果更有“故事性”——“和你興趣相似的用戶也在看《霸王別姬》”這句話在答辯時可以直接講給評委聽容易讓思路被理解。4.2 UserCF 的完整 Java 實現(xiàn)相似度矩陣、TopK 鄰居與推薦列表生成下面是一段可以直接放到項目里的核心代碼。它包含三個步驟第一步計算用戶相似度矩陣第二步為指定用戶找到 TopK 最相似用戶第三步為目標用戶生成推薦列表。Service public class RecommendService { Autowired private RatingRepository ratingRepository; Autowired private MovieRepository movieRepository; // 1. 構(gòu)建用戶-電影評分的映射 private MapLong, MapLong, Integer buildUserRatingMap() { ListRating allRatings ratingRepository.findAll(); MapLong, MapLong, Integer userRatings new HashMap(); for (Rating r : allRatings) { userRatings .computeIfAbsent(r.getUserId(), k - new HashMap()) .put(r.getMovieId(), r.getScore()); } return userRatings; } // 2. 計算兩個用戶之間的余弦相似度 private double cosineSimilarity(MapLong, Integer u1, MapLong, Integer u2) { SetLong commonMovies new HashSet(u1.keySet()); commonMovies.retainAll(u2.keySet()); if (commonMovies.isEmpty()) { return 0.0; } double dot 0, norm1 0, norm2 0; for (Long movieId : commonMovies) { dot u1.get(movieId) * u2.get(movieId); } for (Integer score : u1.values()) { norm1 score * score; } for (Integer score : u2.values()) { norm2 score * score; } if (norm1 0 || norm2 0) { return 0.0; } return dot / (Math.sqrt(norm1) * Math.sqrt(norm2)); } // 3. 為目標用戶生成 TopN 推薦 public ListMovie recommendForUser(Long userId, int topN) { MapLong, MapLong, Integer userRatings buildUserRatingMap(); MapLong, Integer targetUserRatings userRatings.getOrDefault(userId, Collections.emptyMap()); // 計算目標用戶與所有其他用戶的相似度 MapLong, Double similarityScores new HashMap(); for (Map.EntryLong, MapLong, Integer entry : userRatings.entrySet()) { if (entry.getKey().equals(userId)) continue; similarityScores.put(entry.getKey(), cosineSimilarity(targetUserRatings, entry.getValue())); } // 按相似度排序取 TopK 鄰居 ListMap.EntryLong, Double sorted new ArrayList(similarityScores.entrySet()); sorted.sort((a, b) - Double.compare(b.getValue(), a.getValue())); ListMap.EntryLong, Double topK sorted.subList(0, Math.min(5, sorted.size())); // 從鄰居的評分中收集候選電影按加權(quán)分數(shù)累加 MapLong, Double candidateScores new HashMap(); MapLong, Integer candidateCount new HashMap(); for (Map.EntryLong, Double neighbor : topK) { if (neighbor.getValue() 0) continue; MapLong, Integer neighborRatings userRatings.get(neighbor.getKey()); for (Map.EntryLong, Integer movieRating : neighborRatings.entrySet()) { Long movieId movieRating.getKey(); if (targetUserRatings.containsKey(movieId)) { continue; // 過濾掉已評分的電影 } candidateScores.merge(movieId, neighbor.getValue() * movieRating.getValue(), Double::sum); candidateCount.merge(movieId, 1, Integer::sum); } } // 按加權(quán)分數(shù)排序取 TopN 返回 ListMap.EntryLong, Double ranked new ArrayList(candidateScores.entrySet()); ranked.sort((a, b) - Double.compare(b.getValue(), a.getValue())); ListLong movieIds ranked.stream() .limit(topN) .map(Map.Entry::getKey) .collect(Collectors.toList()); return movieRepository.findAllById(movieIds); } }這段代碼有幾個參數(shù)值得說明。cosineSimilarity里的余弦相似度是核心公式是共同評分電影的點積 / 兩個用戶評分向量的模長的乘積。共同評分數(shù)為 0 時直接返回 0避免除零異常。topK選擇了 5當用戶數(shù)量較少時這個值足夠如果測試賬號打分到幾百條可以適當加大到 10。候選電影分數(shù)累加時用了merge,相當于對鄰居相似度和評分的乘積求和比單純“評分平均值”更能體現(xiàn)出相似度權(quán)重。從實際運行角度看這段代碼在評分數(shù)據(jù)幾千條時性能沒有問題因為buildUserRatingMap()一次把所有評分讀進內(nèi)存后續(xù)計算全在內(nèi)存完成。但從代碼嚴謹性出發(fā)還有一個可以優(yōu)化的小點recommendForUser每次請求都會重新計算全局相似度這不算高效卻在課程設計代碼里很常見。只需在答辯時說明“下一步可以改成離線預計算”就不會被挑戰(zhàn)。4.3 冷啟動處理當用戶沒有評分時按熱度推薦打底如果數(shù)據(jù)庫里只有一個測試用戶或者用戶首次注冊還沒有任何評分協(xié)同過濾無數(shù)據(jù)可用。此時推薦列表自然為空頁面會很難看會顯得項目沒完成。解決手段用“默認推薦”兜底即可。當targetUserRatings.size() 0或相似度 TopK 全部為 0 時直接返回熱度最高的電影熱度按評分數(shù)量和平均分綜合排序。下面是簡單的實現(xiàn)思路Query(SELECT r.movieId, COUNT(r.id) AS cnt, AVG(r.score) AS avgScore FROM Rating r GROUP BY r.movieId ORDER BY cnt DESC, avgScore DESC) ListObject[] findHotMovies();熱度榜是推薦系統(tǒng)冷啟動的標準方案把它放在用戶協(xié)同過濾之前作為兜底能讓新用戶第一次打開首頁就有內(nèi)容看。這個細節(jié)在演示環(huán)節(jié)幾乎一定會被問到主動講“冷啟動階段我們用熱度榜兜底積累評分后自動切換協(xié)同過濾”這體現(xiàn)的就是設計意識。5. 部署與運行階段的五個高頻坑從推薦為空到登錄失效的血淚經(jīng)驗5.1 冷啟動導致推薦結(jié)果為空頁面白屏接口返回空數(shù)組這是一個出現(xiàn)頻率非常高的現(xiàn)象。它發(fā)生在你剛注冊完新用戶點進“為你推薦”頁面時接口返回[]頁面上什么都沒有。原因就是上一章講的協(xié)同過濾的前置條件不成立——用戶沒有評分數(shù)據(jù)算法無法計算相似用戶推薦候選集自然是空的。處理方法就是上一章的“熱度榜兜底”recommendForUser方法開頭加判斷如果該用戶的評分數(shù)量為 0直接調(diào)用電影熱度榜接口返回。這里是邏輯分支不是異常處理更需要的是提前想到這個場景。另外管理后臺里增加“為測試用戶生成隨機評分”的功能也是演示前準備的一個技巧一鍵生成 10 條評分再刷新推薦頁效果直觀。5.2 新加的依賴在啟動時直接報錯JPA 實體類映射不匹配有次我在自己電腦上跑一個網(wǎng)上拿到的現(xiàn)成工程啟動時 Spring 報Caused by: org.hibernate.AnnotationException: No identifier specified for entity一查原因是實體類里沒有Id主鍵標注或者主鍵字段名和表結(jié)構(gòu)對不上。另一種常見情況是Column name xxx not found原因多半是實體類的字段命名規(guī)則和數(shù)據(jù)庫實際列名不一致。處理方式分兩類。自己從零寫代碼時建表腳本和實體類要同時維護寫完表結(jié)構(gòu)先跑一次spring.jpa.hibernate.ddl-autovalidate讓 Hibernate 在啟動時幫你校驗映射是否一致。從網(wǎng)上下載源碼時不要直接依賴別人的data.sql先看實體類字段再對照建表 SQL 統(tǒng)一列名。這個步驟能省下大量排查時間。5.3 N1 查詢導致頁面很慢一次聚會頁面發(fā)出上百條 SQL推薦結(jié)果包含 10 部電影頁面每部電影要拉取評分和封面日志里發(fā)現(xiàn)一次請求產(chǎn)生了 100 多條 SQL。這是典型的 N1 問題先查出電影列表再逐條查電影的評分、導演等信息。在小數(shù)據(jù)集上問題不明顯但如果數(shù)據(jù)量到幾千部電影接口響應時間會從幾十毫秒漲到好幾秒。解決方式是批量查詢。查完movieIds列表后用ratingRepository.findByMovieIdIn(movieIds)一次性查出所有評分在 Java 內(nèi)存里按movieId分組組裝到 VO。這是推薦系統(tǒng) Web 化之后逃不開的性能優(yōu)化點。要讓代碼里養(yǎng)成“先批量取數(shù)再內(nèi)存組裝”的習慣而不是依賴 JPA 的懶加載去逐條 get。5.4 跨瀏覽器頁面樣式錯亂推薦列表在新版 Chrome 正常IE 上布局完全散掉熱詞里反復出現(xiàn)“跨瀏覽器支持的設計與實現(xiàn)”其實反映的就是這個高校項目答辯時的高頻問題。用 Thymeleaf 加 Bootstrap 的老式頁面特別依賴 CSS 框架的版本兼容性。如果演示機器上的瀏覽器版本較舊或者用了國產(chǎn)瀏覽器的兼容模式頁面布局會直接錯亂。解決思路不復雜第一模板里顯式聲明meta charsetutf-8避免亂碼第二不要在頁面上大量使用最新的 CSS Grid 或 flex 新特性Bootstrap 4/5 的柵格系統(tǒng)對舊瀏覽器相對友好第三演示前用 Chrome 的無痕模式跑一遍全部頁面避免舊緩存和插件干擾。這個坑聽起來不算技術(shù)難題但在答辯現(xiàn)場翻車的概率極高屬于“演示前一小時最容易讓人崩潰”的那類問題。5.5 登錄狀態(tài)突然失效刷新頁面就跳回登錄頁推薦接口報 401如果系統(tǒng)實現(xiàn)了登錄攔截這種問題的典型原因是 Session 持久化配置不對。Spring Boot 默認的 Session 存儲在內(nèi)存里應用重啟后所有登錄態(tài)全部丟失。有的同學在本地開發(fā)時不覺得但換到部署環(huán)境或者演示前不小心重啟了應用就會發(fā)現(xiàn)所有頁面都要重新登錄。還有一個更隱蔽的原因——前后端分離模式下前端沒在請求頭帶上 Cookie導致后端拿不到 Session。常規(guī)做法是配置 Spring Session 把會話存到 Redis但一個課程設計項目為此引入 Redis 顯得偏重。我更推薦的方案是明確告知“本地演示時重啟后需要重新登錄”同時在攔截器里把/api/login、/api/register和首頁排除掉保證即使 Session 失效也不至于影響演示流程。如果排查這類問題先從瀏覽器開發(fā)者工具里看請求頭是否帶上了Cookie再查后端攔截器是否誤攔截了靜態(tài)資源這兩步能覆蓋掉大部分登錄失效的場景。6. 讓答辯和演示經(jīng)得起追問推薦算法驗證與演示細節(jié)設計系統(tǒng)做完后最容易被問倒的問題往往是“你這個推薦效果到底怎么樣”。所以最后一章把驗證手段和演示腳本的設計講清楚。推薦效果驗證不追求學術(shù)指標但至少要能用數(shù)據(jù)說話。常見做法是把評分表按 8:2 切分訓練集和測試集再用訓練集跑推薦看測試集里用戶真實看過的電影有多大比例出現(xiàn)在推薦列表里。配合下面這個偽代碼思路做統(tǒng)計// 按用戶劃分每個用戶取 80% 的評分做訓練20% 做驗證 // 訓練集跑 recommendForUser驗證集統(tǒng)計命中率 double precision hits / (double) topN;不用把評估模塊做得很重一個能夠輸出“測試用戶 12 的推薦命中率是 30%”的統(tǒng)計就夠了。因為答辯評委不會深究你的召回率曲線但會關(guān)注你有沒有基本的驗證意識。演示時我建議走一條固定的路徑先用管理員賬號在后臺給新用戶生成 58 條高評分記錄比如全是科幻片然后切換到用戶端打開“為你推薦”展示的結(jié)果里應該出現(xiàn)同類型的其他科幻電影。這時再補一句“這是基于用戶相似度的協(xié)同過濾系統(tǒng)找到了口味相近的用戶”整個過程自然流暢突出核心價值。另一個容易加分的小技巧是讓用戶先給《流浪地球》打 5 分、給《星際穿越》打 5 分、給一部愛情片打 1 分刷新推薦頁時注意力全放在“推薦里沒有愛情片”這個點上——負反饋被過濾掉證明算法不只是按熱度推。這個演示細節(jié)會讓評委覺得你的算法真實生效了而不是拿了一個固定列表在糊弄。前端如果因為時效性沒更新記得在評分后調(diào)recommendForUser接口重新拉取不要復用一個頁面級緩存。最后的經(jīng)驗之談是關(guān)于代碼里那些看起來不重要的分支。用到“用戶沒有評分就推熱門榜”“用戶已經(jīng)看過的電影不進推薦列表”這兩個判斷在答辯時價值不低于算法本身。它們證明你考慮了真實使用場景而不是只在理論數(shù)據(jù)上跑通。我自己的習慣是給每個關(guān)鍵分支寫一個注釋標明“沒有評分時的兜底邏輯”幾個月后回看代碼能快速回憶起設計意圖。這份方案如果照著一路做下來從建庫、評分、協(xié)同過濾到頁面展示是一個完整可演示的閉環(huán)也是電影推薦系統(tǒng)這個題目下比較穩(wěn)的落地路徑。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美婷婷六月丁香综合色| 开心五月综合激情网| www.99视频| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 欧美五月丁香在线观看| 欧美天堂婷婷日韩| 五月色俺婷婷| 91丁香| 五月天亚洲色| 婷婷亚洲综合| 乱精品一区字幕二区| 亚洲丁香五月美女| 第五婷婷伊人丁香色| 久久激情综合| 天天摸天天高潮天天爽| 99在线资源| 九九热九九| 思思热久久久在线| 久99视频在线观看| 韩国真做片在线观看| 久久99热这里只有精品23| 拍真实国产伦偷精品| 成人网在线视频| 亚洲丁香花色| 超碰免费成人| 超碰在线资源| 久久久性爱视频| 婷婷激情另类| 婷婷六月激情| 人人人操Av| 丰满人妻妇伦又伦精品国产 | 日本天天操| ,99视频久久| 久久综合首页| 精品少妇人妻AV无码专区偷人| 思思久久99热只有频精品66| 五月激情偷拍| 天天草天天爱| 伍月激情天| 另类在线| www.精品99| 日韩999| 激情久久伊人| 天天天天天天操| 2025中文在线视频字幕免费观看| 狠狠做五月| 色婷婷国产精品综合在线观看| 色五月婷婷久久| 五月婷婷之美女图片| 九月激情网| 亚洲操B视频| 五月四色激情| 色婷婷五月综合色婷婷| 成人超碰网| 99精品综合| 最新日本A片| 久久综合站| 久久婷婷婷| oumeisesewang| 久久香蕉网| VA色婷婷| 五月色婷婷影院| 久久久久人妻精选| 99九九热视频| 欧美婷婷成人| 在线婷婷| 国产暴力强伦轩1区二区小说| 久99在线视频| 操逼巨乳91| 婷婷五月婷婷| 99久久6| 嫩草综合网| 综合综合色色| 久久最新色色色| 亚洲人妻电影| 狠狠操之狠狠操| 九九热中文| 伊人天堂婷婷| 超级久久久| 丁香九色不卡aaa | 精品99视频| 伊人玖玖婷婷| 狠狠干,狠狠操| 国产伦亲子伦亲子视频观看| WWW久久99久久99久久| 色欲久久综合| 热的国产99热| 欧美激情五月| 五月丁香操婷逼| 色999;丁香五月| 国产精品爽爽久久久久久| 99re这里只有精品首页| 欧美性爱5月天天天看| 99热6这里只有精品6| 美臀自射自家人妻| 久久怡红院| 亚洲人妻五月丁香婷婷| 五月婷婷人妻| 五月激情六月综合| 婷婷五月天首页激情| 色.五月综合网| 久久九九99.www| 日韩操女| 伊人干综合| 狠狠色丁婷婷日日,伊人激情综合网| 免费色色色| 亚洲色色图片| 亚洲激情久久| 丁香六月婷婷色XXXX| 丁香五月婷婷色偷偷| 久久国产高潮白浆免费观看99| 激情综合色网| 日日综合网| 99精品久久| 97人人草| 五月天丁香婷| 色综合婷婷99| 久久婷婷国产| 丁香五月婷婷手机| 国产古装妇女野外A片| 中文字幕按摩做爰| 亚洲综合五月天婷婷丁香| 99re久热只有精品6在线直播| 天天干天天干天天操| 久久性爱视频网站| 五月天婷婷綜合院| 日日干夜夜撸夜夜骑| 六月婷婷七月丁香| 婷婷国产成人| 激情AV| aV欲望人妻中文字幕| 91视频五月丁香| 久久五月天合网| 综合99久久天天综合| 久久国产一区二区三区| 婷婷欧美偷拍综合| 日韩成人无码人妻| 国产日韩av片| 91无码高清| 日本久久色| 婷五月天天| 激情五月天影院| 激情文学综合婷婷五月天丁香花| 色五月丁香五月五月婷婷| 五月天婷a| 婷婷五月影院| WWW久| 精品一区二区三区木瓜| 丰满少妇猛烈A片免费看观看 | 99热99成人| 色婷婷久久综合久色综| 欧美色偷偷大香| 啪啪五月天啪啪| www.99色| 99热99网| 91性高潮久久久久久久久| 青996青| 日本精品在线噜噜噜| 凹凸操Av| 国产黄色大片| 五月天天天天天天天天天天天天天天天婷婷婷 | 亚洲国产精品成人va在线观看| 丁香五月婷婷日本| 9色免费网| 99免费视频久久| 伊人久久大香蕉网| 天天色天天射天天日| 激情综合五月婷婷| 欧美精产国品一二三区| 狠狠人人婷婷| 五月丁香啪啪综合网| 久色五月丁香视频| av色婷婷| 午夜五月天| 一婬一伦一区二区三区| 久久aaaa片一区二区| 五月丁香啪啪啪| 超碰网站在线观看| 免费观看亚洲AV片| 超碰在线观看9| 婷婷成人视频| 丁香五月性| 人妻AV在线| 婷婷色基地| 五月婷激情| 天花AV无码| 丁香婷婷激情五月色| 五月丁香网站| 丁香六月婷婷综合麻豆| 九九丁香社区欧美激情| 亚洲色婷婷色| 青青草原中文字幕| 亚洲色无码A片一区二区麻豆| 97久久超碰| 狠狠狠狠狠狠| 99碰超| 人人干人人看| 婷婷丁香激情五月天色色| 大香蕉五月婷婷丁香| 玖玖资源天天无码| 六月婷婷五月丁香| 大伊久久| 久久婷婷色综合| 成人视频一区| 这里只有国产精品在线| 无码少妇高潮喷水A片免费| 夜夜躁狠狠| 色亭亭影园| 色色色无码| 五月婷婷影视| 99国产精品久久久久久久久久久| 久久色五月| 91精品国产综合久久久不卡电影| 丁香婷婷色色| 色五月婷婷综合| 六月丁香激情网| 五月情四婷婷| 91狠狠色色丁香婷婷综合久久| 激情五月婷婷| 一起草性爱不卡视频| ′久久99一| 99精品综合| 五月婷婷黄色| 色九九丁香九月色九九色| 色婷婷香蕉| 五月丁香综合久久| 成人av免费观看| 成人午夜天| 五月婷婷五月色| 久久五月天合网| 色婷婷亚洲在线观看| 狠狠干综合| 天天色天天舔天天爱天天爽| 五月五婷婷网| 五月激情网站| 在线成人国产| AA片在线观看视频在线播放| 99热精品在线播放| 天天操夜夜玩!| 欧美婷婷精品激| 狠狠色丁香| 亚洲va在线∨a天堂va欧美va| 五月天激情综合网俺也去| 4399精品一区二区| 亚洲愉拍99热成人精品| 99久久9| 丁香婷在线| 精品视频这里只有精品| 欧洲一区二区| αV电影| 91性高潮久久久久久久久| 99爱在线视频| 色五月婷婷五月天激情综合| 伊人超碰| 一夜福利不卡| 色婷婷五月影视| www. 五月. com| 色婷婷基地| AV操逼网| 26uuu丁香婷婷五月| 国产精品久久久60086| 久久精品婷婷| 五月丁香色| 一区无码| 国产九月婷婷| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 91呦呦呦| 欧美影院婷婷| 五月天婷婷网站888| 亚洲色无码| 996er热| 亚洲成人av在线观看 | 欧美色偷偷大香| CHINESE熟女老女人HD视频| 九九99免费理论| 丁香五月成人av| 99色在线观看| 天天免费日日夜夜夜夜| 亚洲精品性色| 成人丁香婷婷五月天| 第2色五月婷| 色优久久| 欧美激情五月天婷婷| 色婷婷大香蕉| 99欧美| 999婷婷综合| 91婷婷在线观看| 国产三级在线播放| 香蕉97碰碰碰超视精品| 99久久97久久欧美综合网| 超碰免费人人| 92久久| 人妻久久人妻久久第一区| 婷婷伊人久久综合| av操一操| 白天AV月月| 九热在线这里有精品6| 26uuu青青| 色婷婷久久久| 天天激情视频| 丁香综合网| 日日操人人操| 韩国激情五月天综合网| 99精品热视频| 婷婷色网| 成人片在线播放| 在线播放成人网站| 1024亚洲无码| 国产又黄又爽又色的免费| 这里有精品| 99热精品在线| 91丁香色| 无码橾| 久久99婷婷| 99亚色色色| 色久婷婷网| 深爱网深爱综合网| 五月天网站亭亭| 色婷婷丁香| www.天天干| 欧美在线97| 激情五月婷婷网| 色婷婷小说| 刘玥av在线| 热99.com婷婷| 六月丁香久久| 五月丁香六月婷综合成人综合| 色婷婷狠狠18| 久草热在线视频| 五月婷婷五月天| 五月婷婷啪啪| 在线播放成人| 久久婷婷五月| 色婷婷六月丁香综合欲精品| 婷婷五月无码| 西西4r午夜剧场| 精品九九网| 爆乳熟妇一区二区三区爆乳照片| 天天艹夜夜爽| 亚洲精品无码久久| 婷婷五月丁香基| 麻豆AV一区二区三区| 97成人在线视频| 色综合久久88色综合天天看| 春色激情第四色| 五月婷婷婷| 丁香五月性| 97在线观视频免费观看| 日韩高清成人| www.五月天激情| 99在线视频播放| 性无码专区无码| 人人97操| 色五月五月天| 久99| 五月亭亭色| 亚洲五月天综合色| 无码99| 99精品在线| 伊人青涩网| 色色色色区| 熟女婷婷网站一婷婷五月一丁香婷婷一婷婷激情网 | 久久婷色| 亚洲色图啪啪| 婷婷丁香五月天亚洲| 色婷婷激情| 99热个人在线| 丁香五月婷婷五月天在线| 日日夜夜婷婷| 久久婷婷青青草| 色婷精品91| 国语精品探花| 国产亚洲精品久久久久苍井松 | 久久六月综合| 亚洲亚洲人成综合网络| 日本一级一级一级一级| 国产精品爽爽久久久久久| 操逼五月婷婷| 久热这里只有精品在线观看| 婷婷五月亚洲综合| 天天干,天天操,天天射| www激情com| 九九热免费视频| 久久久久久99精品无码| 五月天天爱| 人人插操| 五月丁香网中文字幕| 99热资源在线| 99日本视频| 99色看| 久碰视频| 亚洲精品va| 我去色色网五雨天| 亚洲成人av在线播放| 亚洲婷婷五月天激情综合| 国产精品涩涩涩视频网站| www.91操| 丁香综合网| 玖玖激情网| 狠狠色噜噜| 内射在线CHINESE| 夜夜夜天天操| 久久婷五月| 色噜噜狠狠色综合日日| www色五月| 婷婷丁香97| 婷婷久月| 涩五月婷婷| 五月丁香激情婷婷| 激情五月综合| 婷婷五月深情丁香深爱日韩| 色五月在线观看| 五月丁香亭亭操逼| 99精品久久| 婷婷激情综合| 亚洲这里只有精品| 深爱五月婷婷开心中文字幕| 97人人操人人干| 婷婷久久综合| 丁香六月激情| 99久久99热这里只有精品| 荡乳尤物3HP1V5| 久久与婷婷| 亚洲色无码A片一区二区麻豆| 国产精品久久在线观看技巧| 强辱丰满人妻HD中文字幕| anquye伊人| 丁香婷婷综合激情五月色| 97久久香草精品视频| 色久综合| 久久婷婷色五月| 丁香五月婷婷欧美成人色图| 99re视频在线播放| 99亚洲综合| 欧类av怡春院| 色婷婷基地| 97人妻碰碰碰久久| www.色五月| 99久久99热| 亚洲V国产V欧美V久久久久久| 婷婷五月天激情视频| 丁香五月婷婷av影院| 开心婷婷五月中文字幕组| 综合 蜜月 婷婷| www久久艹| 91丨九色丨东北熟女| 99热免费| 色七七色九九| 掩去也综合五月视频| 中国丰满熟女A片免费观| 天天操夜夜爽| 成人av播放| 九九在线视频| 天天爱夜夜爽| 日本色道视频网站| 极骚大香蕉伊人| 开心婷婷五月| 99这里精品| 九九爱精品网站| 天天色天天日天天舔| 亚洲欧美综合7777色婷婷| 六月丁香久久| 五月天婷婷成人| 九九综合| 丁香五月婷婷综合激情哟哟哟| 99视频这里有精品| 婷婷久久免费看| 色色网91| 色五月综合| 五月激情综| 无码九九| 久婷婷五月综合欧美| 色婷婷综合网站| 久热视频这里只有精品| 中文精品久久久久人妻不| 91午夜婷婷狠狠久久综合9色| 日日夜夜干| 五月天小说激情| 碰人人操| 天天干天天日蜜臀av| 婷婷综合亚洲| 日日舔夜夜操| 五月花婷婷在线精品视频| 国产高潮白浆一区二区| 99在线观看| 久久久精品人妻| 激情图片婷婷| 亭亭五月丁香综合欧美| 99噜噜噜| 另类国产欧美视频| 婷婷情色开心五月天99| 丁香五月电影| www.五月婷婷.com| 亚洲婷婷欧美婷婷| 丁香五月综合在线观看| 婷婷婷色五月| 日日日,com| 九九干视频| avh片在线观看| 99久久久久| 婷婷色九月| 亚洲狠狠干| 五月天久久www| 五月久久五月激情| 久久婷丁香五月| 9一精品视频观看| 最新高清无码专区| 久久久97| 丁香久久| 人人操99| 色~性~乱~伦~噜| 色激情五月| 丁香五月综合在线播放 | 中文字幕成人| 九九热在线99| 色综合色综合网| 久久9热| 99色色色色| 亚洲久久婷婷| 九九操综合网| 亚洲婷婷婷| 热久久77777| 开心婷婷中文字慕| 99热日本| 99久久婷婷国产综合精品草原| 丁香婷婷超碰| 亚洲视频国产一区| 色色色色色五月丁香| 日韩成人电影Av| 五月婷综合| 日韩无码亚欧无码| 777久久久| 98色丁香五月婷婷综合网| 一本久婷婷综合| 男女激情久久| 丁香五月 激情文学| 超碰A V在线| www99xxxx五月丁| 99在线免费视频播放| 色婷婷播放| 丁香婷婷老司机久操| 色操综合| 色婷婷综合成人| 亚洲性爱电影| 国产色丁香| 综合综合色色| 日日激情网| 亚洲人妻五月丁香婷婷| 99热这里是精品| 91九色欧美| AV在线免费播放| 五月天综合网| ..真实国产乱子伦对白在线_欧 | 五月婷婷九九热| 国产精品成人AV在线| 99色婷婷视频| 丰满少妇乱A片无码| 成人av在线网| 99久久精彩视频| 一起草Av| 天天日日天天| 色导航色婷婷五月天在线观看| 五月婷婷在线观看黄| 大香蕉九操| 婷婷丁香十月| 五月丁香婷婷五月色| 丁香五月停停av| 伊人婷婷91| 久久久中文| 天天色天天爱天天舔| 天天操,夜夜骑| 激情五月丁香亭亭| 丁香六月在线| 96丁香婷婷九月蜜桃综合久久| 伊人久久大香天蕉亚洲特级| 九九综合视频在线观看| 情婷婷五月天| 五月婷婷,六月丁香| 激情婷婷丁香| www.久久婷婷| 精品婷婷五月天| 色婷婷成人| 婷婷大香蕉| 丁香五月五月婷婷欧美大香蕉| 操操操91| 色色色99韩| 久久久久人妻网址| 五月天啪啪| 色五月色情| 五月天婷婷基地| Va另类视频| 亚洲99综合| 91久女| 五月丁香无码| 人人人舔人人人操人人人摸人人人97| 在线视频另类| 色综合网页| 超碰免费人人| 色99网| www.色五月| 99丁香五月婷婷在线| 色婷婷中文字母五月丁香| 婷婷伊人网| 99国产精品白浆在线观看免费| 亚洲久艹| 婷婷一本和五月丁香| 亚洲成人网站在线播放| 99色热综合| 激情视频婷婷五月花| 丁香久久| 久爱综合| 婷婷五月天Av| 操一区| 夜夜AVV| 99在线观看视频蜜臀| 色在线99| 久久婷婷大香蕉| 五月婷婷久久激情 | 亚洲午夜一区二区| 日日夜夜小色哥| 色区久久| 另类图片天天影视在线观看| 五月天伊人久久久久| 五月婷婷玖玖综合玖玖爱| 深爱五月月天| 激情伊人| 91九色国产熟女| 狠狠五月综合在线| 青草青草视频2免费观看| 色色色色综合网| 婷婷五月色激情欧美激情| 婷婷五月天天| 亚洲狠狠婷婷综合久久久| 性爱视频99| 激情综合网激情五月天| 狠狠插狠狠操| 丁香五月婷婷久久久| www.日日夜夜| 久久综合九色综合97婷婷| 99国产小视频2013| 俺去也五月天| 99五月丁香丁| 亚洲激情五月天| 黄网在线免费观看| 五月丁香激情综合网| 大香蕉久久婷婷| 五月天激情久久| av人人操| 亚洲第一第二网站| 九九超日本| 五月丁香六月婷婷在线观看| 亚洲AV永久无码影院黑人| 激情六月日韩| 精品视频网| 欧美狠狠地| 超碰免费观看| 五月婷婷啪| 久久9热综合| 欧美激情综合五月色丁香| 色综合播放| 五月激情站| 99热99| 成人免费高清在线播放| 99热主页日本| 亚洲色网址| 五月欧美色播| 国产XXXX搡XXXXX搡麻豆| 九九九激情网| 久久免费精彩视频| 亚洲国产黄色电影| 天天干夜夜操A片| AV79| 99爱精品视频| 9|人妻人人操| 五月天婷网| 中字幕视频在线永久在线观看免费 | 丁香狠狠色婷婷久久无码视频| 99热这里都是精品| 99人人操人人操人人精| 久久综合中文| 爱久久小说下载网| 色综合五月婷婷狠狠干| 色色色无码| 99热第一页| 五月天四色房丁香| 丁香五月婷婷亚洲天堂| 2020日日干| 另类图片天天影视在线观看| 99热久久这里只有精品| www色中色综合| 91刘玥视频在线观看| 婷婷射综合| 丁香五月 综合| 色综合99无码 | 婷婷俺去也| 中文无码婷婷| 青柠影视免费高清电视剧| 狠狠干综合网| 久久视频婷婷视频| 婷婷六月激情综合| 国产9色在线/日韩| 色婷丨日丨天丨综合久久| 综合激情四射一theav| 97精品自拍| 2050人人操免费工开爱| 五月狠狠| 五月丁香婷婷婷婷综合网| www,99色| 婷婷色在线| 五月天婷婷激情小说电影| 亭亭色色五月天| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 五月丁香六月激情| 婷婷六月综合在线| 成人AV免费观看| 丁香五月激情综合在线观看| 亚洲无aV在线中文字幕| 午夜天堂一区人妻| 亚洲色图五月丁香| 熟女啪啪视频| 国产精品爽爽久久久久久| 特级西西4444www无码| 婷婷五月噜噜| 亚洲国产婷婷色五月| 丁香婷婷久| 九九av| 久久婷婷五月综合啪| 狠狠久久婷五月综合色| 欧美日本黄色| 丁香五月婷婷影视先锋| 久久色情| 成人国产综合| 婷婷色正月| 一本久久亚洲五月婷婷| 殴美激情综合网| 色五月五月婷婷| 97福利视频| 丁香婷婷精品视频| 激情啪啪五月| 99精品久久久久久久久| 成AV人片一区二区三区久久| 久久99久久99精品免观看粉嫩| 天天cha成人综合网| 中文字幕成人| 天堂五月婷婷| 激情五月婷婷丁香综合网| 思思热在线观看| 丁香五月色色| 五月丁香啪| 婷婷五月丁香网| 久草五月天电影网| 99热 免费| 久九色| 狠狠色综合网站久久久久| 日本不卡一区二区三区| 激情综合色| 操碰91| www.久久爱.com| 亚洲热久久| 五月天婷婷影院影院| 综合五月草| 久久女人天堂| 爽极品色| 91视频精品99| 日本乱论99| 色五月婷婷丁香凹凸| 成人αV视频免费观看| 五月婷婷激情综合| 亚洲综合99| 操碰97| 久久99婷婷| 97在线综合| 欧美精品99| 久热AA| 97热精品| 亚洲无码成人| 激情五月天色网站| 亚洲六月婷婷| 丁香婷婷色五月| 国产99热| 涩五月婷婷| 九九色逼| 欧美成人猛片AAAAAAA| 亚洲婷婷婷| 思思精品久久艹| 这里只有国产精品在线| 99热精品9| 五月天激情子轮| 婷婷激情五月天在线| 99综合激情久久精品久久| 日韩成人综合网| 狠狠操狠狠爱| 99噜噜噜在线播放| 色久在| 色丁香综合影院| 五月丁香亚洲综合网| 青青草婷婷综合五月| 热99只有精品| 色五月在线播放| 色五月婷婷五月天| 成人AV免费观看| 丁香五月五月婷婷| 少妇2做爰HD韩国电影| www.激情五月天com| 欧洲亚洲激情五月天在线| 婷婷五月天免费视频在线观看| 婷婷五月丁香伊人| 天天肏高清在线| 久热99| 99热久久这里只有精品| 日本美女97在线视频| 97在线日本| 97人凄人人操人人爽| 九九热99re8热免费观看| 婷婷六月插屄激情| 丁香五月天啪啪a日本| 97干婷婷| 丁香五月天婷婷激情| 午夜天堂一区人妻| 亚洲蜜乳AV| 丁香五月久久| 99爱爱网| 国产色网站| 成人在线日韩| 九九久久色| 色综合久久44| 狠狠狠狠狠狠草| 五月天亚洲综合网| 婷婷色网| 婷婷激情久久| 激情五月天色网站| 毛片新网地| 玖玖婷婷色五月| 五月丁香六月婷| www.激情五月天.con| 91一起操| 丁香婷婷十月| 99视频内射三四| 色欲AVV| 婷婷情色五月天| 五月天性色| 色九亚洲| 开心深爱五月天| 国内一级精品| 丁香五月婷婷88在线| 免费亚洲婷婷| 国产69久久久欧美黑人A片| 色婷婷影音| 天天婷婷天天| 99综合自拍| 野战J办公桌椅H| 91人人操人人| 五月丁香操亭亭网| 色色色网站| 91综合在线视频| 国产欧美婷婷五月| 九九精品自拍| 婷婷婷久久| 美妞av| 五月天婷婷操逼视频| 激情性爱五月天网页| 久久婷婷啪啪视频| 婷婷王月天影院| 六月婷婷色综合| 1024婷婷综合久久五月天| 激情深爱五月天| 婷婷久久99| 99精品视频播放| 亚洲国产精品五月天| 天天日综合| 在线看片h站| 丁香婷婷激情综合五月激情 | 九九久久综合| 国产资源在线视频| AV79| 亚洲国产精品VA在线看黑人| 任你爽视频| 五月丁香六月天| 婷婷五月天综合久久日美女| 色青青五月| 久机视频这只有精品| 久久婷视频| 色色色色色色色色网站| 99国产精品久久久久久久久久久| 色10月婷婷视频| 久久网日本| 亚洲视频国产一区| www,天天干| 九月丁香婷婷网| 五月综合亚洲| www.婷婷五月天| 99色婷婷| 久久综合中文| AV操逼网| 婷婷久久99| 秋霞电影理论| 五月天婷婷影院| 六月丁香成人| 夜夜骑夜夜撸| 9999综合99综合人| 五月婷婷开心综合| 西西4r午夜剧场| 99色在线观看视频| 色色色九九九五月婷婷| 婷婷五月天色网久| 五月天久久色| 思99热精品久久只有精品| 免费无码毛片一区二区A片| 色欲婷婷夜夜| 六月天婷婷| 欧洲婷婷五月天| 久草热8精品视频在线观看| 中文人妻主播久久| 激情又色又爽又黄的A片| 乱女乱妇熟女熟妇综合网站| 思思热在线视频精品| 国产在线6| WWW.国产| 26UUU精品一区二区c〇m| AV在线不卡播放| 精品怡红九九九| 久久5 9视频免费观看| 午夜国产精品AV在线播放| 影音先锋AV资源男人站| 伊人啪啪网| 无码动漫av| AV在线免费播放| 天天骑日日爽| 日本不卡一区二区三区| 99在线看片| 日韩国产AV播放| 九九视频在线| 色色免费网站| 日韩啪啪网| 色五月天网| 丁香婷婷激情四射五月| 五月天成人综合| 婷婷涩五月| 婷婷五月天av| 襙逼网| 五月丁香婷色| 五月婷啪| 丁香五月天天哦| 青青.com| 激情小说婷婷| 99九九精品| 拍真实国产伦偷精品| 五月丁香六月婷婷久久久综合| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 最新五月天婷婷影| Www.Av网9| 成人网址在线观看| 色五月丁香五月激情五月激情| 国产午夜成人AV在线播放| 五月婷婷婷自由综合| 丁香婷婷性久久| 色婷婷丁香| 五月丁香另类网| 丁香 亚洲 久久| 激情综合五月丁香| 色婷婷色五月丁香| 色色99| 欧美色六月婷婷| 激情性爱婷婷| 玖玖在线视频| 婷婷五月天免费| 任我鲁这里有精品视频| 色墦五月丁香| 夜夜爽日日躁| 97碰 在线视频观看| 色九亚洲| 伊人久久婷婷| 五月丁香黄色视频| 97精品人人A片免费看| 激情综合网址| 色婷婷五月天激情在线观看| 久久99国产综合精品免费| 亚洲操逼片| 青草五月天| 丁香五月天大香蕉啪啪| 色婷婷视频| 色色操| 色婷婷丁香社综合| 婷婷五月噜噜| 国产偷人爽久久久久久老妇APP | 丁香五月天视频在线播放| 天天色天天日| 大香蕉网站,大香蕉综合| 久久精品只有这| 激情五月婷婷老师| 丁香五月婷婷成人色区| 婷婷深爱五月天| 成人综合AV| 99热午夜精品| 天天干天天操天天拍| 深爱婷婷丁香五月激情| VA婷婷| 天天干,天天操,天天射| 色婷婷中文| 色欲天天综合网| 婷婷中文字幕网| 婷婷综合网站| 激情五月天在线| 99色综合网| 欧美三级视频下载| 激情五月成年| 狠狠干,狠狠操| 婷婷五月AV| 激情婷婷啪啪| 国产精品国产| 婷婷久久亚洲| 亚洲不卡123| 激情五月黄色| 激情综合婷婷久久| 亚洲综合五月天婷婷| 91九色精品| 五月天婷婷激情综合| 这里只有精品99www| 九九这里只有精品在线视频| 色五月婷婷91| 丁香香蕉婷婷| 婷婷干| 中国女人做爰A片| www.婷婷六月天| 97热视频| 久久五月婷婷丁香| 色综合色色| 婷婷五月天狠狠| 久久综合天天综合| 亚洲综合五月天综合| 五月丁香色婷婷伊人| 日本乱子人伦在线视频| 天天性视频| 激情五月婷婷| 激情五月天小说| 天天色五月婷婷91久久久久久久| 六月激情婷婷| 操人无码| 超碰人人干| 九九99免费视频| 日本久热| 五月婷婷丁香| 久久丁香五月天| 日韩AV片| 99久久久99久久91熟女| 五月天啪啪| 久久婷色| 久久九九热视频| 99热精品在线播放| 97人人干| 婷婷丁香五月天激情| 五月天婷婷激情小说电影| 色综色网| http://www.sd-xiangsu.com/| 丁香五月婷婷亚洲色图| 亚洲色综合| 丁香五月婷婷成人综合| 9999热精品在线免费播放| 国产精品色色666| 色五月激情五月丁香五月婷婷啪啪综合| 夜夜涩涩涩| 亚洲激情视频网| 六月色国内综合| 91精品久久久久久综合五月天| 丁香六月婷婷一区二区三区| 天天噜噜| AV操逼网| 激情五月综合亚洲另类| JAPANRCEP老熟妇乱子伦视频| 少妇高潮呻吟A片免费看软件| 五月婷婷色男女| 久久亚洲天堂| 99ri在线观看视频| 无码地址| 五月色欧美| 另类五月激情| 美国十月色婷婷在线观看| 精品人人操| 色情五月丁香| 免费超碰在线观看| 五月丁香综合网| 久久人人九| 九九熱最新視頻| 六月丁香婷婷开心综合基地| 色婷婷色婷婷五月| 欧美日韩成人高清在线| 五月天色色网站| 成人午夜天| 色站9/| 色噜噜综合网| 天天插轮理| 亚洲精品国产精品乱码视99| 人人妻人人澡| 另类图片五月天| 色婷婷丁香AV综合| 超碰com| 婷婷丁香久久五月综合| 五月天激情AV| 五月停亭六月,六月停亭的英语 | 9久热这里只有精品| 婷婷五月天天爽| 欧美精品999| 91碰操| 日夜操B| 久色网五月| 久久久婷婷五月亚洲97号色| 大香蕉520| 99人人干人人操| 日韩九九视频| 青青草原福利在线| 日本一级黄色电影| 五月天婷婷婷| 久久婷色| 丁香涩涩爱| 激情五月天网站| 91在线观看www| 久久综合这里只有精品1| 婷婷五月花西瓜| www.久久99| 精品9l九九九九九77777| 午夜无码熟熟妇丰满人妻| 日韩无码91| 色色色网站| 五月天综合图片| 婷婷五月激情片| 丁香五月天天哦| 成人国产综合| 97色色色| 亚洲 视频 导航 一区| 五月丁香亚洲婷婷| 亚洲无AV在线中文字幕| 久久6这里只有精品| 色五月涩涩婷婷| 激情综合色播| 五月丁香无码| 五月天成人综合| 玖玖资源站国产| 婷婷五月天社区| 天天色天天操天天射| 中文字幕不卡视频| 亚洲va欧美va天堂v国产综合| 日本色色色| 99色在线视频| 久久久中文| 玖玖九九9999在线观看视频精品| 天天久久66xxx| 天天操天天操天天操天天操天天操 | 色综合中文| 亚洲国产va| 丁香婷婷久久| 丁香五月影视| 五月婷婷丁香在线| 少妇水多A片太爽了| 婷婷五月深情丁香深爱日韩| 99这里都是精品| 午夜微拍福利| 婷婷5月天激情综合| 亚洲AV成人精品日韩在线播放| 激情五月天色色色| 五月天婷婷乱| 欧美色色色| 永久无码色| 欧美在线97| 久久九九综合| 色99视频| 日本婷婷在线| 五月婷婷黄色毛片| 婷婷五月天综合中文| 亚洲乱码日产精品BD| 精品九九在线观看视频| 婷婷欧美激情综合| 激情五月天色婷婷综合| 激情五月色在线播放| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 五月天婷婷青青| 五月综合色| 丁香婷婷啪啪| 九色91国产| 久综合九| 五月天婷婷丁香导航| 六月婷婷AV| 五月天婷久精视频| 九月婷婷激情久久| 天天干天天射色综合| 久9久9热久热| 婷婷六月啪啪| 亚洲无码影片| 亚洲一级色电影| 襙逼网| 久久婷婷激情| 果冻传媒A片一二三区| 欧美色男人网站| 久久免片| 色三级色三级| 国产精品久久久久久久久久久久| 99久久超级| 黄网在线播放| 激情五月色在线播放| 色色色999| 色yeye欧美| 亚洲精99| 综合一区二区三区| 日韩黄色中文字幕| 婷婷色丁香五月| 亚洲情a| 激情综合五月婷婷| 99视频在线观看视频| 色婷婷丁香五月天在线视频 | xxxx五月激情| 俺去也婷婷| 男人操女人高潮91视频| 婷婷的99视频网站| 婷婷激情小说| 国产欧美日韩综合精品一区二区| 天堂资源欧日浪女在线播放| 亚洲久久婷婷| 久久婷婷五月综合| 香蕉婷婷色五月| 精品成人a v无码内射| 99re在线观看| 99精品久久久久久久婷婷| 99热这里只有精品3| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 色色色色丁香| 密黄站| 成人av中文字幕| www. 五月. com| 好激情在线综合网| 河北真实伦对白精彩脏话| 婷婷丁香色五月亚洲| 91成人看片| 亚洲AV永久无码影院黑人| 五月天激情无码高清| 五月激情啪啪| 99热情这里只有精品在线播放| 91免费看片| 九九热婷婷| 色婷婷成人| av电影在线播放| 五月婷综合网| AV成人在线网站| www.五月婷婷久久.com| 无码色| 亭亭丁香久久五月| 天天插天天干| 亚洲成人网无码| 丁香六月婷婷色XXXXX| 色综合久久888| 99ri精品| 日本三级韩三级99久久| 在线另类视频| 中文字幕AV网址| 激情图片久久| 9福利性视频欧美| 一丁香五月天月AV| 综合网狠狠| 九九热精品在线| 九九十99视频| av在线中文| 超碰免费大香蕉| 久99视频| 久久大香蕉| 五月婷婷丁香六月| 丁香五月激情综合在线观看| 91色色五月天| 色综合色色色色色|