色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

JavaWeb酒店管理系統(tǒng)課設(shè)源碼全解析:從環(huán)境配置到答辯拿高分

JavaWeb酒店管理系統(tǒng)課設(shè)源碼全解析:從環(huán)境配置到答辯拿高分 簡介這是一套面向計(jì)算機(jī)專業(yè)本科生的JavaWeb酒店管理系統(tǒng)實(shí)戰(zhàn)項(xiàng)目資源專為課程設(shè)計(jì)與期末大作業(yè)打造適用于正在完成JavaWeb綜合實(shí)踐、需要完整可運(yùn)行項(xiàng)目參考的學(xué)習(xí)者。資源包含92個(gè)文件涵蓋15個(gè)JSP頁面實(shí)現(xiàn)前臺(tái)展示與交互、14個(gè)Java類含Servlet與Bean邏輯、3個(gè)SQL腳本建庫建表初始化數(shù)據(jù)、8個(gè)CSS與4個(gè)JS文件前端樣式與行為控制以及配套文檔與圖片資源壓縮包僅2.89MB結(jié)構(gòu)清晰、部署輕量。已有162人下載學(xué)習(xí)項(xiàng)目經(jīng)大三學(xué)期導(dǎo)師指導(dǎo)并獲98分高分評(píng)價(jià)具備完整MVC分層結(jié)構(gòu)與典型業(yè)務(wù)閉環(huán)——支持客房管理、入住登記、訂單查詢、延期續(xù)住、營收統(tǒng)計(jì)等核心功能。用戶可直接導(dǎo)入Eclipse/Tomcat運(yùn)行快速掌握數(shù)據(jù)庫連接、會(huì)話管理、前后端交互及系統(tǒng)集成等關(guān)鍵技能。 上個(gè)月幫一位學(xué)弟調(diào)試期末大作業(yè)項(xiàng)目是JavaWeb酒店管理系統(tǒng)。他自己在網(wǎng)上找的源碼包目錄里有完整的源碼、數(shù)據(jù)庫腳本文件、還有一份挺詳細(xì)的文檔說明結(jié)果折騰了三天愣是沒跑起來。我?guī)退崂砹艘槐榄h(huán)境、改了十幾處配置、把數(shù)據(jù)庫重新導(dǎo)了一遍總算在Tomcat里跑通了。后來我順手把這套項(xiàng)目的結(jié)構(gòu)完整讀了一遍發(fā)現(xiàn)這類課設(shè)雖然網(wǎng)上滿天飛但真正能在本地順利跑通、能撐住答辯的其實(shí)不多。這篇文章就圍繞這個(gè)JavaWeb酒店管理系統(tǒng)展開把項(xiàng)目整體設(shè)計(jì)、數(shù)據(jù)庫腳本文件的核心邏輯、代碼實(shí)現(xiàn)要點(diǎn)、常見運(yùn)行問題和答辯準(zhǔn)備都拆開講一遍。內(nèi)容主要面向正在做JavaWeb期末大作業(yè)的同學(xué)也適合想系統(tǒng)復(fù)習(xí)JavaWeb技術(shù)棧JSP、Servlet、JDBC、MySQL的人作為參考。無論你是拿這套源碼應(yīng)急還是打算從零手寫一個(gè)都可以從里面找到能直接抄的配置和代碼思路。1. 選題分析酒店管理系統(tǒng)為什么成了JavaWeb課設(shè)的常青樹每年期末都能看到大量酒店管理系統(tǒng)、圖書館管理系統(tǒng)、學(xué)生選課系統(tǒng)放在一起批量出現(xiàn)這不是偶然。對于JavaWeb課程來說判斷一個(gè)課設(shè)項(xiàng)目合不合格核心其實(shí)是看它能不能覆蓋這門課要求的大部分知識(shí)點(diǎn)。酒店管理系統(tǒng)在這個(gè)維度上幾乎是無死角覆蓋而且業(yè)務(wù)模型足夠直觀不需要答辯老師先花十分鐘理解業(yè)務(wù)背景。1.1 一個(gè)酒店管理系統(tǒng)能覆蓋哪些技術(shù)考點(diǎn)先列一下JavaWeb課設(shè)里最常見的考核點(diǎn)JSP頁面開發(fā)列表頁、表單頁、登錄頁、詳情頁涉及JSTL標(biāo)簽、EL表達(dá)式、指令與動(dòng)作元素Servlet控制器請求接收、參數(shù)封裝、業(yè)務(wù)跳轉(zhuǎn)、轉(zhuǎn)發(fā)與重定向的區(qū)別JDBC數(shù)據(jù)庫操作Connection、PreparedStatement、ResultSet的完整生命周期會(huì)話管理Session存用戶信息、Cookie存自動(dòng)登錄、Filter做登錄攔截前端交互HTML表單校驗(yàn)、AJAX局部刷新加分項(xiàng)、Bootstrap頁面美化數(shù)據(jù)庫設(shè)計(jì)多表關(guān)聯(lián)、外鍵約束、視圖或存儲(chǔ)過程事務(wù)處理訂房、退房結(jié)賬等涉及多個(gè)表寫入的操作酒店管理系統(tǒng)恰好就是把以上所有點(diǎn)全部串起來的業(yè)務(wù)場景。管理員登錄之后要查詢房態(tài)、管理房間信息、處理客戶預(yù)訂、辦理入住和退房、生成賬單這些操作天然就要求系統(tǒng)有“增刪改查”的完整閉環(huán)而且不同模塊之間還有數(shù)據(jù)依賴比如預(yù)訂成功之后房間狀態(tài)要變、退房之后房間要恢復(fù)可訂。這個(gè)業(yè)務(wù)連貫性讓項(xiàng)目演示效果很直觀老師說“你演示一下從客戶預(yù)訂到退房結(jié)賬的完整流程”系統(tǒng)就能順順暢暢走一遍基本不存在“功能點(diǎn)之間是孤島”的問題。1.2 拿到源碼包之后第一步應(yīng)該做什么很多同學(xué)下載完源碼包就直接丟進(jìn)IDEA點(diǎn)運(yùn)行結(jié)果一堆報(bào)錯(cuò)心態(tài)直接崩了。我?guī)蛯W(xué)弟排錯(cuò)的時(shí)候發(fā)現(xiàn)大部分問題其實(shí)在動(dòng)手之前就可以避免。拿到任何一套JavaWeb課設(shè)源碼建議按以下順序檢查而不是急著運(yùn)行看目錄結(jié)構(gòu)。正常情況下應(yīng)該有srcJava源碼、webJSP頁面和靜態(tài)資源、sql或db數(shù)據(jù)庫腳本文件、README或doc文檔說明。如果沒有說明文檔這套源碼的完整度就要打個(gè)問號(hào)后邊跑起來的成本會(huì)高不少。讀文檔說明。重點(diǎn)看三處開發(fā)環(huán)境要求JDK版本、Tomcat版本、MySQL版本、數(shù)據(jù)庫初始化步驟怎么導(dǎo)入腳本文件、默認(rèn)管理員賬號(hào)密碼是什么、部署步驟要不要改配置文件、有沒有依賴的jar包。這套酒店管理系統(tǒng)的文檔說明里一般會(huì)有“環(huán)境要求”這一節(jié)學(xué)弟當(dāng)時(shí)就是跳過了它導(dǎo)致用Tomcat 10跑了javax包下的老代碼一直報(bào)ClassNotFoundException。檢查項(xiàng)目用的技術(shù)棧。是純JSPServlet還是用了Spring MVC還是MyBatis。純Servlet的項(xiàng)目結(jié)構(gòu)相對直白適合課程考核如果引入框架說明文檔通常會(huì)更長部署步驟也可能更復(fù)雜。注意拿到源碼后先別急著改代碼先把它“原樣跑通”再談修改和優(yōu)化。連原版都跑不起來的項(xiàng)目改了只會(huì)更亂。2. 項(xiàng)目結(jié)構(gòu)與技術(shù)棧拆解讀懂一套JavaWeb課設(shè)源碼的正確姿勢這套酒店管理系統(tǒng)采用的是最經(jīng)典的JavaWeb三層架構(gòu)JSP負(fù)責(zé)頁面展示Servlet負(fù)責(zé)接收請求和跳轉(zhuǎn)DAO層負(fù)責(zé)JDBC數(shù)據(jù)庫操作中間還夾著一個(gè)JavaBean實(shí)體層用來傳遞數(shù)據(jù)。這套結(jié)構(gòu)雖然簡單但它把MVC的理念體現(xiàn)得非常清楚對課設(shè)來說完全夠用也方便在文檔里畫架構(gòu)圖。2.1 包結(jié)構(gòu)與分層設(shè)計(jì)源碼的包結(jié)構(gòu)一般長這樣雖然不同博主寫出來的命名會(huì)略有差異但核心分層基本一致src ├── com.xxx.entity 實(shí)體類User、RoomType、Room、Customer、Order ├── com.xxx.dao 數(shù)據(jù)訪問層RoomDao、OrderDao、CustomerDao ├── com.xxx.servlet Servlet控制器LoginServlet、RoomServlet、OrderServlet ├── com.xxx.util 工具類DBUtil、StringUtil └── com.xxx.filter 過濾器EncodingFilter、LoginFilter web ├── admin 后臺(tái)管理頁面login.jsp、roomManage.jsp、orderManage.jsp ├── css / js / images 靜態(tài)資源 └── WEB-INF web.xml、lib目錄第一次接觸這套結(jié)構(gòu)的同學(xué)很容易困惑一個(gè)問題為什么JSP頁面還能直接訪問數(shù)據(jù)庫非要繞一大圈搞個(gè)Servlet和DAO這個(gè)問題的標(biāo)準(zhǔn)回答是“職責(zé)分離”。JSP如果直接寫JDBC代碼頁面會(huì)越來越臃腫改SQL還得在HTML里找維護(hù)成本非常高。而用Servlet接收請求之后調(diào)用DAO頁面只負(fù)責(zé)拿數(shù)據(jù)渲染View誰出問題就查誰代碼的復(fù)用性也更好。比如RoomDao里寫一個(gè)findRoomByCondition()方法既可以被房間管理頁面調(diào)用也可以被統(tǒng)計(jì)報(bào)表模塊復(fù)用不需要復(fù)制粘貼第二遍。2.2 Servlet的映射方式與頁面流轉(zhuǎn)在Servlet 3.0以后可以用WebServlet(/login)注解直接配置映射不需要跑到web.xml里寫一長串。課設(shè)項(xiàng)目里兩種方式都可能出現(xiàn)老一些的教程偏好web.xml集中管理新一些的項(xiàng)目用注解居多。判斷方法很簡單看src目錄里有沒有WebServlet注解有就是注解方式?jīng)]有就去web.xml里找servlet-mapping。整個(gè)系統(tǒng)的頁面流轉(zhuǎn)邏輯是未登錄用戶訪問任何后臺(tái)頁面 → LoginFilter攔截 → 跳轉(zhuǎn)到login.jsp管理員填賬號(hào)密碼提交表單 → LoginServlet接收參數(shù) → 校驗(yàn)通過后Session記錄用戶 → 跳轉(zhuǎn)index.jsp主頁主頁菜單點(diǎn)擊“房間管理” → RoomServlet接收actionlist → 查詢房間列表 → 轉(zhuǎn)發(fā)到roomManage.jsp渲染表格房間詳情或預(yù)訂操作 → RoomServlet接收actiondetail或book → 處理后跳轉(zhuǎn)對應(yīng)頁面這里有個(gè)容易踩的坑Servlet里用了response.sendRedirect()的情況request.setAttribute()寫入的數(shù)據(jù)會(huì)丟因?yàn)橹囟ㄏ蚴侵匦掳l(fā)一次請求舊request對象已經(jīng)銷毀了。如果需要帶數(shù)據(jù)到下一個(gè)頁面必須用轉(zhuǎn)發(fā)request.getRequestDispatcher().forward()或把數(shù)據(jù)塞進(jìn)Session。2.3 這套系統(tǒng)為什么不用Spring Boot很多同學(xué)喜歡問現(xiàn)在企業(yè)開發(fā)都用Spring Boot課設(shè)里能不能直接用能不能用取決于課程任務(wù)書怎么寫的。如果任務(wù)書明確要求使用JSP/Servlet/JDBC完成那就老老實(shí)實(shí)用原生技術(shù)棧因?yàn)槔蠋煹目己它c(diǎn)就是這些基礎(chǔ)。如果任務(wù)書只說了“采用JavaWeb技術(shù)實(shí)現(xiàn)”那Spring Boot也可以。但從課設(shè)項(xiàng)目本身來說原生JSPServlet的項(xiàng)目結(jié)構(gòu)更簡單部署也不需要打包成jar更適合演示也更容易讓老師在代碼答辯環(huán)節(jié)看出你確實(shí)理解了JavaWeb的基礎(chǔ)概念。用Spring Boot做酒店管理系統(tǒng)代碼量確實(shí)更少配置也省了很多但答辯的時(shí)候老師一旦問到“你的Servlet請求是怎么處理的”你很難用框架的簡化邏輯去解釋底層機(jī)制。反過來原生Servlet的項(xiàng)目可以直接把過濾器、會(huì)話、JDBC事務(wù)一個(gè)個(gè)指給老師看這是課設(shè)評(píng)分規(guī)則里非常占優(yōu)的。所以除非任務(wù)書強(qiáng)制要求框架否則我建議課設(shè)階段就老老實(shí)實(shí)用原生技術(shù)棧把基礎(chǔ)原理吃透。3. 數(shù)據(jù)庫腳本文件分析表結(jié)構(gòu)設(shè)計(jì)與導(dǎo)入全過程這套系統(tǒng)的數(shù)據(jù)庫腳本文件是整個(gè)項(xiàng)目里最容易被低估的部分。很多同學(xué)拿下來之后直接打開MySQL執(zhí)行跑完就開始寫代碼完全不看表結(jié)構(gòu)。實(shí)際上數(shù)據(jù)庫腳本設(shè)計(jì)得怎么樣直接決定了系統(tǒng)功能的擴(kuò)展邊界和代碼的復(fù)雜程度。3.1 核心數(shù)據(jù)表及其設(shè)計(jì)意圖一套功能完整的酒店管理系統(tǒng)腳本文件里通常至少包含以下幾張核心表表名主要用途關(guān)鍵字段t_admin管理員/操作員賬號(hào)表id, username, password, real_namet_room_type房型字典表id, type_name, price, bed_num, areat_room房間表id, room_no, type_id, status, floort_customer客戶信息表id, name, id_card, phone, create_timet_order預(yù)訂/入住訂單表id, order_no, room_id, customer_id, start_time, end_time, total_price, statust_check_in入住記錄表部分系統(tǒng)合并到訂單表id, order_id, check_in_time, check_out_time, deposit核心的設(shè)計(jì)思路是房間表和房型表分離。房型表存“標(biāo)準(zhǔn)間”“大床房”“豪華套房”這些公共信息比如基礎(chǔ)價(jià)格、面積、床數(shù)房間表存具體的物理房間比如501號(hào)房間屬于標(biāo)準(zhǔn)間房型。這樣設(shè)計(jì)的好處是當(dāng)某個(gè)房型價(jià)格調(diào)整時(shí)只需要更新房型表里的一條記錄而不是把所有房間的價(jià)格都改一遍。這就是數(shù)據(jù)庫范式設(shè)計(jì)里講的“避免數(shù)據(jù)冗余”答辯的時(shí)候如果老師問為什么分兩張表這個(gè)回答就很加分。訂單表的status字段也值得留意一般用int類型表示狀態(tài)而不是直接用varchar存中文。用int的好處是穩(wěn)定、省空間、不容易因?yàn)橹形妮斎氩灰恢聦?dǎo)致查詢失敗。常見的編碼規(guī)則是0已預(yù)訂、1已入住、2已退房已完成、3已取消。在代碼里要定義成常量不要散布在各處魔法數(shù)字。3.2 數(shù)據(jù)庫腳本的導(dǎo)入步驟拿到sql文件之后常見的導(dǎo)入方式有兩種我推薦用命令行或Navicat都行但順序錯(cuò)了會(huì)報(bào)外鍵錯(cuò)誤。方式一命令行導(dǎo)入最穩(wěn)不依賴GUI工具mysql -u root -p Enter password: ****** mysql CREATE DATABASE hotel_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; mysql USE hotel_db; mysql SOURCE D:/hotel/hotel.sql;注意如果sql文件里已經(jīng)寫了CREATE DATABASE和USE語句就不用手動(dòng)建庫了。判斷方法是打開sql文件看前5行有CREATE DATABASE就直接source。方式二Navicat導(dǎo)入右鍵點(diǎn)擊連接 → 新建數(shù)據(jù)庫 → 字符集選utf8mb4 → 雙擊打開新數(shù)據(jù)庫 → 右鍵 → 運(yùn)行SQL文件 → 選擇sql文件路徑 → 開始。導(dǎo)入成功之后重點(diǎn)檢查一下t_admin表里有沒有初始數(shù)據(jù)。課設(shè)系統(tǒng)的默認(rèn)管理員賬號(hào)通常是admin密碼是admin123但也有博主改成其他值可以在SQL里搜INSERT INTO t_admin看一下到底寫入的是什么。如果腳本文件里沒有初始賬號(hào)登錄頁面就永遠(yuǎn)進(jìn)不去這種情況需要自己手動(dòng)補(bǔ)一條INSERT INTO t_admin (username, password, real_name) VALUES (admin, admin123, 系統(tǒng)管理員);3.3 如何根據(jù)表結(jié)構(gòu)反推業(yè)務(wù)功能這一點(diǎn)對于看懂整個(gè)項(xiàng)目非常重要。拿到腳本文件不要急著導(dǎo)入先瀏覽一遍建表語句你會(huì)發(fā)現(xiàn)業(yè)務(wù)邏輯全寫在表設(shè)計(jì)里。比如你看到t_order表里同時(shí)有room_id和customer_id字段說明一個(gè)訂單同時(shí)關(guān)聯(lián)房間和客戶看到end_time和start_time都有說明系統(tǒng)支持設(shè)定入住時(shí)間區(qū)間看到status字段存在說明系統(tǒng)里有訂房狀態(tài)的流轉(zhuǎn)邏輯。這個(gè)過程相當(dāng)于“反向閱讀需求文檔”。如果你能把每張表之間的關(guān)系畫清楚用什么工具不重要能講明白就行答辯時(shí)老師問“系統(tǒng)有哪些功能模塊”以及“數(shù)據(jù)是怎么流轉(zhuǎn)的”你就能從表出發(fā)講出完整的故事而不是背代碼。4. 核心功能模塊的代碼實(shí)現(xiàn)要點(diǎn)代碼是實(shí)現(xiàn)業(yè)務(wù)邏輯的地方也是課設(shè)老師重點(diǎn)看的部分。這套系統(tǒng)里最核心的模塊集中在數(shù)據(jù)庫連接、登錄校驗(yàn)、房間查詢、訂單事務(wù)處理這幾塊我挑出來逐個(gè)拆。4.1 數(shù)據(jù)庫連接工具類DBUtil幾乎所有JavaWeb課設(shè)里都有一個(gè)DBUtil類代碼大同小異核心邏輯是從配置文件讀取連接參數(shù)加載驅(qū)動(dòng)創(chuàng)建連接。這里有個(gè)很關(guān)鍵的規(guī)范不要硬編碼數(shù)據(jù)庫賬號(hào)密碼在Java代碼里而是放到db.properties配置文件里。public class DBUtil { private static String url; private static String username; private static String password; static { try { InputStream in DBUtil.class.getClassLoader() .getResourceAsStream(db.properties); Properties props new Properties(); props.load(in); Class.forName(props.getProperty(driver)); url props.getProperty(url); username props.getProperty(username); password props.getProperty(password); } catch (Exception e) { e.printStackTrace(); } } public static Connection getConnection() throws SQLException { return DriverManager.getConnection(url, username, password); } }對應(yīng)的db.properties文件內(nèi)容如下drivercom.mysql.cj.jdbc.Driver urljdbc:mysql://localhost:3306/hotel_db?useUnicodetruecharacterEncodingUTF-8serverTimezoneAsia/Shanghai usernameroot password123456這里要特別提醒driver和url的值取決于MySQL版本。MySQL 5.x用的是com.mysql.jdbc.DriverMySQL 8.x用的是com.mysql.cj.jdbc.DriverURL里5.x不用帶serverTimezone8.x不帶會(huì)報(bào)時(shí)區(qū)錯(cuò)誤。如果代碼跑起來報(bào)找不到驅(qū)動(dòng)類十有八九是jar包版本和驅(qū)動(dòng)類名不匹配。4.2 登錄驗(yàn)證與Session會(huì)話管理登錄模塊是JavaWeb課設(shè)里的必考環(huán)節(jié)。標(biāo)準(zhǔn)實(shí)現(xiàn)是表單POST提交到LoginServletServlet獲取用戶名和密碼調(diào)用DAO層的findAdminByUsernameAndPassword方法去數(shù)據(jù)庫里查查到就存Session查不到就回登錄頁并帶錯(cuò)誤提示。protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username request.getParameter(username); String password request.getParameter(password); AdminDao adminDao new AdminDao(); Admin admin adminDao.findByUsernameAndPassword(username, password); if (admin ! null) { HttpSession session request.getSession(); session.setAttribute(currentAdmin, admin); response.sendRedirect(request.getContextPath() /index.jsp); } else { request.setAttribute(errorMsg, 用戶名或密碼錯(cuò)誤); request.getRequestDispatcher(/login.jsp).forward(request, response); } }這里有個(gè)細(xì)節(jié)值得在文檔里寫清楚登錄校驗(yàn)通過后為什么用sendRedirect而不用forward因?yàn)榈卿洺晒蟮刂窓趹?yīng)該變成首頁地址而不是停留在login接口上如果用戶刷新頁面不會(huì)導(dǎo)致表單重復(fù)提交。登錄失敗時(shí)用forward因?yàn)樾枰獢y帶errorMsg數(shù)據(jù)到登錄頁繼續(xù)展示。Session存好之后還需要一個(gè)Filter攔截未登錄請求不然用戶直接在地址欄輸入/admin/roomManage.jsp就能跳過登錄這會(huì)被老師抓住扣分。public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletRequest request (HttpServletRequest) req; HttpServletResponse response (HttpServletResponse) resp; HttpSession session request.getSession(false); if (session null || session.getAttribute(currentAdmin) null) { response.sendRedirect(request.getContextPath() /login.jsp); return; } chain.doFilter(request, response); }Filter的url-pattern要配置成/admin/*這樣后臺(tái)所有頁面都會(huì)被攔截login.jsp如果放在admin目錄下需要在Filter邏輯里額外放行一次不然會(huì)出現(xiàn)死循環(huán)沒登錄→攔截到login.jsp→又被Filter攔住→繼續(xù)跳login.jsp。4.3 房間多條件查詢與動(dòng)態(tài)SQL拼接房間管理是酒店管理系統(tǒng)的主業(yè)務(wù)之一列表頁通常會(huì)提供房型篩選、狀態(tài)篩選、價(jià)格區(qū)間篩選。如果每個(gè)條件都寫一條固定的SQL組合起來會(huì)有好幾條維護(hù)成本很高。合理做法是使用動(dòng)態(tài)拼接SQL然后通過PreparedStatement預(yù)編譯執(zhí)行。public ListRoom findRoomByCondition(String typeId, String status, Double minPrice, Double maxPrice) { StringBuilder sql new StringBuilder(SELECT * FROM t_room r LEFT JOIN t_room_type t ON r.type_id t.id WHERE 11); ListObject params new ArrayList(); if (typeId ! null !.equals(typeId)) { sql.append( AND r.type_id ?); params.add(Integer.parseInt(typeId)); } if (status ! null !.equals(status)) { sql.append( AND r.status ?); params.add(Integer.parseInt(status)); } if (minPrice ! null) { sql.append( AND t.price ?); params.add(minPrice); } if (maxPrice ! null) { sql.append( AND t.price ?); params.add(maxPrice); } // 執(zhí)行PreparedStatement遍歷ResultSet封裝成Room對象 }這段代碼里有幾個(gè)課設(shè)加分點(diǎn)可以寫進(jìn)文檔第一WHERE 11的作用是方便后續(xù)條件用AND無縫拼接說實(shí)話這是一個(gè)取巧寫法但課設(shè)里用得非常普遍原理上講清楚就行第二所有參數(shù)都通過?占位符傳入避免拼接字符串導(dǎo)致SQL注入第三LEFT JOIN關(guān)聯(lián)房型表既保留了房間信息又能查房型價(jià)格。4.4 分頁查詢實(shí)現(xiàn)思路酒店房間數(shù)量可能不多但訂單表的數(shù)據(jù)會(huì)逐漸積累所以訂單列表一定要做分頁。JSP頁面里常見的分頁寫法有兩種第一種是把所有數(shù)據(jù)查出來放到內(nèi)存里用List的subList方法切頁第二種是SQL層面用LIMIT做物理分頁。課設(shè)里推薦用第二種雖然SQL會(huì)復(fù)雜一點(diǎn)但數(shù)據(jù)量大了之后性能差距明顯答辯時(shí)也可以理直氣壯地說自己考慮了性能。SELECT * FROM t_order ORDER BY create_time DESC LIMIT ?, ?;第一個(gè)?是起始行數(shù)offset第二個(gè)?是每頁條數(shù)。計(jì)算方式offset (currentPage - 1) * pageSize。頁面上還需要展示總頁數(shù)和當(dāng)前頁總頁數(shù)可以通過COUNT(*)查出來之后除以pageSize向上取整。分頁還有一個(gè)很常見的bug點(diǎn)擊第2頁之后數(shù)據(jù)刷新了但頁面上方的篩選條件丟失了因?yàn)榉猪撴溄邮峭ㄟ^普通的a href跳轉(zhuǎn)的query string里沒有攜帶篩選參數(shù)。解決辦法是構(gòu)造分頁地址時(shí)把已有的篩選參數(shù)原樣帶上比如/orderServlet?actionlistcurrentPage2typeId2status1。4.5 預(yù)訂房間的事務(wù)處理預(yù)訂房間是一個(gè)典型的需要事務(wù)保護(hù)的場景用戶下單時(shí)要往t_order表插入訂單記錄、要把t_room表里對應(yīng)房間的狀態(tài)改成已預(yù)訂、可能要更新客戶的聯(lián)系方式。這些操作要么全部成功要么全部失敗不能出現(xiàn)訂單插入成功但房間狀態(tài)沒改的情況。Connection conn null; try { conn DBUtil.getConnection(); conn.setAutoCommit(false); // 開啟事務(wù) OrderDao orderDao new OrderDao(); RoomDao roomDao new RoomDao(); int orderId orderDao.insertOrder(conn, order); roomDao.updateRoomStatus(conn, roomId, 1); conn.commit(); // 全部成功提交事務(wù) } catch (Exception e) { if (conn ! null) { conn.rollback(); // 任一失敗回滾全部操作 } e.printStackTrace(); } finally { if (conn ! null) { conn.setAutoCommit(true); // 恢復(fù)自動(dòng)提交 conn.close(); } }注意一點(diǎn)DAO層的方法要接收Connection參數(shù)由Service或Servlet層來控制事務(wù)的開啟、提交和回滾而不能每個(gè)DAO方法內(nèi)部自己打開連接、自己提交否則無法保證同一個(gè)事務(wù)用的都是同一個(gè)連接。這個(gè)點(diǎn)很多課設(shè)代碼都處理得不到位你在文檔里如果寫明白了老師會(huì)很認(rèn)可。5. 常見運(yùn)行報(bào)錯(cuò)與期末答辯避坑指南把源碼跑起來的過程中絕大多數(shù)同學(xué)遇到的問題其實(shí)高度集中。我整理了這套系統(tǒng)運(yùn)行期間最高頻的幾類報(bào)錯(cuò)和對應(yīng)的解決方案直接對照排查即可。5.1 環(huán)境配置類問題速查表報(bào)錯(cuò)信息原因分析解決方案ClassNotFoundException: com.mysql.jdbc.Driver驅(qū)動(dòng)類名寫錯(cuò)或jar包沒導(dǎo)入MySQL 5.x用com.mysql.jdbc.Driver8.x用com.mysql.cj.jdbc.Driver確認(rèn)mysql-connector-java的jar在WEB-INF/lib下The type java.io.IOException cannot be resolvedJDK版本與Tomcat版本不兼容Tomcat 10以上是Jakarta EE需要jakarta.servlet不再支持javax代碼課設(shè)建議用Tomcat 8.5/9.0Port 8080 required by Tomcat v9.0 was already in useTomcat端口被占用找到占用程序結(jié)束進(jìn)程或修改server.xml里的端口Access denied for user rootlocalhost數(shù)據(jù)庫賬號(hào)密碼錯(cuò)誤檢查db.properties里的username和password是否MySQL實(shí)際值Unknown database hotel_db數(shù)據(jù)庫沒創(chuàng)建成功手動(dòng)CREATE DATABASE再重新導(dǎo)入sql腳本java.sql.SQLException: The server time zone value is unrecognizedMySQL 8.x時(shí)區(qū)問題URL末尾加serverTimezoneAsia/Shanghai5.2 中文亂碼問題中文亂碼是JavaWeb課設(shè)里的“保留項(xiàng)目”。處理亂碼要貫徹三個(gè)環(huán)節(jié)少一個(gè)都會(huì)出問題JSP頁面頂部設(shè)置% page contentTypetext/html;charsetUTF-8 %。Servlet接收POST請求參數(shù)前執(zhí)行request.setCharacterEncoding(UTF-8)這行代碼必須寫在第一次調(diào)用getParameter()之前否則取到的參數(shù)已經(jīng)按默認(rèn)編碼解析了再設(shè)置就晚了。寫入數(shù)據(jù)庫的連接URL加上useUnicodetruecharacterEncodingUTF-8。另外MySQL數(shù)據(jù)庫本身的字符集在導(dǎo)入sql腳本時(shí)就要確認(rèn)是utf8mb4而不是latin1不然頁面上存進(jìn)去的是中文數(shù)據(jù)庫查出亂碼代碼查一天也查不出問題。提示排查亂碼問題時(shí)建議分層排查——先看頁面源碼再看瀏覽器Network面板的Form Data如果這里就亂說明請求階段出問題然后看數(shù)據(jù)庫里的原始存儲(chǔ)值最后看查詢返回的數(shù)據(jù)。從前到后按鏈路定位不要瞎試。5.3 答辯前必過的五個(gè)演示用例課設(shè)答辯不是代碼Review而是“功能演示現(xiàn)場提問”。老師通常會(huì)用幾分鐘時(shí)間快速過一遍系統(tǒng)你提前把下面的場景跑熟現(xiàn)場就不會(huì)手忙腳亂登錄成功和登錄失敗的完整流程。失敗時(shí)頁面要出現(xiàn)錯(cuò)誤提示不能只是地址欄變了但頁面沒反應(yīng)。從“查看房間列表”到“預(yù)訂房間”再到“確認(rèn)訂單”的完整業(yè)務(wù)鏈每個(gè)中間步驟要能說清楚當(dāng)前操作改動(dòng)了哪張表。退出登錄后點(diǎn)擊瀏覽器的“后退”按鈕看看能不能重新看到后臺(tái)頁面。如果能看到說明Filter攔截沒做好這算比較大的功能漏洞。輸入非法參數(shù)比如直接在地址欄傳一個(gè)不存在的訂單id頁面應(yīng)該友好提示而不是拋出一長串500異常堆棧。連續(xù)新增兩條完全相同的記錄比如重復(fù)手機(jī)號(hào)的客戶系統(tǒng)是否做了業(yè)務(wù)校驗(yàn)。5.4 答辯老師最容易追問的十個(gè)技術(shù)問題這個(gè)清單我每年都跟學(xué)生強(qiáng)調(diào)覆蓋面已經(jīng)比較全了說說Servlet的生命周期。Session和Cookie的區(qū)別是什么登錄用的Session存在服務(wù)器還是客戶端過濾器Filter和監(jiān)聽器Listener分別能做什么JSP的轉(zhuǎn)發(fā)和重定向有什么區(qū)別路徑什么時(shí)候帶ContextPath你的數(shù)據(jù)庫連接為什么用配置文件而不是直接寫在代碼里SQL注入是什么你的代碼怎么防止的PreparedStatement和Statement有什么區(qū)別酒店房間預(yù)訂時(shí)如果兩個(gè)管理員同時(shí)操作同一間房怎么辦并發(fā)超賣事務(wù)的ACID特性是什么你的退房結(jié)賬流程里哪里用到了事務(wù)如果訂單表數(shù)據(jù)量越來越大你怎么優(yōu)化查詢性能其中第8個(gè)問題最容易被問住。簡單有效的一個(gè)預(yù)防方案更新房間狀態(tài)時(shí)加一個(gè)條件判斷UPDATE t_room SET status1 WHERE id? AND status0這樣只有狀態(tài)還是空閑的房間才能被預(yù)訂成功。第二個(gè)管理員執(zhí)行同樣SQL時(shí)影響行數(shù)為0表示搶房失敗。這段邏輯雖然簡單但體現(xiàn)出的并發(fā)控制意識(shí)在課設(shè)里屬于明顯加分項(xiàng)。6. 項(xiàng)目二次開發(fā)建議把網(wǎng)上的源碼變成你的作品最后聊聊所有拿現(xiàn)成源碼做課設(shè)的同學(xué)都繞不開的問題怎么讓它看起來像你自己的東西而不只是下載下來的。核心思路不是改個(gè)博客名字就交差而是真正去做至少一兩處“自己的代碼”然后能講清楚思路。6.1 低成本高回報(bào)的改造點(diǎn)如果你不想大動(dòng)干戈推薦從這個(gè)列表里選一個(gè)或兩個(gè)改造性價(jià)比很高加一個(gè)客流統(tǒng)計(jì)圖表用ECharts讀取訂單數(shù)據(jù)按月份生成柱狀圖。前端引入一個(gè)echarts.min.js后端提供一個(gè)返回JSON數(shù)據(jù)的Servlet改造量不大但演示時(shí)視覺沖擊力強(qiáng)。訂單數(shù)據(jù)導(dǎo)出Excel用POI庫把通過條件篩選的訂單導(dǎo)出成.xls文件答辯時(shí)現(xiàn)場點(diǎn)一下“導(dǎo)出”按鈕比純頁面展示更有企業(yè)級(jí)的感覺。登錄驗(yàn)證碼用Java生成簡單的圖片驗(yàn)證碼不需要太復(fù)雜一個(gè)Servlet畫幾個(gè)扭曲數(shù)字就行能擋住一部分自動(dòng)化登錄嘗試體現(xiàn)安全意識(shí)。密碼加鹽存儲(chǔ)把t_admin表的password從明文改成MD5加鹽哈希登錄校驗(yàn)改成先算哈希再對比。這個(gè)改造會(huì)讓老師對你的印象分明顯提升。6.2 文檔說明怎么寫得像個(gè)高分作業(yè)期末大作業(yè)通常還需要提交一份文檔說明很多同學(xué)把網(wǎng)上下載的文檔直接改個(gè)名字就交上去了封面上的博主昵稱都沒刪干凈這屬于非常低級(jí)的扣分點(diǎn)。建議至少把下面的章節(jié)親自過一遍需求分析用一段話描述系統(tǒng)要解決什么問題按角色列出管理員、客戶各自能做什么。系統(tǒng)設(shè)計(jì)畫系統(tǒng)的架構(gòu)圖和功能模塊圖核心表結(jié)構(gòu)列出字段說明寫清楚表之間的關(guān)系。核心代碼說明挑3到5個(gè)核心功能登錄驗(yàn)證、房間預(yù)訂、權(quán)限攔截、分頁查詢、事務(wù)處理每個(gè)配一段核心代碼重點(diǎn)寫清楚“這段代碼完成了什么邏輯”不要大段貼代碼然后一個(gè)字的解釋都沒有。測試說明列出測試用例和結(jié)果覆蓋正常流程、異常流程、邊界條件??偨Y(jié)與心得寫你自己實(shí)際遇到的問題和解決方式。比如“導(dǎo)入數(shù)據(jù)庫時(shí)遇到MySQL時(shí)區(qū)報(bào)錯(cuò)通過在URL中加入serverTimezone參數(shù)解決”這類內(nèi)容老師一眼就能看出是真實(shí)做過的。6.3 判斷一套源碼能不能用得下去的三條標(biāo)準(zhǔn)經(jīng)過這次幫學(xué)弟調(diào)試我自己總結(jié)出三條判斷標(biāo)準(zhǔn)你們下載任何JavaWeb課設(shè)源碼時(shí)都可以參考源碼包里的數(shù)據(jù)庫腳本能不能在干凈的環(huán)境里順利導(dǎo)入。腳本文件結(jié)構(gòu)混亂、沒有INSERT初始數(shù)據(jù)的直接跳過。項(xiàng)目里是否帶jar包或者至少有清晰的依賴清單。很多源碼包在網(wǎng)盤里不帶lib目錄下載下來還要自己找jar版本這是坑。文檔說明里的部署步驟是否和源碼目錄一致。如果文檔寫著“把xx.sql導(dǎo)入MySQL”結(jié)果包里根本沒有這個(gè)文件那大概率是從別處搬運(yùn)的后續(xù)溝通成本會(huì)很高。6.4 最終上線前自己過一遍檢查清單無論你是要用這套源碼交作業(yè)還是改造之后展示最后提交前建議把下面這張檢查清單過一遍數(shù)據(jù)庫腳本能從頭到尾執(zhí)行一遍不報(bào)錯(cuò)。默認(rèn)賬號(hào)可以登錄且管理員密碼不是弱口令如果你改了密碼文檔里同步更新。所有JSP頁面在未登錄狀態(tài)下都不能直接通過URL訪問。頁面里的示例數(shù)據(jù)、測試數(shù)據(jù)清理干凈不要?dú)埩魟e人的客戶信息。所有中文顯示沒有亂碼Tomcat控制臺(tái)沒有多余的異常堆棧。代碼里凡是出現(xiàn)博主個(gè)人信息的地方全部替換掉。文檔說明與源碼一致尤其是數(shù)據(jù)庫賬號(hào)密碼、環(huán)境版本號(hào)。我在實(shí)際操作中發(fā)現(xiàn)大多數(shù)人下載源碼之后死磕代碼反而忽略了一個(gè)最基本的事實(shí)課設(shè)老師最看重的是你能否把系統(tǒng)完整演示清楚、對核心代碼的來龍去脈講明白。代碼是不是你一行行敲的其實(shí)很容易被看出來但如果你能把上面這些表結(jié)構(gòu)和事務(wù)邏輯解釋透徹老師基本不會(huì)為難你。把整套系統(tǒng)的表設(shè)計(jì)、會(huì)話機(jī)制、事務(wù)邊界、分頁思路全部吃透哪怕你是第二次上手這套代碼也能在答辯現(xiàn)場從容應(yīng)對。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产精品久久久久久久久久久久久久久久久久 | 97色婷婷| 北条麻妃性愛视频| 亚州综合色| 深夜国产福利| 国产乱码久久| 91精品导航| 人爽不卡视频| 精品国产片亚洲一区| 欧美天天谢综合网| 东京热视频网| 天天透伊人| 中文乱码字幕观看视频| 久热超碰| 思思热在线视频免费| 日本在线一二| 精品对白久久不卡| 天天做天天爽| 欧美啪啪色吧在线| 蜜臀99999| av在线不卡一区二区三区| 色女99一级片在线观看| 岛国免费黄色网址| 精品久操| 一本正道久久熟女| 一级黄色性爱A级片| 日本A级视频| 99久久精品欧美国产| 欧美日本天堂| 3571色综合一区二区二区| 久久久久久久久久久久色网| 偷拍伦理视频| 国产在线精品偷| 精品一区99999| 久久人人爽爽人人爽人人片αV| 欧美性,亚州色| 秋霞影音一区二区三区| 亚洲第一页色| 欧美成年人性爱视频免费观看| 伊人网在线视频| 成人无码在线视频网站| 97久久久久久久久久| 婷婷三区| 天天流夜夜操| 日本三级韩国三级99| 国产在线综合网| 9997se| 亚洲丝袜天堂| 91粉芽高清在线一区二区| 精品黑人一区二区| 91精品久久综合熟女| 中日韩一区二区三区欧美| 亚洲,欧美,综合网| 亚洲深夜福利| 97超碰超碰| 深喉吞精| 亚州色综合| 亚洲图片欧美另类综合免费视频大大香| 久热9| 大香蕉宗合网在线| 江都AV在线| 一区=区三区视频| 青青草日韩无码| 亚洲精品99| 日本天堂网| 男女打扑克高清网站| 中文字幕国产精品1区| 混色激情av| 国产乱婷婷精品二区三区| 亚洲视频,小说| 亚洲少妇激情视频| 日韩精品亚洲一二三| 91亚洲网站| 欧美中文综合| 无码天天操| 中日高清无码操逼视频| 思思热在线视频精品| 香港成人一级视频在线青青草| 蜜臀AV一区二区三区激情综合| 国产亚洲欧洲在线观看| 91丝袜视频在线观看| 精品国产91内射久久| 入口操逼网站| 综合av影片| 日韩大香蕉AV影片| 亚洲国产成人精品无码专区| 高凊专区人人操| 国产精品不卡一区二区三区| 隔壁邻居波多野结衣中文字幕| 99ri视频| 亚洲极品| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 日韩电影天堂视频二区三区| 亚洲自拍偷拍视频在线| 中文字幕 码 自拍 视频 区| 无卡一区=区| 另类TS人妖一区二区三区| 99综合视频一体| 超碰午夜| 久99| 91精品导航| 老司机深夜18禁污污网站| 热天堂一区二区| 麻豆熟妇乱妇熟色A片在线看| 人人玩人人添人人澡免费| 亚洲AV乱码专区国产噜噜亚洲| 蜜桃臀av一区二区| 91色综| 97视频在线免费观看| 欧美日韩中文亚洲v在线综合| 中文字幕av片| 九九久久国产精品| 色狠狠 - 百度| 99爱爱| 性爱乱伦一区| 人人妻人人爽一区二区三区| 久久色一区| 亚洲欧洲成人在线电影| surenchaopeng| 日韩偷拍一区二区三区| 强奸熟女一区二区三区| 日韩精品99999| 精品在线蜜臀| 欧美亚洲激情一二三| 99色在线视频| 日韩精品1区2区中文字幕| yazhouzaixian| 91操人视频| 亚洲av国产av综合av卡| 欧美偷偷网| 欧美日韩99| 亚洲精品国产精品成人| 久久久久久九九九九九九| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 91视频国品一二三区| 超碰在线一区| 欧美视频一区二区三区| 精国久久一区二区三区98| 九九九九九九九精品视频| 无码人妻精品酒店| 日韩精品一区二区人人人| 亚洲精品天天影视综合网| 欧美精品1区2区3区| 欧美翘臀视频网站一区二区三区| 欧美啪啪啪91| 欧美成97爱| 免费超碰97久久| 国产成人资源| 97精品国产97久久久久久户外免费| 成人三一级一片aaa| 天天操夜夜操| 99热销国产这里有精品| 超碰天天去日穴| 人妻超碰青青草98| 国产中文日韩欧美一区二区三区人妻丝袜美腿 | 另类天堂| 日韩熟女操逼| 日日操丁香五月天| 午夜偷拍久久熟女| 色在线亚洲视频www| 精品人妻1区| av天堂精品久久| 日韩精品字幕| 蜜乳AV色欲AVAV无码| 91丨豆花丨熟女| 日本丝袜人妻内射| 五月丁香啪啪网| 国产成人无码久久精品| 亚洲五区熟女| 9精品久久| 中文字幕一区二区三区四五区| 色色激情| 国产久久一区二区三区野外在线| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 色九久| 大香久久| 国产精品99精品视频网站| 男女激烈网站最新| 五月婷婷六月丁香| 天天α片| www欧美91| 91露脸熟女专区| 久久久久亚洲三级电影| 333kkkk·亚洲com久久| 欧美黑人熟妇精品91| 欧美精品69性爱| 国产精品一区二区三区,亚洲综合| 午夜高清成人在线视频| 97硬碰| 久久亚州大香蕉| 一区二区三区美女超清| 嗯嗯啊中文字幕| 国产AB视频| 久操91视频| 久久老子无码午夜伦不卡| 无码一区二区三区四区五区六区七区八区九区十区视频 | 国产精品制服丝袜清纯唯美| 欧美亚洲性爱一区二区| 91精品人妻一区二区三区蜜桃| 欧美大香蕉专区网| 九九人妻| 色色色欧美| 日韩电影中文字幕| 九九激情网| 欧美日韩中文字幕不卡| 91一起操| 九九综合九九综合| 91暧暧| 亚欧高清| 韩国国产欧美情侣视频在线| 91精品无码人妻系列| 青青草原成人| 99热啪啪| 天天懆天天日| 男女性扦B| 国产又色又爽又舒服的三级视频| 女人香蕉久久毛毛片精品| 人人透人人操| 精品人妻一区二区三区在| 国产按摩一区二区三区| 97超碰磁| 香蕉大久久久| 夜夜操91744565| 日本潮催一卡操| 欧美 亚洲 另类 综合| 思思热久久成人| 久久这里是精品| www. 男人天堂成人在线| 抽插无码高清一区| 中文字幕AV乱伦| 囯产精品强| 色色操| 欧美色999| 五十路熟女工口 | 91爱啪| av情色影音| 狠狠色噜噜狠狠狠狠狠色综合久久| 9美女超碰在线免费观看| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 天天做日日做天天欢。| 狼人狠干| 久久久久ab| 五月天激情四射| 精品视频一区二区| 婷婷人妻激情| 亚洲国成人情色好看电影| 中文字幕狠狠玩| 校园春色五月天| 亚洲第一二区另类图| 亚洲一区二区精品福利| 蜜臀一区二区三区在线 | 高树玛利亚无码流出| 日本国产高清色www视频在线| 夜夜躁狠狠躁日日躁av| 91老熟女91老女人| 国产高清不卡视频| 欧洲免费一区二| 自慰白浆在线观看| 伊人丁香五月婷婷| 国产亚洲色婷婷久久99精品91 - 百度| 大香蕉伊然在亚洲91| 久久精品人体| 99色视频| 欧洲熟妇xxXx欧美老妇裸体| 欧美日韩亚洲一区二区在线观看| 亚洲av噜噜噜噜噜噜| 成人九九| 97草草| 天美传媒Av在线| 亚洲男人天堂2012| 欧美1727免费观看视频| 婷婷91| 日韩 欧美 视频 在线 一区| 亚洲色欲天天天堂色欲网女| 欧美v亚洲v综合v国产v妖精| 亚洲成a人v欧美综合天堂下载 | 玖玖蜜臀资源网| 啊啊啊com| 色色色99| 无码自拍SM| 日本色色色视频| 色在线亚洲视频www| 欧美人与动性人交a| 色香天天| www.91视频网| 老熟女91| 精品无码一区二区三区色欲| 国产精品麻豆成人av| 91视频综合网| 曰韩中文人妻视频| 国产女人视频三四五区| 极品销魂美女一区二区| 大色综合| 色网站导航大全| 波多野结衣之双飞调教在线播放 | 国产AV天美传媒一区二区三区 | 九九九热精品| 不卡六六在线91| 91青青在线视频| 午夜精品久久久久久久| 国产97综合| 超碰9 7女人| 伊人午夜福利视频| 久久久日本电影| 精精品人妻一区二区三区| 亚洲高潮影院| 国产丝袜啪啪| 国产粉嫩蜜臀av一区二区三区| 精品免费一区| 日日操免费视频| 大香蕉www.超碰| 91社区拍啪人妻| 黄色小视频日本txt| 在线强奷到舒服的无码视频| 校园春色 男人天堂 | www色色色com| yazhousetuoumei| 蜜臀AV成人精品蜜臀AV久久| 91丝袜在线视频| 亚洲熟妇综合久久久久久| 色97国产69香蕉| 天天干18禁| 五月天婷婷在线看| 免费簧片在线观看| 激情99| 毛片视频白嫩| 午夜精品人妻二区三区| 久久9精品| 国产在线观看一区二区三区| 殴美在线AⅤ| 开心五月婷婷| 97爱啪| 秋霞色色影院| 国产一区二区欧美日本| 不卡在线一区,精品一区二区三区中| 欧美极品女人的天堂| 啊啊啊啊啊啊啊好爽不要| 亭亭在线资源| 男女日B国产| 97人人模人人爽人人| 亚洲AV无码| 超碰午夜| 日欧操屄| 大香网伊人久久综合| 男人的天堂成人的社区| 亚洲自拍青操视频| 国产成人拍国产亚洲精品| 中文字幕性感少妇av| 欧美中文字幕男人天堂久久精品| 超碰视97中文| 人人操人人插 - 百度 - 百度| 黄片无码在线制服| 国产一区二区久久| 亚洲国产综合视频| 国产农村一一级特黄毛片| 97亚洲资源| 99999久久精| 亚洲精品人妻在线| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 欧美亚男人的天堂| 97亚洲色图| 无码高清国产AV| 国产精品91一样| 日韩欧美蜜桃精品久久中文字幕久久| 日B操| 国产毛片精品一区二区色欲黄A片| 97这里只精品| 奇米四色网| AV天堂丝袜| 国产97在线播放| 国产精品视频麻豆入口| 亚洲射综合网| 人人干人人操人人爱| 久久久久9999| 九九九九热只有精品| 家庭乱伦性爱av| 国产白嫩精品久久| 亚洲欧美另类激情小说 | 强奸乱伦免费网站| 久久蜜桃综合网| 亚洲一区二区AV| 五月丁香综合啪啪| 日韩大香蕉AV影片| 日韩AV一区二区三区四四| 96精品久久久| 乱色视频中文字幕| 国产白丝网站| 9 9精品一区二区三区| 国产91美女视频| 十八禁视频网站| 国内外毛片在线观看| 日韩精品人妻一| 嗯嗯啊啊好疼| 又粗又长又爽在线观看| 狠狠2050在线观看| 嫩草影院在线观看精品 | 色精品极品| 欧美AB在线| 99.色网| a级免费在线观看| 国产精品青青草| 亚洲日韩av专区无码| 伊人久久亚洲中文字幕| 无码外流操逼视频| 久久夜精品一区二区三区| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 熟女少妇一区二区三区| 五月色丁香| 色97干| 搡老女人老妇女老妇老熟女怎么读| 酒色综合网| 国产夜夜操| 在线观看免费视频国产| 夜夜精品视频一区二区| 防屏蔽在线视频| 欧美巨大性舒爽顶到了| 亚洲污污网站| 天天日天天插| 超碰欧美| 曰韩香蕉97| 国产福利影视| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 日韩一级二级三级免费看完整版国语版 | 欧美超碰96| 一个色导综合| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 尤物一级在线免费观看| 久久精品国产亚洲av水密被窝| 五月婷婷色色| 激情小说日韩无码| 国内操逼视频二区| a级理论午夜日本| 亚洲少妇在线影音| www.婷婷| 国产精品亚洲无码| 97在线/亚洲| 国产美脚女优尤物在线观看| 激情综合网五月婷婷五月天| 91精片| 人妻大香蕉| 美女尤物福利视频| 欧美大香蕉同搞| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 一本色道久久综合精品婷婷| 日本不卡高清免v欧美日韩在线观看| 伊人五月天婷婷| 欧美色图亚洲色,麻豆| 1024久久高清视频| 51一区二区三区| 久久久久久九九九九| 天天综合网1| 五月天色色网站| 边做饭边操逼逼| 中文字幕一二三av| 欧美熟妇亚洲版| www激情| 无套内射人妻在线播放| 青青草一区二区高清无码视频| 99热精品在线观看| 十八禁的黄污污免费网站| 欧美 亚洲 在线| 蜜乳av一区二区三区四区不卡| 亚洲成人av色网| 青草青草久热| ..日韩av毛片精品久久久| 91青青草| 97久操| 97操综合| 校园春色亚洲无码| 东京热一区二区三区四区五区六区| 久久九九视频九九视频| 日本人妻中文字幕精品| 欧美精品三区| 人妻一区二区三区熟女| 久久香蕉国产线看观看亚洲女人 | 人妻激情视频| 无码视频一区二区| 精品小视频在线| 国产高清1234区| www.狠狠干.coom | 男人的天堂一区三区| 国产探花精品在线| 天天爽夜夜爽夜夜爽精| 天天看夜夜看日日干| 九久久精品| 999 久久久| 蜜桃视频一区二区三区 | 97av在线视频| 日本精品不卡一二三区| 亚洲操逼无码| 久久亚洲婷婷| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 美女毛片999| 色综合一区二区三巨| 乱色视频中文字幕| 国产99 中文字幕日韩小视频| 狠狠激情综合狠狠操中文字幕| 岛国黄| 热思思免费视频| 亚洲精品九九九| 中文字幕99999| dy888午夜老子影视达达兔| 超碰95| 五码视频在线观看| 人人操人人插人www| 日韩精品 视频一区二区| 黄色AAAAA欧美| 91精品无码人妻系列| 日本在线播放不卡一区| 五月天婷婷基地| 电影69乱码96| 91综合国产精品| 91撸色网 玖玖网 欧美| 伊人久久亚洲中文字幕不卡| 久草毛片| 极品肉射| 久久91精品国产9丨久久分亭| 99性爱在线观看| 99久在线精品99re8热| 国产剧情一区在线观看| 欧美白嫩女HD| 天天天干977| 久草在线| 思思热久久成人| 91GD.COM| 成人无码专区精品视频| 伊人久久亚洲色欲综合网站| 日本506070| 素人一区二区三区日韩| 亚洲精品人妻吞精av| 日韩乱码Av| 人人搡人人肉久久精品| 疯操AV| 波多野结衣之双飞调教在线播放 | 成·人免费午夜在线观看| 久久精品福利影院| 九色PORNY9l原创自拍| 久操高青| 国产风韵犹存熟妇三区| av黄图片在线观看| 黑人黄片在线免费观看| 91人妻人人妻| 精品二区久久| 两女互慰AV高潮喷水在线观看| 91高清无码下载| 91天天日| 日韩av电影网站| 天天综合97| 亚洲一区二区中文字幕| 国产suv精品一区二区四区999| 久噜噜| 亚洲欧美综合| 蜜乳av首页| 超碰这里只有精品| 综合亚洲欧美精品日韩?v| 蜜臀AV网站| 国产不卡精品91| 日本国产二线女色| 欧美黄色大片在线观看 | 美女写真| 另类亚洲一区二区三区| 男人天堂2012| 干b网| 日韩美女操b| 一区中文字幕二区日韩| 爱爱动态60秒| 99无码视频| 深夜激情| 在线视频日韩欧美国产| 伊人991| 国内毛片热久久思思热| 婷婷亚洲中文字幕在线| 美女爽到高潮91| 国产超碰人人操| 激情综合网一盗摄| 国产精品成人无码av无码免费| 亚洲限制级在线| 久久久蜜桃臀无码视频| 神马久久久久眼| 中文三一区| 亚洲精品成人激情在线| 亚洲玖玖爱| 成人福利视频网| 国产久久久久影院老熟女| 91社操逼| 亚洲交换| 色五月丁香五月| 亚洲成人ab| 丁香五月激情综合| 天天操天天日青青草超碰av| 免费A V在线播放| 小明看看网址| 国产成人久久久精品免费AV| 亚洲色综网| 极品色www影院| 操熟女91| 中文字暮97| 日本淫乱女一区二区三区视频| 99热97| 国产成年女黄特黄| 狠狠夜色午夜久久综合在线| 97在线视频观看网站| 天天综合网~91综合网| 91人妻素女| 色偷偷综合91久久噜噜| 一本道综合色图| 久久夜夜| 国产午夜视频| 亚卅熟女乱色| 97超碰欧美| 伊人天堂在线| 国产51色综合久久免费| 青青草国产一区二区三区| 在线日韩视频| 26uuu成人影片| 欧美暴力猛交| 99精品免费| 国产1024在线播放| 日韩无码AB| 五月丁香色综合| 襙一襙| 久久激情视频| 蜜桃精品一区二区三区ww| 国产黄色小视频网站| 国产久9| 久久久不能久久久久| 国产av强奸美女| 天天干人人乐| 亚州 综合 色图| 六月色婷婷| 国产一区二区三三视频| 久久久久久久久久久精| 91嫩草欧美| 秋霞曰韩R级| 人人搞人人插人人操| 蜜臀久久精品久久久久视频| 黄色大片一区二区密桃丝袜| 国产精品岛国片在线观看| 九热中文字幕| 91网站视频在线观看| 亚洲另类电影| 国产aⅴ无码片毛片一级网站| 久久超碰com| 国产极品馒头逼| 人妻在线中出视频| 日本免费中文字幕在线| 日韩av情韩国爱禁区av一区二区| 激情综合五月| 一二三区精品视频| 亚洲熟妇无码一区二区三区| 新婚人妻扶着粗大强行坐下| 欧美男人的天堂| 不卡在线一区,精品一区二区三区中| 丝袜美腿制服人妻二区中文字幕| 欧洲精品一区二区三区| 亚洲一区二区三区播放在线| 欧美 亚洲 在线| 精品人妻美妇91job| 东北少妇高潮zzzz| 色综合99999| 少妇国产不卡| 丁香五月天社区| 国模无码一区二区三区在线| 久久久久久久九九九九九九| 中国少妇啪啪视频| 啊啊啊轻点在线观看| 99蜜桃臀亚洲成人在线观看| 欧美做爰无码A片视频| 国产精品视频一区二区三区八戒| 可免费观看的av毛片中日美韩| 日日骚一区二区三区| 久久久久无码一妻区| 色91综合网| 色综合潮| 亚洲成人一二三区| 男人的天堂.com| 91ise欧美| 精品人妻伦一二三区久久| 日本123区操B视频| 白嫩国模丰满一二三区| 国产精品久久久久无码AV会牛| 人人操人人摸人人看人人插| 18禁止看精品中文字幕| 日本精品中文字幕视频| 在线αⅴ| 少妇啪啪自拍| 啪啪资源网| 麻豆国产精品午夜视频| 欧美性爱18观看| 欧美精品二区视频在线| 日本1区2区不卡视频| 欧美性生活男人的天堂| 日韩有码中文字幕女同性恋| 99精品人妻| 香蕉综合网| 亚洲无码视频免费在线观看网址!| 2017大香蕉| 亚洲色图欧美一区二区不卡| 国产日韩手机视频在线| 操逼天美3区| 婷婷中文网| 欧美国产日韩高清在线| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 综合一区二区影视| 国产蜜臀精品一区二区尤物| 久久丝袜| 精品九九九九九| 在线综合 亚洲 欧美中文字幕| 高潮毛片无遮挡高清免费| 欧美人妻精品一区二区| 激情99| 伊人五月天青青草婷婷| 欧美日韩亚洲五月天婷婷| 亚洲脚交| 亚洲色电影在线| 亚洲精品乱码线路中文字幕| 国产一区二区视频在线播放| 夜夜一区二区| 99色日| 97精品97| 加勒比综合88| 亚洲国产精品V?在线播放| 亚洲精品a人片在线观看视| 综合激情五月丁香| 乱老熟女一区二区三区| 少妇久久久免费| 超碰色老头| 亚洲国产一级精品毛一级精品看免费视频| 国产农村一一级特黄毛片| 嗯……啊…嗯嗯…啊…好舒服| 亚洲电影91| 久久精品国产亚洲AV先锋| 日本三级一区二区 在线| 一区在线观看中文字幕| 久久精品72| 精品人妻少妇| 日韩中文字幕人妻视频| 久久人妻精品| 日韩精品一区,二区 九九...老司机| 中文字幕成人乱码熟女精品国50 | 欧美 综合 亚洲| 超碰97护士| 秋霞视频一区二区| 中文自拍欧美影视| 99蜜桃臀亚洲成人在线观看| 精品在线蜜臀| 亚洲综合中文字幕有码| 99久久无色码| 国产在线精品电影观看| 五月亭亭六月丁香| 看一级黄色视频| 台欧久久精品视频| 国产精品97超碰| 牛牛操视频逼| 天天干天天日天天射黄色大片| 久久9999| 国产隔壁老王影院在线| 综合色图亚洲欧美| 欧美偷拍| 欧美一区二区亚洲天堂| 97伪v| 精品无码久久久久久国产浪潮| 五月天激情小说网| 欧美亚洲特P| 婷婷丁香五月天综合东京热| 日本九九久久99| 肏逼视频日本| 在线看片国产精品每日更新| 啊啊啊要高潮了| 国产精品白丝在线播放| 国产精品小视频一区二区三区| 噜噜瑟| 天美麻花大全视频| 97国产中文| 久久亚洲AV无码专区国产精品| 精品射1999| 精品99999| 女色视频社区| 国产精品色约约| 亚洲乱伦图片视频| 欧美综合 站| 色欲无码人妻日韩欧美精品| 亚洲色欲一区二区三区| 好吊色综合| 蜜色网色哟哟| 青娱乐国产剧情av一区| 亚洲春色激情小说| 99re免费| 神马久久网| 操人人| 色制服丝袜夫妻av一区| 在线观看AV片| 久久噜| 亚洲成人美女无吗| 毛片麻豆91糖心精品毛情片| 噜噜噜无码AV一级一级久久影院| 欧美综合狠| 国产成人免费观看在线视频| 色噜噜狠狠色综无码久久| 欧美精品自慰系列寂寞少妇| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 国产精品激情久久久久久久| 久久久久久免费电影| 日本123区操B视频| 青青草中文字幕| 台湾佬激情综合| 日韩黄片视频试看| 一区二区亚州激情久婷婷欧美| 人妻熟女av国产网站| 亚洲无码一区成人免费午夜| 人妻精品综合中文字幕在线 | 精吧天堂| 五月激情综合网| 久久久久久久精| 99色婷婷中文字幕乱色| 久久美女国产| 日韩欧美中文字| 超碰人人超在线观看| 精品午夜福利| 97爱欧美| 午夜电影在线观看无码专区| 久久成人东京热人妻| 精品久久99| 中日亚韩免费视频| 亚洲欧洲无码一区夜| www.超碰| 中文字幕高清精品一区| 五月天人妻综合| 中文字幕五区| 婷婷av在线中文字幕| 日韩精品电影| 日韩一级二级| 粉嫩av久久一区二区三区| 物业黑人 AV一区| 999在线电影香蕉| 久久av成人无码免费| 日韩欧美女求操每天更新| 色综合中文字幕不卡| 欧美日韩在线国产在线| 亚洲无线观看久久| 亚洲青色欧美| 激情综合亚洲| 青草草免费网站av| 另类成人首页一区| 伊人国产av| 99热99在线| 成人三一级一片aaa| 97狠狠| 亚洲图片偷拍欧美| 91 国产丝袜在线放观看 | 久久超碰天天| 嫩草影院永久在线制服丝袜| 五月天婷婷小说| 亚洲成人美女无吗| 韩国三级一线观看久| 蜜臀AV一区二区三区| 欧美日韩大陆黑人少妇99| 人妻加勒比东京热| 综合欧美日韩在线观看| 中文字幕人成乱码熟女香港| 久久内射| 久久黄黄黄| 91精品国产乱码| 99在线视频播放| 丝袜熟女2P| 99精品在线| 欧美精品999| 日本熟妇人妻中出视频| 男女激烈网站最新| 国产精品诱惑| 亚洲欧美综合网 | 国产精品久久99日日| 久区视频| 国产精品丝袜在线| 91欧美丨精品丨入口| 第四色亚洲色图| 97午夜剧场日韩| 中文字幕高清20页视频| 美女黄频a美女大全免费皮| 视频黄色国产一级| 操逼视频国产无套| 日本成人免费一区二区三区| 亚洲精品99999| 美女诱惑一区| 亚洲素人综合| 加勒比色99999| 嗯嗯啊好大| 日韩欧美天天爽爽爽天天爽爽| 亚州AV无码国产精品| 国产一在线观看| 国产精品爱欲| 综合操逼| 色哟哟 日韩精品| 七月丁香婷婷| 青青操在线视频| 偷拍 亚洲 欧美| 色网亚洲人| 国产精品对白自产拍| 加勒比海成人视频网| 内射黑丝袜| 九九九九一级| 日本高清一本二本免费不卡| 后入式999| 女人18精品一区二区三区| 麻豆久久久久久久久丝袜| 色婷婷狠狠| 一本久道久久综合狠狠爱| 亚洲人妻一区二区三区| 色综合中文字幕不卡| 大鸡巴久久久| 99黄页网站| 超碰97导航| 精品一区二区三区18| 精品人妻丰满熟妇一区二区三| 亚洲不雅视频1区二区| 亚洲国产97| 国产毛片毛片4p懂色| 久久双插| 伊欧美综合视频| 久久香蕉网| 欧美熟爽综合| 欧美黄页在线| 欧美伦乱爱| 18精品一二区| 俄罗斯及免费在线看| 欧美一级美片在线观看免费| 伊人久久大香线蕉无码| 五月婷视频| 精品无码一区二区| 99黄页网站| 日本2020一区二区| 国内精品a| 91在线精品| 女人妻一区| 丝袜美女诱惑 91 视频| 精精品人妻一区二区三区| 亚洲Av诱惑| 久久这里是精品| 精品性爱无码在线播放| 看看小穴| 91天天爽| 免费岛国一级片| 日本日皮视频逼| 久久久久久亚洲精品中文字幕人妻| 精品9区| Aa东京男人的天堂| 婷婷五月天激情四射| 尤物网址| 国产亚洲在线观看| 欧美亚洲厕所精品偷拍91| 久久9精品| 欧美一区二区观看在线| 人妻22p| 日韩不卡一二三四| 欧洲黄色网| 天天天天天干夜夜夜夜夜操| 色大师网站www永久网站视频| 91成人亚洲色图| 不卡av在线中文字幕| 这里只有精品视频在线| 色悠久久久av| 日本人妻最新在线中| 久热久| 十八禁电影伊人网| 日韩成人性日韩成人性爱视频在线免费观看 | 艳尻美人妻| 超碰97男女| 亚洲AV成人无码一区二区三区在线观看 | 国产精品毛片?v一区二区三区 | 91天堂| 亚洲色色探花| 久久久久久久久久久久黄色 | 中文字幕中文字幕一区二区| 美女超碰978| 欧美激情内射| 日本成人电影资源网| 狠综合网| 人人人干干人人干| 亚洲 图片 综合91| 91人妻熟女| 牛黄色久午久| 久久是精品| 国产啊v在线免费播放| 欧美久久毛片基地| 婷婷五月天色网| 俺去俺来也在线www| 好看的久久不射无码影视影院| 国产午夜精品在线观看| 亚码激情| 欧美激情区| 国产亚洲色婷婷久久99精品91| 内射卯月麻衣| 国产专区第一页| 女人一区| 精品高清一区二区三区三州| 色九九九综合| 国产AAAAAABBBBB| 亚洲欧洲美腿丝袜| 丝袜AV一区二区三区| 长长久久免费视频| 亚洲少妇视频| 亚洲精品 大香蕉| 999国产精品999久久久久久| 日韩性爱再线视频| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 亚洲午夜精品久久久中文影院| 亚卅熟女乱色| 亚洲九九视频| 久久亚洲不卡| 91亚洲在线| 大香蕉伊人网WWWn0n| 午夜操操操| 欧美顶级黄片AAAAA在线免费看| 性欧美第一页| 国产又色又爽又舒服的三级视频| 老熟女阿 国产91| 婷婷五月色| 色九九久九九| www网站黄| 欧美 亚洲 第一页| 久久97资源 网| 亚洲天堂一区二区久久| 91激情综合| 婷婷中文网| 日本综合色图| 伊人伊人LD| 国产真实野战在线视频| 天天躁日日躁狠狠狠躁| 亚洲中文字幕97久久精品少妇| 欧美成人国产精品| 欧美亚洲中文字幕| 97综合| 天天日天天射天天干| 97精品熟女少妇一区| 96超碰网| 二区熟妇韩日| 久草免费在线一区二区| 色爱天堂| 天美传媒Av在线| 久久精品色欧美aⅴ一区二区| 亚洲黄色| 男人的天堂日本东京热| 欧美黄片视频在线观看免费 | 97精品一区| 国产三级资源在线观看| 欧美色图片色哟哟| 97色爱| 国产树林里野战在线看| 久久精品人妻一区| 欧美综合色站| 97任你吞精| 在线观看亚洲成人精品| 天天爱综合网| 嗯嗯啊啊用力视频免费| 亚洲色图日韩精品| 午夜在线播放| 久久九操在线观看| 91美女中出| 啪啪啪精品视频| 亚洲成人激情小说视频| 超碰伊人在线| 亚洲色图激情小说| 日日噜噜夜夜狠狠视频无| 大奶的诱惑| 九九超碰综合网| 久久久穴999| 婷婷99狠狠| 日韩一性一交一A片俄罗斯 | 欧美熟女逼久久久久久| 97免费在线视频在线观看| 天天谢天天干| 97精品一区二区三区免费| 亚洲成人一二三区| 91无码中出人妻视频| 成人性爱高清视频免费看| 成年无码动漫av片无尽在线| 中字一区| 欧美日韩资源在线| 九九热AV| 日本三级R| 小视频国产| 欧美传媒| 久久久久久999| 91色s| 亚洲综合夜色| 国产精品青青草| 久久久国产成人一区二区三区在线| 91综合网在线| 天欧美在线| 青草影院内射高潮| 婷婷香网站| 玖玖爱综合| 久久久久久中文字幕中文字幕最新| 涩综合导航| 欧美精品97| 熟妇视频一区二区三区在线| 一区二区播放| 大干人妻| 熟女熟妇伦久久影院毛片一区二区| 欧美性爱一区| 夜夜嗷嗷一区二区| 97看操| 打av高清| 亚欧中文字幕在线视频| 操狠狠| 国产亚洲在线观看| 五月天大香蕉| 人成午夜免费大片| 一级A啪啪啪啪| 色婷婷丁香| 日韩在线观看中文字幕视频| 青青操综合网| 国产福利小视频高清在线观看| 国产乱伦亚洲色图高清无码| 日韩免费三级黄片电影| 大香蕉中文网| 亚洲乱妇p22| 超碰欧美97| 欧美亚洲91| 被操高清无码视频| 久热影视| 国产传媒午夜理伦精品| 97精品熟女少妇一区| 蜜臀久久99精品久久久久久无删减 | 综合色图区| 女优视频第10页| 青青操97| 超碰538| 操少妞在线视频| 久草综合网| 97欧美超碰| 亚洲巨爆乳一区二区三区四季网| 国产91av在线播放| 自拍偷拍 日韩欧美| 久久精品国产AV一区二区三区| 久草网站免费在线观看| 岛国片国产成人亚洲播放| 99在线观看视频在线高清| 色噜噜狠狠色综无码久久| 91熟女视频网| 伊人操| 操人人| 熟女人妻一区二区三区| 亚洲色系另类精品国产| 天天看天天在线精品| 99爱爱| 91麻豆天美国产| 狠狠干妹子| 91殴美| 国产精品一区二区久久精品| 被窝影院午夜看片无码| 国产精品嫩草久久久久| 国产久久久久久久久一区二区| AV天堂丝袜| 欧美精品偷拍| 校园春色美腿丝袜| 亚洲国产精品V?在线播放| 欧美久久人人网| 伊人天堂在线| 神马久久久久久久久久久久|