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

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(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ù)庫(kù)設(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í)際的背景不少高校的選題庫(kù)和答辯組仍然保留了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ù)庫(kù)操作這三者配合能讓一個(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ù)庫(kù)設(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ù)庫(kù)表畫哪些、系統(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ū)、封面圖片、簡(jiǎn)介、詳細(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ù)庫(kù)會(huì)直接攔截應(yīng)用層不用寫一堆判斷邏輯。我當(dāng)時(shí)做的時(shí)候后端收藏接口先查一遍是否存在再配合數(shù)據(jù)庫(kù)唯一索引雙保險(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ù)庫(kù)、拼數(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ù)庫(kù)交互。為了讓前端處理返回值更方便還需要一個(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í)全文搜索和分頁要一起做。最簡(jiǎn)單的實(shí)現(xiàn)是用PageHelper分頁插件在Service層查詢之前調(diào)用PageHelper.startPage(pageNum, pageSize)緊接著執(zhí)行的Mapper查詢就會(huì)被自動(dòng)拼接limit。這個(gè)方法用起來很爽但一定要注意startPage和查詢之間不能夾其他數(shù)據(jù)庫(kù)操作否則分頁會(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長(zhǎng)期維護(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ù)庫(kù)連接池 -- 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ù)庫(kù)連接信息。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ù)庫(kù)里不要存明文注冊(cè)時(shí)用MD5或BCrypt加密一次登錄時(shí)把用戶輸入的密碼做同樣的加密再比對(duì)。如果一致生成一個(gè)代表登錄狀態(tài)的token返回給前端。token的實(shí)現(xiàn)有兩種檔次。最簡(jiǎn)單的是Session方案登錄成功把用戶對(duì)象放到session里后端攔截器判斷session里有沒有用戶。這種方案代碼少答辯也能講清楚但前后端分離部署時(shí)跨域和Session失效問題比較煩人。我推薦用JWT風(fēng)格的token不一定要引入完整jwt庫(kù)模擬一個(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)配合起來也很簡(jiǎn)單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ù)?!弊詈蠓乓粡垏?guó)內(nèi)外研究現(xiàn)狀的綜述。第二章需求分析。先寫業(yè)務(wù)流程再寫功能需求用用例圖展示游客、用戶、管理員各自能做什么。非功能性需求要提性能、易用性、安全性。這一章對(duì)應(yīng)程序里的“功能邊界”寫得越具體后面的系統(tǒng)設(shè)計(jì)越好寫。第三章系統(tǒng)設(shè)計(jì)。包括系統(tǒng)總體架構(gòu)圖、功能模塊圖、數(shù)據(jù)庫(kù)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é)與展望??偨Y(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)求處理前后端分離最常遇到的就是跨域問題?,F(xiàn)象很明確前端控制臺(tái)報(bào)No Access-Control-Allow-Origin header is present on the requested resource。原因簡(jiǎn)單說就是前端跑在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ù)庫(kù)操作讓startPage緊貼Mapper查詢執(zhí)行駝峰命名這個(gè)問題在SSM項(xiàng)目里特別容易反復(fù)出現(xiàn)。Java實(shí)體類習(xí)慣用createTime數(shù)據(jù)庫(kù)列名習(xí)慣用create_time如果不在全局配置開啟駝峰映射查出來的createTime就是null。配置方式是在mybatis-config.xml里settings setting namemapUnderscoreToCamelCase valuetrue/ /settings注意只開啟駝峰映射還不夠數(shù)據(jù)庫(kù)列名必須真的是create_time這種下劃線格式如果開發(fā)時(shí)有人圖省事把列名直接命名為create_time但實(shí)體類是create_time那映射出來又會(huì)錯(cuò)所以命名規(guī)范要從建表開始就統(tǒng)一。我個(gè)人的習(xí)慣是數(shù)據(jù)庫(kù)全部用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ù)庫(kù)導(dǎo)出用mysqldump導(dǎo)出一份完整的SQL腳本或者至少在開發(fā)工具里準(zhǔn)備好一鍵重建數(shù)據(jù)庫(kù)的命令代碼結(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ù)庫(kù)和依賴要提前裝好如果用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倉(cāng)庫(kù)提交一次代碼。別嫌麻煩那些最后做不下去、程序跑不起來、論文寫不出來的同學(xué)大多數(shù)不是能力問題而是改著改著把自己改亂了沒有可以回退的干凈版本。用好了版本控制你的畢設(shè)進(jìn)度就會(huì)穩(wěn)很多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
东京热AV男人的天堂| 九九热精品视频在线观看| 波多野结衣一级视频| 97视频在线观看播放与子乱对白在线……| 综合欧美色图| 九九碰九九爱97| 99re这里只有精品2| 日本黄 R色 成 人网站| 大香蕉99999| 免费观看的av| 亚洲AV秘无码一区..| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 九九色图| 精品欧美А∨无码黑人大荫蒂| 欧美综合网1| 秋霞蝌科网日本一区| 97在线播放| 草草影院在线视频| 久操com| 草草草草视频| 中文字幕久久精视频久久大全| 中国操逼无码| 蜜桃香蕉久草精品在线| A一级色女| 五月婷婷六月丁香| 日本网色| 日韩高清黄片| 久久这里只有精品9| 黑丝91视频| 太久视频| 婷婷色色五月天福利| 久久爽爽精品| 男人的天堂不卡一区二区| 久久欲| 中日韩一区二区三区欧美| 97视频免费在线观看| 天美传媒在线一区| 人妻熟女一区二区| 欧美在线啊啊啊| 日韩av在线免费网站| 超碰碰97资源站| 青草香蕉网| 91久久国产综合久久| 高清成年美女黄网站免费大全 | av国产无码| 人、人、摸,人、人、草| 97天天操| 国产亚洲福利第一页丝袜| 3级毛片一二| 久久久久女教师免费一区| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 国产乱码久久| 亚洲AV高潮| 久久婷五月天| 久久国产99精品72福利| 97人人干| 久久精品国产精品亚洲艾通辽熟妇| 日本日逼视频网| 国产激情综合五月久久| 久久仑合| 97超碰资源网| 94色色电影网| A一区片| 天天日天天干天天操| 噜噜瑟| 久久久久九九九| 33044男人的天堂深夜备| 天美91| 葡萄牙性视频一二区| 黑人免费福利视频| 色屁屁影院www国产| 久久社区一区二区三区| 开心激情婷婷| 9久精品视频在线观看| 久久綜合很很很| 日韩中文字幕宗合在线| 大香交| 超碰69| 日本三级精品| 国产欧美日韩一区二区三区| 99精品在线播放| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠 | 伊人成人情色综合| 人妻丰满熟妇av无码区蜜桃| а√天堂资源官网在线资源| 色官网在线| 国内精品伊人久久久久影院会| 人人扣人人操| 中文字幕一二三av| 亚洲AV秘无码一区..| 欧美性生活内射| 日日操丁香五月天| 偷拍 欧美 日韩| 亚洲蜜乳av| 激情综合二| 久久女人视频| 玖草在线视频| 99久热| 精品成人女人久久| 欧美成人一级免费电影| 九九热超碰97亚洲最新香蕉| 欧美激情亚洲情色| 欧美精品宗合| 亚洲欧美天堂在线| 精品人妻一区二区蜜桃视频| 欧美精品日韩久久久九| 黄色高清久久无码依人| 激情色图| 久久国产三区| 一区二区三区高清| 干婷婷综合网| 熟妇人妻一区二区| 久9精品| 久久HD| 蜜臀久久99精品久久久久久成人小说| 国产亚洲色婷婷久久99精品91葵花宝典| 亚洲精品国产精品乱码不99| 久草精品一区| 在线看片国产精品每日更新| 淫骚熟女一区二区三区| 久久久久久国产无码精品| 欧美狠狠鲁| 亚洲国产精品V?在线播放| 人人人人人人少妇| 立川理惠被中出无码| 97精品一二区| 乱性AV| 中文字幕片| 麻豆国产97在线| 美女人妻色网站| 免费操逼91| 日本熟妇熟色97一本在线观看| 国产成人五月天丁香花| 美女露胸露屁股| 香蕉视频欧美一卡二卡| 9精品久久| 国产大陆天天艹| 麻豆区99999| 一区二区三区免费视频入口| 嗯阿好爽好紧| 亚洲人妻在线一区| 97欧美久久久久久久| 亚洲欧美日韩综合在线尤物 | 伊色久人大在线| 国产操伦| 嫩草 我啊~嗯~在线| 久久精品国产亚洲AV片多多| 天天干夜夜鈤| 一区二区三区 丝袜高跟| 欧美性爱视频免费一区一A| 中亚黄色三级大片| 久久精彩免费视频| 99久久精品欧美国产| 欲香欲色天天天综合和网| 高跟丝袜AV专区国产| 五十路成人在线视频二区三区| 欧美丰满熟妇XXXX性ppX人交| 男人的天堂久久| 熟妇最新先锋一二三区| 国产日韩久久| 国产美女激情| 超碰在线91| 精品无码秘 人妻一区二区| 十八禁啪啦拍视频无遮挡| 综合色一区三区二区| 特级大荫道BBwBBwBBW| 亚洲色图日韩精品| 日韩兔费看黄片| 免看60秒涩涩视频| 成人日韩中文字幕| 女人爽到高潮潮喷18禁网站| 麻豆视频国产一区二区| 思思热在线视频免费| 97超色| 嗯嗯嗯嗯啊啊啊好紧好大| 一区二区三区黄片免费观看| 午夜αv| 国产精品乱码久久久久久久| 亚洲和欧美裸体美女双飞视频| 激情自拍 校园春色| 新亚洲无码| 97 国产精品| 亚洲黄日韩无码专区| 日本网色| 亚洲综合婷婷| 中国国国产一级特黄毛片| 男人女人18禁片免费看网站| 密臀在线视频| 亚洲精品黑丝| 伊人 俄罗斯 a v| 秋霞视频一区二区 | 久久黄黄| 69精品人人人人| 久久夜黄色无码A级大片| 天天看天天日| 高清国产精品福利网站| 亚洲全色网| 又黄又硬又粗又长国产视频| 国产精品久久久久久久久久二区三区| 久久精品一区二区三区不卡| 国产精品婬乱一级毛片彝族| 色就色综合| 精品免费视频国产一区| 啪啪综合网| 久久婷婷成人综合色怡春院| 啊v在线观看视频| 9美女超碰在线免费观看| 少好三P| 久久久一区二区| 色拍偷亚洲| 亚州综合AⅤ| 黄色十八禁网站| 国产农村妇女精品一二区| 人人妻人人操人人乐| 五月天色五月| 色香阁在线| 日本一二区免费| 91久久精品蜜臀| 日本天天色| 97五月天| 97激情97激情| 亚洲欧洲久久天堂| 国产精品九九| 老鸭窝成人| 午夜操一视频一区| 91成人无码| 人人爱人人乐人人操| 91天天综合网| 涩涩涩综合| 园内精品自拍视频在线播放| 天天干夜夜一操| 亚洲欧美中文日韩视频中国语| 日日日日日| 亚洲日韩一区电影| 欧美内射少妇| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 4399成人黄A片| 淫荡熟女乱伦网| 3d成人精品一区二区| 人妻中文字幕日韩电影| 99视频只有精品| 欧美九九99久久精品| 夜夜操一区二区| 亚洲欧美97| 国产大陆天天艹| 色爱三区| surenchaopeng| 中文熟女五十乱码在线| 91狠狠综| 深爱五月婷婷| 亚洲色综网| 96久久久| 性爱乱伦网址| 亚洲欧美setu| 国产粉嫩蜜臀av一区二区三区| 精品国产乱码久久久久久久久1| 欧美熟妇乱码在线一区| 97免费在线观看| 黄片国产精品一区二区| 精品少妇一区二区三区免费观看| 99国产精品久久久久久久成人热| 成人国产视频在线观看| 一区二区三区视频在线观看免费| 欧美91网站| 亚洲情色视频| 亚洲国产一区二区三区四区国产| 久久国产精品,久久国产| 国产97色在线 | 亚洲| 欧美一区二区日韩三区| 欧美亚洲日韩人妻在线观看| 五月开心久久AV官网| 白丝av| 国产激情综合五月久久| 综合亚洲网| 无码人妻丰满热妇又大又粗| 亚洲九九视频在线观看| av在线免费一区二区| 一个人在线看的黄色电影网站| 91精品操美女| 久久久久国产一区二| 91天天爱| AV在线性爱| 老熟妇综合| 精品国产Av无码久久久亚洲| 天美传媒一二三区永久网站| av网站免费看| 亚洲。日韩。欧美| 老熟女综合| 95人妻爽爽人人做人人澡| 91欧美巨乳| 国产久久av| 美欧老女人97| 久久亚洲AV无码专区国产精品| 亚洲综合另类欧美久久久| 97久操| 九色PORNY9l原创自拍| 91在线国产后入风骚翘臀美女素人| 天天干干天天干干| 青操影院| 无码抄逼网| 久久精品无码专区| 亚洲 欧美 天天| 欧美国产婷婷久久| 国产自产91区13区| 亚洲一区二区三区中文字幕| 国产成人天堂| 国产女人成人精品视频| 久久久91| 亚91亚洲网| 欧美爱三级日韩久久| 色九九九| 太久视频| 欧美性夜| 超碰1997| 日本精品成人无码| 欧美一二三| 殴美日韩m| 久操网线| 欧洲久久一二线| 欧美日日夜夜| 婷婷五月天激情小说| 亚洲美女精品九九视频| 色九九九九| 一区二区三区精品久久| 一起草三级AV电影在线观看| 国产美女口爆吞精| 成人精品在线| 少妇一级婬片免费放一级a性色.| 久久超碰、| 色婷婷视频| 国产人妻久久精品一区二区三区| 日韩在线视频1234| 在线观看岛国有码| 91一区二匹| 亚洲第一二区另类图| 乱伦图av| 欧美激情一区| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | a在线观看| 欧美性爱第一页久久| 99国内熟女露脸视频| 亚洲啪啪性视频| 男女做爰猛烈动高潮A片免费应用| 国产成人天堂| 国产欧美伊人| 欧美亚洲日本激情在线| 人人操人人插 - 百度 - 百度| 国产乱子伦一区二区三区免看| 99综合网| 成视频在线观看免费看| 亚洲AV无码黄色强奸| 秋霞Av理论一级在线| 欧美激色| 97se综合| 日本东京热大香蕉a片| 久久久久久人妻| 亚洲AV无码AV吞精久久久久 | 欧美亚洲激情小说| 色色激情五月天| 国产精品免费日韩| 日韩美女啪啪一区| 91少妇| 欧美操逼录像国产黄色国产| 98福利在线视频| 秋霞男人网| 亚洲综合网电影91| 91久久久久免| 激情丁香五月| 91精品国产麻豆国产自产在| 亚洲天堂无码| 人人摸人人干人人拍97| 操人人| 亚洲无码偷拍| 在线视频亚洲无码| 欧美性生活男人的天堂| 青娱乐休闲视频在线观看| 精品一区二区三区18| 国产97综合| 亚洲国产亚洲天堂| 久久久精品久久| 熟女精品一区二区在线观看| 青青草无码视频| 青青欧洲黑| 97精品综合久久网| 国产第11页| 伊人玖玖网| 午夜精品久久久99| 性爱欧美五月| 久久精品无码熟妇一区二区三区视频导航| 97超碰国产亚洲精品| 九九九九免费视频| 综合亚洲网| 欧美+日产+中文| 四虎影视欧美| 欧美福利视频啊啊啊啊| 国产精品一区av在线| 懂色中文一区二区三区| 日韩欧美aⅴ综合网站发布| 成人乱人伦一区二区| 亚川综合视频| 人人爱人人操人人性| 国产av美女被艹的乱叫| 日韩精品一区的| 天天爱天天韩国日本牛牛牛牛| 96AV精品| 天天射夜夜| 91精品人妻五十路| 久久久久久久| 亚州一区二区成人片免费| 国语对白在线播放视频| 开心婷婷五月| 国产熟妇一区二区| 噜噜瑟| 白嫩少妇| a天堂视频| 亚洲综合激情五月久久| 97中文字幕色| 欧美色图自拍| 亚洲国产精品无码AV久久久| 人妻熟女av国产网站| 久久人妻视频网| 殴美综合色88| 亚洲a色| 国产黄色影片在线观看| 天天综合亚在线| 麻豆 亚洲 97| 无码人妻精品酒店| 浪人综合网| 青青草视频这里只有精品| 91天射| 亚洲熟女综合一区二区| 十八禁的黄污污免费网站| 五月丁香久久| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 亚洲综合色婷婷| 天美一二三在线观看Av| 亚洲综合色图欧美| 日韩欧美俄罗斯A片| 亚洲精品久| 97在线播放 | 色情综合| 999熟女精品| 国产区日韩区在线观看| 你懂得91| 人妻熟妇久草在线| 大屁股人妻女教师撅着屁股| 麻豆人妻精品一区二区| 91成人亚洲色图| 亚洲 日本 国产 综合| 六九九九| 91制服丝袜中文字幕| 日韩色欲久久一二三四区| 99re6久热只有精品6在线直播 | 欧美性爱日韩高清| 黄页18禁| 69一区二区三区 | 中文熟女五十乱码在线| 日韩色| 超碰1024久久| 岛国A V在线免费看| 精品国产乱码久久久久久久久1| 国产蜜臀精品一区二区尤物| 久久精品国产免费观看99| 91路www| 国产大陆天天艹| 大香蕉99热| 国产精品白领在线观看| 动漫片子网站3黄| 天天看夜夜看日日干| 大香蕉亚洲中文| 快灬快灬 一下爽蜜桃在线观看| 亚洲欧洲国产综合av| 俺也射| 久久‘黄片视频| 人人九九精| 大香蕉一线视频| 伦理日韩国产久久| 九九成人| 亚洲最新Av| 久久精品72| 无码操逼网| 超碰免费欧美7| 九九热视频这里只有精品| 无码久久国产 | 超碰 97国产熟女| 一级二级在线观看| 久久超碰、| 欧美一区二区三区四区综合| 不卡一区视频| 午夜色婷婷| 91精品国产91熟女| 夜夜爽妓女| 免费啪啪av| 精品国产乱码久久久久久日本公司| 亚洲 欧美 手机在线观看| 欧美肥臀在线| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 色综合V| 欧洲精品久久| 97av在线视频| 在线无码视频| 青青草原av| 久久久亚洲精品电影免费看| 国产大陆天天艹| 成人夜夜| 欧美综合第一| 熟女人妻一区二区三区| 欧美乱伦专区| 伊人久久亚洲色欲综合网站 | 啊啊啊用力在线观看| 一区二区三区亚洲| 亚洲高清欧美总合| 亚洲凸凹超碰成人| 91在线页| 综合欧美日本三级| 51久久夜色精品国产麻豆| 亚欧美色图| 玖玖综合色| 亚洲日韩精品在线播放| 一级性爱视频免费观看 | 欧美18禁91| 国产成人无码高清| 国产美女口爆吞精视频| 中文字幕视频二区| 麻豆天美在线喷水AV| 淮穴色AV| 大香蕉综合| 成人七区| 三男一女不戴套的A片| 91国产丝袜白虎| 91欧美美女日韩国产婷婷| 婷婷久久综合久| 亚洲国产精品无码AV在线| 久久久久久9| 怡红院网站在线视频| 欧美在线55555| www四虎| 日产狠狠干| 日韩黄色成人性爱| 国产精品激情久久久久久久| 免费国产电影一区二区| 欧美超碰97| 欧美伊人电影| 激情婷婷丁香网| 亚洲日韩熟女人妻高清在线| 丝袜天堂| 欧美72网页| 日本三级日本三级三级人妇四虎| 天天爱天天韩国日本牛牛牛牛| 国产精品自在自拍视频| 国产福利小视频高清在线观看| 在线毛片片免费观看| 久久久九九九| 日本性爱视频一级| 丁香九月 婷婷| 欧美性爽xyxOOOO| 综合夜夜| 很很操在线| 肏逼视频日本| 亚洲日本激情| 日韩 欧美 视频 在线 一区| 亚洲精品天堂久久A∨51成人漫 | 男人精品天堂一区| 国产AV人人夜夜澡人人爽麻豆| 久久久精品中文字幕麻豆| 四虎在线免费视频| www久久精品| 亚洲一区中文字幕| 亚洲色图图片| 超碰在线欧美性爱激情| 欧美一区二区福利在线| 国产久久av| 天天躁日日躁AAA片李宗瑞| 色综合色欲色综合色综合色综合| 色播丁香| 一区二区三区网站日日骚| 欧美成不卡网| 欧美91久久久久| 国产丝袜一区二区三区| 欧美啪啪色吧在线| 午夜视频黄| 激情视屏国产乱伦强奸| 久99热| 德国一二三不卡| 蜜桃久久精品一区二区三区| 亚洲诱惑天堂| 欧美加勒比| 欧美18 在线观看| 黄色性爱网网| 性色avv| 青青草玖玖爱| 色臀AV| 欧美 日韩 亚洲 春色| 亚洲第一无码播放立川理惠| 中文字幕一区 二区三四五 区日 日骚| 免费看污网站| 久草成人影片| 操操操五月天婷婷丁香影院| 国产精品熟女丝袜一区二区| 久久久久13| 少妇色综合| 婷婷色香伊人| 免费av大片| 超硑97精品| 欧美男人的天堂| 亚洲色图尤物视频| 久久久九97| 五十路人妻在线| 性夜影院爽黄A爽免费动漫| 深夜国产一区二区三区在线看| 黑操B| 欧美后入式| 一级@啪啪视频| 久久超碰爱| 欧美精品不卡一二三四在线91| 国产自制av蜜乳| 日本99热| 97精品视频在线播放| 亚洲人体视频在线观看| 9久综合网| 久9综合在线| 天堂无码精品国产久| 性色avv| 亚洲少妇视频| 亚洲福利中文字幕在线| 亚洲日韩久久精品一区| 92性色国产午夜福利在线661| 超碰在线看| 日韩欧美中文字亚洲慕| 中文字幕一区二区三区高清| 欧美少妇一区二区三区| 91亚洲欧美激情| 国内毛片免费h片在线| 欧美高潮| 日韩精品黄片免费观看| 91AV天堂| 久久社区一区二区三区| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 久久久久久九九九九| 狠狠综合| 国产美女自拍视频| 天天干天天干天天| 密臀视频三区免费网站| 九九碰九九爱97超碰| 国产尤物在线三区| 日韩婷婷| 亚洲图片欧美偷拍| 激情六月天| 欧美日韩资源| www鬼畜国产男人的天堂| 亚洲综合首页| 亚洲中文字幕有码视频一区二区三区| 97爱爱爱| 久久超碰、| 欧美激情视频在线一区| 狠狠亚洲| 国产三级多多影院2022国产AA一级毛片无码| 麻豆天美制片厂网站视频| 91av熟女人妻| 传媒免费一区二区三区| 92午夜免费福利视频| 9久9久| 天天综合精品| 一区AV| 久久精品视| 成人国产精品三级A片| 欧美丝袜91| 看看小穴| 日韩精品中文字幕一| 大香蕉手机在线| 久久天天摸| 伦激情人妻另类人妻| 99热8| 依人大香蕉| 中文操逼字幕| 91国精产品| 综合五月天| 久久久久久久九九九九九九| 久热99999| 亚洲综合色男人网| 午夜一区二区三区国产| julia国产在线 | 成人性交免费视频| 桃色六月天| 爆操无码| 国产又黄又粗又猛大片| AV丝袜东京热| 综合网欧美在线| 亚洲h片在线免费观看| 哑洲在线| 青青色综合| 亚洲中文字幕精品久久久久久直播| 久久久久九九九| 韩国国产欧美情侣视频在线| 亚洲少妇喷视频看| 性色av蜜臀av色欲aV| 亚州性色| 精品欧美日韩在线观看| 大香蕉 222| 日韩成人电影AV| 又粗又长又爽在线观看| 啊啊嗯嗯好爽| 美女91网址| 97国产天堂岛| 亚洲熟女乱色| 午夜丁香| 91动漫操逼视频| 亚欧毛片基地国产毛片基地| 好涩综合| 精品二区三四区五电影 | 欧美97爱| 欧美色图片色哟哟| 98超碰日本| 麻豆黄四叶草网站| 91丨国产丨白浆| 五月婷婷久久综合| 黄色免费网页无码| 亚洲精品国产专区在线观看| 亚洲色图欧美一区二区不卡| 色与欲影视天天看综合网| 97频视在线| 91在线色| 色婷婷综合久久久久中文一区二区 | 开心六月色| 天天操女人| 情侣开房子拍 日韩无码 女的很漂亮| 成人av免费观看| 日韩精品视频在线观看一卡二卡| 国产成人无码啪| 欧美日韩*字幕一区| 成人精品无码| 啊啊啊操死我| 九九无码| 精品视频一区二区| 日韩免费a级毛片无码a∨| 亚洲少妇在线观看| 2017大香蕉| 91色图| 欧美欧美啪啪视频| 不卡av免费在线网址| 思思热国产高清| 亚洲欧美日韩偷拍色图| 丰满人妻一区二区三区色-百度| 少妇熟女一区二区三区| 久操国产在线| 狠狠干91| 高清在线不卡一区二区 视频| 乱伦熟女专区| 人妻中文字幕精品无码 | 97在线资源| 欧美线天码中字| 欧美日韩色| 少妇久久久久久久| 亚洲性爱成人| 欧美久久人人网| 国产精品视频精品一二| 99天堂网| 九九九综合精品| 诱惑人妻欧美一区在线播放| 亚洲熟女一区| 5252色欧美在线男人的天堂| 日韩综合97p| 精品国产一区探花在线观看| 精品久久无码午夜福利| 黄片com.| 蜜臀av一区二区三区免费观看| 天天色悠悠激情| 丁香婷婷激情五月天无毒不卡 | 日逼国产| 后入美女国产| 日本欧美色| 美女天天干| 91免费看一区二区三区| 强奸乱伦亚洲第一页| 日本123区操B视频| 爱干爱射网啊啊啊| 人妻大香蕉| 中文字幕99999| 激情国产乱伦Av| 狠狠狠狠狠狠| 国产日韩人人| 少妇熟女一区二区三区| 乱伦色图网址是多少| 激情看片网站| 人妻精品一区二区全免费| 人澡逼| 天堂69亚洲精品中文字| 91成人精品在线播放| 亚洲情色电影网| 欧美日韩青操| 97亚洲综合影院| 亚洲欧综合另类无码一区| 久久久久久久久久久六六| 97碰碰日本乱偷人妻中文的| 97久久久久| 久久社区一区二区三区| 国产av高清版| 偷偷人人精品女女久久| 91香蕉视频在线观看免费| 天天干天天干天天干| 东北操逼| 无码直播久久久| 亚洲欧美激情另类色图| 超碰这里有精品| 日韩人妻一区二区| 久热这里| 毛片99-全集电影手机免费观看完整-B029AV| 深夜福利黄片| 99色视频| 天天操福利视频综合网站| 日本黄色大片一级视频免费麻豆| 久久黄黄| 国产精品久久泡妞网站| 国产精品探花视频| 伊人久久亚洲中文字幕不卡| 少妇综合网| 99久久久| 加勒比99999| 美女黄频a美女大全免费皮| 天天干天天中出av| 日韩无码操逼片| 日韩一级二级在线| 白丝AV| 熟女丝袜视频| 人妻丝袜一区二区三区在线| 欧美成人一区二区三区在线播放| 成人热久久精品| 国产精品久久久久久亚洲色欲| 伊人天堂在线| 青青草好吊色| 亚洲一区深夜| 天天伊人| 理论久久婷婷网 8| 97啪啪| 高潮内射在线| 思思久热在线精品66| 天天日日舔舔| 亚洲欧美综合| 大香蕉伊人网WWWn0n| 天天看天天日天天操| 好湿好紧好爽 视频| 亚洲欧美小说| 成人女人国产| 热无码中文亚洲H一道本一区二区| 夜夜高潮夜夜爽高清视频一| 亚洲无码偷拍| 亚洲限制级| 人妻人人做人人澡人人爽欧美一区| 久久综合久色欧美综合狠狠| 精品性爱一二三区| 久久青娱乐| 嗯啊不要啊在线| 欧美操人视频| 60秒免费小视频| 日本在线视频导航| 日骚逼视频| 97亚洲一区| 亚洲国产婷婷在线播放| 人妻精品一区一区三区蜜桃91| AV电影在线播放| 亚洲国产综合视频| 久久、1234| 欧美性爱系列| 99国产精品| 天天内射| 五月丁香成人网| 久久国产在线一区二区| 欧洲小说色图视频另类| 99精品久久久久久久婷婷蜜桃| 自拍六区| 西西美女视频网| 最近的最新的中文字幕视频| 好吊色综合| 欧日韩在线观看| 91性高潮久久久久久久久| 99re这里只有精品9| 亚洲男人天堂2016| 99在线精品观看99| 精品人妻视频入口| 成人情色综合网| 大香蕉免| 91人妻Pr| 久久久久亚洲三级电影| 国产91专区| 日本不卡三级网在线播放| 大香蕉强奸乱伦| 亚州一区二区| 久久视频,这里只有精品 | 肉动漫无遮挡h在线观看| 老司机免费视频在线91| 亚欧精品久久久久久久久久久| a一区二区三区乱码在线| 嗯嗯嗯啊啊在线观看| 天堂精品小草| Julia在线播放亚洲久久| 女人被男人桶爽视频网站| 欧美翘臀视频网站一区二区三区| 亚洲欧洲久久天堂| 中文字暮97| 欧美成va视频网站| 亚欧毛片基地国产毛片基地| 青青青青青手机视频| 91 丝袜在线观看| 91女网站| 亚洲综合另类| 中文字幕日本久久| 国产毛片久久久久久久| 午夜舔阴达高潮视频免费看| 天天射天天色成人| 国产人妻精品一区二区三区秋霞 | 亚洲超碰97| 深爱伊人影院| 天堂综合| 色哟哟1区2区| 四虎国产成人精品免费一女五男| 98一区二区精品| 丁香五月天堂| 天天色综亚洲91污| 神马久久久久久伦理片| 100啪啪视频大全| 97精品视频| 亚洲视频精选| 亚洲图片小说欧洲| 久久99干一本高清| 丝袜高跟澳门91视频| 91麻豆一二三区| 99在线视频播放| 操b网站亚洲无码| 欧中日成人免费影视| www鬼畜国产男人的天堂| 亚洲五月丁香花狠狠干一区二区三区| 十八禁视频网站| 日韩免费性爱视频在线观看| 熟女人妇一区二区三区| 日本视频一区二区三区| 大香蕉久| 秋霞蝌科网日本一区| 亚洲97久久精品亚洲| 国产精品制服丝袜清纯唯美| 亚洲暴力强奸AV| 色婷婷九月天天综合| 成人网站 免费观看| 极品美女福利在线观看| 东亚亚洲无码高清| 白嫩国模丰满一二三区| 激情五月天丁香社区| 欧美亚洲中文字幕| 国产亚洲精品自在线亚洲情侣| 五月丁香社区婷婷日韩欧美精品影院 | 在线综合色| 最新日产中文在线麻豆| 天天干天天狼在线视频| 五月色网| 色综合91| 啊啊啊啊二区好大| 另类专区加勒比| 91在线观看,天天综合| 高清无码人妻久久久一区二区三区aⅴ| 一本久道久久综合狠狠爱一密臀精| 国产精品久久蜜乳av| 婷婷超| 日韩性爱人人爱人人操| 亚洲天堂7777| 日日干日日| 红桃视频高潮| 色偷偷超碰亚洲| 麻豆91熟妇人妻中文字幕茄子| 少妇久久久久久| 亚川综合视频| 色婷婷香蕉| av婷婷色网| 91青青在线视频| 日日爱99| 操高情无码| 日韩草久视频| 精国久久一区二区三区98| 少妇的嫩逼图片| 一级二级三级黑人无码| 中国探花熟女| 国产青一二三| 五月天欧美色图| 成人羞羞视频国产| aaaa少妇高潮大片| 午夜精品99久久久久传媒| 国产久久一区二区| 97精品在线视频| 影音先锋视频在线| 夜色五月天| 天堂综合| 中文?日韩?免费?精品| 国产精品久久久久久片| 五月天春色激情网| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 亚洲欧美日韩电影网站一区| 综合久久2017| 另类 日韩 熟女| 操我啊啊啊啊啊| 中文字幕熟女人妻丝袜丝| 精品国产三级av韩国在线| 国产精品自产拍在线观看社区| 亚洲熟女国产综合另类| 校园春色美腿丝袜 | 婷婷中文网| 日日夜夜国产综合| 久久久久久九九九| 亚洲熟女av日韩熟女| 欧美日韩婷婷中文| 精品九九九| 国产成人网址| 日产成人久久| 国产一级高跟丝袜| 澳门成人网站久国产日韩| 日1区2区3区2020| 不卡一区二区日本视频| 精品国产一区二区三区久久久蜜臀| 精品国产99999| 亚洲乱码尤物193YW| 欧美亚洲美少妇一区二区| 日本一道在线播放高清| 二色av| 欧美另类天堂| 国岛片视频| 裸体美女久久久| 国产真乱mangent| 人妻久热在线| 中文字幕精品码亚洲| 婷婷视频网| 久久一二三四五六七八九区| 韩国黄片aaaa| 欧美日动态视频| 99国产在线 精品 视频| 青青草色情网站视频| 午夜男女爽爽大片免费观看| 青青欧美在线| 狠狠操狠狠操操| 久久国色天香香蕉| 久久久精品| 天天肏美女| 国产一区二区三区高清视频| 精品久久久av| 婷婷久久五月综合激情| 厕所偷拍在线| 92性色国产午夜福利在线661 | 9久在线视频只有精品| 久久久久久亚洲精品中文字幕人妻| 欧美亚洲特P| 久久麻豆一区二区| 麻豆天美91| 中文字幕 一区二区 亚洲无码| 91综合色噜噜| 中文字幕片| www.yeyecao| 欧美亚洲宗合色性图| 久久久久久久国产a∨| 91精品国产91久久久久久久久久久久| 午夜福利成人免费视频| 97亚洲自在精品在线观看| 五月天婷婷久久| 亚洲av青草久久一区二区| 久久国产精品,久久国产| 操婢日韩| 欧亚日本情色| 亚洲精品一区中文字幕乱码| 欧美中出| 亚洲视频二区| 久久99亚洲精品久久99果| 蜜臀AV午夜精品久| 蜜桃在线观看一区二区三区| 色天使亚洲综合在线观看| 91天天美女| 国内精品999| 性在久久久久久| 97操b| 插老姨肥穴| 日本精品一区二区中文字幕| 亚洲综合首页| 欧洲亚洲天堂精品| 日本在线一二| 黄色片一区二区三区四区五区| 欧美日韩97在线| 九九久久九九久久| jk白丝没脱就开始啪啪| 夜夜高潮夜夜爽夜夜爱爱一区| 操我啊啊啊啊啊| AV不卡在线| 青青在线视频日韩欧美| 蘋果手機免費看成人Av| 五月婷丁香| 高清无码一区二区三区| 一区二区三区看视频| 神马午夜久久久| 亚洲天堂 视频你懂的| 亚洲国产精品成人综合| 91在线观看,天天综合| 欧美精品丝袜久久久中文字幕| 人妻中文字幕日韩电影| 精品无码欧美三级| 国产三级中文字幕粉嫩| 91伊人大香蕉| 五月婷婷综合网| 岛国AB视频| 日韩性爱一级片| 97鸡把在线视频| 天操老女人| 国产伦精品免编号公布| 日本网色| 国产AV毛片| 韩国三级一线观看久| 国产精选视频| 午夜精品人妻二区三区| 日韩久久超碰色| 嗯嗯啊操我| 婷婷伊人网| 3d成人精品一区二区| 色欲Av人妻精品一区二| 九热久| 国产激情在线| 亚洲骚男同com| 97在线青| 69精品人人人人| 夜夜爽妓女| 爆乳免费黄网站| 伊人AAA| 俺去也婷婷| 色婷网| 欧美刺激色黄片免费看| 日韩中文字幕人妻视频| 亚洲无码超碰免费| 中文字幕一区二区视频在线观看| 午夜操一视频一区| 97在线观看免费| 精品一区二区久久| 久久人人爽av亚洲精品天堂桃色| 欧美少妇内射| 熟妇艹鸡八| 日韩激情毛片一级久久久| 久久久久久AV无码免费网站| 亚洲阿v天堂无码z2018| 国产美女在线精品免费看| 嗯嗯啊好爽| 五十路一区无码| 91亚洲人| 亚洲国产精品无石码久久| 国产精品天堂| 欧美中文字幕精品人妻| 日韩熟女精一区二区三区不卡| 91日韩网站| 天堂亚洲欧美| 九九热精品| 久久久久9999| 91P0RNY大屁股人妻| 综合伊人激情| 啪啪视频亚洲第一| 国内亚洲精彩视频在线| 黄色小视频日本txt| 亚洲AV无码国产精品久久久久 | 亚洲诱惑天堂 | 日本三级日本三级99| 香蕉婷婷| 久久久久性熟视频|