久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

Spring Boot大學(xué)生租房平臺(tái):從需求設(shè)計(jì)到畢業(yè)答辯的完整實(shí)戰(zhàn)

Spring Boot大學(xué)生租房平臺(tái):從需求設(shè)計(jì)到畢業(yè)答辯的完整實(shí)戰(zhàn) 1. 這個(gè)項(xiàng)目到底在做什么大學(xué)生租房平臺(tái)的業(yè)務(wù)定位與需求拆解每年畢業(yè)設(shè)計(jì)季被問(wèn)得最多的題目類型之一就是“基于Spring Boot的某某平臺(tái)”其中“大學(xué)生租房平臺(tái)”是典型中的典型。這題目的價(jià)值在于它不只是一個(gè)增刪改查的演示系統(tǒng)它背后站著的是一整條真實(shí)的業(yè)務(wù)鏈路房源錄入、信息檢索、預(yù)約看房、簽約成交、評(píng)價(jià)反饋。稍微把每個(gè)環(huán)節(jié)做扎實(shí)一點(diǎn)就是一個(gè)能放在簡(jiǎn)歷上講的完整項(xiàng)目。先說(shuō)清楚題目里的兩個(gè)關(guān)鍵詞。第一是“springboot007”這個(gè)007更像是一個(gè)內(nèi)部編號(hào)或課程設(shè)計(jì)歸檔號(hào)真正決定項(xiàng)目形態(tài)的是后半句——大學(xué)生租房平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)文檔源碼。也就是說(shuō)這個(gè)項(xiàng)目考核的不光是能跑的代碼還有配套的畢業(yè)設(shè)計(jì)文檔。很多同學(xué)只盯著源碼文檔草草拼湊最后答辯被問(wèn)得無(wú)話可說(shuō)這是我最想先提醒的一點(diǎn)。那為什么偏偏選“大學(xué)生租房”因?yàn)樾枨筇鎸?shí)了。高校周邊租房的核心場(chǎng)景是學(xué)生想找離學(xué)校近、價(jià)格合理、可以合租的房源房東手里有房但沒(méi)精力自己天天帶看中介收費(fèi)高學(xué)生承受不起。這個(gè)三方矛盾天然需要一套在線平臺(tái)來(lái)撮合房東發(fā)布房源、學(xué)生篩選房源、雙方約定時(shí)間看房。它比純粹的“商品管理系統(tǒng)”多了一層社會(huì)關(guān)系和線下交互也更好寫(xiě)出需求分析。再說(shuō)適合誰(shuí)。這個(gè)東西適合兩類人一類是做畢業(yè)設(shè)計(jì)或課程設(shè)計(jì)的學(xué)生需要快速理解一個(gè)Spring Boot完整項(xiàng)目的結(jié)構(gòu)另一類是剛?cè)腴T(mén)Java Web開(kāi)發(fā)、想找一個(gè)能模擬真實(shí)業(yè)務(wù)場(chǎng)景來(lái)練手的自學(xué)者。不管屬于哪類看完這篇文章你至少能回答三個(gè)問(wèn)題這個(gè)平臺(tái)有哪些功能、這些功能為什么這么設(shè)計(jì)、真把一個(gè)Spring Boot項(xiàng)目從零搭起來(lái)會(huì)踩哪些坑。1.1 為什么選“大學(xué)生租房”這個(gè)場(chǎng)景選題這件事很多同學(xué)想復(fù)雜了。要么選一個(gè)特別宏大的題目比如“智慧社區(qū)綜合服務(wù)平臺(tái)”結(jié)果自己根本說(shuō)不清楚哪塊是智慧要么選一個(gè)特別空洞的題目比如“基于SSM的網(wǎng)上商城”做完發(fā)現(xiàn)和網(wǎng)上的教程Demo幾乎一模一樣。大學(xué)生租房平臺(tái)的好處在于它有一個(gè)非常明確、非常好解釋的“核心痛點(diǎn)”。這個(gè)痛點(diǎn)就是信息不對(duì)稱。學(xué)生找房時(shí)最怕三件事房源是假的、價(jià)格是虛的、房東聯(lián)系不上。平臺(tái)要解決的就是把房源信息結(jié)構(gòu)化、把房東身份實(shí)名化、把看房流程線上化。換句話說(shuō)這個(gè)選題從需求層面就保證了系統(tǒng)里必須有“房源管理”“用戶管理”“預(yù)約流程”這三塊內(nèi)容不會(huì)出現(xiàn)為了湊功能而硬加模塊的情況。另一種常見(jiàn)選法是做“二手交易平臺(tái)”但二手交易涉及支付、物流、售后復(fù)雜度很容易控制不住。租房平臺(tái)可以把簽約和付款做成線下環(huán)節(jié)線上只負(fù)責(zé)信息和預(yù)約這正好落在畢業(yè)設(shè)計(jì)的合適難度區(qū)間——比純CRUD高一點(diǎn)又不至于高到做不完。這就是我常說(shuō)的選題原則業(yè)務(wù)閉環(huán)但復(fù)雜度可控。1.2 三類角色與核心功能清單租房平臺(tái)不可能只有一種用戶。最基礎(chǔ)的是三類角色學(xué)生租客、房東、管理員。如果再加一層就是“未登錄游客”游客只能瀏覽房源列表想看聯(lián)系方式或預(yù)約看房就必須注冊(cè)登錄。學(xué)生端注冊(cè)登錄、瀏覽房源、按區(qū)域/價(jià)格/戶型篩選、收藏房源、提交預(yù)約看房、查看預(yù)約狀態(tài)、查看個(gè)人收藏夾、對(duì)已看過(guò)的房源發(fā)表評(píng)價(jià)。房東端注冊(cè)登錄、發(fā)布房源標(biāo)題、描述、圖片、租金、戶型、地址、管理自己的房源下架/編輯、查看收到的預(yù)約請(qǐng)求并確認(rèn)/拒絕。管理端用戶管理禁用/啟用賬號(hào)、房源審核新發(fā)布的房源必須過(guò)審才能展示、公告管理、數(shù)據(jù)概覽用戶數(shù)、房源數(shù)、預(yù)約次數(shù)等簡(jiǎn)單統(tǒng)計(jì)。注意一個(gè)細(xì)節(jié)房源審核這個(gè)功能很有價(jià)值。它不光是業(yè)務(wù)需要還能讓你的系統(tǒng)多出一個(gè)“狀態(tài)流轉(zhuǎn)”的演示點(diǎn)寫(xiě)論文時(shí)能單獨(dú)占一節(jié)“審核機(jī)制設(shè)計(jì)”。很多同學(xué)做這類項(xiàng)目只在實(shí)體字段里加一個(gè)“狀態(tài)”數(shù)字卻不設(shè)計(jì)狀態(tài)流轉(zhuǎn)規(guī)則答辯時(shí)被問(wèn)“一個(gè)房源從發(fā)布到上架經(jīng)歷了什么狀態(tài)”就答不上來(lái)。1.3 從需求到原型的取舍思路拿到需求清單之后第一件事不是建表而是做取舍。我見(jiàn)過(guò)不少同學(xué)把功能表列得很滿今天加一個(gè)“在線聊天”明天加一個(gè)“租金計(jì)算器”最后數(shù)據(jù)庫(kù)二十多張表代碼四處漏風(fēng)。這里要有一個(gè)原則核心鏈路優(yōu)先周邊功能從簡(jiǎn)。這個(gè)項(xiàng)目的核心鏈路就是“發(fā)布房源-搜索房源-預(yù)約看房-確認(rèn)看房-評(píng)價(jià)”。所有角色和表結(jié)構(gòu)都應(yīng)該服務(wù)于這條鏈路。至于站內(nèi)信、消息通知這類屬于可有可無(wú)的加分項(xiàng)時(shí)間充裕再加。我做這個(gè)項(xiàng)目時(shí)會(huì)先畫(huà)一條最簡(jiǎn)單的業(yè)務(wù)線然后用“如果我是學(xué)生我會(huì)在哪個(gè)步驟卡住”來(lái)反推功能。比如學(xué)生看到房源想聯(lián)系房東如果平臺(tái)不提供任何聯(lián)系入口那這個(gè)平臺(tái)就廢了。所以“預(yù)約看房”不是附加功能是核心功能。原型階段不需要用Axure畫(huà)得多精致一張紙一支筆畫(huà)出每個(gè)角色的頁(yè)面流轉(zhuǎn)就行。桌面端和移動(dòng)端怎么取舍考慮到學(xué)生和房東大量使用手機(jī)界面要優(yōu)先適配移動(dòng)端但畢業(yè)設(shè)計(jì)演示通常是在電腦大屏上所以更推薦做得“響應(yīng)式”——Bootstrap或Vue加個(gè)移動(dòng)端適配兩邊都能看。這個(gè)細(xì)節(jié)寫(xiě)進(jìn)文檔里是“界面設(shè)計(jì)考慮到了多端訪問(wèn)”很加分。2. 技術(shù)選型與整體架構(gòu)Spring Boot為主線的務(wù)實(shí)方案技術(shù)選型決定一個(gè)項(xiàng)目好不好寫(xiě)完、好不好答辯。我不建議在畢業(yè)設(shè)計(jì)里追新技術(shù)更不建議“為了用而用”。一個(gè)成熟的課題方向是Spring Boot做后端MyBatis-Plus做數(shù)據(jù)訪問(wèn)MySQL存儲(chǔ)數(shù)據(jù)Redis做緩存和驗(yàn)證碼JWT做登錄鑒權(quán)Vue或Thymeleaf做前端。這套組合最大的優(yōu)點(diǎn)不是“新”而是“穩(wěn)”——網(wǎng)上資料多、社區(qū)問(wèn)答多、模板多出了問(wèn)題容易搜到答案。2.1 后端選型基于Spring Boot的版本與組件搭配Spring Boot的版本選擇是很多人的第一個(gè)坑?,F(xiàn)階段寫(xiě)新項(xiàng)目Spring Boot 2.7.x是一個(gè)比較穩(wěn)妥的選擇原因有二一是2.7屬于社區(qū)資源最豐富的版本段你搜到的大多數(shù)博客、網(wǎng)課、畢業(yè)設(shè)計(jì)模板都跑在這個(gè)版本上二是Spring Boot 3.x雖然新但底層是Jakarta EE命名空間javax變成jakarta很多舊資料里的import javax.servlet.*直接復(fù)制過(guò)來(lái)會(huì)報(bào)紅。如果你用了Spring Boot 3.x等于自己主動(dòng)放棄了大量現(xiàn)成參考資料。組件搭配上我推薦下面這個(gè)組合組件用途替代方案與說(shuō)明MyBatis-Plus數(shù)據(jù)訪問(wèn)層自帶分頁(yè)插件和條件構(gòu)造器原版MyBatis要寫(xiě)大量XMLPlus更適合快速開(kāi)發(fā)MySQL 8.x主數(shù)據(jù)庫(kù)5.7也能跑但8.x時(shí)區(qū)配置更省心Redis登錄Token存儲(chǔ)、驗(yàn)證碼緩存沒(méi)有Redis可用Session但用了Redis寫(xiě)文檔更好看JWT Spring Security接口鑒權(quán)畢設(shè)用Interceptor加JWT工具類就夠不必上Spring SecurityLombok簡(jiǎn)化實(shí)體類有爭(zhēng)議但能少寫(xiě)大量get/setHutool工具類集合驗(yàn)證碼生成、隨機(jī)數(shù)、日期處理都能用它為什么不用Spring Security因?yàn)檫@個(gè)平臺(tái)的權(quán)限模型非常簡(jiǎn)單三類角色少數(shù)幾個(gè)管理員接口需要校驗(yàn)管理員身份其余接口只要“已登錄”就行。拿Spring Security那套過(guò)濾器鏈、UserDetailsService、密碼編碼器去實(shí)現(xiàn)代碼量翻倍答辯時(shí)還容易把自己繞暈。一個(gè)自定義攔截器加JWT工具類兩千行以內(nèi)搞定權(quán)限控制效果完全夠用。2.2 前端與部署形態(tài)Vue打包放進(jìn)Spring Boot的實(shí)操前端的選擇會(huì)直接影響交付形式?!皊pringboot007大學(xué)生租房平臺(tái)”的設(shè)計(jì)通常有兩種一種是傳統(tǒng)的服務(wù)端渲染用Thymeleaf模板引擎加Bootstrap寫(xiě)完一個(gè)包直接扔進(jìn)static目錄就能跑另一種是前后端分離后端提供JSON接口前端用Vue框架開(kāi)發(fā)時(shí)前后端分兩個(gè)進(jìn)程跑交付時(shí)把Vue打包產(chǎn)物放到Spring Boot的static目錄下。第二種更像真實(shí)企業(yè)項(xiàng)目也更符合現(xiàn)在的招聘技能要求。但要注意如果把Vue打包后的dist目錄直接放到Spring Boot的src/main/resources/static下會(huì)有一個(gè)經(jīng)典問(wèn)題頁(yè)面路由是history模式時(shí)刷新某個(gè)子路徑會(huì)404。原因是Spring Boot默認(rèn)只把/映射到index.html并沒(méi)有把前端路由的路徑重新指回首頁(yè)。解決辦法也簡(jiǎn)單寫(xiě)一個(gè)WebMvcConfigurer把非接口路徑全部轉(zhuǎn)發(fā)到/index.html。另一個(gè)常見(jiàn)錯(cuò)誤是接口前綴不一致。前端Vue開(kāi)發(fā)時(shí)通過(guò)/api代理請(qǐng)求后端打包部署后沒(méi)有代理了必須保證前端請(qǐng)求的地址和后端接口實(shí)際地址一致。我的做法是后端所有接口統(tǒng)一以/api開(kāi)頭前端請(qǐng)求也直接寫(xiě)/api/...開(kāi)發(fā)時(shí)用Vite的proxy把/api轉(zhuǎn)發(fā)到http://localhost:8080部署后同源訪問(wèn)不需要改代碼。這個(gè)細(xì)節(jié)能幫你省下大量聯(lián)調(diào)時(shí)間。2.3 項(xiàng)目結(jié)構(gòu)設(shè)計(jì)按功能分包而不是按層分包很多剛接觸Spring Boot的同學(xué)會(huì)把項(xiàng)目結(jié)構(gòu)寫(xiě)成controller、service、mapper、entity四個(gè)包所有Controller堆在一起。小項(xiàng)目這么寫(xiě)問(wèn)題不大但當(dāng)一個(gè)模塊的功能增多后找代碼會(huì)變得很痛苦。租房平臺(tái)規(guī)模適中我建議按功能模塊分包c(diǎn)om.example.house ├── common # 通用工具、統(tǒng)一返回結(jié)果、異常處理 ├── config # 配置類如跨域、攔截器、緩存配置 ├── security # JWT工具、登錄攔截、角色校驗(yàn) ├── modules │ ├── user # 用戶模塊Controller、Service、Mapper、實(shí)體 │ ├── house # 房源模塊 │ ├── order # 預(yù)約模塊 │ ├── favorite # 收藏模塊 │ └── admin # 后臺(tái)管理模塊 └── HouseApplication.java按功能分包的好處是改“房源審核”時(shí)只需要打開(kāi)modules/house目錄所有相關(guān)的Controller、Service、Mapper都在里面不需要在四個(gè)大包里來(lái)回跳。寫(xiě)文檔的時(shí)候也更好描述“用戶模塊負(fù)責(zé)……房源模塊負(fù)責(zé)……”架構(gòu)圖更清晰。這個(gè)包結(jié)構(gòu)本身就是一個(gè)加分項(xiàng)說(shuō)明你有模塊化意識(shí)。3. 數(shù)據(jù)庫(kù)設(shè)計(jì)與核心表結(jié)構(gòu)房源、訂單與權(quán)限的關(guān)鍵建模數(shù)據(jù)庫(kù)設(shè)計(jì)是這個(gè)項(xiàng)目里最值得花時(shí)間的地方。表結(jié)構(gòu)定得好后面寫(xiě)代碼順風(fēng)順?biāo)斫Y(jié)構(gòu)定得爛后面每個(gè)查詢都在補(bǔ)洞。我用四張核心表展開(kāi)講用戶表、房源表、預(yù)約表、收藏表再加一張公告表作為管理端功能點(diǎn)。3.1 核心表清單與字段設(shè)計(jì)要點(diǎn)用戶表t_user要區(qū)分角色用role字段枚舉值STUDENT、LANDLORD、ADMIN。其他字段包括用戶名、密碼BCrypt加密、昵稱、手機(jī)號(hào)、頭像、學(xué)校/職業(yè)等。注意手機(jī)號(hào)在租房場(chǎng)景里是核心聯(lián)系手段必須做唯一索引。房源表t_house是最重的一張表。核心字段包括標(biāo)題、描述、封面圖、戶型幾室?guī)讖d、面積、租金元/月、出租方式整租/合租、所在區(qū)域、詳細(xì)地址、房東ID、狀態(tài)待審核/已上架/已下架、瀏覽量、創(chuàng)建時(shí)間。這里我特別提兩點(diǎn)一是租金用整數(shù)INT表示“元/月”不要用字符串“3000元/月”否則后面做價(jià)格區(qū)間查詢時(shí)沒(méi)法用數(shù)字比較二是詳細(xì)地址要單獨(dú)一個(gè)字段但列表頁(yè)只展示區(qū)域和小區(qū)名避免用戶隱私過(guò)早泄露這個(gè)點(diǎn)寫(xiě)進(jìn)文檔能體現(xiàn)安全意識(shí)。預(yù)約表t_appointment用于記錄看房預(yù)約字段包括房源ID、學(xué)生ID、預(yù)約時(shí)間、期望看房時(shí)間段、備注、狀態(tài)待確認(rèn)/已確認(rèn)/已取消/已完成、創(chuàng)建時(shí)間。預(yù)約狀態(tài)是這個(gè)模塊的核心一定要有狀態(tài)位。評(píng)價(jià)表t_review記錄學(xué)生看完房后的評(píng)價(jià)關(guān)聯(lián)預(yù)約ID或房源ID再關(guān)聯(lián)用戶ID。3.2 房源狀態(tài)與預(yù)約狀態(tài)的狀態(tài)機(jī)設(shè)計(jì)狀態(tài)機(jī)是答辯時(shí)最能展示你思考深度的部分。房源的完整狀態(tài)流轉(zhuǎn)是待審核(AUDITING)-已上架(ON_SALE)-已下架(OFF_SALE)其中待審核只能通過(guò)管理員審核變成已上架或已駁回(REJECTED)房東可以主動(dòng)把已上架下架但不能繞過(guò)審核直接上架。這里用代碼寫(xiě)一個(gè)校驗(yàn)不是很難但一定要有。預(yù)約的狀態(tài)流轉(zhuǎn)是待確認(rèn)(PENDING)-已確認(rèn)(CONFIRMED)也可以已取消(CANCELED)最后學(xué)生看房完畢由學(xué)生確認(rèn)或系統(tǒng)自動(dòng)置為已完成(FINISHED)。為什么預(yù)約要設(shè)計(jì)“待確認(rèn)”這一步因?yàn)榉繓|不一定有空必須給房東一個(gè)操作空間。很多同學(xué)這里直接設(shè)計(jì)成“學(xué)生提交預(yù)約就算約成功”這不符合真實(shí)場(chǎng)景答辯時(shí)也容易被追問(wèn)。一個(gè)實(shí)用的設(shè)計(jì)技巧是在狀態(tài)字段旁加一個(gè)status_text的展示字段前端直接讀取展示文案不用前端硬編碼狀態(tài)對(duì)應(yīng)的中文?;蛘哂肕yBatis-Plus的枚舉轉(zhuǎn)換把數(shù)據(jù)庫(kù)里的數(shù)字自動(dòng)轉(zhuǎn)成Java枚舉前端拿到的就是可讀狀態(tài)。無(wú)論如何狀態(tài)文案只允許在后端出別讓前端猜。3.3 數(shù)據(jù)訪問(wèn)層的選擇MyBatis-Plus分頁(yè)與條件構(gòu)造MyBatis-Plus是這類畢業(yè)設(shè)計(jì)項(xiàng)目的好搭檔。它內(nèi)置了BaseMapper單表CRUD幾乎不用寫(xiě)SQL分頁(yè)插件開(kāi)箱即用條件構(gòu)造器QueryWrapper能解決大部分動(dòng)態(tài)查詢。比如房源列表的篩選查詢學(xué)生可能按區(qū)域篩、按價(jià)格區(qū)間篩、按戶型篩、按“合租/整租”篩還可能同時(shí)組合。用MyBatis-Plus寫(xiě)很簡(jiǎn)潔public PageHouse searchHouse(HouseQuery query, int page, int size) { PageHouse p new Page(page, size); LambdaQueryWrapperHouse wrapper new LambdaQueryWrapper(); wrapper.eq(StringUtils.hasText(query.getRegion()), House::getRegion, query.getRegion()) .eq(query.getRentType() ! null, House::getRentType, query.getRentType()) .between(query.getMinPrice() ! null query.getMaxPrice() ! null, House::getPrice, query.getMinPrice(), query.getMaxPrice()) .eq(House::getStatus, HouseStatus.ON_SALE) .orderByDesc(House::getCreateTime); return houseMapper.selectPage(p, wrapper); }注意這里我把“只看已上架房源”作為固定條件寫(xiě)死了防止學(xué)生刷出待審核或已下架的房源。這種細(xì)節(jié)就是安全邏輯的體現(xiàn)。另外分頁(yè)參數(shù)page和size一定要做邊界控制page最小為1size最大別超過(guò)100否則有人傳一個(gè)size999999一次把整表拉出來(lái)接口直接就慢成“演示事故”。4. 核心功能實(shí)現(xiàn)與代碼排坑實(shí)錄這一節(jié)是重點(diǎn)我把這個(gè)項(xiàng)目里最容易掉進(jìn)去的坑和對(duì)應(yīng)的實(shí)現(xiàn)思路集中講一遍。能寫(xiě)出來(lái)的都是我自己跑過(guò)、調(diào)試過(guò)、出過(guò)丑的真實(shí)經(jīng)驗(yàn)。4.1 用戶注冊(cè)登錄與JWT鑒權(quán)注冊(cè)登錄是入口但很多同學(xué)的入口代碼寫(xiě)得亂七八糟。先說(shuō)密碼絕不能明文存儲(chǔ)用BCryptPasswordEncoder加密。加密之后即使數(shù)據(jù)庫(kù)泄露攻擊者也很難反推出原始密碼。Spring Security里自帶這個(gè)類如果你沒(méi)引入Spring Security單獨(dú)引入spring-security-crypto依賴也能用。注冊(cè)時(shí)還要處理幾個(gè)問(wèn)題用戶名是否重復(fù)、手機(jī)號(hào)格式、密碼強(qiáng)度。我一般會(huì)在Service層做統(tǒng)一校驗(yàn)然后Mapper插入。接口返回統(tǒng)一用ResultT結(jié)構(gòu)比如public ResultString login(String username, String password) { User user userService.findByUsername(username); if (user null || !encoder.matches(password, user.getPassword())) { return Result.error(用戶名或密碼錯(cuò)誤); } String token jwtUtil.generateToken(user.getId(), user.getRole()); return Result.success(token); }登錄成功后返回JWT字符串前端存在localStorage里之后每個(gè)請(qǐng)求在Authorization頭帶上。后端攔截器解析Token取出用戶ID放到ThreadLocal或請(qǐng)求屬性里供后續(xù)寫(xiě)業(yè)務(wù)代碼使用。關(guān)于JWT有個(gè)坑要提示JWT默認(rèn)不加密payload是Base64明文千萬(wàn)不要把手機(jī)號(hào)、密碼之類的敏感信息塞進(jìn)去。Token里只需要用戶ID和角色需要更多信息時(shí)再查庫(kù)。4.2 房源發(fā)布與圖片上傳的坑房源發(fā)布里最鬧心的就是圖片上傳。畢設(shè)項(xiàng)目一般不用OSS對(duì)象存儲(chǔ)最常見(jiàn)的是把圖片存到本地磁盤(pán)。這里有兩個(gè)坑必須提前避開(kāi)。第一個(gè)坑是本地路徑問(wèn)題。如果直接把圖片寫(xiě)到項(xiàng)目根目錄下的upload文件夾然后以相對(duì)路徑訪問(wèn)打包成jar運(yùn)行時(shí)會(huì)發(fā)現(xiàn)圖片存到了jar包外面的臨時(shí)目錄或者根本寫(xiě)不進(jìn)去。我的做法是在application.yml里配置一個(gè)對(duì)外統(tǒng)一的存儲(chǔ)路徑比如E:/upload/或者Linux下的/data/upload/再配一個(gè)靜態(tài)資源映射Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler(/upload/**) .addResourceHandler(file: uploadPath); }這樣訪問(wèn)http://localhost:8080/upload/xxx.jpg就能直接看到圖片而且圖片文件和項(xiàng)目代碼分離重打jar包也不會(huì)丟數(shù)據(jù)。第二個(gè)坑是文件類型和大小校驗(yàn)。只檢查拓展名是不可靠的一個(gè)改名成.jpg的腳本文件能直接繞過(guò)。至少做到用MimeType校驗(yàn)限制文件大小比如單張不超過(guò)5MB并把文件重命名為UUID加拓展名保存避免中文名和“同名覆蓋”問(wèn)題。安全這塊如果寫(xiě)進(jìn)文檔的“系統(tǒng)安全設(shè)計(jì)”里是個(gè)很有分量的加分點(diǎn)。4.3 搜索篩選與預(yù)約看房的關(guān)鍵代碼搜索篩選上一節(jié)展示過(guò)了這里重點(diǎn)說(shuō)預(yù)約看房的流程實(shí)現(xiàn)。學(xué)生選擇“預(yù)約看房”時(shí)前端提交房源ID、預(yù)約日期、時(shí)間段、備注。后端要校驗(yàn)四件事房源存在且已上架當(dāng)前用戶已登錄且角色是學(xué)生該房源沒(méi)有被當(dāng)前用戶重復(fù)提交待確認(rèn)的預(yù)約預(yù)約時(shí)間不能是過(guò)去。校驗(yàn)通過(guò)后插入一條PENDING狀態(tài)的預(yù)約記錄。public ResultVoid createAppointment(AppointmentRequest req, Long studentId) { House house houseMapper.selectById(req.getHouseId()); if (house null || house.getStatus() ! ON_SALE) { return Result.error(房源不存在或不可預(yù)約); } long count appointmentMapper.selectCount(new LambdaQueryWrapperAppointment() .eq(Appointment::getHouseId, req.getHouseId()) .eq(Appointment::getStudentId, studentId) .eq(Appointment::getStatus, PENDING)); if (count 0) { return Result.error(你已預(yù)約過(guò)該房源請(qǐng)等待房東確認(rèn)); } if (req.getAppointmentDate().isBefore(LocalDate.now())) { return Result.error(預(yù)約時(shí)間不能早于今天); } // 插入預(yù)約記錄 return Result.success(); }房東端看到預(yù)約請(qǐng)求后可以選擇“確認(rèn)”或“拒絕”。確認(rèn)時(shí)把狀態(tài)改為CONFIRMED同時(shí)給學(xué)生做一個(gè)站內(nèi)通知或發(fā)送一條系統(tǒng)消息這塊用一張簡(jiǎn)單的t_message表就行不一定要上WebSocket。這套交互做完項(xiàng)目在業(yè)務(wù)上就是一個(gè)完整的閉環(huán)了。5. 文檔寫(xiě)作與答辯準(zhǔn)備畢設(shè)項(xiàng)目不能只交代碼很多同學(xué)把精力全部放在寫(xiě)代碼上文檔最后三天趕工結(jié)果代碼能跑但論文質(zhì)量差答辯照樣被批。我必須強(qiáng)調(diào)這個(gè)題目的交付物是“文檔源碼”兩樣缺一不可。文檔不是代碼的說(shuō)明書(shū)它要回答“你為什么做這個(gè)系統(tǒng)”“系統(tǒng)怎么設(shè)計(jì)”“遇到什么問(wèn)題怎么解決”。5.1 論文/文檔怎么寫(xiě)才不像湊字?jǐn)?shù)常見(jiàn)的畢業(yè)設(shè)計(jì)文檔結(jié)構(gòu)是選題背景與意義、國(guó)內(nèi)外研究現(xiàn)狀、需求分析、系統(tǒng)設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、功能實(shí)現(xiàn)、系統(tǒng)測(cè)試、總結(jié)與展望。這套結(jié)構(gòu)本身沒(méi)問(wèn)題但大多數(shù)同學(xué)寫(xiě)出來(lái)的內(nèi)容充滿了廢話。比如“選題背景”不要寫(xiě)“隨著互聯(lián)網(wǎng)的發(fā)展人們的生活水平提高了”一開(kāi)口就知道是拼湊的應(yīng)該寫(xiě)清楚你這個(gè)平臺(tái)面向的具體人群和具體痛點(diǎn)。哪怕這樣寫(xiě)都更好“高校周邊租房市場(chǎng)長(zhǎng)期存在信息不對(duì)稱問(wèn)題學(xué)生找房成本高、房東發(fā)布渠道分散、看房時(shí)間難以協(xié)調(diào)。針對(duì)以上問(wèn)題本課題設(shè)計(jì)并實(shí)現(xiàn)一個(gè)面向高校學(xué)生和房東的租房信息平臺(tái)通過(guò)線上房源審核與預(yù)約看房機(jī)制降低租房交易的信息門(mén)檻?!毙枨蠓治霾糠植灰毁N用例圖還要畫(huà)數(shù)據(jù)流圖把“學(xué)生-平臺(tái)-房東”三方的信息交互流程講清楚。系統(tǒng)設(shè)計(jì)部分要有總體架構(gòu)圖和各模塊設(shè)計(jì)。功能實(shí)現(xiàn)部分挑至少3-4個(gè)核心功能詳細(xì)展開(kāi)比如JWT鑒權(quán)流程、房源審核流程、價(jià)格區(qū)間篩選的實(shí)現(xiàn)思路配上核心代碼和運(yùn)行截圖。5.2 答辯時(shí)的高頻提問(wèn)與應(yīng)答思路答辯老師不一定會(huì)把項(xiàng)目跑一遍但他們一定會(huì)問(wèn)“所以你是怎么做的”和“為什么這么做”。常見(jiàn)問(wèn)題我列一下你們提前準(zhǔn)備為什么選Spring Boot而不是SSH/SSM答Spring Boot簡(jiǎn)化了配置、內(nèi)置了Tomcat、生態(tài)成熟適合快速構(gòu)建獨(dú)立服務(wù)且在求職市場(chǎng)上Spring Boot是主流要求。你的系統(tǒng)是如何保證安全的答密碼BCrypt加密、JWT無(wú)狀態(tài)鑒權(quán)、管理員審核房源、上傳文件類型與大小校驗(yàn)、SQL走M(jìn)yBatis-Plus參數(shù)化避免字符串拼接SQL。如果并發(fā)量上來(lái)了系統(tǒng)瓶頸在哪答當(dāng)前是單體架構(gòu)瓶頸會(huì)在數(shù)據(jù)庫(kù)的房源表和預(yù)約表的寫(xiě)入與查詢上可以加索引緩存后續(xù)可引入Redis緩存熱門(mén)房源列表預(yù)約邏輯可以異步化。為什么預(yù)約要設(shè)計(jì)“待確認(rèn)”狀態(tài)答因?yàn)榉繓|時(shí)間不確定必須給予確認(rèn)環(huán)節(jié)保證雙方信息對(duì)稱。答不出來(lái)的老老實(shí)實(shí)說(shuō)“這個(gè)當(dāng)時(shí)沒(méi)有深入考慮但我的想法是……”比硬編一個(gè)答案強(qiáng)得多。千萬(wàn)不要背答案老師一眼就能看出來(lái)。5.3 項(xiàng)目二次擴(kuò)展把源碼變成自己的東西很多同學(xué)拿到一套“大學(xué)生租房平臺(tái)”源碼第一反應(yīng)是改個(gè)名字提交。這是最危險(xiǎn)的做法因?yàn)閿?shù)據(jù)庫(kù)里可能還留著原作者的測(cè)試數(shù)據(jù)、包名、logo甚至Git提交歷史。至少要做四件事全局替換包名和項(xiàng)目名、清空或重置數(shù)據(jù)庫(kù)、刪除殘留無(wú)用的圖片和測(cè)試數(shù)據(jù)、把代碼從頭到尾讀一遍并注釋理解。讀一遍也不是瞎讀。我建議按“請(qǐng)求進(jìn)入-攔截器校驗(yàn)-Controller- Service- Mapper- SQL”這條鏈路把一個(gè)核心流程完整追一遍比如“學(xué)生提交預(yù)約看房的完整調(diào)用鏈”。追完之后再改兩三個(gè)自己感興趣的功能比如加一個(gè)“地圖選房”頁(yè)面或者加一個(gè)“房東收入統(tǒng)計(jì)”的報(bào)表。哪怕只是很小的改動(dòng)答辯時(shí)你說(shuō)“我在原基礎(chǔ)上增加了XXX”底氣都不一樣。6. 常見(jiàn)問(wèn)題速查表與避坑清單最后貢獻(xiàn)一份實(shí)用的避坑清單。這里面的問(wèn)題我?guī)缀趺總€(gè)都在真實(shí)項(xiàng)目里見(jiàn)過(guò)按照“環(huán)境搭建期、編碼實(shí)現(xiàn)期、部署演示期”三個(gè)階段整理遇到直接查表。6.1 環(huán)境搭建期的高頻問(wèn)題問(wèn)題現(xiàn)象原因與解決啟動(dòng)報(bào)Failed to configure a DataSource沒(méi)有配置或沒(méi)有識(shí)別到數(shù)據(jù)源。檢查application.yml里spring.datasource配置是否正確注意MySQL驅(qū)動(dòng)坐標(biāo)有沒(méi)有引入Spring Boot版本太高引入老依賴直接報(bào)錯(cuò)Spring Boot 3.x對(duì)javax改名為jakarta老依賴可能不兼容。建議用2.7.x或每引入一個(gè)依賴先看它是否聲明支持Spring Boot 3端口被占用啟動(dòng)后訪問(wèn)不到改server.port或者殺掉占用進(jìn)程。Windows下查端口netstat -ano前端請(qǐng)求接口CORS報(bào)錯(cuò)開(kāi)發(fā)時(shí)配置跨域。寫(xiě)一個(gè)WebMvcConfigureraddCorsMappings允許本地前端地址訪問(wèn)或者按前文統(tǒng)一/api前綴部署后同源無(wú)跨域這里單獨(dú)說(shuō)一說(shuō)“Spring Boot版本太高”這個(gè)問(wèn)題。我見(jiàn)過(guò)太多同學(xué)從官網(wǎng)直接拉最新版3.3、3.4然后開(kāi)始百度找各種starter結(jié)果發(fā)現(xiàn)老教程的配置都不生效。不是說(shuō)新版本不好而是畢業(yè)設(shè)計(jì)不應(yīng)該把時(shí)間花在和版本搏斗上。用2.7.x踩坑成本最低。6.2 編碼實(shí)現(xiàn)期的經(jīng)典坑問(wèn)題現(xiàn)象原因與解決時(shí)間字段返回?cái)?shù)組或奇怪字符串默認(rèn)JSON序列化對(duì)LocalDateTime支持不友好。統(tǒng)一用Jackson配置全局日期格式或在字段上加JsonFormat圖片上傳后訪問(wèn)404檢查靜態(tài)資源映射是否配置檢查存儲(chǔ)路徑是否帶了文件名檢查路徑中是否有中文或空格建議全部重命名為UUID分頁(yè)數(shù)據(jù)對(duì)但總數(shù)不對(duì)MyBatis-Plus分頁(yè)插件沒(méi)有注冊(cè)。需要配置MybatisPlusInterceptor并添加PaginationInnerInterceptor刪除用戶時(shí)外鍵報(bào)錯(cuò)需要先刪關(guān)聯(lián)數(shù)據(jù)或者刪用戶時(shí)做“邏輯刪除”用deleted字段標(biāo)記而不是物理刪除邏輯刪除這件事強(qiáng)烈建議做。用戶表、房源表、預(yù)約表都加一個(gè)deleted字段查詢時(shí)自動(dòng)過(guò)濾。好處有兩個(gè)一是數(shù)據(jù)不真丟誤刪還能恢復(fù)二是SQL自帶where deleted 0對(duì)答辯時(shí)“數(shù)據(jù)安全”的提問(wèn)也有東西可講。6.3 部署與演示期的注意事項(xiàng)最后的演示環(huán)節(jié)翻車(chē)最不值得。提前做好三件事第一數(shù)據(jù)庫(kù)要準(zhǔn)備一批真實(shí)感強(qiáng)的測(cè)試數(shù)據(jù)房源圖片不要用網(wǎng)上隨機(jī)抓的模糊圖至少十幾套清晰圖片房源地址起“大學(xué)城地鐵站附近”“圖書(shū)館東門(mén)500米”這類真實(shí)的校園周邊位置第二演示前把項(xiàng)目啟動(dòng)好瀏覽器直接打開(kāi)頁(yè)面別在臺(tái)上等著五六秒的啟動(dòng)過(guò)程第三準(zhǔn)備一條“演示腳本”從學(xué)生注冊(cè)、搜索房源、預(yù)約看房到房東登錄、確認(rèn)預(yù)約再到管理員審核房源完整走一遍控制在3分鐘以內(nèi)。圖片資源這塊我多說(shuō)一句。很多畢設(shè)的房源圖片一眼假全是同一張占位圖。花點(diǎn)時(shí)間找真實(shí)的房屋照片或者自己用手機(jī)拍幾張會(huì)讓整個(gè)項(xiàng)目在答辯時(shí)的質(zhì)感完全不一樣。“細(xì)節(jié)到位”在畢設(shè)評(píng)價(jià)里從來(lái)都是加分項(xiàng)。最后再分享一個(gè)小經(jīng)驗(yàn)做完項(xiàng)目之后一定把你寫(xiě)過(guò)的核心代碼按模塊整理成幾篇帶注釋的Markdown筆記配上表和結(jié)構(gòu)圖。這不只是給文檔用也是你面試談項(xiàng)目時(shí)的提詞器。把“大學(xué)生租房平臺(tái)”講清楚、講深一層比簡(jiǎn)歷上寫(xiě)十個(gè)“熟練使用”都管用。如果你現(xiàn)在正卡在某個(gè)環(huán)境問(wèn)題或編碼小坑里對(duì)照這份避坑清單再試一次多半就能過(guò)去。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲区 欧美区| 青草伊人久久| 自拍视频大全亚洲专媒视频/一区二区三区 | 99性视频| 中文精品一区二去| 久久99草| 久久九九国产精品| 色爱三区| 91热| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 少妇综合| 97人肏| 91老司机视频| 无码91| 日韩无码精品综合久久| 99国产精品久久久在线播放| 97人人操人人摸人人爱| 成人小电影网站tex| 国产视频一区二区三区久久亚洲天堂| 睡产熟女乱伦| 家庭乱伦麻豆| 高清在线偷拍自拍视频| 青青草AV色| 97资源超碰| 91东北熟女| 久久久久骚| 婷婷伊人綜合中文字幕小说| 亚洲全色网| 大肉棒导航| 久久嫩草国产成人一区| 无遮挡h肉动漫在线观看| 丰满人妻一区二区三区免费| 自慰白浆在线观看| 91 丝袜在线| 亚洲女毛多水多21P| 国产精品久久久吖| 大逼色网站| 本道在线| 久久久成人免费av电影| 欧美中字不卡| 欧美青青视频| 久久精品视| 曰韩欧美国产传媒麻豆第一区| 久久亚洲婷婷| 欧美一区二区传媒| 18岁禁 茉莉成人久久| 激情网色| 韩国午夜理伦三级好看| 免费看日产一区二区三区| 中国一区二区亚洲人妻| 欧美亚洲丝袜人妻制服99| 日韩中文字幕视频| 中文字幕99999| 欧美人妻制服| 亚91网| 久久久久99999| 91丝袜在线播放| 日本精品五区| 久久精品国产AV一区二区三区| 午夜操逼不卡| 岛国免费黄色网址| 婷婷中文字幕| 色五月婷婷久久| 青青草吊丝| 亚洲大色堂| 青青草中日韩在线| 久久亚州大香蕉| 欧美亚洲AN| 欧美性天天影视| 丁香五月婷婷基地| 欧美九9 9 9| 久久9 9 9精品| 精品妇女一区二区三区| 尤物视频网 刘玥| 97视频免费在线| 婷婷伊人五月| 嗯嗯嗯好爽| 久久久久13| 色哟哟av网址| 婷婷五月天激情四射| 国产91影院| 精品人妻美妇91job| 超碰av在线| 四虎影视永久在线观看精品免费网站| 日韩无码极品| 日韩三级在线观看网站| 免费视频在线一区二区不卡| 久久久久久久九九九九九九| 激情五月综合网| 中文字幕日韩人妻视频一区二区三区交换夫妻| 国产97在线播放| 青青青国产手线观看视频2| 欧美精品69性爱| 一个人免费HD91视频| av在线人气| 97这里有精品| 乱伦av.com| 夜夜操91744565| 亚洲综合113页| 超碰精品国产无码| 欧美天天性| 亚洲色图8| 综合色欧美| 97视频7| 99久久精品国产高潮| 亚拍在线| 人人操人人摸人 | 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | asc国产精品| 欧美天天搞| 欧美精品99久久久**| 国产九九久久久精品| 一区二区三区男女操逼黄色小电影| 成人欧美一区二区三区黑人一| 久久偷偷色综合蜜桃| 亚洲国产精品无码AV久久| 久草五月| 日韩精品-原创伙伴| blacked精品一区国产| 美女淫穴| 国产精品视频麻豆入口| 成人日韩欧美| 18精品一二区| 亚洲欧洲日韩天堂av| 探花视频免费观看国产专区| 操人91| 78超碰| 亚洲人成网www| 日韩操啪| 超碰天天久久79| 另类亚洲图色| 91伊人久| 96超碰网| 美女露胸露屁股| 天天色欧美| 91亚洲不卡一区| 97精品国产| 99re8超碰| 人妻9117c| 蜜臀AV成人精品蜜臀AV久久| 亚洲情色中文字幕一区| 四季AV综合网址| 台湾一区国产高清在线| 人妻少妇精品久久久| 黄色电影在线播放综合网站| 啊啊啊啊啊舒服| 色官网在线| 91操熟女视频 | 第二页中文字幕| 精品蜜乳AV免费观看| 久久最新视频免费观看| 手机在线观看不卡无码av| 亚洲图片 欧美电影| 成人无码在线超碰网| 久久大香蕉手机高清视频| 1769一区| 97伊人超碰| 精品久久視頻在线| 亚洲国产成人精品久久久国产成人一区二区三.| 亚洲黄色网址| 超碰1024久久| 色一情一乱一乱一区91Av| 亚洲另类春色| 中文字幕免费看| 欧美亚洲综合色| 免费看黄片现成| 国产丝袜一区二区三区| 在线 亚洲 网爆 自拍| 91大香蕉伊人| 97少妇人妻中文字幕久久| 国产亚洲99久久精品| 国产亚洲色停停久久99精品91| 9999九九九久久久| 日韩pv中文| 2020中文在线一区二区三区| 天天做天天爱| 精品少妇后入一区二区三区四区人妻巨乳 | 亚洲人在线成线成人| 久久久久国产一区二| 日韩精品资源专区二区| 男人的天堂com| 亚洲激情天堂网| www.伪伪| 婷婷伊人五月| 国产剧情在线| 欧美综色欧| 久久亚码| 色综合99999| 久久9亚洲| 岛国精品视频在线观看| 久久久久久国产精品免费网站| 2024黄色视频| 91在线免费精品视频| 日本2020一区二区| 九九九成人| k频道色撸撸| 无码视频一区二区| 嫩草影院永久在线制服丝袜| 热久久九九热| 啊啊啊啊二区好大| 又摸又舔在线观看网站| 超碰99热中文字幕| 久久精品72| 日本少妇va7777| 在线观看十八禁| 丁香五月社区| 久久黄黄| 夫妻四区五区六区| AV天堂电影网| 午夜天堂精品久久| 日韩 欧美 校园一区| 精品人妻夜夜草| 91扒丝袜综合在线| 2020中文字幕在线| 超碰97 线线 在现| 精品无码久久久久久久久果冻糖心| 欧美少妇高潮| 欧美97超碰| 久久97| 98人妻精品一区二区色欲| 欧美色www亚洲国产阿娇要播| 91在线视频国产网站| 国产精品久久久久久高清无码免费看| 成人天天爽| 97天天在线| 国产精品香蕉热久久新品| 好看的91视频| 操淫穴亚洲五月丁香| 1区2区3区中文字幕日韩| 亚洲最大黄网| 人妻少妇色综合| 无码操逼天堂| 97鸡把在线视频| 亚洲性网| 国产不卡免费在线视频| 91社区伊人| 亚洲日韩视频二区| 日本3级一区二区免费| 美女自卫慰黄网站免费| 日韩偷拍色图| 麻豆成人av| 国产一| 97伊人| 亚洲天天在线| 91社操逼| 日本有码久久| 亚洲日韩久久精品一区| 91综合熟女| 无码区蜜乳| 午夜影美女日鸡鸡天天视频国产| 丁香激情网| 无套内射性感少妇视频| 日韩伦理视频| 9久9久| 2017大香蕉| 熟女五十路一区二区三| 亚洲五月丁香花狠狠干一区二区三区 | 超碰在线综合97| 午夜小电影在线插入淫高潮| 久久久∴| 国产第25页在线观看| 亚码激情| 久久九九视频九九视频| 亚洲双插| 天天日美女的B| 青青色在线观看| 美女写真| 使劲用力艹少妇视频一区二区| 欧美色91| 高跟丝袜AV专区国产| 国产suv精品一区二区四区999| 久久亚洲日韩国产欧| 亚洲天堂五月天国产| 任你爽视频| 久久人体一区二区| 国产精品无码久久久久2025| 人人超碰在线观看黄| 蜜区区视频79| 殴美在线AⅤ| 97精品视频网站| 无码不卡亚洲成?人片| 国产精品亚洲免费| 竹菊一区二区三区AV线| 亚洲精品国产精品乱码不99| 夜夜嗨免费视频| 日本1区2区不卡视频| 玖玖视频在线资源一区二区三区| 色69大色97香蕉| 久久黄色性爱视频| 亚洲欲| 丁香九月 婷婷| 久久国产视频专区一二三| 性猛交| 国产超碰国产97| 96一区二区| 91操碰| 日本ZZ高免费A级视频| 岛国艾薇凹凸视频天堂| 久污| 国产在线精品偷| 78m成人视线| av凤凰久久久| 78m啪啪啪| 婷婷五月色| 在线播放欧洲免费av| 九九碰九九爱97超碰| 欧美日韩妖精91com| 国产精品爽爽va在线观看98| 一区二区三区男人的天堂| www.色操逼| 久久午夜神马| 中文字幕55555| 国产精品午夜福利亚洲综合网| 欧美一区二区日韩传媒搭讪精品| 久久精品 六十路 熟女 欧美| av大香蕉网站| 欧美一区二区三区入口| 亚洲欧美校园| 色穴精品| 久草视频观看视频在线| 日韩欧美蜜桃精品久久中文字幕久久 | 九热中文字幕| 亚洲drav色图| 丁香五月影院| 国产一级137片内射麻豆| 欧美夜色| 操操碰| 爱妃国产亚洲视频中文字幕| 午夜精品久久久久久久| 91狠狠综合久久久久久| 一级黄色性爱A级片| 91真人天天在线| 婷婷五月综合激情| 久久性爱视频免费看| 国产久久视频| 免費黃色視頻觀看一| 一区二区三区高清| 亚洲性少妇| 国产亚洲综合欧美一区| 黑人免费福利视频| 人人操人人精品影片| 中文字幕成人| 岛国网址国产 | 久久大香蕉97| 另类 综合 日韩 欧美 亚洲| 五月丁香婷婷色| 伊人丁香五月婷婷| 男人的天堂va在线| 蜜臀无码一区二区| 99亚洲人人| 极品色社| 国产精品色| 亚洲制服aⅴ中文字幕| 色逼综合| 综合少妇网| 91麻豆天美国产| 色婷婷丁香五月| 性爱视频免费网址| 热99这里只有精品| 亚洲人妻熟妇三十三区| www色色色com| 综合操逼| 国产啊v在线免费播放| dy888午夜老子影视达达兔| 涩亚洲欧洲| 女生自91网站| 性爱网站一区二区| www.av在线视频| 亚洲欧美情色| 91在线一起| 激情四射五月天| 在线女人91| 中文字幕日韩综合| 99在线观看| 欧美日本一区二区a人| 精品一区二区国产日韩| 麻豆国产精品午夜视频| 粉嫩av在线| 78精品| 久久精品综合| 亚洲AV永久无码精品成人调教| 亚洲综合贴图91| 久久超碰大香蕉| 啊啊啊啊在线观看网址| 久久精品视频在线观看| 麻豆天美传媒在线视频天堂| 九九九九九九九九九五码| 欧亚乱色熟一区二区三四区| 亚洲日韩肥臀视频在线观看| 欧美天堂日韩三级国产传媒| 欧美天堂日韩三级国产传媒| 日本免费一区二| 91亚洲青青草原精品1区| 97天天摸天天碰| 91色欧美| 男人夜色天堂ss| 青青草日韩免费观看高清在线| 成人日本视频人妻在线| 九九热AV| 熟人人妻少妇精品久久| 日韩欧美成人性爱在线| 狠日操| 老熟妇一区二区三区…| 成人午夜小视频手机在线看| 91狠狠综合久久| 丁香激情网| 炮色五月| 激情人妻另类| 人妻91少妇| 91久久| 丝袜人妻av一区二区| 日韩射精| 国产91啪| 好吊色青靑草| 国产精品久久久久无码Av网曝门| 尤物视频一区| 婷婷激情五月| 一区二区三区日韩欧美 | 麻豆AV96熟妇人妻| 曰本道人妻久久久在线不卡色视频 | 78m成人视线| 一区二区三区黄片免费观看| 熟妇高潮二区三区| 日逼97| 一级性爱视频免费观看 | 人人澡人人澡人人| 日本影视久久免费| 亚洲最大无码中文字幕网站| 四虎 精品 WWW| 日欧毛片久久| 天天综合色图| 久久熟女嫩草成人片免费 | 久久精品操| 日日骚一区二区三区| 国产高清无码一区三区二区| 校园春色亚洲欧洲| 欧美色66| 大香蕉视频啪啪啪啪| 日韩成人精品| 婷婷五月天小说| 亚洲男人天堂2016| 欧美天天| 五月天色综合| av橘色网站| 亚洲性爱免费电影| 九九热免费在线国产视频伊人五月| 99re在线视频这里只有精品| 強姦亂倫a| 日日夜夜干| 999熟女精品| 夜夜青青无码影院| 插入综合网| 97综合久第一页| 素人一区二区三区日韩| 亚洲天堂另类美腿| 亚洲乱妇p22| 久久精品国产72国产精品福利| 欧美亚洲国产自久久| 蜜臀久久久99久久久久 | 中出20p| 亚洲一区二区三区春色| 99久久9| 加勒比久久av| 久久久久国产精品片区无码直播| 亚洲性图91| 樱花蜜乳av| AV丝袜少妇| 中文?日韩?免费?精品| 超碰三级秋霞| 国产强奸AV在线| 精品夜夜澡人妻无码| 亚洲欧美91| 五月天婷婷基地| 深喉吞精| 精品人妻二区三区| 欧美一区二区三区互相| 97 九色| 精品无码不卡视频| 中字一区| 91蜜桃婷婷狠狠久久综合9色| 大香蕉伊人75| 亚洲国产剧情少妇激情| 国产最新小视频在线播放下载| 日韩无码AB| 亚洲中文日韩欧美大香蕉视频| 久久久一区二区| 91天堂色男人的天堂| 久久激情视频| 白嫩嫩一区| 可以免费看黄片的视频| 欧美激情色婷婷花野真衣一区二区| 日本狂喷奶水在线播放212| 婷婷丁香六月天| 少妇综合网| 另类av天堂| 在线洲亚线| www.色婷婷| 国产精品国产精品国产| 九久久九精品视频| 天美精品一区二区三区四区在线观看| 精品国产三级av韩国在线| 囯产操逼片| 国产乱码久久久| 国产超碰国产97| 超碰国产精品无码| 免费精品AB| 啊啊啊啊啊啊啊国| 不卡一区二区日本视频| 99热婷婷一区二区三| 欧美亚洲图片| 人人天天欧洲| 精品无人区麻豆乱码1区2区图片| 五月婷婷色色| 亚洲另类欧美精品| 久久久久久免费电影| 亚洲AV无码天美传媒一区| 久久精品国产99精品亚洲蜜...| 天天操天天日青青草超碰av| 99热免费| 成人国产精品三级A片| 88xx成人精品视频| 国产sv美女内射| 午夜福利在线视频1000| 日韩AV一区二区三区四四| 国产亚洲精品美女久久久久久2021| 大茄子熟女AV导航| 国外91| 青娱乐 成人娱乐在线| 久久夜黄色无码A级大片| 久久9久| 人妖欧美一区二区| 亚洲成人色情五月天丁香花| 国产欧美伊人| 色区久久| 色综合尤物| 十八岁啪啪视频免费看| www.99色| 人妻少妇久久中文字幕一区二区 麻豆 | 欧美乱色| 激情四射五月天| 精品亚洲黄色片 国产精品导航一区二区 | 性暴力欧美猛交在线直播| 91五十路| 美女诱惑久久| 麻豆尤物视频网| 欧美线天码中字| 无码人妻精品一区二区三区九九| 欧美 日韩 国产传媒| 欧美精品另类人妖xxxx| 久久五月份| 欧美激情区| 99久热| 草蕉影视亚洲无码| 日韩精品影视| 欧美一级特黄淫片在线观看| 又粗又长又大国产不卡| 欧美一区二区三区蜜桃| 精品大久久| 亚洲欲色9532548967一区| 五月婷婷丁香| 激情综合久久| 亚洲精品色| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 中日韩久久久免费看| 亚洲亚洲亚洲天堂天堂| 9997se| 91精品操美女| 欧洲亚洲人妻无码久久三区四区| 91模特在线观看| 欧美自拍网| 亚洲视频精选| 日本视频在线中文字幕| 在线亚洲 欧美 日本专区| 欧美色997| 熟女丰满人妻一区| 性色高清在线| 久久超碰亚洲人| 天天干天天日天天射黄色片| 日本超碰97日韩精品人妻| 亚洲欧洲无码97久久精品| 91l欧美在线| 91N综合网在线| 91欧美www| 久久久亚洲| 影音先锋乱伦资源| 亚洲av影院在线观看| 99色天堂| 综合网久久| 超碰精品人妻狠狠干| 精品传媒在线一区| 国产操逼视频在线观看| 成视频在线观看免费看| 啊啊啊啊啊在线观看网址 | 亚洲精品国产熟女久久久| 久久久久久人体| 日本东京热久久久电影| 日本色色色色色视频| 色综合天天| 日韩精品人妻中文字幕久久久| nuu12国产麻豆精品| 亚洲高清自拍| 嫩草一区二区在线观看| 日本三级久| 中文久久96| 东京热天堂网| 尤物一级在线免费观看| 99re这里只有精品中心播放| 九九九九97| 熟妇综合一区二区三区| 婷婷亚洲五月***久久| 十八禁网站在线| 玖日综合网| 在线天堂999| 丁香五月天激情综合| 67194无码不卡| 91九色丰满高潮| 国产精品乱码久久久| 久久久久久久少妇| 欧美综合第一| 偷拍盗拍亚洲色图图片| 十八禁成人网站在线观看| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 婷婷五月天久久久| 男女猛烈无遮掩视频免费软件| 91精品国产91久久青草| 午夜福利精品| 18禁止看精品中文字幕| 天天日天天爽| 骚鸭AV| 国产亚洲中文不卡二区| 日日天天久久啊啊aaa| 青青草依人大香蕉| 中文久久爆乳| 中文字幕免费看| 天天色,天天干,天天干| 久久內射| 飘花国产午夜精品不卡| 岛国小电影| yiqicaoav| 亚洲综合色男人网| 亚洲国产精品成人久久蜜臀| 亚洲婷婷五月天| 密臀在线视频| 加勒比大香蕉视频在线| 中文字幕一区二区三区四五区| 女人被男人桶爽视频网站| 东京成人一区| 国产精品福利视频播放| 欧州激情视频在线一区二区| 国产精品懂色tv影视免费观看| 一二三四免费视频| 神马久久久久| 成人日韩中文字幕| 尤物网址| 941超碰| 亚洲欧美精品福利在线| 欧美综合色| 99亚洲天堂| 四虎免费在线观看| 色老汉色| 日本不卡高清视频| 欧美综合自拍亚洲综合图| 亚洲一区中文字幕一区| 最新制服中文第一页| 精品一区二区三区蜜桃臀赵总 | 久久久久久久强迫| 97青娱乐超碰久久| 乱伦av.com| 人人操人人操人妻人| 伊人久久88国产女| 一本色道无码DVD中文字幕| 嗯嗯啊啊亚欧精品| 亚洲最新中文字幕免费| 日韩三级av片| 嗯嗯啊啊亚欧精品| 欧美日韩国产高清在线一二三区| 亚洲双插| 9超碰免费| 国产男人又猛又粗又爽| 欧美 色 亚洲| 欧美日韩亚洲高清不卡一区二区三区| 最新岛国大片| 啊啊啊好大好深| 嗯嗯啊啊操死我| 老司机深夜影院18未满| 91综合熟女| 亚州春色| 大奶啊啊好爽 | 色哟哟精品1精品2| 密桃99999| 国产日韩欧美中文在线播放| 亚洲国产97在线精品一区| 骚乳在线| 久99热| 一级性爱啪啪视频| 色香天天| 国产精品国产| 91扒丝袜综合在线| 色五月婷婷中文字幕| 91丨九色丨国产丨人妻在线| 欧美韩日精品99综合| 五月天综合网| 亚洲av夫妻操穴网| 一区二区三区精品久久| 久久精品 六十路 熟女 欧美| 91色伦| 狠狠亚洲| 欧美色图中文字幕| www.天天干| 岛国在线一区二区三区| 热思思免费视频| 玖玖爱视频网站| 校园春色综合香蕉| www.一本大99| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 中文字幕诱惑制服人妻丝袜美丝袜美 | 玖玖综合色| 七久久久| 色99色| 伦伦成年午夜免费视频| a片久久久久久久久久久久 | www.夜夜| 大香蕉久| 久久久久久久伊人精品| 日本阿v天堂在线观看| 青青久日| 麻豆色99999| 超碰伊人在线| 青青欧美| 大香蕉伊然在亚洲91| 欧美国产一区二区三区麻豆传媒| 99999精品视频| 欧美午夜精品久久久久久超碰| 免费A V在线| 国产精选三级在线观看| 天天做日日爱夜夜爽| 综合久久久久久久综合网| 亚洲高清无毛一区二区| 搡老熟女免费视频| 影音先锋每日最新资源在线观看| 日本成a人v网站在线观看| 在线不欧美| 亚州欧美色图| 色综合av综合久久| 男女啪啪啪18禁网站| 91超碰在线| 欧美性xxxxx狂欢| 国产福利一区二| 男女日B国产| 日本十八禁免费看污网站| 操操吧亚洲乱伦视频| 中文字幕乱码人妻二区三区| av天堂精品久久| 超碰人妻天天干| 亚洲九月丁香| 日本狠狠干| 97久久久久久久精| 亚洲五区熟女| 天天综合网~91入口| 亚洲中文字幕在线视频一区二区| 日本免费不卡二区| 久久精品国产99国产精品亚洲| 99热 按摩 日韩| 久热九九| 中文字幕88av在线| 在线观看视频91| 日韩特一级久久| 大鸡巴久久| 亚洲情色电影网| 亚洲自拍一区夜夜操| 综合激情五月天| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 91无码人妻精品一区二区三区蜜桃| 欧美综色欧| 亚洲欧美国产va在线播放频| 一本大道不卡一二三区| 婷婷丁香六月| 五月天色电影| 蜜桃传媒视频第一区入口在线看| 女性91网站| 精品一区二区成人| 人妻熟女字幕一区二区| 夜夜骑天天燥| 伦理第一页| 中文字幕人成乱码熟女香港| 强奸乱亚洲| 人人爽夜夜操| 91蜜桃传媒精品久久久一区二区| 91欧洲国产成人久久精品网站| 高潮的A片激情扒开一区| www.高清无码诱惑一区.com | 狠狠爱夜夜| 吖在线不卡一区二区国产剧情| 国产呦精品一区二区三区下载| 国内精品999| 欧美在线中M| 欧美乱伦专区| 99碰碰| 9久精品视频在线观看| 自拍六区| 熟女人妻一区二区三区| 青青草吊丝| 天天干人人乐| 亚洲一卡2卡3卡4卡乱码网站 | 激情AV| 偷拍色图| 精品高清av中文字幕| 丁香五月激情啪啪| 97操综合| 色噜噜精品一区二区三| 亚洲色图20p| 天天肏天天干| 99热欧美| 欧美精品不卡一二三四在线91| 黄片免费视频2019| 欧美精品在线观看| 久久久精精精| 国产欧美日韩在线不卡第一页 | 91丨熟女丨丰满熟女| 国产亚卅97| 91欧美亚洲| 99热精品在线播放| 人人妻人人色一区二区三区| 亚洲精品天堂久久A∨51成人漫| 日本天堂网| 96久久久| 欧美色偷拍| 屁股久久久久久| 人妻激情偷乱视频一区二区三区 | 亚洲超碰在线| 午夜福利 成人 91| 国产日韩欧美三级片| 久久人体一区二区| 另类一区| 男人的天堂三级| 国产一区二区三区影片| 淫穴高潮色图| 久久HD| 天天综合青苹果| 亚洲中文字幕97久久精品少妇| 99久在线精品99re8蜜桃| 狠狠穞A片一區二區三區| 国产精品农村妇女精品| 婷婷久久网| 91爱啪| 天美传媒国产原创中文字幕亚洲欧美另类 | 欧美1区二区三区公司| 韩国女主播青草在线| 亚洲熟女综合| 国产欧美一区激情交| 亚洲素人综合| 97se亚洲综合自| 九九成人视频| 亚州91| 夜夜高潮夜夜爽高清视频一 | 2017天天拍大香蕉| 欧美亚洲激情小说| 两女互慰AV高潮喷水在线观看| 欧美精品久久96人妻无码| 被男人添B超爽视频| 四虎精品一区| 天天综合精品| 日本中文字幕不卡视频| 91AV天堂| 五月丁香六月婷| 久久春色| 日韩精品人妻中文字有码在线| 无码国产精品久久久久| 蜜臀久久久99久久久久 | 婷婷亚洲中文字幕在线| 国产精品探花色| 日日干夜夜骑| 2020视频1区2区3区| 青娱乐老司机视频| 91网站在线播放| 色综合一区二区三巨| 天天操天天射天天日| 精品少妇一区二区| 亚洲麻豆18发?| 天天α片| 玖玖草久草99蜜月一区二区三区| 狠狠色五月亚洲91| 两女互慰AV高潮喷水在线观看| 久久久国产成人一区二区三区在线| 久7色| 综合伊人网12色| 超碰三级秋霞| 国产AV人人夜夜澡人人爽麻豆| 五月天大香蕉| 国产精品蜜臀久久久久无码AV| 俺去啦自拍| 综合日韩激情另类图片| 中文久久爆乳| 在线综合 亚洲 欧美中文字幕 | 国产毛片久久久久久久| 熟妇人妻精品一区二区| 综合97亚洲| 久操99| 大香蕉五月天婷婷| 少妇人妻好深太紧了vr91| 欧美色乱| 黄页网站成人免费| 神马久久啊啊| 国产13区| 中文字幕啊啊啊在线观看视频| 亚洲免费成人精品电影| 日本孕妇一区二区视频操逼免费看| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 免费福利视频中文字幕| 久久久久久久九九九九| 亚洲伊人青青草| 99蜜桃臀久久久欧美精品网站| 欧美熟妇视频| 欧美成人精品A片免费一区99| 在线无码操| 天堂俺去俺来也www久久婷婷| 天天躁日日躁狠狠躁| 日日躁夜夜躁狠狠躁超爽| 午夜精品人妻二区三区| 欧美91网站| 色婷婷婷五月天激情四射| 久久综合18p| 国产少妇与亚洲av| 天天做天天爱天天高潮| 99久久婷婷国产综合精品草原| 亚洲九月丁香| 青青操狠狠撩| 92人人操人人| 色婷婷九月天天综合| 一级特级aaaa毛片免费观看| 国产精品无码av嫩草| 俄罗斯一区二区视频在线观看| 99久久国产精品免费高潮| 天天综合97| 亚洲情色综合| 秋霞网无码| 91精品人妻偷情| 日本高清免费一本视频在线观看| 欧美岛国精品在线观看| 精品无码一区二区三区色欲| 97久久超碰| www.av家庭乱伦| 乱欲视频| 国产丝袜欧美在线视频| 亚洲欧洲中文日韩女优乱码| 日本孕妇一区二区视频操逼免费看| 加勒比伊人| 人人弄人人摸| 天天日天天搞天天干| 91熟女.com| 大香网站| 国产精品直播在线观看直播| 亚洲āv网址在线观看| 国产精品黑人一区二区三区| 乱伦熟妇一区二区| 日本熟女免费視颖| 久久久久久AⅤ无码免费肉站 | 亚洲精品天天影视综合网 | 青青草十区九区爱夜| 色综和网| 抽插一区二区视频| 久久久久久久精| 国产亚洲精品A在线观看下载| 成 人片 黄色大片| 日本在线激情一区二区三区 | 蜜臀99久久| 强奸乱伦免费网站| 一起草精品人妻| 深夜啪啪啪视频免费| 99xav| 午夜福利 成人 91| 国产中出内射一区二区| 成人aⅴ一区二区三区| 99热欧美| 激情亚洲天堂| 男人天堂毛片| 蜜乳视频网站| 婷婷丁香五月激情啪啪| 观看视频图片一区二区三区| 啊啊啊啊啊好舒服视频| 91伊人| 国产精品久久久无码AV网站| 久久婷婷五月天| 91爰爱欧美| 天堂综合网| 神马久久久久久伦理片| 99色视频| 中文字幕人乱码中文字的预防方法 | 亚洲色香| 色97干| 国产精品制服丝袜清纯唯美| 亚洲AV小说| 日韩八十路老熟女| 久久狠狠色噜噜狠狠狠狠97| 免费在线观看国内色片网站网址 | 三久久久四久久久久| 亚洲系列第一页| 国产天天骚| 亚洲第一视频 欧美风情 日韩| 五月天婷婷激情| 蜜臀亚洲综合一二三四区| 国产欧美精选自拍一区| 婷婷啪啪| 久久一级无码精品毛片6| 麻豆亚洲Av成人无码一区精品| 精品久久大胆人体| 亚洲天堂久久久久久粉红视频| 精品性爱一二三区| 国模不卡一本二本三电影| 另类欧美色| 国产成人精品日本亚洲语言| 区一二区日韩亚洲乱码av电影| 啊啊啊啊好疼| 大伊香蕉在线视频免费| 欲香欲色天天天综合和网| 丝袜美腿亚洲| 黄污污污污| 99热欧美| 黄色一级视| 大香蕉欧美国产日韩高潮| 国产精品 视频| 99综合网| 97色操| 亚洲AV无码国产精品久久久久| 日本超碰97日韩精品人妻| 操国产逼| 97免费在线视频在线观看| 亚洲无码日韩电影| 大香蕉520| 久久激情视频| 亚洲最新a在线观看| 好屌色综合| 天天看天天在线精品| 久久超碰97中文字幕| 日韩综合无码一区久久92| 玖玖视频在线资源一区二区三区| 欧美日韩不卡传媒| 97香蕉碰碰人妻国产欧美| 91精品婷婷国产综合久久| 最近2019中文字幕国语免费版| 白丝在线一区| 一级A片女人高潮叫床| 国产人妻精品一区二区三区秋霞 | 奸色色 男人天堂 天天射| 九九九九九九视频免费| 91女人的网站| 操人人| 久草精品一区| 国产操逼逼网| 一区二区三区四区五区久久久久久| 久久男女激情视频网站| 午夜福利 成人 91| 中文字幕五区| 亚洲欧洲成人在线电影| 91亚州欧美| blacked精品一区国产| 日本高清一本二本免费不卡| 996热| 国产一区二区二区按摩精品啪视频| 国产精品久久久视频| 美女操逼A A| 97干综合网| 综合色啪| 亚洲91网| 人人搡人人肉久久精品| www网站黄| 91老熟女视频| 91N综合在线| 精品国产精品一区二区| 精品九九九九九九| 嫩草伊人久久精品| 欧美日韩国内不卡| 东京热综合久久一区二区 | www.久久制服糖| 视频在线观看青青99国产| 日韩精品99999| 宅男影院久久久,99| 日韩AV噜噜噜一区二区三区四区| 久久久草成人网站久久久草成人久久久草久久久 | 久久精品日韩| 国产熟女一区二区| 国产精品 午夜福利| 精品一二三区久久AAA片| 超碰2017| 欧美日韩亚洲电影| 亚洲天堂电影精品一区| 亚洲激情在线观看一区| 99久久免费看精品国产一区| 青青草日逼视频| 欧洲精品在线播放| 色青青久久影视| 中文字幕精品探花视频| 亚洲高清在线se| 熟女丝袜视频| 亚洲 国产 精品一区| 精品一级毛片在线观看| 日韩特一级久久| 97久久超碰国产网站| 色婷网| 五月婷网站| 男女无套 免费网站| 十八禁电影伊人网| 日韩影片中文字幕一区二区三区| 免费A V在线播放| 日韩免费簧片| 91性网| 蜜桃狠狠色伊人亚洲综合 | av九九| 久久久久久精品免费看A级| 亚洲男人久久综合天堂| 欧美 亚洲 综合 制服 另类| 欧美操人| Blackedraw视频一区二区| 老鸭窝成人| 亚洲黑人在线| 欧美线天码中字| 草久久久| 97国产色综合| 精品久热| 92午夜免费福利视频| 国产成人 综合亚洲 天堂| 91 丝袜在线播放| 蜜桃网熟妇| 麻豆天美在线喷水AV| 天天综合有色网| 夜夜中出国产| 日韩三级一区| 狼人久草| 日本亚洲熟女视频| blacked精品一区国产| 在线综合 亚洲 欧美中文字幕| 91美女视频| 国产精品久久久久久久久久久久| 欧洲一区二区| 欧美,亚洲,日韩,v,天堂,手机在线观看| 久久111| 中文久久一区| 亚洲AO在线| 天天日日日射| 爱欲AV| 亚洲色图加勒比| 一区二区三区四区五区高清无码永久视频 | 94色色电影网| 欧美大的香蕉有线电视视频| 91久久国产精品| 亚洲少妇视频| 91丝袜| 四虎精品永久在线播放| 91综合在线| 日韩三级在线观看网站| 色欲Av人妻精品一区二| 激情黄色片在线观看| 国产福利视频精品视频| 久久天天艹| 国产亚洲精品农村妇女| 免费强奸av| 亚洲免费看片| 综合网欧美在线| 毛片17S| 97碰碰日本乱偷人妻中文的|