亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(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è)設(shè)計、課程設(shè)計或SSM整合實戰(zhàn)練習(xí)。資源共845個文件壓縮包大小17.62MB涵蓋Java后端源碼、Vue前端頁面、JavaScript/CSS等靜態(tài)資源、MySQL數(shù)據(jù)庫腳本、Maven及項目配置文件并附有一鍵環(huán)境搭建與啟動腳本便于快速導(dǎo)入運行。系統(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人瀏覽學(xué)習(xí)適合具備一定Java基礎(chǔ)的開發(fā)者參考借鑒。1. 電影推薦系統(tǒng)源碼先搞清楚它解決什么問題再決定要不要動手如果你是在畢業(yè)設(shè)計、課程設(shè)計或跳槽作品集里搜到“電影推薦系統(tǒng)”這幾個字那大概率已經(jīng)不是第一次看到類似題目了。這個方向每年都有大量 Java 方向的 Web 項目在做原因很直接它有完整的業(yè)務(wù)閉環(huán)——用戶、電影、評分、推薦、后臺管理既能展示 Java 后端基本功又能講出“推薦算法”這個亮點比純增刪改查的管理系統(tǒng)更容易在答辯時撐起場面。但這里要先潑一盆冷水標題里同時出現(xiàn)“推薦系統(tǒng)源碼”“管理系統(tǒng)”“設(shè)計與實現(xiàn)”意味著這類項目通常不是一個工業(yè)級的推薦平臺而是一個能跑通、能演示、能講清楚原理的 Java Web 應(yīng)用。核心價值不在算法多先進而在于三層?xùn)|西數(shù)據(jù)模型設(shè)計是否合理用戶-電影-評分怎么建表、協(xié)同過濾邏輯是否講得通、以及后臺管理有沒有覆蓋電影和用戶的完整操作閉環(huán)。這篇文章我會按這套邏輯把基于 Web 的電影推薦系統(tǒng)怎么做講透。順序是先定技術(shù)棧和架構(gòu)再給庫表設(shè)計和實體映射然后落到推薦算法的 Java 實現(xiàn)最后把部署階段最容易翻車的幾個問題先指出來。讀者里如果是 Java 基礎(chǔ)一般、第一次做完整 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ù)訪問層、事務(wù)管理、內(nèi)置 Tomcat 全部打包好了你在答辯時可以花更多時間講推薦邏輯而不是糾結(jié)怎么配置 web.xml。如果只用標題“基于 Web 的 Java 電影推薦系統(tǒng)”來推斷更常見的課程設(shè)計是服務(wù)端渲染方案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ā)者無需額外學(xué)前端框架中需要理解跨域與接口聯(lián)調(diào)推薦功能集成服務(wù)端算好后渲染到頁面前端調(diào)用接口展示答辯演示單工程啟動即可需要同時啟動前后端兩個工程找工作加分一般稍好但項目深度更重要如果目標是把系統(tǒng)跑通并講清楚選 Thymeleaf 方案就夠了這也是我從實踐里更推薦的方式。而數(shù)據(jù)庫訪問層JPA 在實體關(guān)系映射上寫起來更短MyBatis 則在復(fù)雜 SQL 上更可控。電影推薦系統(tǒng)的 SQL 復(fù)雜度不高兩者都可以。下面的示例以 Spring Data JPA 為主因為它能讓實體代碼短很多。2.2 架構(gòu)分層與三張核心表的關(guān)系用戶、電影、評分是推薦系統(tǒng)的地基整個系統(tǒng)我習(xí)慣拆成四個包controller、service、repository、entity對應(yīng)表現(xiàn)層、業(yè)務(wù)層、數(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)鍵設(shè)計點。第一評分表上加唯一索引uk_user_movie避免同一個用戶對同一部電影重復(fù)評分這是推薦數(shù)據(jù)干凈的基本保證如果漏掉這個約束后面算用戶相似度時會出現(xiàn)重復(fù)計數(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 條包含電影名、導(dǎo)演、類型、年份、評分、簡介足夠完成演示和測試推薦效果。我一般用 HttpClient 或 Jsoup 抓取存成 SQL 腳本直接導(dǎo)入而不是在代碼里做實時爬蟲。抓取時要注意兩個細節(jié)一是類型字段用英文逗號分隔方便后面做“同類電影”推薦二是把海報 URL 一并存下來前端頁面會好看很多。抓取數(shù)據(jù)屬于一次性工程不用做得太復(fù)雜代碼里留一個data.sql文件即可讓系統(tǒng)啟動時自動初始化數(shù)據(jù)省去手工導(dǎo)入的步驟。這塊的典型問題是很多同學(xué)直接從網(wǎng)上下載了一個 movie.sql但表結(jié)構(gòu)和字段名對不上改起來反而更耗時。最穩(wěn)妥的方式是理解實體類的字段順序然后保證 SQL 的插入列名和實體類的Column名稱一致。3. 從建庫到跑通接口實體類設(shè)計與用戶評分閉環(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)對象會導(dǎo)致大量延遲加載。為了性能實體設(shè)計上做“扁平化”關(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)。接口設(shè)計遵循 REST 風(fēng)格即可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ì)量。另外管理員后臺能夠批量導(dǎo)入評分數(shù)據(jù)比如給新注冊用戶隨機生成 10 條評分這樣在演示協(xié)同過濾時不需要手工一條條去點效果展示更快。評分接口完成后推薦系統(tǒng)的數(shù)據(jù)基礎(chǔ)就搭好了。下一步才進入重頭戲什么樣的算法能讓一個只有幾百條評分的數(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)秀但課程設(shè)計里我更推薦 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每次請求都會重新計算全局相似度這不算高效卻在課程設(shè)計代碼里很常見。只需在答辯時說明“下一步可以改成離線預(yù)計算”就不會被挑戰(zhàn)。4.3 冷啟動處理當用戶沒有評分時按熱度推薦打底如果數(shù)據(jù)庫里只有一個測試用戶或者用戶首次注冊還沒有任何評分協(xié)同過濾無數(shù)據(jù)可用。此時推薦列表自然為空頁面會很難看會顯得項目沒完成。解決手段用“默認推薦”兜底即可。當targetUserRatings.size() 0或相似度 TopK 全部為 0 時直接返回?zé)岫茸罡叩碾娪盁岫劝丛u分數(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)的就是設(shè)計意識。5. 部署與運行階段的五個高頻坑從推薦為空到登錄失效的血淚經(jīng)驗5.1 冷啟動導(dǎo)致推薦結(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 查詢導(dǎo)致頁面很慢一次聚會頁面發(fā)出上百條 SQL推薦結(jié)果包含 10 部電影頁面每部電影要拉取評分和封面日志里發(fā)現(xiàn)一次請求產(chǎn)生了 100 多條 SQL。這是典型的 N1 問題先查出電影列表再逐條查電影的評分、導(dǎo)演等信息。在小數(shù)據(jù)集上問題不明顯但如果數(shù)據(jù)量到幾千部電影接口響應(yīng)時間會從幾十毫秒漲到好幾秒。解決方式是批量查詢。查完movieIds列表后用ratingRepository.findByMovieIdIn(movieIds)一次性查出所有評分在 Java 內(nèi)存里按movieId分組組裝到 VO。這是推薦系統(tǒng) Web 化之后逃不開的性能優(yōu)化點。要讓代碼里養(yǎng)成“先批量取數(shù)再內(nèi)存組裝”的習(xí)慣而不是依賴 JPA 的懶加載去逐條 get。5.4 跨瀏覽器頁面樣式錯亂推薦列表在新版 Chrome 正常IE 上布局完全散掉熱詞里反復(fù)出現(xiàn)“跨瀏覽器支持的設(shè)計與實現(xiàn)”其實反映的就是這個高校項目答辯時的高頻問題。用 Thymeleaf 加 Bootstrap 的老式頁面特別依賴 CSS 框架的版本兼容性。如果演示機器上的瀏覽器版本較舊或者用了國產(chǎn)瀏覽器的兼容模式頁面布局會直接錯亂。解決思路不復(fù)雜第一模板里顯式聲明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)存里應(yīng)用重啟后所有登錄態(tài)全部丟失。有的同學(xué)在本地開發(fā)時不覺得但換到部署環(huán)境或者演示前不小心重啟了應(yīng)用就會發(fā)現(xiàn)所有頁面都要重新登錄。還有一個更隱蔽的原因——前后端分離模式下前端沒在請求頭帶上 Cookie導(dǎo)致后端拿不到 Session。常規(guī)做法是配置 Spring Session 把會話存到 Redis但一個課程設(shè)計項目為此引入 Redis 顯得偏重。我更推薦的方案是明確告知“本地演示時重啟后需要重新登錄”同時在攔截器里把/api/login、/api/register和首頁排除掉保證即使 Session 失效也不至于影響演示流程。如果排查這類問題先從瀏覽器開發(fā)者工具里看請求頭是否帶上了Cookie再查后端攔截器是否誤攔截了靜態(tài)資源這兩步能覆蓋掉大部分登錄失效的場景。6. 讓答辯和演示經(jīng)得起追問推薦算法驗證與演示細節(jié)設(shè)計系統(tǒng)做完后最容易被問倒的問題往往是“你這個推薦效果到底怎么樣”。所以最后一章把驗證手段和演示腳本的設(shè)計講清楚。推薦效果驗證不追求學(xué)術(shù)指標但至少要能用數(shù)據(jù)說話。常見做法是把評分表按 8:2 切分訓(xùn)練集和測試集再用訓(xùn)練集跑推薦看測試集里用戶真實看過的電影有多大比例出現(xiàn)在推薦列表里。配合下面這個偽代碼思路做統(tǒng)計// 按用戶劃分每個用戶取 80% 的評分做訓(xùn)練20% 做驗證 // 訓(xùn)練集跑 recommendForUser驗證集統(tǒng)計命中率 double precision hits / (double) topN;不用把評估模塊做得很重一個能夠輸出“測試用戶 12 的推薦命中率是 30%”的統(tǒng)計就夠了。因為答辯評委不會深究你的召回率曲線但會關(guān)注你有沒有基本的驗證意識。演示時我建議走一條固定的路徑先用管理員賬號在后臺給新用戶生成 58 條高評分記錄比如全是科幻片然后切換到用戶端打開“為你推薦”展示的結(jié)果里應(yīng)該出現(xiàn)同類型的其他科幻電影。這時再補一句“這是基于用戶相似度的協(xié)同過濾系統(tǒng)找到了口味相近的用戶”整個過程自然流暢突出核心價值。另一個容易加分的小技巧是讓用戶先給《流浪地球》打 5 分、給《星際穿越》打 5 分、給一部愛情片打 1 分刷新推薦頁時注意力全放在“推薦里沒有愛情片”這個點上——負反饋被過濾掉證明算法不只是按熱度推。這個演示細節(jié)會讓評委覺得你的算法真實生效了而不是拿了一個固定列表在糊弄。前端如果因為時效性沒更新記得在評分后調(diào)recommendForUser接口重新拉取不要復(fù)用一個頁面級緩存。最后的經(jīng)驗之談是關(guān)于代碼里那些看起來不重要的分支。用到“用戶沒有評分就推熱門榜”“用戶已經(jīng)看過的電影不進推薦列表”這兩個判斷在答辯時價值不低于算法本身。它們證明你考慮了真實使用場景而不是只在理論數(shù)據(jù)上跑通。我自己的習(xí)慣是給每個關(guān)鍵分支寫一個注釋標明“沒有評分時的兜底邏輯”幾個月后回看代碼能快速回憶起設(shè)計意圖。這份方案如果照著一路做下來從建庫、評分、協(xié)同過濾到頁面展示是一個完整可演示的閉環(huán)也是電影推薦系統(tǒng)這個題目下比較穩(wěn)的落地路徑。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色欧洲| 色哟哟-国产专区| 超碰91在线| 精品久久9| 久久熟妇五十路一区| 精品国产肉丝袜在线拍国语| 艹精品| 国产区日韩区在线观看| 91热热色| 亚洲激情欧美色图 | 东方亚洲在线操逼天堂| 中文字幕天天操| 天天插天天射| 亚洲av在线免费观看| 国产女同在线观看视频| 风韵犹存大大大大香蕉| 夜夜嗨视频| 劲爆欧美人妖三区91| 美腿色图| 日本精品国产视频| 国产夫妻一区二区| 91欧美偷拍| 男人天堂2019亚洲| 骚女天天综合网| 亚洲天堂一区二区| 91青青在线| 青青草国产一区二区三区| 久久av网| 久草婷婷| 欧美美女后入| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 中文久久久| 97亚洲精品超碰| 大香蕉78| 日韩欧美操逼xxx| 一级毛片电影免费看| 男人久久天堂| 91天天| 96久久久久| 97超碰人妻| 91色人妻| 亚洲AV秘 精品久久老牛影视| 777AV电影| A片三级无码| 五月婷婷AV| 大香蕉丝袜一级片| 欧美少妇大量自拍视频在线观看| 另类av天堂| 一本精品日本在线视频精品| 17c在线成人免费A片观看| 无码精品久久| 91丨九色丨43老版熟女| 久久久com| 中文字幕精品丝袜| 97欧美色综合| 久久久久免费看少妇A片特黄| 成人26uuu| AV和黑人在线播放| 色性欧美| silk lablo在线观看一区二区| 欧美综合在线91| 麻豆色99999| 国产白丝精品在线观看| av绯色| 国产自偷自拍一区| 久久综合日韩亚洲欧美| www.av不卡中文字幕| 嗯嗯啊啊啊好爽| 思思久热在线精品66| 午夜激情成人在线观看| 综合网~91综合网| 色图综合网| 一区二区三区黄色片a| 中文字幕 国产区| 欧美大香蕉卡久久| av橘色网站| 午夜舔阴达高潮视频免费看| 久操大香蕉| 97资源欧美| 亚洲av强奸乱伦| 久久本道| 好爽视频在线观看视频| 精品国产片亚洲一区| 日韩伦理久 久久 清纯| 91在线观看,天天综合| 免费αV在线视频| 五月婷婷基地| 欧美偷偷网| 亚洲欧美国产中文视频| 亚洲天堂男人在线| 91老妇女| 黄片无码在线制服| 欧美亚洲高清不卡| 高清国产无码av| 欧美αv.com| 91欧美美女日韩国产婷婷| 欧美色图第一页| 一区操逼日比视频| 加勒比五月天| 欧美性生活免费网| 嗯嗯啊啊操死我| 9 1果冻精品视频| 手机在线人成免费视频| 久久精品视| 免费看黄片现成| 亚洲国产一区二区三区在线| 免费精品无码一级毛片牛牛影视 | 亚洲欧美日韩综合在线尤物| 中文久久96| 亚洲性爱成人| 天天内射| 中日高清无码操逼视频| 亚洲综合另类色图| 女同性恋久久| 四虎在线观看网站| 中文字幕av乱伦| 伊人991| 亚洲天堂五月天国产| 亚洲 欧美 中文 日韩超碰| 久久久人妻| 狠狠色色| 2019久久久久久久久福利| www.高清无码诱惑一区.com| 欧美精品一区二区少妇免费A片 | 91天天| www.狠狠操| 玖玖无码超碰| 校园春色之综合网| 97超碰人人模人人拍人人| 天天综合AV| 精品免费视频国产一区| 亚洲自拍另类丝袜综合| 国产精品毛片?v一区二区三区 | 成人av在线播放| 精品国产污一区二区三区| 欧美精品69性爱| 久久综合超碰| 九九碰九九爱97| 高清视频一区| 97欧美久久久久久久| 国产一区二区在线电影| 唯美清纯 妖精视频| 美女超碰978| 精品久久无码午夜福利| 久久激情四射婷婷丁香五月天| 插欧洲美女欧美精品| 91精品丝袜久久久久久| 欧美亚综合色图| 日韩欧美亚洲一区二区三区影院| 欧美 亚洲精品首页| 美国美女AV在线| 午夜一级免费毛片| 久久久偷拍| 蜜桃精久三区| 超碰久热| 草草网站影院白丝内射| 人人搞人人插人人操| yazhousetuoumei| 亚洲免费在线探花| 午夜αv| 欧美情色贴图| 亚洲人在线| 吉川爱美亚洲二区在线| 91ise欧美| 伦激情人妻另类人妻| 大香蕉懂9| 男人的天堂欧美| 欧美十八禁在线看| 黄片免费看的| 免费中文综合精品| 国产乱伦亚洲色图高清无码| 春色综合网| 蜜臀无码一区二区| 日韩78m视频| 大香蕉伊人久久| 欧美极品性爱天天射| 欧美在线天堂| 九九九国产精品| 欧美一二在线| 亚洲色欲一区二区三区| 激情五月天丁香| 淫荡少妇免费| 超碰成人国产| 色噜噜人妻丝袜a∨先锋影| 日本人妻最新在线中| 97在线亚洲| 大乔未久88一区| 成 人 影视 一区 二区 三区 四区 | 大奶啊啊好爽 | 麻豆一区在线| 欧美淫乱视频| 蜜桃精品视频一区二区三区| 综合天天网| 自拍丝袜美腿人妻| 91性高| 蜜臀久久99精品| 天天操天天射青青草| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 午夜小电影在线插入淫高潮| 久久久一区二区三区四区五区| 久欲AV| 久久久久久久久久久999| 玖玖爱综合| 蜜奶av| 夜夜操av亚洲一区二区| 第二页中文字幕| 1956日韩精品| 日本道日本道中文字幕日本道最新日本道在线观看 | 东方亚洲在线操逼天堂| 大香蕉线| 超碰97欧美| 97干97色| 亚洲巨爆乳一区二区三区四季网| 欧美日韩啪啪电影| 超碰成人公开| 国产日韩在线播放| 97色色视频| 国产精品扒开腿做爽爽爽视频| 9精品久久久久| 久9九综合在线| 中文字幕一区二区视频在线观看 | 久久久久9| 天天拍天天操| AV丝袜少妇| 日韩少妇在线视频| 日本布卡一区二三区| 97伊人| 一区在线精品中文字幕| 日本性爱欧美性爱| 久久五月综合| 亚洲天天影视色综合| 亚洲高清男人天堂| 一二三区操逼国产91| 亚洲无码超碰免费| 被体育老师抱着c到高潮| 超碰国产在线| 亚州 综合 色图| 欧美肥臀在线| 国产精品人妻免费精品| 欧美视频在线视频免费va| 天综合中文| 天美欧美国产| 91九色丨风韵犹存| 久久综合资源一区二区| 久久久草成人网站久久久草成人久久久草久久久 | 久久草视频污视频| 午夜性刺激视频免费观看| 国产精品原创巨作?v网站| 国语av最新自产拍在线观看| 中文字幕啊啊啊在线观看视频| 成人精品视频一区二区| 久热伊人| 超碰在线国产| 热久日综合| 男同专区一区二区三区在线| 亚洲 国产 精品一区| 蜜臀久久99精品久久久久久无删减 | 蜜臀久久99精品久久久久久婷婷 | 日欧毛片久久| 久久久96| 涩五月婷婷| 涩涩久久精品| 色综合国产在线观看| 激情久久av一区av二区av| 免费视频在线观看啊啊啊啊啊| 蜜臀无码一区二区| 久久亚州精品成人Av无| 日韩影片中文字幕一区二区三区| 97操b| 亚洲成人美女无吗| 啊啊啊不要嗯嗯在线观看| 久久天堂| 水澄无码AV| 国产精品毛片| 伊人网综合在线视频| 区一在线观看| 东京热双插| 久久综合五月天| 夜夜欧美| 六月丁丁香| 四虎精品永久在线观看| 网页导航五月天免费一二三区| 操逼精品视频| 热久久国产| 中文字幕在线观看AV| 亚洲欧美91| 俺去也婷婷| 伊人久久大香大香线蕉中文| 国产风韵犹存熟妇三区| av在线免费一区二区| 精品人妻视频一区二区三区蜜桃视频| 小说区 图片区色 综合区| 91美女丝袜诱惑视频| 91老妇女| 久久五月视频| 免费在线看黄片av| 亚洲国产剧情少妇激情| 婷婷av在线中文字幕| 中文字幕在在线观看网站| 中国人高清www色视频免费| 欧洲无码一区二区| 夜夜操美女| 97在线青| 激情五月婷婷综合| 午夜国产综合视频在线观看 | 中日韩一区二区三区欧美| a男人的天堂| 蜜乳成人AV| 天操老女人| 综合欧美日韩在线观看| 超碰诱惑| 和协影院中文字幕三区| 黄色高清无码无码破解免费暗网 | 色九九综合| 九九热九九| 99青青草国产视频| 精品毛片久久久精品毛片| 欧美韩日精品99综合| 99欧美| 91在线视频国产网站| 操b网站亚洲无码| 欧美午夜视频精品久久| 测评在线观看AV| 亚洲日韩久久精品一区| 丝袜夫妻自拍| 亚洲av影音先锋| 欧美熟妇精品黑人巨大91| 日本 成 人 小说 电影 一区二区| 无码9区| 黄色免费网| 91精品在线播放| 骚乳在线| 婷婷五月色| 国产高清吃奶免费视频网站| 啊啊啊操死我了| 啊a一区在线| 日韩欧美中文| 人人操人人操人人人操| 日本精品五区| 少妇大屁屁| 亚洲高清内射| 国产树林里野战在线看| 国产传媒日韩| 色九九久九九| 劲爆欧美人妖三区91| 日日日日日| 久久91精品国产9丨久久分亭 | 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 中文字幕 国产 精品| 秋霞Av理论一级在线| 欧美一级专区免费大片| 色91综合网| 99久久综合| 老司机射| www.91人妻.com| 婷婷色香伊人| 深喉吞精| 日日干夜夜欢| 人妻黑丝袜电影| 超碰日本97美女人妻人人玩人人爱| 亚洲 欧美 另类 日韩 人妻一区| 午夜免费视频1000| 婷婷香蕉| 亚洲一区中文字幕一区| 乱伦3P视频| 中文字幕奈奈美被公侵犯| 久久人妻| 超碰2017| 一级二级在线观看| 超碰97亚洲| 久久精品操| 99爱爱| 高潮嗯啊性感美女久久久| 日韩伦理久 久久 清纯| 日韩人妻操B| 日韩乱码Av| 视频二区美腿丝袜制服人妻欧美| 狠狠综合网| 日韩 欧美 视频 在线 一区| 亚洲一级特黄大片在线播放91| 免费日韩黄片| 亚洲激情在线观看一区| 天天躁日日躁AAAAXXXX国产 | 精品久久久中文字幕不| 一区,二区,三区网站| 91国产精品熟女| 1区2区3区在线视频| 天天操av懂色| 伊人网在线观看| 极品粉嫩少妇视频| 少好三P| 97操综合| 午夜精品久久久久久久久久久久久 | 亚洲av青草久久一区二区| 上特色A在线| 日本韩高清无砖码22o| 国产粉嫩蜜臀av一区二区三区| 视频不卡中文字幕| 国产精品蜜臀久久久久无码AV| 收看日本人日bb| 亚洲 国产 精品一区| 综合一区中亚洲国产成人综合精品 | 自拍六区| 电家庭影院午夜69久久夜色精品国产69乱| 99re9| 亚洲天堂在线怕怕视频| 亚洲最大无码中文字幕网站| 99免费视频| 久久免费看高潮毛片韩国| 老司机久久| 婷婷人妻激情| 99亚洲国产精品色一区二区三区| 国产三级多多影院2022国产AA一级毛片无码| 亚洲成?V人片在线观看福利| 久久九九99| 久久、1234| 一本大道久| 在线日韩精品一区二区三区| 亚洲一欧洲中文字幕在线| 亚洲激情在线| 夜夜人妻爽| 人妻丝袜一区二区三区在线| 大学生口爆吞精| 伊人五月天| 蜜臀人妻少妇久久在线观看| 日韩在线观看AV| 欧美极品美女aaaaaa级黄片| 91色久| 97超碰在线资源网站| 青青久草| 国产毛片久久久久久久| AV中文在线可看| 久久女同性恋一二区| 大香蕉狠狠爱| 91强奸乱轮| 亚洲视频一二区| 久操国产在线| 女人午夜视频777| 中日韩久久人妻一区二区| 4tube欧美女厕所| 在线亚洲 欧美 日本专区| 在线国产探花| 操老熟女AV| 操人妻逼91| 97天天日| 啊啊啊不要好疼视频| 青青青草伊人精品| 国产黄片在线免费观看| 欧美亚洲20p| 免费视频一二三区| 五月婷婷激情| 久久一区二区蜜桃| 大香蕉亚洲中文| 天天射天天色成人| 小情侣高清国产在线视频| 久久久99999久网站| 国产精品久久久吖| 久久av色| 性暴力欧美猛交在线直播| 日本天天人人狠狠在线日美女| 欧日韩一二三f区| 探花一区在线| 久久影视二区三区行押| 久久精视频美日韩在线视频| 大香蕉在线SuP| 无码av永久免费专区网站| 99RE在线视频精品,这里只有精品| 欧洲特黄毛片免费看欧洲毛片| 欧美日韩高潮喷水91| 麻豆尤物视频网| 亚洲高清在线| 91亚洲综合在线| 发朗少妇买婬全视频中文| 久久久久久999| 丁香五月激情网| 我想要 啊 啊 啊| 亚洲欧美一区二区三区在钱蜜桃| 国产9区| 亚洲欧美天堂在线| 国产日韩区| 久久蜜桃一区二区| 国产精品麻豆成人av| 亚洲情色在线| 天天日天天搞天天干| 丝袜美腿诱惑亚洲欧美视频在线观看| 午夜毛片高清免费不卡| 极品美女福利在线观看| 人妻少妇精品久久久久久| 玖玖在线视频| 欧洲性爱无码区| 精品一区二区麻豆| 亚州AV无码国产精品| 色噜噜人妻av中文字幕| 大香蕉伊人色偷偷在线| 日本性交操一区二区不卡系列| 亚爽爽爽爽爽爽爽爽| 亚洲国产精品成人无码久久久| 人妻 欧美亚洲| 日韩啪啪啪啪啪| 性色av大全| 九九热午夜欧亚国产视频| 成人在线日韩| 亚洲色欲天天天堂色欲网女| 久久线上视频免费看| 国产精品久久发布| 久久精品三级影视| yaouchengrenav| 五月天亚洲网| 中文字日本乱码| 久久香蕉综合一本到3atv| 欧美宗合网| 妇女视频网站| 口爆综合网| 人人操人人操人人操人人操人人操人人人11.CM | 久久XX| 日欧操屄| 日韩大香蕉AV影片| 亚洲有码第一页| 久久极品一区二区| 久久精品店| 日韩免费a级毛片无码a∨ | 第一高清av中文字幕| 欧美人与动性人交a| 精品少妇人妻一区二区三区| 欧美天天综| 91久久久久久| 欧美亚洲日本视频久久久 | 天天综合网~69| 国模少妇一区二区三区| 欧美偷拍区| 91无遮挡| 99re这里只有| 后入式999| 亚洲成人色情五月天丁香花| 丝袜六区| 人妻AV 中文字幕的| 亚洲中文字母在线播放| 日韩无码a片| 久久狠狠色噜噜狠狠狠狠97| 一二三区精品视频| 久久成人精品| 东北操逼| 加勒比伊人影院| 天天综合欧美综合| 啊啊啊好湿国产一二| 激情五月天网站| 久久久精品国产亚洲AV无码| 福利在线黄片| 亚洲精品乱码久久久久久蜜桃麻豆| 国产一区二区三区视频在线看| 久久精品国产精品一区| 日本精品一区二区三区四区的功能| 超碰久久.com| 美女十八禁| 我要色综合网站| 亚洲人妻久久久| 亚洲亚洲亚洲天堂天堂| 欧美日韩另类字幕中文| 91天天c| 欧美A片中文字幕| 水多多映视AV| 成人无遮挡毛片免费看| 免费的黄片有限公司| 桃花色综合影院| 91久久九九精品国产综合| 欧美视频一| 人人人摸人人| 2019天天干天天操 | 欧美天天在线| 久久三区四区| 国产精品熟女一区二区三区| 性无码专区2020| 正在播放国产精品一区| 一本一道波多野毛片中文在线| 国产精品自拍xxxx| 亚洲午夜福利视频| 丁香五月天堂网| 干B视频伊人网| 久久久久9999妇女| 欧美伦乱| 久草新在线| 国模无码人体一区二区三| 草草影院日本第一页| 牛牛aV| 久久久999日本大片| 欧美黄色图片| 久久只有精品一区二区三区| 天天弄欧美| 亚洲系列欧美| 久久少妇| 日本女优在线视频福利| 亚洲精品一区二区三区在线播放| 青青草中文-久久青草精品一区二区三 | 欧美日韩亚洲国产中文永久天天看| 亚洲AV色图| 亚洲一卡二卡在线免费| 久久久成人国产精品无码| 女优免费一区二区永久| 天堂射| 啊啊啊啊啊好多水| 欧美熟女操屄| 欧美亚洲第1页| 免费男人的天堂| 日韩一区二区精彩视频| 十八禁啪啦拍视频无遮挡| 亚洲一二三精品久久网 | 色婷婷基地| 我中文字幕6区| 干超碰碰熟女| 在线国产探花| 久久久久久久六六| 黄片免费日韩| 欧美少妇高潮视频| av网站免费线看| 久久久国产三级黄色片| 神马久久69| 国产又黄又爽| 亚洲男人天堂Av| 亚州国产成人精品女人久久| 精品人妻免费观看| 人妻加勒比东京热| 黄色交缠性感爆操91国产精品免费一区二区三区 | 综合一区中亚洲国产成人综合精品 | 久久一二三级一一一| 中文字幕一区二区无码成人| 国产色精品午夜大片| 一区二区精品更新提醒| 亚洲超碰97| 天天干天天做| 高精欧美色| av天堂手机版追回| 狠狠干妹子| 操逼啊啊啊91| 亚洲欧美在线综合| 欧亚成人| 亚洲综合射| 免费精品人妻一区二区三| 4141514逼喷水三级片| 日韩超碰97| 五月天激情网图片| 欧姜老司机| 色色五月天婷婷| 96超碰网| 午夜精品久久久久久久男人的天堂 | 91精品国| 任你爽视频| 欧美色图20P| 婷婷五月天成人| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 久操不卡视频| 欧美同性恋 的搜索结果 - 91n| 手机在线看片免费人成视频| 高清不卡 中文 人妻| 嫩草影院在线观看精品| 区自美91| 日日AAvv| 激情综合五月婷婷| 老熟女综合| 精品无码一区二区| 秋霞成人做爱| 蜜桃精品一区二区三区久在线| 亚洲 一区二区 自拍| 啊啊啊轻点在线观看| 操人91| 丰满人妻一区二区三区| 午夜福利久久久噜久噜久久综合 | 亚洲欧洲偷拍一区| 强奸乱伦 亚洲一区| 久久超碰大香蕉| 亚洲欧美国产成人综合不卡| 99少妇| 麻豆AV一区二区| 2020中文在线一区二区三区| 天天综合站| 中文字幕 人妻不满 在线视频| 中文久久| 日日妻色网| 亚洲国产第一页综合视频| 永久电影三级在线观看| 欧美亚洲成人在线一区二区三区| 九九色图| 大香蕉视频一二三区| 欧美色图自拍| 91丝袜美腿网站| av无码av无码专区| 色妇综合网| 日欧毛片久久| 大稥蕉免费视频这里只有精品| 黄色av网站在线播放| 国产蜜臀精品一区二区尤物| 亚洲男人的天堂V| 丝袜熟女一区二区三区| 欧美亚洲高清| 亚州精品人妻一二三区| 美女高潮视频91| 激情专区综合| 日韩欧美午夜一区二区| 久久在肏| 嫩草 我啊~嗯~在线| 青青草在线成人视频| 成人免费福利在线观看| 欧美v日韩v亚洲v最新在线| 91少妇通奸网站| 亚洲AO在线| 婷婷丁香六月| 欧美一级做a爰片免费视频| 亚洲97成人在线观看| 97最新在线播放视频| 亚洲 欧美 日韩 国产一区二区| 男人的天堂三级| 欧美白嫩女HD| 美日韩一卡二卡三卡免费人妻精品| a级成人毛片免费视频高清| 看日韩黄片| 亚洲se91| 精品人妻一区二区三区免费视频| 蜜臀aV午夜一区二区三区| 欧美色图偷拍另类| 美女啊啊啊啊啊啊啊| 婷色五月| 欧美国产日韩高清在线| A V视频日本| 黄色片一区二区三区四区五区| 麻豆天美91| 男人综合网| 天天影视综合色| 亚洲系列欧美| 久草线上视频免费看| 久久久久久久国产| 丰满精品人妻少妇久久字幕| 日韩av熟女一区二区三区成人| 天天影视色香色欲| 小少妇| 女优免费一区二区永久| 深爱五月天| 夜夜操二区| 欧美一级三级| 精品妇女一区二区三区| 久久色人体 | 亚洲欧洲激情卡通另类文学四射小说网站| AV中文字幕三四五| AV女资源| 久久久久久久久999| 亚洲成人ab| 欧美亚洲图片| 国内亚洲高清无码| 先锋影音av先锋一区| 国产亚洲欧美每日在线| 国产精品网址| 国产熟女乱论| 国产成人+综合亚洲+天堂| 五月天久久久| 1024亚洲中文字幕久在线看片你懂的| 色综合中文字幕不卡| 日少妇亚洲版| 97欧美色综合| 99热伊人| 无码精品久久| 在线强奷到舒服的无码视频| 国产亚洲在线| 青青青操| 熟妇国产免费一区| 亚洲图片欧美偷拍| 国产在线能看的你懂的| 国产精品免费日韩| 婷婷五月天成人网| 96AV久久久| 国产丸一视频| 不卡在线观看视频| 极品综合| 色情综合| 麻豆精品A片免费观看| 人澡逼| 亚洲欧美首页| 性在久久久久久| 超碰av人人人| 超碰1997| 狠狠爱大香蕉| 日本操大逼| 国产久久一区二区午夜| 亚洲自拍一区夜夜操 | 国产不卡片| 熟妇激情| 2024年最新色情网站在线观看| 日韩人妻播放| 精品国产一区二区久久| 后入式五六区| 秋霞一集毛片观看| 国产伦精品一区二区三区在线观| 99re8超碰| 亚洲黄色电影| 亚洲精美粉嫩嫩泬在线观看 | 一中国女人毛片水真多| 最近的最新的中文字幕视频| 午夜天堂网| 欧美翘臀视频网站一区二区三区| 日本东京热加勒比久久| 青娱乐 成人娱乐在线| 天天情欲宗合网| a片在线播放| 六月天婷婷| 久久久9 9 9精品| 在线观看无码三级少妇| 97人肏| 肥佬影院91| 欧美精品1区2区3区| 美骚妇av高清在线| 91亚洲色图| 色婷婷在线视频| 日韩人人精品| 国语精品内射在线观看| 欧美高潮在线| 国产操逼网站亚洲一级黄色| 婷婷色综合| 疯操AV| 乱伦3P视频| 男人的天堂在线| 日韩偷拍一区二区三区| 日韩免费人妻色情网站| 99热在线只有精品| 久久免费精品视频免一| 91在线/欧洲| 1人人看人人摸人人操| 自拍盗摄一区| 成人精品在线免费视频| 九九热九九热| 久久久少妇| 久久综合18p| 老女人综合网| 久久大香蕉手机高清| 91视频综合网| 亚州成人A√| 免费看黄片现成| 美女淫穴| 97在线精品观看视频| 99精品伊人| 亚洲av综合色| 久久成人午夜狠狠| 日韩精品视频在线观看一卡二卡| 婷婷五月天色网| 十八禁视频网站| 亚洲综合网91| 亚洲无套久久嗯嗯| 在线免费观看高清无码视频| 欧美香蕉视xxx| 九九热久久99精品re| 天美传媒Av在线| 人人摸人人干人人拍97| 四虎影视国产精品| 青青操青娱乐| 人人做天天爱| 超碰午夜| 九九热免费视频| 成人国产视频在线观看| 神马久久久久久久久久久久| 久操网视频| 亚洲校园激情| 日韩美一区| 精品人妻中文字幕4399| 亚洲人妻久久久| 日本免费中文一区二区三区四区| 熟妇综合一区二区三区| 亚洲综合九| 91啪啪视频| 20cm女自慰在线日韩欧美| 欧美少妇色综合| 亚洲欧美成人在线| 婷婷超| 午夜AV污污污| 人人喜人人妻| 亚洲欧综合另类无码一区| 青青五月天| 久久久久久九九九九-美女久久久久久久-成人AV | 日韩国产乱子伦App| 唯美清纯 妖精视频| 国产专区路线| 婷婷五月天影院| 日韩国产精品人妻无码久久久| 新视频sss国产| 日韩精品99999| 大香蕉黄色一级片免费看| 东北女人性交| 欧美在线l亚洲| 亚洲综合五月天| 岛国免费黄色网址| 一区二区不卡视| 久久人妻一区二区三区高清| 91人妻丝袜无码| 成视频在线观看免费看| 老子午夜伦不卡影院| 精人妻一区二区三区| 亚洲视频一二区| 日韩AV一区二区三区四四| 懂色av色欲av蜜臀av| 欧美超碰在线| 国产熟码AV| 天美传媒AV国产在线| 天美AV片| **一级毛片国产| 岛国大片在线观看网站入口| 国产h小视频在线观看免费| 欧美肥臀在线| 午夜综合在线| 伊人丝袜美腿高跟在线观看高清| 黑丝少妇| 久久激情网| 国产真实野战在线视频| 啪啪啪东京| www国产无码| 91日韩国产欧美亚洲另类精盘州至城都| 青青欧洲黑| 91亚洲欧美色图| 91 国产丝袜在线放观看 | 国产在线综合网| 天天噜| 97国产精品一区| 91N综合网| 亚洲不卡一| 国产乱不卡| 久久久久久久久国产| 91性高| 亚洲激情色片| 久久精9| 亚洲天堂自拍| 欧美天天谢综合网| 亚洲综合另类欧美久久久| 999狠狠综合| 精品丰满人妻一区二区三区免费观| 精品一二三区久久AAA片| 国产 亚洲 丝袜 制服| 人妻中文字幕精品无码| 国产成人 综合亚洲 天堂| 自拍偷拍 日韩欧美| 无遮挡又黄又刺激的视频| 欧美极品美女aaaaaa级黄片| 日本国产欧美一区三区二区 | 十八禁黄色成人网站观看| 草伊人高潮喷水超碰| 久久AV无码1区2区3区| AV高清一区| 亚洲限制级| daxiangjiao你懂的| 青青草华人在线欧美在线| 91黄射| 射久久| 中文字幕日韩专区精品系列| 美女操逼A A| 欧美人与性动交a美精品| 欧美一区二区观看在线| 婷婷天堂站| 91天天日| 91爰爱欧美| 麻豆区久久久久亚| 久久超碰com| 尤物av网站免费在线播放| 久久伊人亚洲AV无码网站| 亚洲一区二区三区播放在线| 岛国视频免费在线观看| 99自拍视频在线| 久久久com| 日韩欧亚中文在线| 免费男人的天堂| juliaann欧美丝袜办公室| 尤物av网站免费在线播放| 久久免费99精品久久久久久| 日本高清_区二区三区| 亚洲精品视频在线播放| 亚洲熟妇丝袜在线观看| 久操视频免费观看| 自拍六区| 在线A日本| 久久伊人大香蕉| 精品国产91久久久久久一区黄无| 我爱搞逼综合网| 亚洲成人贴图| 中文字幕精品日韩中文字幕| 五月丁香久久| 亚洲AO在线| 国产精品禁久久久精品| 精品国产三级av韩国在线| 久久激情亚洲精品无码?V| 亚洲综合小说另类图欧美视频激情小说色五月天 | 久久,精品一二三| 精品乱码久久久久| 久久精品无码专区| 伊人久久综合影院| 日日干日日| 亚洲综合情色| 中国AAAAAA黄色片| 女人高潮大叫一级毛片| 熟妇最新先锋一二三区| 国产99999久久精品| 超碰97综合| 国产精品久久99日日| 综合网,亚洲,欧美| 另类图片五月天| 日韩av电影成人在线| 屁屁影院一区二区三区国产| 日本91白丝| 日日干夜夜骑| 浓厚中出中文字幕在线| 中文字幕一区av| 色偷偷综合91久久噜噜| 国产精品永久免费10000| 亚洲图片欧美91N| 蜜桃狠狠色伊人亚洲综合| 百度百度日本操逼| 丁香激情网| 欧美97se| 久久精品高清AV| 天美精品一区二区三区四区在线观看| 大香蕉综合网| 婷婷伊人綜合中文字幕| 中出人妻中文字幕91在线| 欧美性爱免费短视频| 综合国产97| 亚洲熟女av中文字幕| 久久久中文| 狠狠躁久久躁| 蜜臀操逼黄色视频操的好爽| 亚洲综合九| 国产二区视频在线观看电影| 第二页中文字幕| 蜜臀久久99精品久久久电影| 五月婷婷影院| 97网色| 在线观看一卡二卡| 日本一二区不卡| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 天堂九九九九九九九九九| 久草这里只有精品 | 欧美日韩精品久久久久东北老熟妇| 51一区二区三区| 亚洲日韩久久精品一区| 性色av蜜臀av色欲aV| 伊人网在线视频| 亚洲精品天堂久久A∨51成人漫| 欧美中字二区| 国产高清免费不卡av| 97伪v| 国产亚洲日本精品在线| 中文字幕无码不卡啪啪| 成人免费不卡在线视频| 亚洲日韩资源| 激情第四色| 九九九九精品九九九九| 久久精品视频久久久| 久草精品国产99| 伊人 俄罗斯 a v| 国产精品探花视频| 欧美同性恋 的搜索结果 - 91n| 日韩成人免费电影| 久久久亚洲| 91网18| 精品国产乱码久久久久久口爆网站| 人人九九精| 六月激情网| 翔田千里A片一区二区| 秋霞午夜视频一区二区| 黄片aaaaa一区| 天天躁日日躁狠狠狠躁| 亚洲骚女一区二区三区| 国产高清吃奶免费视频网站| 免费超碰97久久| 婷婷五月天色色| 亚洲国产丝袜熟女av| 伊人丝袜美腿高跟在线观看高清| 午夜精品五区| 欧美美女视频| 安徽熟妇视频| 免费看久久久性性| 欧亚日韩中文在线| 亚洲综合性网址| 欧美成人精品A片免费一区99| 亚洲美女AV无码| 亚洲天堂美臀在线| 久久麻豆一区二区| 一本大道不卡一二三区| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 啊v在线观看视频| 在线观看A啊啊啊| 久久ww| 天天谢天天干| 欧美中日韩XXXX| 欧美综合制服在线| 91粉芽高清在线一区二区| 91丨豆花丨熟女| 日夜伊人网| 九七人妻在线| 97干在线看| 精品少妇一区二区三区在线视频| 精品视频一区二区| 色综合久久88色综合久久天天| 91美女片在线| 九九九九九九九九九九九九九九九女| 亚洲 日韩 欧美 国产综合体| 日本一级婬片试看三分钟| 久久国产乱子伦精品免费女,网站| 日韩美女高潮喷水视频| 久久超碰爱| 国产成人无码高清| 无码外流操逼视频| 91人妻在线视频| 四虎影视 亚洲无码| 上床不卡网站| 东北夫妻性偷拍| 97人妻碰碰中文无码久热丝袜| 国产A v无码专区| 国产高清午夜成人在线观看| 婷婷8月天青娱乐| 蜜桃狠狠色伊人亚洲综合 | 欧美精品91| 亚洲人精| 丁香六月婷婷久久综合| 在线无码操| 国产精品久久久久无码A√| 国产免费一区2区3区| 91熟女丨老女人| 骚日日av| 日本 情色 1区2区3区| 中文字幕AV片| 久婷婷一区| 嫩草 人人网精品| 青娱乐亚洲热| 天美精品av| 丰满人妻一区二区三区免费,| 亚洲成人综合在线| 国产精品老师| 欧美性爱另类综合| 国产乱伦性爱AV| 果冻国产精品麻豆成人av| 久久精品中文字幕无码l| 色情成人五月天| 麻豆天天躁天天揉揉AV| 久男人久久| 国模久久在线| 久湿久久 | 国产亚洲日韩在线三区黑人| 韩三级a视频在线观看| 日韩成人私密一级精品av| 黄片www视频免费| 懂色Av| 久久精品一区二区一8| 黑人娇小av在线播放 | 97精品久久久久久久| 97人人爱人人做人人乐| 欧美性爱一内片一区二区三区| 久久久久9久久久久| 殴美综合色88| 欧美中字二区| 97se综合| 亚洲性综合11| 亚洲高清欧美总合| 91丝袜在线观看| 亚洲欧美日韩制服另类| 91麻豆天美国产欧美高潮| 欧美92| 韩日精品福利视频一区不卡在线免| 青青草玖玖爱| 女人天堂AV五区在线|