日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

SSM+Vue旅游資源網(wǎng)站畢業(yè)設(shè)計(jì)完整實(shí)戰(zhàn)指南

SSM+Vue旅游資源網(wǎng)站畢業(yè)設(shè)計(jì)完整實(shí)戰(zhàn)指南 又到了一年里被畢設(shè)題目反復(fù)“折磨”的時(shí)候最近來問我的學(xué)弟學(xué)妹里有好幾個(gè)拿的都是“SSMVue旅游資源網(wǎng)站”這類題目。實(shí)話實(shí)說這個(gè)題目在計(jì)算機(jī)類本科畢設(shè)里屬于典型的“老牌選手”技術(shù)上不算激進(jìn)但需要做的東西一點(diǎn)也不少。如果能把程序結(jié)構(gòu)和論文思路都打通它既可以當(dāng)一份完成度很高的畢設(shè)也可以在答辯時(shí)讓老師清楚地看到你的工程能力。這篇文章我就圍繞“ssmvue旅游資源網(wǎng)站”這個(gè)項(xiàng)目從選題邏輯、數(shù)據(jù)庫設(shè)計(jì)、前后端分工、核心代碼實(shí)現(xiàn)、論文寫作和答辯準(zhǔn)備幾個(gè)維度完整拆一遍。適合正在做同類題目、或者打算拿旅游類網(wǎng)站當(dāng)畢設(shè)項(xiàng)目的人參考哪怕你目前只寫過增刪改查跟著這套思路也能把一個(gè)合格的項(xiàng)目搭起來。1. 項(xiàng)目定位與整體設(shè)計(jì)思路1.1 為什么SSMVue這套組合至今還是畢設(shè)的穩(wěn)妥選擇很多學(xué)生看到現(xiàn)在到處都是Spring Boot、微服務(wù)、前后端分離就會(huì)疑惑為什么還要做一個(gè)SSM的項(xiàng)目這里有個(gè)非常實(shí)際的背景不少高校的選題庫和答辯組仍然保留了SSM體系題目寫什么就按什么來這是最穩(wěn)妥的路線。如果提綱上明確寫著“基于SSM框架的旅游資源網(wǎng)站”那你就不要在畢設(shè)里私自換成Spring Boot除非指導(dǎo)老師明確表示可以調(diào)整。否則答辯時(shí)會(huì)面臨“你的題目和實(shí)現(xiàn)不一致”的尷尬局面。從技術(shù)本身來說SSM不是過時(shí)的東西。Spring管對(duì)象和事務(wù)SpringMVC管請(qǐng)求分發(fā)MyBatis管數(shù)據(jù)庫操作這三者配合能讓一個(gè)本科生把“分層思想”講得很清楚。相比Spring Boot那種“自動(dòng)配置一把梭”的用法SSM反而更能逼迫你去理解Bean、IoC和過濾器這些基礎(chǔ)概念。前端這塊配Vue是加分項(xiàng)。老式畢設(shè)喜歡用JSPjQuery做出來的頁面一眼就回到2015年。用Vue做單頁應(yīng)用配上Element UI或Element Plus頁面的觀感會(huì)明顯好于傳統(tǒng)模板渲染。旅游資源這種偏展示型的網(wǎng)站前端體驗(yàn)恰恰是用戶第一眼關(guān)注的東西所以Vue在這里不是炫技而是解決實(shí)際問題。1.2 業(yè)務(wù)功能邊界把“資源展示”變成可驗(yàn)收項(xiàng)目很多同學(xué)拿到“旅游資源網(wǎng)站”這個(gè)題目后第一反應(yīng)是拼命加功能支付、搶票、線路規(guī)劃、智能推薦……我見過一位同學(xué)想做一個(gè)完整版“在線旅游電商平臺(tái)”結(jié)果寫了三個(gè)月連核心流程都沒跑通最后只能熬夜砍功能。正確的思路是先把項(xiàng)目定性成“資源展示輕交互”。游客可以瀏覽景點(diǎn)和旅游線路注冊(cè)用戶可以收藏景點(diǎn)、發(fā)表評(píng)論管理員可以在后臺(tái)管理景點(diǎn)、線路、公告、用戶和評(píng)論。這個(gè)范圍的拿捏是有講究的有完整的用戶體系注冊(cè)、登錄、權(quán)限區(qū)分這是每一個(gè)答辯老師都會(huì)關(guān)注的點(diǎn)。有核心業(yè)務(wù)實(shí)體景點(diǎn)、線路、資訊做的是旅游資源領(lǐng)域的事。有典型的系統(tǒng)行為瀏覽、搜索、詳情、收藏、評(píng)論能體現(xiàn)數(shù)據(jù)庫設(shè)計(jì)和業(yè)務(wù)邏輯。有后臺(tái)管理端管理員的增刪改查能體現(xiàn)完整的閉環(huán)。把邊界定在這個(gè)程度既能在一兩個(gè)月內(nèi)做出來又足夠支撐一篇結(jié)構(gòu)完整的論文。支付、地圖、推薦這些可以寫進(jìn)“未來展望”但不要真花時(shí)間去開發(fā)。角色劃分也很清晰我用下表把它結(jié)構(gòu)化角色能做什么對(duì)應(yīng)主體游客瀏覽景點(diǎn)、線路、公告搜索景點(diǎn)前臺(tái)公開頁面注冊(cè)用戶游客功能 登錄、收藏、評(píng)論、個(gè)人中心前臺(tái)登錄區(qū)管理員用戶管理、景點(diǎn)管理、線路管理、評(píng)論管理、公告管理后臺(tái)管理端1.3 程序與論文的配合節(jié)奏我后來帶項(xiàng)目時(shí)一直強(qiáng)調(diào)一件事不要等程序全部寫完再開始寫論文也不要先把論文編出來再補(bǔ)程序。正確的節(jié)奏是用論文大綱反推程序模塊用程序截圖填充論文。具體操作上我建議先花兩天列出論文的章節(jié)框架摘要寫什么、需求分析分哪幾節(jié)、數(shù)據(jù)庫表畫哪些、系統(tǒng)實(shí)現(xiàn)要哪些截圖、測(cè)試寫哪些用例。然后按照這個(gè)框架去開發(fā)程序每完成一個(gè)模塊馬上截圖并寫好功能說明。比如你做完了景點(diǎn)管理就立刻把列表頁截圖、新增頁截圖、修改頁截圖存到一個(gè)“論文素材”文件夾里順手寫下這段功能是怎么實(shí)現(xiàn)的。這樣到論文階段你不需要回憶“當(dāng)時(shí)那個(gè)功能是怎么做的”素材都在手邊寫作速度會(huì)快很多而且截圖和程序永遠(yuǎn)對(duì)得上。很多同學(xué)最后要花大量時(shí)間返工就是因?yàn)槌绦蚪缑娓陌婧笳撐睦锏呐f截圖和新代碼對(duì)不上答辯時(shí)被老師一眼看出來。2. 核心細(xì)節(jié)解析與實(shí)操要點(diǎn)2.1 數(shù)據(jù)表設(shè)計(jì)少踩“字段拍腦袋”的坑旅游資源網(wǎng)站的數(shù)據(jù)表不算復(fù)雜但設(shè)計(jì)得規(guī)不規(guī)范答辯老師一眼就能看出來。我通常建議最少建六張表用戶表id、用戶名、密碼、昵稱、手機(jī)號(hào)、頭像、角色、注冊(cè)時(shí)間。景點(diǎn)表id、景點(diǎn)名稱、所屬地區(qū)、封面圖片、簡介、詳細(xì)內(nèi)容、門票價(jià)格、開放時(shí)間、創(chuàng)建時(shí)間、狀態(tài)。線路表id、線路名稱、出發(fā)地、目的地、天數(shù)、價(jià)格、線路圖片、詳情、創(chuàng)建時(shí)間。評(píng)論表id、用戶id、景點(diǎn)id、評(píng)論內(nèi)容、評(píng)論時(shí)間。收藏表id、用戶id、景點(diǎn)id、創(chuàng)建時(shí)間。公告表id、標(biāo)題、內(nèi)容、發(fā)布時(shí)間。這套表里有一個(gè)比較常見的坑圖片字段。景點(diǎn)封面圖很可能不止一張但畢設(shè)項(xiàng)目沒必要做獨(dú)立圖片表。最省事也最穩(wěn)妥的做法是直接在景點(diǎn)表里用一個(gè)字符串字段比如cover_image存圖片的相對(duì)路徑或完整URL。前端拿到這個(gè)字符串直接渲染后面想要多圖用逗號(hào)分隔字符也足夠應(yīng)付。另一個(gè)容易出問題的地方是價(jià)格字段。做旅游類項(xiàng)目時(shí)門票價(jià)格、線路價(jià)格一定用decimal類型不能圖省事用float或double。很多同學(xué)在真實(shí)項(xiàng)目中吃過浮點(diǎn)數(shù)計(jì)算的虧這里用decimal(10, 2)就能避免價(jià)格顯示成99.999999這種奇怪情況。評(píng)論表和收藏表都要記得加索引。尤其是收藏表最好對(duì)user_id和scenic_id建立唯一索引這樣同一個(gè)人重復(fù)收藏同一個(gè)景點(diǎn)時(shí)數(shù)據(jù)庫會(huì)直接攔截應(yīng)用層不用寫一堆判斷邏輯。我當(dāng)時(shí)做的時(shí)候后端收藏接口先查一遍是否存在再配合數(shù)據(jù)庫唯一索引雙保險(xiǎn)既直觀又防臟數(shù)據(jù)。外鍵策略也值得提前定好。刪除景點(diǎn)時(shí)如果該景點(diǎn)下已經(jīng)有評(píng)論和收藏直接物理刪除會(huì)導(dǎo)致孤兒數(shù)據(jù)。一種做法是刪景點(diǎn)前先刪相關(guān)的評(píng)論和收藏另一種是給景點(diǎn)表加一個(gè)status字段做邏輯刪除。畢設(shè)層面我推薦做邏輯刪除答辯時(shí)還能解釋“保留歷史數(shù)據(jù)”的業(yè)務(wù)含義。2.2 后端分層別把Controller寫成萬能類接手過幾個(gè)學(xué)生的半成品項(xiàng)目發(fā)現(xiàn)最典型的問題就是Controller里塞滿了業(yè)務(wù)代碼查數(shù)據(jù)庫、拼數(shù)據(jù)、寫返回全塞在一個(gè)方法里。比如這樣的代碼Controller public class ScenicController { Autowired private JdbcTemplate jdbcTemplate; RequestMapping(/list) ResponseBody public ListMapString, Object list(String keyword) { // 直接在這里寫SQL語句拼條件 String sql select * from t_scenic where name like %keyword%; return jdbcTemplate.queryForList(sql); } }這種寫法功能倒是能做出來但答辯時(shí)只要老師追問一句“你的項(xiàng)目怎么分層”就會(huì)露出破綻。規(guī)范的SSM項(xiàng)目至少要有Controller、Service、Mapper三層Controller層接收參數(shù)、校驗(yàn)參數(shù)、調(diào)用Service、返回結(jié)果。Service層處理業(yè)務(wù)邏輯比如判斷評(píng)論人是否登錄、收藏是否已存在。Mapper層只負(fù)責(zé)和數(shù)據(jù)庫交互。為了讓前端處理返回值更方便還需要一個(gè)統(tǒng)一的返回類型。比如定義Result類包含code、msg、data三個(gè)字段。成功就返回new Result(200, 操作成功, data)失敗就返回new Result(500, 操作失敗, null)。前端拿到這個(gè)結(jié)構(gòu)體在axios的響應(yīng)攔截器里統(tǒng)一判斷code彈出提示信息代碼會(huì)干凈很多。還有一個(gè)小細(xì)節(jié)查詢景點(diǎn)列表時(shí)全文搜索和分頁要一起做。最簡單的實(shí)現(xiàn)是用PageHelper分頁插件在Service層查詢之前調(diào)用PageHelper.startPage(pageNum, pageSize)緊接著執(zhí)行的Mapper查詢就會(huì)被自動(dòng)拼接limit。這個(gè)方法用起來很爽但一定要注意startPage和查詢之間不能夾其他數(shù)據(jù)庫操作否則分頁會(huì)失效。這個(gè)坑我在第4節(jié)還會(huì)專門講。2.3 Vue前端的狀態(tài)與路由設(shè)計(jì)前端部分是整個(gè)項(xiàng)目最容易出彩、也最容易翻車的地方。如果你是從零開始又暫時(shí)沒有明確要求Vue版本我建議直接用Vue3 Element Plus因?yàn)檫@是現(xiàn)在主流的組合資料多遇到問題也好搜。當(dāng)然如果學(xué)校模板指定的是Vue2 Element UI那也沒必要硬改功能上差異不大。頁面結(jié)構(gòu)上我習(xí)慣把前臺(tái)和后臺(tái)分成兩套路由區(qū)域前臺(tái) / 首頁 /scenic/list 景點(diǎn)列表 /scenic/detail/:id 景點(diǎn)詳情 /route/list 旅游線路 /notice/list 公告列表 /login 登錄 /register 注冊(cè) /user/center 個(gè)人中心 后臺(tái) /admin/dashboard 數(shù)據(jù)概況 /admin/scenic 景點(diǎn)管理 /admin/route 線路管理 /admin/user 用戶管理 /admin/comment 評(píng)論管理 /admin/notice 公告管理這背后要做三件關(guān)鍵的事第一是axios封裝。新建一個(gè)request.js配置baseURL指向后端地址請(qǐng)求攔截器從localStorage里取token并放到請(qǐng)求頭響應(yīng)攔截器統(tǒng)一處理業(yè)務(wù)碼。這樣每個(gè)頁面調(diào)接口都只需要傳URL和參數(shù)不用重復(fù)處理錯(cuò)誤提示。第二是路由守衛(wèi)。在router/index.js里給后臺(tái)路由加上meta: { requiresAuth: true }然后在全局前置守衛(wèi)里判斷如果用戶信息里沒有管理員標(biāo)記就跳回登錄頁。游客可以訪問的頁面則不需要守衛(wèi)。第三是狀態(tài)管理。Vue3項(xiàng)目用PiniaVue2項(xiàng)目用Vuex把登錄用戶的昵稱、角色、頭像存到store里同時(shí)同步到localStorage刷新頁面后從localStorage恢復(fù)。很多同學(xué)登錄后一刷新就回到未登錄狀態(tài)就是因?yàn)橹话褦?shù)據(jù)存在內(nèi)存里沒有做本地持久化。前臺(tái)頁面我建議關(guān)注一個(gè)體驗(yàn)點(diǎn)景點(diǎn)列表的卡片布局。每個(gè)景點(diǎn)卡展示封面圖、名稱、地區(qū)、價(jià)格和一個(gè)“去看看”按鈕圖片高度保持一致價(jià)格用醒目的顏色標(biāo)出來整體觀感會(huì)比純表格列表好得多。這種頁面細(xì)節(jié)花不了太多時(shí)間但對(duì)答辯印象分提升非常明顯。3. 實(shí)操過程與核心環(huán)節(jié)實(shí)現(xiàn)3.1 環(huán)境準(zhǔn)備與項(xiàng)目骨架搭建先把開發(fā)環(huán)境說清楚推薦組合是JDK 1.8或11MySQL 5.7或8.0Maven 3.6Node.js 16開發(fā)工具IDEA VS Code工作目錄里建議創(chuàng)建前后端兩個(gè)文件夾比如tourism-backend和tourism-frontend長期維護(hù)起來一眼就懂。后端用Maven管理依賴核心依賴需要這些dependencies !-- Spring核心 -- dependency groupIdorg.springframework/groupId artifactIdspring-context/artifactId version5.x.x/version /dependency !-- SpringMVC -- dependency groupIdorg.springframework/groupId artifactIdspring-webmvc/artifactId version5.x.x/version /dependency !-- MyBatis -- dependency groupIdorg.mybatis/groupId artifactIdmybatis/artifactId version3.5.x/version /dependency dependency groupIdorg.mybatis/groupId artifactIdmybatis-spring/artifactId version2.x.x/version /dependency !-- MySQL驅(qū)動(dòng) -- dependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId version8.0.x/version /dependency !-- 數(shù)據(jù)庫連接池 -- dependency groupIdcom.alibaba/groupId artifactIddruid/artifactId version1.2.x/version /dependency !-- JSON處理 -- dependency groupIdcom.fasterxml.jackson.core/groupId artifactIdjackson-databind/artifactId version2.13.x/version /dependency !-- 分頁插件 -- dependency groupIdcom.github.pagehelper/groupId artifactIdpagehelper/artifactId version5.3.x/version /dependency /dependencies這里的版本號(hào)我個(gè)人建議用穩(wěn)定版本不要一上來就追最新Spring 5.x和MyBatis 3.5.x這種組合已經(jīng)很多項(xiàng)目驗(yàn)證過了能避免因?yàn)榘姹炯嫒輪栴}浪費(fèi)時(shí)間。后端配置文件至少有四份jdbc.properties存放數(shù)據(jù)庫連接信息。spring.xml配置包掃描、數(shù)據(jù)源、SqlSessionFactory、事務(wù)管理器。spring-mvc.xml配置注解驅(qū)動(dòng)、靜態(tài)資源放行、視圖解析器如果前后端分離不需要JSP配置。web.xml配置Spring監(jiān)聽器和SpringMVC的DispatcherServlet。前端用Vue CLI創(chuàng)建項(xiàng)目vue create tourism-frontend選擇Vue3預(yù)設(shè)安裝vue-router、pinia或axios。然后執(zhí)行npm install element-plus element-plus/icons-vueElement Plus在main.js里做完整引入雖然首屏包體積會(huì)大一些但畢設(shè)項(xiàng)目無所謂開發(fā)效率最重要import { createApp } from vue import ElementPlus from element-plus import element-plus/dist/index.css import App from ./App.vue import router from ./router import { createPinia } from pinia const app createApp(App) app.use(ElementPlus) app.use(router) app.use(createPinia()) app.mount(#app)3.2 用戶登錄、角色權(quán)限與攔截器登錄接口是畢設(shè)項(xiàng)目的“交通樞紐”幾乎所有頁面交互都跟用戶身份掛鉤。我建議登錄做成這樣用戶提交用戶名和密碼Controller接收后調(diào)用ServiceService根據(jù)用戶名查出用戶記錄比對(duì)密碼。密碼在數(shù)據(jù)庫里不要存明文注冊(cè)時(shí)用MD5或BCrypt加密一次登錄時(shí)把用戶輸入的密碼做同樣的加密再比對(duì)。如果一致生成一個(gè)代表登錄狀態(tài)的token返回給前端。token的實(shí)現(xiàn)有兩種檔次。最簡單的是Session方案登錄成功把用戶對(duì)象放到session里后端攔截器判斷session里有沒有用戶。這種方案代碼少答辯也能講清楚但前后端分離部署時(shí)跨域和Session失效問題比較煩人。我推薦用JWT風(fēng)格的token不一定要引入完整jwt庫模擬一個(gè)也可以。登錄成功后后端把用戶id和角色拼成一個(gè)帶簽名的字符串返回前端存到localStorage每次請(qǐng)求放請(qǐng)求頭。后端做一個(gè)攔截器解析請(qǐng)求頭如果解析失敗就返回401。后端攔截器的核心邏輯public class AuthInterceptor implements HandlerInterceptor { Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // 如果是跨域預(yù)檢請(qǐng)求直接放行 if (OPTIONS.equalsIgnoreCase(request.getMethod())) { return true; } String token request.getHeader(Authorization); if (token null || .equals(token)) { response.setStatus(401); return false; } // 解析token判斷是否有效、是否過期 // 解析出的userId放入request屬性方便Controller使用 return true; } }這個(gè)攔截器要注冊(cè)到SpringMVC中同時(shí)配置放行路徑比如/api/user/login、/api/user/register、/api/scenic/**這些公開接口不需要token而/api/user/center/**、/api/favorite/**則需要登錄。管理員接口比如/api/admin/**還要額外校驗(yàn)用戶角色是否為1。前端路由守衛(wèi)配合起來也很簡單router.beforeEach((to, from, next) { const token localStorage.getItem(token) if (to.meta.requiresAuth !token) { next(/login) } else { next() } })3.3 景點(diǎn)檢索、詳情與評(píng)論收藏實(shí)現(xiàn)景點(diǎn)列表頁是訪問量最高的頁面它的核心是“條件查詢分頁”。哪些條件適合用來篩選最常用的是景點(diǎn)名稱關(guān)鍵字、所屬地區(qū)、價(jià)格范圍。對(duì)應(yīng)的MyBatis XML我一般這么寫select idselectScenicPage resultMapScenicResultMap SELECT s.id, s.name, s.region, s.cover_image, s.price, s.open_time FROM t_scenic s where if testname ! null and name ! AND s.name LIKE CONCAT(%, #{name}, %) /if if testregion ! null and region ! AND s.region #{region} /if if testminPrice ! null AND s.price gt; #{minPrice} /if if testmaxPrice ! null AND s.price lt; #{maxPrice} /if /where ORDER BY s.create_time DESC /selectService層再配合PageHelperpublic PageInfoScenic getScenicPage(int pageNum, int pageSize, ScenicQuery query) { PageHelper.startPage(pageNum, pageSize); ListScenic list scenicMapper.selectScenicPage(query); return new PageInfo(list); }這樣前端每次只傳pageNum、pageSize和幾個(gè)篩選項(xiàng)就能拿到分頁數(shù)據(jù)。景點(diǎn)詳情頁除了顯示景點(diǎn)信息還要顯示評(píng)論列表。評(píng)論接口按景點(diǎn)id分頁查詢每條評(píng)論要帶上發(fā)表人的昵稱和頭像所以SQL要關(guān)聯(lián)用戶表。這里用resultMap映射會(huì)比resultType更直觀select idselectCommentsByScenicId resultMapCommentResultMap SELECT c.id, c.content, c.create_time, u.nickname, u.avatar FROM t_comment c LEFT JOIN t_user u ON c.user_id u.id WHERE c.scenic_id #{scenicId} ORDER BY c.create_time DESC /select收藏模塊是“用戶與景點(diǎn)”關(guān)系的核心實(shí)現(xiàn)。接口設(shè)計(jì)就兩個(gè)一個(gè)添加收藏一個(gè)取消收藏。添加時(shí)先查詢是否已收藏如果已收藏就返回提示如果沒有就插入一條記錄。取消收藏直接按userId和scenicId刪除記錄。個(gè)人中心里查詢當(dāng)前用戶的收藏列表時(shí)關(guān)聯(lián)景點(diǎn)表把景點(diǎn)的基本信息和封面圖帶出來方便做一個(gè)“我收藏的景點(diǎn)”卡片列表。后臺(tái)管理模塊基本都是增刪改查這里不展開每個(gè)接口但有一個(gè)思路值得分享后臺(tái)列表頁沿用前臺(tái)的分頁組件每個(gè)管理頁用Element Plus的el-table el-pagination el-dialog組合。彈窗里放表單提交時(shí)調(diào)用新增或更新接口成功后刷新表格。這套模式寫熟手之后一張后臺(tái)頁面大概一晚上就能做完六張管理頁面也花不了太久。3.4 論文撰寫的章節(jié)組織與查重應(yīng)對(duì)程序做完后論文才是重頭戲。SSMVue旅游資源網(wǎng)站的論文目錄基本是固定的套路我建議按這六章走第一章緒論。寫選題背景和研究意義重點(diǎn)說明“為什么需要旅游資源網(wǎng)站為什么要用JavaVue技術(shù)?!弊詈蠓乓粡垏鴥?nèi)外研究現(xiàn)狀的綜述。第二章需求分析。先寫業(yè)務(wù)流程再寫功能需求用用例圖展示游客、用戶、管理員各自能做什么。非功能性需求要提性能、易用性、安全性。這一章對(duì)應(yīng)程序里的“功能邊界”寫得越具體后面的系統(tǒng)設(shè)計(jì)越好寫。第三章系統(tǒng)設(shè)計(jì)。包括系統(tǒng)總體架構(gòu)圖、功能模塊圖、數(shù)據(jù)庫E-R圖和表結(jié)構(gòu)設(shè)計(jì)。實(shí)際上E-R圖和表結(jié)構(gòu)直接抄自己建的表就行逆向梳理一遍改造成可視化圖形。第四章系統(tǒng)實(shí)現(xiàn)。這是論文最占篇幅的一章按功能模塊逐個(gè)寫每個(gè)模塊放核心代碼片段和運(yùn)行截圖。注意代碼不用貼全部只貼關(guān)鍵方法并配一段文字說明“這是做什么的為什么這么做”。第五章系統(tǒng)測(cè)試。寫測(cè)試環(huán)境、測(cè)試方法然后列測(cè)試用例表測(cè)試編號(hào)、測(cè)試項(xiàng)、輸入數(shù)據(jù)、預(yù)期結(jié)果、實(shí)際結(jié)果。別全寫“通過”針對(duì)邊界條件寫一兩個(gè)失敗用例反而顯得真實(shí)。第六章總結(jié)與展望。總結(jié)做了一個(gè)什么系統(tǒng)、用了什么技術(shù)、有什么不足后續(xù)可以增加什么功能。關(guān)于查重我必須提醒一句參考文獻(xiàn)里的概念介紹千萬不要大段復(fù)制教科書原文。寫技術(shù)介紹時(shí)用自己的話把“Spring是什么、MyBatis是什么”重新表述一遍。尤其要小心網(wǎng)上的博客模板很多畢業(yè)論文模板章節(jié)相似度極高直接照抄會(huì)被查重系統(tǒng)標(biāo)紅。正確做法是定義概念后立刻結(jié)合自己項(xiàng)目里的具體場(chǎng)景說一句比如“在本系統(tǒng)中Spring負(fù)責(zé)管理Service和Mapper對(duì)象的創(chuàng)建和依賴注入”這樣既不容易重復(fù)又能體現(xiàn)你對(duì)技術(shù)的掌握。4. 常見問題與排查技巧實(shí)錄4.1 跨域報(bào)錯(cuò)與預(yù)檢請(qǐng)求處理前后端分離最常遇到的就是跨域問題。現(xiàn)象很明確前端控制臺(tái)報(bào)No Access-Control-Allow-Origin header is present on the requested resource。原因簡單說就是前端跑在http://localhost:8080后端跑在http://localhost:8088瀏覽器認(rèn)為這不是同一個(gè)源。解決辦法一般是在后端加一個(gè)跨域過濾器。Component public class CorsFilter implements Filter { Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse response (HttpServletResponse) res; response.setHeader(Access-Control-Allow-Origin, http://localhost:8080); response.setHeader(Access-Control-Allow-Credentials, true); response.setHeader(Access-Control-Allow-Methods, GET, POST, PUT, DELETE, OPTIONS); response.setHeader(Access-Control-Allow-Headers, Content-Type, Authorization); chain.doFilter(req, res); } }一個(gè)隱藏很深的坑是預(yù)檢請(qǐng)求。前端請(qǐng)求帶了Authorization這樣的自定義頭或者請(qǐng)求方法是PUT、DELETE時(shí)瀏覽器會(huì)先發(fā)一個(gè)OPTIONS請(qǐng)求確認(rèn)服務(wù)器是否允許。如果你的后端攔截器把所有OPTIONS請(qǐng)求都攔下來要求登錄跨域就永遠(yuǎn)過不了。所以在攔截器的preHandle里一定要放行OPTIONS請(qǐng)求我前面的代碼示例里已經(jīng)寫到了這一步。如果你不想在后端處理跨域也可以在前端利用開發(fā)服務(wù)器做代理。在Vue項(xiàng)目的vue.config.js里配置module.exports { devServer: { proxy: { /api: { target: http://localhost:8088, changeOrigin: true } } } }這樣所有/api開頭的請(qǐng)求都轉(zhuǎn)發(fā)到后端瀏覽器看到的是同源地址。但這個(gè)方法只對(duì)開發(fā)環(huán)境有效正式打包部署后還是要用Nginx或其他方式統(tǒng)一入口。4.2 登錄狀態(tài)反復(fù)失效的兩種解決辦法這是我見過學(xué)生踩得最多的坑之一表現(xiàn)形式是登錄成功后頁面跳轉(zhuǎn)正常但刷新一下或者點(diǎn)幾個(gè)頁面后就提示“未登錄”。如果你用的是Session方案多半問題出在跨域配置沒有帶上Cookie。瀏覽器默認(rèn)在同源請(qǐng)求時(shí)才會(huì)攜帶Cookie跨域請(qǐng)求需要后端在響應(yīng)頭設(shè)置Access-Control-Allow-Credentials: true同時(shí)前端axios要設(shè)置withCredentials: true。但個(gè)人建議直接切換成token方案能避開上面這一整攤事。登錄接口返回一個(gè)token字符串前端存localStorage每次請(qǐng)求在攔截器里加上service.interceptors.request.use(config { const token localStorage.getItem(token) if (token) { config.headers[Authorization] token } return config })后端攔截器從請(qǐng)求頭拿到token驗(yàn)證通過就把用戶信息放到request屬性里后面的Controller直接取。這套方案不受Cookie跨域限制部署到Nginx時(shí)也好處理。token還有一個(gè)好處是答辯時(shí)容易講。你可以說“因?yàn)橄到y(tǒng)采用無狀態(tài)的會(huì)話保持方案服務(wù)器不需要保存用戶的登錄狀態(tài)減輕了內(nèi)存壓力”這句話翻譯成大白話就是“每個(gè)請(qǐng)求都帶著自己的身份證明來過檢”。4.3 MyBatis常見報(bào)錯(cuò)與駝峰映射寫MyBatis遇到報(bào)錯(cuò)是常態(tài)我把高頻問題整理成一張速查表報(bào)錯(cuò)信息本質(zhì)原因解決辦法Invalid bound statement (not found)Mapper接口和XML文件沒有對(duì)應(yīng)上檢查namespace是否等于接口全限定名以及mybatis配置里mapper-locations是否指向xml目錄BindingException: Parameter xxx not found接口方法參數(shù)沒加Param多參數(shù)時(shí)必須寫Param(name)查詢結(jié)果全是null列名和實(shí)體屬性名不一致開啟mapUnderscoreToCamelCase或?qū)憆esultMapCause: java.sql.SQLSyntaxErrorExceptionSQL語句語法錯(cuò)誤檢查表名、列名特別是MySQL關(guān)鍵字例如表名不要用order、descPageHelper分頁不生效startPage和查詢之間隔了其他數(shù)據(jù)庫操作讓startPage緊貼Mapper查詢執(zhí)行駝峰命名這個(gè)問題在SSM項(xiàng)目里特別容易反復(fù)出現(xiàn)。Java實(shí)體類習(xí)慣用createTime數(shù)據(jù)庫列名習(xí)慣用create_time如果不在全局配置開啟駝峰映射查出來的createTime就是null。配置方式是在mybatis-config.xml里settings setting namemapUnderscoreToCamelCase valuetrue/ /settings注意只開啟駝峰映射還不夠數(shù)據(jù)庫列名必須真的是create_time這種下劃線格式如果開發(fā)時(shí)有人圖省事把列名直接命名為create_time但實(shí)體類是create_time那映射出來又會(huì)錯(cuò)所以命名規(guī)范要從建表開始就統(tǒng)一。我個(gè)人的習(xí)慣是數(shù)據(jù)庫全部用lower_case_with_underscoreJava實(shí)體全部用駝峰中間靠MyBatis的映射自動(dòng)轉(zhuǎn)換。4.4 答辯前最后三天的檢查清單最后說點(diǎn)跟答辯直接相關(guān)的實(shí)操經(jīng)驗(yàn)。答辯內(nèi)容、截圖、提問環(huán)節(jié)都有對(duì)應(yīng)的準(zhǔn)備技巧建議最后三天按下面的清單過一遍檢查項(xiàng)具體內(nèi)容主流程閉環(huán)從注冊(cè)、登錄、瀏覽景點(diǎn)、搜索、收藏、發(fā)表評(píng)論到后臺(tái)登錄、管理景點(diǎn)全程走一遍任何一步報(bào)錯(cuò)都要當(dāng)場(chǎng)解決數(shù)據(jù)自洽刪除景點(diǎn)時(shí)它下面的評(píng)論和收藏怎么處理外鍵約束會(huì)不會(huì)導(dǎo)致刪除報(bào)錯(cuò)后臺(tái)刪除數(shù)據(jù)后前臺(tái)會(huì)不會(huì)出現(xiàn)NullPointerException數(shù)據(jù)庫導(dǎo)出用mysqldump導(dǎo)出一份完整的SQL腳本或者至少在開發(fā)工具里準(zhǔn)備好一鍵重建數(shù)據(jù)庫的命令代碼結(jié)構(gòu)可講隨便挑一個(gè)Controller你能不看IDE說出它的Service和Mapper分別做了什么嗎論文與截圖一致論文里出現(xiàn)的每一個(gè)頁面截圖程序里都必須能找到對(duì)應(yīng)頁面且數(shù)據(jù)最好相同演示環(huán)境穩(wěn)定如果現(xiàn)場(chǎng)沒有網(wǎng)絡(luò)數(shù)據(jù)庫和依賴要提前裝好如果用IDEA啟動(dòng)提前把依賴下載完整避免現(xiàn)場(chǎng)卡在下載還有一個(gè)小技巧答辯演示時(shí)建議用授課千萬注意不要念代碼。講登錄功能時(shí)就說“用戶輸入用戶名密碼后端校驗(yàn)成功后返回token前端保存到本地之后請(qǐng)求自動(dòng)攜帶實(shí)現(xiàn)會(huì)話保持”然后用演示操作補(bǔ)充細(xì)節(jié)老師看到的是“論述清晰系統(tǒng)可用”這兩點(diǎn)都滿足分?jǐn)?shù)一定不會(huì)差。這個(gè)項(xiàng)目做完之后我個(gè)人實(shí)際帶項(xiàng)目的體會(huì)是畢設(shè)最重要的不是技術(shù)多炫而是“完整”兩個(gè)字。功能鏈路完整文檔和代碼對(duì)得上答辯時(shí)講得清楚這三點(diǎn)做到就已經(jīng)是一份非常合格的畢業(yè)設(shè)計(jì)。如果你時(shí)間充裕再往里面加一點(diǎn)小創(chuàng)新比如用Redis緩存熱門景點(diǎn)數(shù)據(jù)或者把后臺(tái)改造成帶統(tǒng)計(jì)圖表的Dashboard就是錦上添花。最后再分享一個(gè)小技巧每天開發(fā)結(jié)束后花十分鐘在本地Gitee或GitHub倉庫提交一次代碼。別嫌麻煩那些最后做不下去、程序跑不起來、論文寫不出來的同學(xué)大多數(shù)不是能力問題而是改著改著把自己改亂了沒有可以回退的干凈版本。用好了版本控制你的畢設(shè)進(jìn)度就會(huì)穩(wěn)很多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产激情在线| 天天综合网网欲色| 亚洲国产一区二区三区在线| 国产激情综合五月久久| 久久精品店| 丁香婷婷五月| 97视频一区| 91女神在线视频| 日韩国产欧美伦理在线| 久操97| 日韩淫色网| 有码免费观看| 长长久久曰曰夜夜成人网| 亚洲密乳AV| 亚洲资源站| 男人的天堂久久狠| 99自拍B亚洲| 丁香婷婷色五月| 日韩图区 偷拍| 亚洲精品97p| 97超碰色屌| 91色情黑丝搞鸡在线观看一区二区三区三州| 精品人妻一区二区三区四区| 色老汉色| 欧美久久毛片基地| 日本精品88888888| 96久久精品一二三区色欲| 一中国女人毛片水真多| 美女黄页网站| 青青草华人在线欧美在线| 成人五月天色网| 校园春色之综合网| 国产免费一区二区在线A片视频| 黄色视频60分钟| 91网18| 亚洲天堂加勒比| 欧美日韩丝袜 | 人妻9117c| 少好三P| 欧美成人色| 99在线精品观看99| 玖玖婷婷五月天| 蜜桃视频成a人v在线| A级在线视频| 成人线上超碰| 国产亚洲福利第一页丝袜| 情色五月天就去干| 亚洲无码国产探花在线观看| 中文自拍欧美影视| 成人AV超碰免费在线| 欧美 亚洲精品首页| 超碰97欧美日韩| 91欧美丨精品丨入口| 久久久穴999| 青青爽| 天天综合网久久ww| 中 文字幕一区二区三四 五 区日 日 骚 | 国产精品无套内谢| 操逼操逼逼操操逼91 | 走光一区92下载| 91肉丝| 97超碰精品图片| 91精品国久久久久久无码| 60秒免费小视频| 97天天操天天干| 久久欧洲| 国产91丝袜在线播放蜜月| 九七人妻在线| 黑人猛交| 自拍偷拍 高清无码| 人人妻人射| 国产精品一二三在线看| 内射中出日韩在线观看视频| 亚洲精品黑丝| 国产精品一区二区手机看片| 99久久网站| 99re6久热只有精品6在线直播| 精品久久久久黄少妇| 超碰97男人| 丝袜色综合| 国产精品诱惑| 一本一道vs波多野结衣| 九九视品黄色| 天操天操夜操夜月月年年操操 | 亚洲图片欧美色图| 午夜福利精品| 亚洲熟女综合| 99999亚洲另类| 黄色免费一级在线毛片| 亚洲天堂人妻一区二区| 97操综合| 日本99久久| 久久久穴999| 毛片99-全集电影手机免费观看完整-B029AV | 日本操逼无码| 高清国产av无码| 天天干天天干天天| 99久在线精品99re8a| 久久久111| 97在线观看| 麻豆综合一区av| 色小视频蜜乳| 久久一二三四不卡| 丰满人妻被猛烈进入中| 黑操B| 色偷综合| 日韩欧美大力操| 国产精品亚洲一级av第二区| 野狼激情网| 成人五月天色网| 久草在| 全国男人天堂网| 91久久九九精品国产综合| 免费AV播放| 91人妻久久久久久久久久久久久| AV在线性爱| 国产呦精品一区二区三区下载| 中文字幕乱碼在线| 九月伊人中文字幕| 欧美性暴力猛交XXXX| 久久久青青草| 日韩午夜啪啪视频| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 97欧美资源| 欧美日韩香蕉| 色婷婷激一区二区三区 | 天天干天天做| 亚洲欧洲国产综合av| 日本精品人妻少妇一区二区| 久久内射| 99超级碰免费视频| 爱丝福利| 国产高清成人传媒影视| 91制服丝袜| 欧美日韩在线视频网站| 鲁鲁色综合网| 国产强奸乱伦第1页| 五月婷婷激情| 67914在线兔费成人视频| 成全动漫视频观看免费下载| 婷婷色一区| 久久日本熟女精品一区| 日韩综合无码一区久久92| 久久性爱城| 黑人精品久久97| 黄色免费网页无码| 蜜臀Av一区二区三区| www.av在线观看| 亚洲91网站| 久操凹凸视频| 久久免费9| 欧美亚洲丝袜人妻制服99| 午夜精品久久久久久久第一页按摩| 日本三级韩三级99久久| 97在线视频免费观看| 99热在线观看| 国产精品白领在线观看| 色麻豆AV| 超碰人人在线| 国产二区三区免费视频| 亚洲的天堂网| 97色碰| 九九AV| 91欧美高清| 手机在线免费看的av| 最新av在线| 亚欧性爱ab| 绯色一区二区三区不卡少妇| 亚洲欧美一区二区不卡视频播放 | 日韩精品人妻一区二区| 亚洲色图在线视频| 狼狼色丁香久久婷婷综合五月| 天天躁狠狠躁av| 丁香婷婷久久| 秋霞久久亚洲精品成人| 伦理日韩国产久久| 一块操欧美性爱| 91P0RNY大屁股人妻| 久久久不卡区一区二区三区久久久| 亚洲色 国产 欧美 日韩| 嫖老熟女A片一二三区| 伊人九九九| 久久99手机免费视频| 亚洲AV无码成人精品久久| 欧洲性爱无码区| 九草九九九| 国产精品女同| 欧美99热| 丁香五月综合| 97超碰磁| 亚洲男人天堂av| 经典丝袜一区| 女优视频第10页| 欧亚性爱视频免费看| 啪啪自拍九九综合| 九九九九九九免费视频| 91爱欧美| 人人人人人人少妇| 国产一区二区三三视频| 亚洲国产熟妇综合色专区| 嫩草 我啊~嗯~在线| 日韩熟女精品无码专区一区二区| 人妻99p| 亚洲伊人a线观看视频| 精品午夜福利| 亚洲91色| 97亚洲精品| 色路综合| 亚洲清纯综合| 久久老熟女| 色情亚洲日本成人| 亚州色站 日韩电影| 九九久久99| 国产AV激情无码久久无码| 男人女人18禁片免费看网站| 欧美亚洲| 水多多映视AV| 强奸乱伦AV网站| 欧美在线永久天堂| 国产精品黑人一区二区三区| 日本成人在线不卡一区二区三区| 欧美啪啪啪91| 久久久久久9| 操久久久久| 精品一区二区久久| 漂亮人妻被强中文字幕hd| 天天综合网合集91| 日韩国产九九精品一区二区三区毛片| 果冻传媒一区二区三区| 黑人性暴力毛片| 友优传媒精品在线一区二区| 日韩欧视频| 色香AV| AV一起草在线| 国产精品久久久三级无码| 日本欧美亚洲高清在线看| 亚洲二区精品在线观看 | 在线黄页看毛片| 狠久久| 99草精| 亚洲欧美色图片| 探花精品 一区二区| 永久免费观看的毛片的网站| 午夜福利国产欧美日韩夜夜| 2021久久国产综合精品青草| 五月天丁香网| 丁香色五月 97干| 日韩pv中文| 午夜精品99久久久久传媒| 久久只有精品一区二区三区| SUV一区二区在线看| 玖玖爱伊人玖玖爱| 亚洲国产熟妇综合色专区| 亚洲无码国产探花在线观看| 嗯啊抽插大香蕉网页| 国模不卡| 久久久啊啊| 欧美91在线+|+欧美| 人人超碰在线观看黄| 骚人妻少妇视频| 欧美91网| 婷婷中文网| 精品久久青青草| 亚洲码和欧洲精品激情系列| 可乐操亚洲蜜911| 人人操人人色人人摸| 日本女优在线视频福利| 亚洲aw毛茸茸在线| 日韩大香蕉AV影片| 人人 操人人 操人人| 婷婷亚洲综合| baiduhicn.com。| 久久久9999| 亚洲无吗在线视频| 91老熟女逼| 91网站在线播放| 亚洲麻豆av一区二区| 狠狠色伊人亚洲综合网站色| 超碰国产在线| 亚洲超碰综合网| 99在线精品视频| 日本高清_区二区三区| 超碰在线91| 操操逼操操逼操操逼逼| 99超碰色| 国产精品农村妇女| 日韩中文字幕二区| 天天操天天日天天干| 中文字幕乱码在线| 日本99视频| 亚洲AV人人澡人人爱| 日本 情色 1区| 亚洲第2页| 成人A片男人的天堂| 新亚洲无码| 97九色人妻| 久久午夜神马| 一区二区三区在线资源| 中文字幕AV中出| 久草免费福利在线播放| 精品十三区| 97色网| 亚洲综合激情五月久久| 超碰在线日韩一区| 这里都是精品在线观看| 九九九九九九九九九九九蜜桃| 女同女同恋久久级三级| 亚洲清纯唯美| 日韩欧美亚洲一区二区三区影院| 欧美综合狠| 男女激情黄色网址| 中文字幕熟女人妻丝袜丝| 亚洲日韩人妻中文字幕一区| 97干天天| 99热99在线播放激情| 日日骚 av| 日韩欧美午夜一区二区| 伊人色综合超碰| 97超碰超碰| 99热精品国产| 日韩人妻丝袜美腿中文| 五月丁香社区婷婷日韩欧美精品影院| 日韩无码人妻中字久久三区四区| 欧美日韩人人精品| 亚洲AV无码AV吞精久久久久| 久久免费9| 国产精品欧美激在线| av无码精品久久久久| 校园春色 亚洲| 偷窥自拍亚洲色图| 大香网站| 女性91网站| 美女干逼2| 吻戏激情性巴克| 亚洲天堂五月天国产| 国产不卡的视频| 久都青青视频| www.色婷婷| 乱性AV| 日本亚欧爱爱| 日本不卡二三区| 亚洲AV无码久久久国产精品 | 东北丰满熟女国产一区| 超碰欧美97| 男人天堂网手机版婷婷| 狠肏骚人妻| 激情五月天丁香社区| 国产1024在线播放| 免费观看一区| 超碰99在线| 嫩草影院永久在线制服丝袜| 日韩内射视频| 日日狠狠久久偷偷色综合免费| 免费精品人妻一区二区三| 唯美清纯 妖精视频| 91丨精品丨国产丨丝袜| 免费亚洲国产精品久久一区| 97综合日韩| 欧美成人精品A片免费一区99| 亚洲 日本 国产 综合| 婷婷九月色| 成年人黄色小视频网站| 国产一区二区a毛片| 精品欧美老熟女一二区| 亚洲日韩国产精品| 丰满人妻一区二区三区免费| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 久久粉色| 亚洲天堂另类| 校园春色 亚洲| 中文字幕在线2| 国产夜夜操| 性色乱AV一区二区| 国产怡红院| 骚逼高潮久久精品| 五月天色综合| 久操B网| 大香蕉亚洲中文| 蜜桃久久一区二区三区| 99久久com免费视频′| 婷婷在线播放| 玖玖人人爱| 色嘟嘟人妻天堂网| AV色天香在线| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 超碰97欧美日韩| 加勒比色综合| 欧美,日韩,中文,另类| 亚欧操逼片在线观看| 天天天操天天天爱| 久久精品操| 精品无码少妇| 97综合国产| 97超碰人人操人人操| 国产精品美女久久久久久网站| 热思思免费视频| 级做a爱无码性色永久免费| 欧美精品久久久久久久丰满| 欧美黄片欧美黄片xxx| 日韩一级免费性爱| 久久久亚洲精品电影免费看| 亚洲黄日韩无码专区| 91日产欧美| 国产精品毛片| 女性喷水高潮在线观看| 激情小说成人日本无码一| 久久久精品视频免费观看| 无码自拍SM| 亚洲男人天堂2019| 青青草啪啪网| 少妇久久久免费| 欧美色院| 蜜臀操逼黄色视频操的好爽| 欧美久久九九| 97爱b| 亚洲成成熟女人综合一区二区| 精品人妻中文字幕高清| 综合久久六月久久婷婷| 久久系列| 啪啪啪东京| 免费黄色片子| 天天色怡春院| 风月影院十八禁| 乳欲人妻办公室奶水| 日韩成人免费电影| a人欧美综合天堂麻豆| 日韩av电影网站| 国产精品99999| 手机在线播放国产福利| 人妻少妇蜜桃视频欧美一区| 亚洲日韩久久精品一区| 男人的天堂 在线一区| AV污污污污| 日韩三四五区| 91精品导航| 三级特黄60分钟播放| 能看的AV| 久久9免费视频| 亚洲春色欧美激情自拍| 开心五月深爱五月| 强奸熟女一区二区三区| 中文字幕AV中出| 日韩欧美俄罗斯A片| 999久久久九| 正宗无毛一线天嫩逼| 欧美的性爱网站免费| 色九九综合| 天天射夜夜| 国产综合日韩伦理| 激情五月天婷婷| 日本最新1区2区3区| 精品人妻视频入口| 欧美性爱97超碰 | 六月婷婷综合| 毛片麻豆91糖心精品毛情片| 中文字幕一区二区三区字幕| 在线女人91| 白嫩少妇| 麻豆国产原创AV色哟哟| 黄色无码高清黄色无码网站| 久久,精品一二三| 久久久78| 插插综合网天天影视网| 天天干天天操天天干天天操| 久久夜夜夜| 国产大陆天天艹| 97久久久精品| 中文字幕精品一区欧美| 91电影色诱| 国内精品久久人妻性色av| 91n美女视频| 久久久久夜夜夜夜| 中文字幕版| 人妻献身系列第54部| 欧美色图私拍91| 中文字幕高清精品一区| 亚洲永久AV无码精品秋霞| 12一15性XXXX粉嫩国产| 97视频620| 超碰无码加勒比| 一本久久精品中文字| 日韩亚洲精品一区二区| 久久久九九| 岛国成人av在线播放网址| 色777999综合| 67914亚洲精品| 大香蕉综合网| 九九九九日本| 婷婷影院入口| 91欧美综合| juliaann精品熟女一区| 国产精品美女久久久久AⅤ国产馆| 九九国产热| 久久香蕉国产线看观看猫咪av| 91亚洲网站| 爱干爱射网啊啊啊| 91人妻做a观看视频| 精品欧美日韩在线观看| 欧美另类色图片| 男女啪啪网站免费视频| 色男人色天堂东京热| wwwcaobibi| 白丝AV| laoshunv91| 日本 欧美 国产一区| 精品熟女呻吟久久91| 国产一区麻豆免费观看| 免费综合亚洲中文| 台湾一区国产高清在线| 大香焦A片| 中文字幕青青草| 九九九久千久久激情蜜桃在线看 | 男人的天堂一区| 日韩欧美丝袜诱惑| 97综合在线| 日本人妻中文字幕精品| 欧美日韩人妻精品系列一区二区三区| 啊啊啊好湿久久| 免费啪啪啪网站18岁| 精品午夜福利导航| 欧美综色欧| 欧美婷婷久久| 校园春色制服丝袜中文字亚洲| 秋霞一级A片黄色视频| 中文字幕激情小说| 懂色中文一区二区三区 | 2026国产精品视频| 天天色综合图片| 园内精品自拍视频在线播放| 蜜臀99久久精品久久久久久| 另类亚洲图色| 丁香六月天| 国内毛片国产专区二| 美女主播色欲91抠b在线播放| 二对二中文字幕。| 五十路熟女在线不卡观看一区二区| 久久中文字幕一区不卡| 蜜乳AV一区二区三区四| 97人肏| 色偷偷人人玩人人舔人人操人人摸人人爽| 安微少妇操BBB| 色噜噜精品一区二区三| 天天日天天干天天整| 久久综合久久综合人久久夜精品| 伊人久久蜜月| 又大又大又大又粗爽高潮观看| 芊芊操逼视频无码| 四月丁香婷婷| 久九九九九九九九热| 色色色色日本| 欧美色66| 日本一区二区中文字幕久久| 欧美性爱视频免费一区一A | 激情黄色片在线观看| 免费看日本操逼视频| 熟女精品一区二区在线观看| TS人妖另类精品视频系列| 五月丁香婷婷啪啪| 亚洲午夜精品久久久中文影院| 黑丝自慰喷水网站| 高跟伊人julia ann| 亚洲日韩在线a不卡99精品 | 91欧美情色| 国产精品无码AV网站| 亚洲综合一| 岛国视频免费在线观看| 国产视频第2页| 国产精品宅男免费| 欧美一区二区男人天堂| 97电影院超碰| 国产精品ww久久| 99操| 国产精品精品系列在线观看| 加勒比伊人影院| 78m成人视线| 色九久| 五月天久久久| 黄久在线| 91综合国产精品| 内射黑丝袜| 国产精品直播在线观看直播| 婷婷色综合欧美日韩| 黄片免费视频2019| 久久免费精品视频免一| 亚洲AV成人无码一区二区三区在线观看 | 日韩一性一交一A片俄罗斯| 亚洲蜜乳av| 激情小说五月天| 久久这里精品国产99丫e6| 丰满搜索结果 -第18页- 久久高清无码 | 久久日韩肥臀| 操逼视频国产无套| 欧美日韩在线视频网站| 久久久蜜桃一区二区三区| 一区二区免费电影久久| 亚欧美综合网。| 超碰在线成人| 中文AV制服乱伦| 免费亚洲国产精品久久一区| 免费A V在线播放| WWW美腿丝袜香蕉中文| 亚洲超碰在线| 日欧操屄| 女生看匆91网站| 欧美熟女激情| 亚洲免费人妻在| 亚洲色图欧美一区二区不卡| 亚洲淫色网中文| 欧美精品1区2区3区| 国产色产精品在线观看| 鸥美精品一区二区久久婷婷| 亚洲av无码成人精品国产| 欧美夜夜草视频| 日本一级不卡一二区| av婷婷色网| a级理论午夜日本| 性爱综合一区二区| 蜜臀99久久国产| 人妻 欧美 中文| 丁香成人五月天| 日日操丁香五月天| 强被迫伦姧在线观看无码网站| 日韩二区三四区五区六区在线看| 午夜综合在线| 精品国产91久久久久久一区黄无| 色五月婷婷在线| 污啪啪啪视频| 久久婷婷在线观看视频| 999九九精品| 九久精品| 377p欧洲日本亚洲大胆| 日韩中文字幕在线视频观看| 一个色导综合| 黑人娇小av在线播放| 无码国产精品96久久久久孕妇| 日本 情色 1区| 97在线观| 一级AV性爱| 自怕偷自怕亚洲精品| 在线观看高清AV| 欧美国产伊人久久久久| 一二三区精品视频| 夜夜嗨TV| 久久精品—区二区三区内射| 97欧美日韩精品| 91大香蕉伊人| 啊啊啊好多水| 啪啪视频免费在线观看| 97干97色| 国产黄色影片在线观看| 日韩美女啪啪一区| 18禁无码永久免费无限制| 一个国产在线综合网站| 欧美综合娱乐久久| 日韩一性一交一A片俄罗斯| 操操啪| 国产主播福利| 国产男女无套视频免费观看| 三级网站超变态精品| 免费观看有码高清视频| 久久丁香五月天| 一二三卡欧美日韩人妻免费精品| 91成人18| 操人妻少妇中文| 2017天天插| 日本肉体xxxx裸交| 日夜尻逼网| 果冻国产精品麻豆成人av| 九九国产| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 午夜福利成人免费视频| 色欲人妻一区二区在线| 夜夜躁狠狠躁日日躁av| 四虎影视永久在线观看精品免费网站| 伊人96在线| 九九热只有精品| 啪啪视频亚洲第一| 老熟女中文字幕高清| 亚洲AV乱码专区国产噜噜亚洲| 啪啪视频免费在线观看| 美欧老女人97| av一区二区三区 中文| 九九热精品| 欧美精品91| 激情视屏国产乱伦强奸| 天天操夜夜嗨| 91丝袜在线播放| 日韩国产十八禁| 日本日逼视频网| 日韩性爱小视频| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | av72网| 香蕉综合网| 可以免费看黄片的视频| 九九九只有精品| 久久亚州高清| 91久操| a一区二区三区乱码在线| 日韩AV噜噜噜一区二区三区四区| www鬼畜国产男人的天堂| 思思热国产在线视频| 日日不卡av| 亚洲欧洲第二视频在线观看色图| 久久久久久午夜男人的天堂| 色嗨嗨在线| www久久国产精品| 欧美视频一区二区三区| 国产美女激情| 国产在线不卡导航| 开心婷婷五月| 亚洲av综合色区无码一| 強姦亂倫a| 鸥美中出| 日韩欧美麻豆 | 国产A v无码专区| 亚洲色图91| 婷婷20月天青娱乐| 高清不卡 中文 人妻| 精品国产网站| 亚洲黑丝在线| 妺妺跟我一起洗澡没忍住| 人人操人人插人人摸人人干| 日韩成人无码| 亚洲天堂男人的天堂| 超碰 欧美| 天天激色| 中文字幕十五区| 97超碰天天爱天天爱| 色噜噜综合在线| 99热91| 天天爽人人综合免费7799| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 欧美一级A片在线看视频性色| 一级做a爰片久久毛片图片| 中文字幕99999| 激情欧美97| 98超碰欧美| 欧美高清91| 色爱亚洲| 91天天综合| 精品九九九九| 久久永久无码人妻视频| 99无码狠狠久久| 亚洲加勒比久久日本道| 综合欧美亚洲| 伊人天天久久动态图| 大香蕉综合网| 超碰成人人人爽人人爽| 久久成年片色大黄全免费网站| 青春草莓视频在线观看网址| 97超碰站| 欧美五十路熟| 黑人无码一区二区| 手机在线看片免费人成视频| 国产成人无码高清| 亚洲天堂热| 人妻加勒比东京热| 操我啊啊啊啊啊| 激情文学欧美| 亚洲天堂资源| 亚洲欧美洲综合| 国产精品国产精品国产| 亚洲人成网站7777| 一类无码操逼视频| 男人的天堂一区三区| 色婷亚洲五月在线观看| 亚洲天堂色图| 97天天弄| 亚春色色| 内射老妇BBWX0C0CK| 成年女人黄网站| 曰韩无码777| 高树玛利亚无码流出| 熟女精品一区二区在线观看| 97欧美资源| 日韩欧美性爱电影在线观看| 国产福利在线视频网站| 超碰人人色| 特级大荫道BBwBBwBBW| 伊人伊人LD| 凹凸 69堂 在线播放| a片自拍直播视频| 久久人人舔人人爽舔人人av片| 超碰99在线| 天天干天天日天天射黄色片| 精品无码一区二区三区| 2017av无码免费无线播| 国产熟女乱论| 91女在线观看| 日韩干B| WWW啪啪的com| 天天日夜夜爽| 校园春色中文字幕AV| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 人妻精品一区二区| 日本一级婬片试看三分钟| 色婷婷丁香五月| 亚洲综合贴图91 | 东北女人av| 色黄色美女大长腿午夜视频| 国产这里只有精品| 亚洲性少妇| 免费人成毛片乱码| 97人人模人人爽人人| 亚洲限制级| 私人尤物在线精品不卡| 91一起操| 男人的天堂日韩| 操婢日韩| 观看免费区二区三区二| 人妻熟女一区二区在线视频| 2019久久久久久久久福利| 江都AV在线| 日韩射精| 99热超碰| 蜜臀久久99精品久久久久久成人小说 | 丰满少妇一区二区三区专区| 老熟乱一区二区三区四区| 亚洲1区2区三区高清中文字幕| 男人天堂站| 日韩性色| 丁香六月啪啪| 在线啊啊啊| 午夜欧美女人操逼| 久久精品视| 国产成年精品高清在线观看91| 北条麻妃99精品青青久久| 亚洲 在线| 婷婷五月天综合网| 婷婷人妻激情| 五月天大香蕉| 中文字幕黄色一起草| 91精品国产麻豆国产自产在| 蜜桃香蕉久草精品在线| 亚欧Av| 密臀国产在线| 久久婷五月天| 欧美日韩欧美| 欧美男人一区| 少妇综合| 五月婷婷hd| a一区二区三区乱码在线| 啊啊啊97视频| 久久黄色性爱视频| 欧美精品久久| 九九综合久久| 婷婷人妻激情| 91 手机在线播放 绯色| AAAA级日本片免费视频| 一区二区三区四区五区高清无码永久视频 | 99这里只有精品国产| 亚洲精品国产精品乱码不卡| 精品日韩中文在线| 97精品在线| 90后性网国产欧美| 人妻精品一区二区| 亚洲精品色| 中文字幕一区二区三区高清| 十八禁电影伊人网| 99这里有精品视频| 精品一区二区三区国产| 91精品成人| 国产精品无码论坛| 久久久精品国产亚洲AV无码| 亚洲一区二区中文字幕| 美女人妻色网站| 精品九九国产无码| 日日AAvv| 四虎影库国产精品免费| 无码国产Av| 国产91美女视频| 亚洲精品一二三四区| AV和黑人在线播放| 九九操久久国产免费视频| 亚洲 欧美 中文 日韩超碰| 99e久久国产精品| 五十路成人在线视频二区三区| 天天弄天天操| 嫩呦国产一区二区三区AV| 91热色| 日韩精品三区四区| 亚洲精品aa久久伊人| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 丁香九月 婷婷| 久9久9久9久9久9久9| 麻豆黄色五月天| 91精品啪在线观看国产城中村| 好属操| 亚州国产成人精品女人久久| 欧插网站| 日韩性爱网址| 国产精品视频自拍在线| 日韩精品 欧美激情| 色香在线| 97资源超碰| 乱伦日本色图AⅤ| 亚洲国产成人精品999| 校园春色 亚洲| 秋霞午夜视频一区二区| 97九色人妻| 久久精品国产免费观看99| 熟女探花啪啪| 97日亚洲欧美| 亚洲国产中文字幕| 超碰97资源大奶| 亚洲天堂电影精品一区| 亚洲精品亚洲人成在线麻豆| 黄色片A级一区二区三区| 欧美综合1性辶| 九九九九一级| 九九九久久久久| 国产精品天美传媒| 激情网五月天| 亚洲国产激情国产av| 亚洲一区二区久久久久| 狠狠操,使劲操| 欧亚三区动漫| 四虎精品亚洲| 久肏视频字幕| 男人成人黄色视频在线观看免费下载| 欧美亚综合色图| 亚洲天堂性爱| 天天摸,夜夜摸| 色综合婷婷| 亚洲欧洲国产综合av| 无码av永久免费专区网站| 91色人妻| yw尤物av无码点击进入麻豆| 亚洲综合首页| 亚洲天天操| 亚州一区二区| 日日爱99| 极品色| 91精品国产综合久久久蜜臀酒店| 久久黄黄黄| 天美传媒麻豆一区二区三区国产精| 久久熟女久| 中文字幕乱偷人妻久久艾草网| 好看的久久不射无码影视影院| 97色97好| 五月天色电影| 四虎国产成人精品免费一女五男| 国产精品 午夜福利| 一区 欧美 日韩 麻豆| 熟女自慰久久久| 精品免费国产二区三区| 日本不卡二三区| 97bbn| 激情情色五月天| 男人的天堂三级| 亚洲交性| 3PAV乱伦视频| 边做饭边操逼逼| 操婢日韩| 欧美一级黄色18片免费看| 性爱乱伦网址| 丁香五月偷拍| 麻豆久久久久久久久丝袜| 老熟女区| 超碰综合97在线| 超碰诱惑| 91看黄片| 色欲日韩欧美在线一区| 99色在线| 超碰精品| 超碰97.com| 9999久久久| 少妇69中文| 在线观看午夜婷婷久久久久清性观看| 超碰偷拍| 97啪啪| 97人妻免费中文字幕| 国产高潮AA片免费看| 国模限制级电影| 97公开久久| 九九九九热只有精品| 日本爽爽爽爽爽爽免费视频| 强奸国产在线| 美女刺激久久国产欧美| 99国产精品久久久久久久成人热| 丰满丝袜少妇AV| 亚洲色人| 亚洲导航深夜福利| 大香蕉97久久| 亚洲色图伊人网| 欧美激情专区| 亚洲AV无码AV吞精久久久久| www.婷婷六月天| 国产精品久久久久久久久久久久久久久| 中文字幕精品亚洲熟女| 日韩97| 国产乱伦性爱AV| 日产中文字幕2020| 亚州欧美在线| 国产Aα| 日韩人妻操B| 伊人网一本| 国产女同视频在线播放| 青青草操逼逼视频| 亚州色阁| 岛国A V在线免费看| 综合久| 一级黄碟| 性久久久| 91超碰人人| 久久精品国产97欧美精品亚洲 | 粉嫩国产精品久久粉嫩| 啊啊啊啊好疼视频| 国产精品白丝在线播放| 成人在线日韩| 国产又长又大又粗的视频| 你懂的在线观看区国产| 色五月婷婷麻豆在| 日韩欧美中文字亚洲慕| 天天弄天天操| 99啪啪视频| 啊啊啊操死我| 久热婷婷| 久久国产精品视频| 亚洲成人福利电影免费| 日本一天色道久久久精品视频| 久久91| 最新欧美色网| 中文字幕三四五区| 色综合久久888| 中文字幕av片| 亚洲精品亚洲人成在线麻豆| 精品一区二区三区四区外站 | 日本天天吊| 97在线免费视频观看| 精品国产精品一区二区| nuu12国产麻豆精品| 3P乱轮视频| 蜜臀无码一区二区| 欧美黄片免费在线观看视频| 艳尻美人妻| 免费观看性欧美一级| 秋霞福利网| 乱伦熟女专区| 日本不卡卡一区| 黄骗免费网站| 久久日韩毛| 水多多映视AV| 嗯嗯嗯嗯啊啊啊好紧好大| 久午视频| 96精品在线| 99人妻| 中文字幕国产精品1区| 91精品国产综合久久久蜜臀酒店| 中文字幕 人妻不满 在线视频| 超碰色图| 久久久蜜桃一区二区三区| 色97干| 高清不卡国产| 人妻9117c| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 3P乱轮视频| 97爱啪| 五月婷视频| 欧美色欧美| 乱老熟女一区二区三区| 国产专区第一页| 日本二区不卡| 啊啊啊不要好疼视频| 亚洲无码com| 日本新免费二区三区| 一个人免费HD91视频| 欧美精品黑人猛交高潮| 有码免费观看| 91社区拍啪人妻| 色路综合| 国产农村妇女精品1区二区| 自拍偷拍草一草| 欧洲精品欧洲精品| 婷婷亚洲天堂| AV乱伦专区| 天天天堂影视日韩亚洲91| 日本狠狠干| 亚洲色图尤物视频| 丁香7月婷婷| 麻豆久久视频在线地址| 中文字幕AV乱伦| 懂色AV网| 高跟伊人julia ann| 免费看一级a性色生活片久久无| 久久久亚洲| 久久久久久久六六| 亚洲综合网电影91| 十八禁av无码免费网站APP| 国产丝袜啪啪| 大香蕉综合久久| 欧美色色色| 日韩免费在线视频观看| 91麻豆天美传媒在线| 久久久久ab| 久久久一区二区三区四曲免费听| 一本色道久久天天射天天干| 免费视频观看60秒| 精品一区二区三区四区女| 丁香五月天啪啪| 青娱乐欧美激情一区二区| 亚洲天堂资源网| 欧美一品道| 啊啊啊啊啊在线视频| 人妻AV在线| 91人妻中文| 超碰精品国产无码| 青草地一本线一区二区三区| 欧美天堂第二区| julia在线观看久久| 91精品大奶人妻| 亚洲精品性爱片| 日韩国产精品人妻无码久久久| 91成人亚洲色图| 亚洲色图综合网| 大香蕉在线86| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 久久视网78| 91爱综合| 婷婷伊人綜合中文字幕| 日本Xx性爱| 秋霞一级A片黄色视频| 偷拍综合网| 91色香| 97视频播放| 99re这里只有精品2| 久久久久无码一妻区| 大香蕉宅男伊人| 嫩草 人人网精品| 欧美日韩情色一区二区| 色噜噜狠狠色综合日日| 亚洲中文字母在线播放| 二男一女成人A片| 飘花国产午夜精品不卡| 婷婷伊人五月| 久久伊人最新网址视频| 麻豆精品.欧美精品.日韩精品.| 国产精品对白自产拍| 欧美日韩97在线| 欧美一区二区三区成人性生活| 91欧美美女日韩国产婷婷| 日韩欧美女求操每天更新| 欧美不卡在线美女| 久热99| 激情综合五月天| 亚洲精品99| 999在线电影香蕉| 人人色97| 嗯啊啊啊轻点视频| 午夜精品99久久久久传媒| 天天欧美色| 日日日啊啊啊| 久久嫩草国产成人一区| 德国一二三不卡| 久久97资源 网| A男人的天堂| 日韩八十路老熟女| 天天干人妻视频| 国产激情在线|