99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

JSP+Servlet賓館管理系統(tǒng):JavaWeb期末作業(yè)實(shí)現(xiàn)與避坑指南

JSP+Servlet賓館管理系統(tǒng):JavaWeb期末作業(yè)實(shí)現(xiàn)與避坑指南 簡介這是一款采用JavaWeb技術(shù)棧開發(fā)的賓館管理系統(tǒng)源碼運(yùn)行環(huán)境包括MySQL數(shù)據(jù)庫、IDEA開發(fā)工具、Tomcat服務(wù)器頁面與邏輯分別基于JSP和Servlet技術(shù)實(shí)現(xiàn)。項(xiàng)目面向計(jì)算機(jī)相關(guān)專業(yè)學(xué)生的期末作業(yè)與課程設(shè)計(jì)適合需要快速搭建管理系統(tǒng)或完成實(shí)訓(xùn)任務(wù)的在校學(xué)生。壓縮包大小22.34MB包含1370個文件其中主要文件類型有JSP視圖頁面、Java業(yè)務(wù)源碼、Servlet控制類、編譯后的class字節(jié)碼、前端樣式與交互腳本、數(shù)據(jù)庫建表腳本以及XML配置文件完整覆蓋了表示層、業(yè)務(wù)層與數(shù)據(jù)層目錄結(jié)構(gòu)清晰便于按模塊研讀與二次開發(fā)。系統(tǒng)已實(shí)現(xiàn)客房信息管理、預(yù)訂訂單處理、會員檔案維護(hù)等核心功能界面簡潔美觀操作流程直觀代碼包含詳細(xì)注釋新手可以理解關(guān)鍵邏輯附帶的文檔說明也能幫助讀者快速完成部署并運(yùn)行到Tomcat上省去從零搭建的麻煩。資源已有375人學(xué)習(xí)下載可作為期末大作業(yè)、課程設(shè)計(jì)的高分參考實(shí)用性強(qiáng)也方便按照自身需求擴(kuò)展改造。1. JSPServlet 賓館管理系統(tǒng)JavaWeb 期末作業(yè)最快落地的那一套做 JavaWeb 期末作業(yè)最怕的不是不會寫代碼而是選錯技術(shù)棧、裝錯環(huán)境、交上去一個跑不起來的半成品。這套基于 MySQL IDEA Tomcat JSP Servlet 的賓館管理系統(tǒng)我拆完之后最大的感受是它把課程設(shè)計(jì)里最容易扣分的那幾塊——登錄鑒權(quán)、房間狀態(tài)流轉(zhuǎn)、訂單日期計(jì)算、后臺管理——全部用最經(jīng)典的原生 Servlet 實(shí)現(xiàn)了沒有花哨框架每一行都能在答辯現(xiàn)場講清楚。源碼里帶完整注釋和文檔說明新手不用猜每個類是干什么的打開就知道哪段對應(yīng)哪個功能。適合拿去做期末大作業(yè)、課程設(shè)計(jì)或者只是想搞明白 JSP Servlet 到底怎么協(xié)作的人。2. 項(xiàng)目結(jié)構(gòu)與技術(shù)選型五個核心類如何撐起前臺到后臺2.1 為什么這個項(xiàng)目適合課程設(shè)計(jì)很多同學(xué)一上來就想用 Spring Boot但期末作業(yè)的評分標(biāo)準(zhǔn)往往不是你用了多新的框架而是你能不能講清楚請求怎么進(jìn)來、數(shù)據(jù)怎么查、頁面怎么渲染。Servlet JSP 這套組合雖然老卻是 JavaWeb 的根基老師最熟悉也最容易在答辯時(shí)給出高分。這套賓館管理系統(tǒng)的類文件集中在幾個關(guān)鍵類上LoginServlet、TraverseDate、Query、ServiceManage、OrderView從名字就能看出它的職責(zé)劃分——登錄驗(yàn)證、日期遍歷、數(shù)據(jù)查詢、服務(wù)管理、訂單視圖每個類對應(yīng)一個明確的功能模塊代碼量適中注釋齊全新手照著讀就能理清 MVC 的脈絡(luò)。技術(shù)選型上MySQL 負(fù)責(zé)數(shù)據(jù)持久化Tomcat 負(fù)責(zé)運(yùn)行環(huán)境IDEA 負(fù)責(zé)開發(fā)調(diào)試JSP 負(fù)責(zé)頁面展示Servlet 負(fù)責(zé)請求處理。這套組合的好處是沒有太多隱性的依賴配置只要版本匹配跑起來非常穩(wěn)。我見過太多期末項(xiàng)目死在框架版本沖突上而這個項(xiàng)目用的全是 JavaWeb 最基礎(chǔ)的組件任何一本教材里的環(huán)境配置步驟都能適用排查起來也容易。2.2 核心類文件與功能模塊映射拿到資源后先別急著啟動花十分鐘把類文件對應(yīng)到功能模塊后面調(diào)試會省很多事。我拆解后的對應(yīng)關(guān)系如下類文件對應(yīng)的功能模塊關(guān)鍵職責(zé)LoginServlet管理員登錄接收賬號密碼、校驗(yàn)數(shù)據(jù)庫、寫入 SessionTraverseDate日期計(jì)算引擎遍歷入住到退房日期、計(jì)算住宿天數(shù)與房費(fèi)Query數(shù)據(jù)查詢門戶房間信息查詢、訂單狀態(tài)查詢、客戶信息檢索ServiceManage后臺服務(wù)管理服務(wù)項(xiàng)目增刪改、價(jià)格調(diào)整OrderView訂單視圖層訂單展示、狀態(tài)流轉(zhuǎn)、明細(xì)查看這個結(jié)構(gòu)的巧妙之處在于每一層都只做一件事。LoginServlet 只負(fù)責(zé)登錄不摻業(yè)務(wù)邏輯TraverseDate 只算日期不碰數(shù)據(jù)庫Query 只做查詢不做修改。這樣的拆分讓答辯時(shí)可以非常清晰地回答老師的問題「你這個訂單金額是怎么算出來的」——打開 TraverseDate邏輯一目了然。2.3 數(shù)據(jù)庫設(shè)計(jì)的四張核心表項(xiàng)目對應(yīng)的數(shù)據(jù)庫設(shè)計(jì)也是課程設(shè)計(jì)標(biāo)準(zhǔn)答案級別的。表結(jié)構(gòu)大致分為四張管理員表t_admin、房間表t_room、訂單表t_order、服務(wù)表t_service。房間表和訂單表通過房間號關(guān)聯(lián)訂單表記錄了入住時(shí)間和退房時(shí)間服務(wù)表記錄額外的消費(fèi)項(xiàng)目。表結(jié)構(gòu)的設(shè)計(jì)思路很實(shí)用管理員表只存賬號密碼房間表存房間號、類型、價(jià)格、狀態(tài)訂單表存客戶姓名、房間號、入住日、退房日、總金額服務(wù)表存服務(wù)項(xiàng)目名稱和價(jià)格。四張表沒有任何冗余字段外鍵關(guān)系簡單SQL 查詢不會出現(xiàn)復(fù)雜的多表關(guān)聯(lián)對剛接觸數(shù)據(jù)庫的初學(xué)者來說非常友好。-- 訂單表核心字段示例 CREATE TABLE t_order ( order_id INT PRIMARY KEY AUTO_INCREMENT, customer_name VARCHAR(50) NOT NULL, room_id INT NOT NULL, checkin_date DATE NOT NULL, checkout_date DATE NOT NULL, total_amount DECIMAL(10,2) DEFAULT 0, order_status VARCHAR(20) DEFAULT 已入住, create_time DATETIME DEFAULT CURRENT_TIMESTAMP );這段建表 SQL 里有兩個字段值得注意total_amount 默認(rèn)值為 0原因是訂單創(chuàng)建時(shí)可能還沒退房金額需要根據(jù)實(shí)際住宿天數(shù)計(jì)算后更新order_status 用字符串而不是數(shù)字是為了讓 JSP 頁面直接展示「已入住」「已退房」這樣的中文狀態(tài)省去前端再做一次狀態(tài)映射。這種設(shè)計(jì)很貼合課程設(shè)計(jì)場景——簡單、直觀、答辯時(shí)不用繞彎子解釋狀態(tài)碼含義。3. 從零部署IDEA Tomcat MySQL 的三件套配置與運(yùn)行驗(yàn)證3.1 MySQL 版本與編碼設(shè)置的第一個坑部署的第一件事是準(zhǔn)備數(shù)據(jù)庫。項(xiàng)目是圍繞 MySQL 設(shè)計(jì)的建議直接用 MySQL 5.7 或 8.0 版本。裝好之后不要急著導(dǎo)入數(shù)據(jù)先把字符集設(shè)置好否則 JSP 頁面顯示中文會變成問號。我一般會在 MySQL 配置文件里加上默認(rèn)字符集配置然后重啟服務(wù)再創(chuàng)建數(shù)據(jù)庫。# 創(chuàng)建數(shù)據(jù)庫時(shí)強(qiáng)制指定字符集 CREATE DATABASE hotel_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;這里用 utf8mb4 而不是 utf8是因?yàn)樵?MySQL 8.0 里 utf8 實(shí)際上是 utf8mb3遇到一些特殊符號存不進(jìn)去。課程設(shè)計(jì)項(xiàng)目雖然大概率用不到 emoji但統(tǒng)一用 utf8mb4 可以避免一個隱藏的中文亂碼問題——尤其是 JSP 頁面提交表單后往數(shù)據(jù)庫寫入中文編碼鏈路差了任何一環(huán)都會亂。字符集設(shè)置好后再導(dǎo)入項(xiàng)目附帶的 SQL 文件順序不能反。Tomcat 版本建議用 Tomcat 9對應(yīng) Servlet 4.0 規(guī)范和項(xiàng)目里的 Servlet 代碼兼容性最好。我遇到過不少同學(xué)裝 Tomcat 10 跑老項(xiàng)目結(jié)果所有 javax.servlet 包名全部報(bào)錯因?yàn)?Tomcat 10 換成了 jakarta.servlet這是版本換代引起的包名遷移問題。項(xiàng)目源碼里用的是 javax.servlet配 Tomcat 9 就能完美避開。3.2 IDEA 中配置 Tomcat 的運(yùn)行三步走在 IDEA 里跑這個項(xiàng)目關(guān)鍵是把 Tomcat 和 Web 項(xiàng)目正確關(guān)聯(lián)。很多同學(xué)在這里翻車是因?yàn)闆]有把項(xiàng)目打成 Artifact 部署到 Tomcat 的 webapps 目錄導(dǎo)致啟動 Tomcat 后訪問 404。# 第一步確保項(xiàng)目結(jié)構(gòu)里有 src/main/webapp 目錄 # IDEA 中右鍵項(xiàng)目 - Add Framework Support - 勾選 Web Application # 第二步配置 Artifact # File - Project Structure - Artifacts - 點(diǎn)擊 - Web Application: Exploded # 第三步配置 Tomcat # Run - Edit Configurations - 點(diǎn)擊 - Tomcat Server - Local # 在 Deployment 標(biāo)簽頁添加 ArtifactApplication context 填 /hotel這里我詳細(xì)解釋一下第二步和第三步背后的邏輯。IDEA 運(yùn)行 Tomcat 時(shí)并不是直接把項(xiàng)目文件夾丟給 Tomcat而是先打包成一個 Artifact可以理解為編譯后的 Web 項(xiàng)目快照再放到 Tomcat 的容器里執(zhí)行。所以 Artifact 配置錯了即使 Tomcat 正常啟動頁面依然訪問不到。Application context 填 /hotel意味著訪問路徑是 http://localhost:8080/hotel/如果留空則是根路徑。我習(xí)慣填上項(xiàng)目名因?yàn)榇疝q演示時(shí) URL 更直觀。3.3 JDBC 連接的敏感參數(shù)配置項(xiàng)目里的數(shù)據(jù)庫連接方式是 JDBC通常在 db.properties 文件或工具類里配置連接參數(shù)。打開配置重點(diǎn)檢查四個參數(shù)驅(qū)動類、連接地址、用戶名、密碼。// 數(shù)據(jù)庫連接工具類核心代碼 public class DBUtil { private static final String DRIVER com.mysql.cj.jdbc.Driver; private static final String URL jdbc:mysql://localhost:3306/hotel_db ?useSSLfalseserverTimezoneAsia/Shanghai; private static final String USER root; private static final String PASSWORD 123456; public static Connection getConnection() throws SQLException { try { Class.forName(DRIVER); } catch (ClassNotFoundException e) { e.printStackTrace(); } return DriverManager.getConnection(URL, USER, PASSWORD); } }注意 URL 里的兩個參數(shù)useSSLfalse 是必須加的因?yàn)?MySQL 8.0 默認(rèn)開啟 SSL 連接而 Tomcat 本地調(diào)試時(shí)的 SSL 握手經(jīng)常出問題報(bào)錯信息很迷惑實(shí)際原因就是證書校驗(yàn)失敗serverTimezoneAsia/Shanghai 則是解決日期時(shí)間類的時(shí)區(qū)偏移問題不加這個參數(shù)從數(shù)據(jù)庫取出 Date 類型時(shí)會出現(xiàn) 8 小時(shí)誤差導(dǎo)致入住日期和退房日期的天數(shù)計(jì)算全部錯位。密碼部分如果你是本地 root 用戶且沒改過密碼保持 123456 或電腦上實(shí)際的 root 密碼即可。數(shù)據(jù)庫連接的成功驗(yàn)證方式很簡單——運(yùn)行一個 main 方法調(diào)用 getConnection()不拋異常就說明通了。4. 核心代碼逐段拆解登錄、日期遍歷與訂單查詢的實(shí)現(xiàn)細(xì)節(jié)4.1 LoginServlet 的登錄校驗(yàn)與 Session 管理登錄功能是每個期末作業(yè)的標(biāo)配但細(xì)節(jié)差異很大。這個項(xiàng)目的 LoginServlet 寫法非常規(guī)范接收前端 JSP 表單提交的 username 和 password調(diào)用 Query 類去數(shù)據(jù)庫比對成功后把用戶信息存入 Session再跳轉(zhuǎn)到主頁面失敗則返回登錄頁并附帶錯誤提示。WebServlet(/login) public class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding(UTF-8); String username request.getParameter(username); String password request.getParameter(password); // 調(diào)用查詢層驗(yàn)證賬號密碼 Query query new Query(); Admin admin query.findAdminByUsernameAndPassword(username, password); if (admin ! null) { HttpSession session request.getSession(); session.setAttribute(currentAdmin, admin); response.sendRedirect(request.getContextPath() /index.jsp); } else { request.setAttribute(errorMsg, 賬號或密碼錯誤); request.getRequestDispatcher(/login.jsp).forward(request, response); } } }兩個關(guān)鍵細(xì)節(jié)doPost 里的 setCharacterEncoding(UTF-8) 必須放在讀取參數(shù)之前否則表單提交的中文用戶名會亂碼登錄成功用 sendRedirect 而不是 forward 跳轉(zhuǎn)是為了避免用戶按下 F5 刷新時(shí)重復(fù)提交登錄請求。Session 中存的是 Admin 對象而不是用戶名這樣主頁面可以直接從 session 里取出管理員詳細(xì)信息進(jìn)行展示不用再次查詢數(shù)據(jù)庫。實(shí)際測試中發(fā)現(xiàn)如果登錄失敗用 forward 返回 login.jsp頁面上給出的錯誤提示能正常顯示這個設(shè)計(jì)我很喜歡——錯誤提示通過 request 域傳遞跳轉(zhuǎn)一次就能看到。// 查詢層方法注意密碼比對方式 public Admin findAdminByUsernameAndPassword(String username, String password) { Connection conn null; PreparedStatement ps null; ResultSet rs null; try { conn DBUtil.getConnection(); String sql SELECT * FROM t_admin WHERE username? AND password?; ps conn.prepareStatement(sql); ps.setString(1, username); ps.setString(2, password); rs ps.executeQuery(); if (rs.next()) { Admin admin new Admin(); admin.setId(rs.getInt(id)); admin.setUsername(rs.getString(username)); return admin; } } catch (SQLException e) { e.printStackTrace(); } finally { closeResources(rs, ps, conn); } return null; }這里強(qiáng)烈建議使用 PreparedStatement 而不是拼接 SQL 字符串——傳入的用戶名如果包含單引號拼接 SQL 會導(dǎo)致語法錯誤甚至注入風(fēng)險(xiǎn)。PreparedStatement 的預(yù)編譯機(jī)制自動處理了引號轉(zhuǎn)義是課程設(shè)計(jì)答辯時(shí)老師一定會問的考點(diǎn)。finally 塊里的資源關(guān)閉是另一道加分項(xiàng)很多沒經(jīng)驗(yàn)的代碼會漏掉連接關(guān)閉長時(shí)間運(yùn)行后連接池耗盡整個系統(tǒng)卡死。4.2 TraverseDate 的日期遍歷與房費(fèi)計(jì)算邏輯住宿天數(shù)的計(jì)算是賓館管理系統(tǒng)的核心算法。這個項(xiàng)目的 TraverseDate 類把邏輯封裝得非常干凈輸入入住日期和退房日期遍歷每一天統(tǒng)計(jì)天數(shù)并計(jì)算總房費(fèi)。// 日期計(jì)算核心邏輯簡化版 public class TraverseDate { private static final long DAY_IN_MILLIS 24 * 60 * 60 * 1000; public int calculateDays(Date checkinDate, Date checkoutDate) { // 注意日期需要?dú)w一化到零點(diǎn)否則時(shí)間差可能丟失一天 Calendar checkin Calendar.getInstance(); checkin.setTime(checkinDate); checkin.set(Calendar.HOUR_OF_DAY, 0); checkin.set(Calendar.MINUTE, 0); checkin.set(Calendar.SECOND, 0); Calendar checkout Calendar.getInstance(); checkout.setTime(checkoutDate); checkout.set(Calendar.HOUR_OF_DAY, 0); checkout.set(Calendar.MINUTE, 0); checkout.set(Calendar.SECOND, 0); long diff checkout.getTimeInMillis() - checkin.getTimeInMillis(); return (int) (diff / DAY_IN_MILLIS); } public BigDecimal calculateAmount(Date checkin, Date checkout, BigDecimal pricePerDay) { int days calculateDays(checkin, checkout); return pricePerDay.multiply(BigDecimal.valueOf(days)); } }這個類實(shí)現(xiàn)里有三個細(xì)節(jié)值得關(guān)注。第一為什么用 Calendar 歸一化時(shí)間因?yàn)閺臄?shù)據(jù)庫讀出的 Timestamp 可能帶有時(shí)分秒如果入住是 2023-12-01 10:30退房是 2023-12-03 14:00直接算毫秒差是 48 小時(shí)加 3.5 小時(shí)除以 24 小時(shí)后得到 2 天還多強(qiáng)轉(zhuǎn) int 得到 2看起來沒問題但如果退房是 2023-12-03 09:30毫秒差是 47 小時(shí)除以 24 得到 1.958轉(zhuǎn) int 變成 1 天——這就錯了。歸一化到零點(diǎn)后再算差邏輯就穩(wěn)了。第二金額用 BigDecimal 而不是 double因?yàn)榉抠M(fèi)涉及小數(shù)計(jì)算double 的精度損失會在多天累加時(shí)放大。第三這個方法故意只算了房費(fèi)不包含服務(wù)費(fèi)服務(wù)費(fèi)用由 ServiceManage 單獨(dú)統(tǒng)計(jì)后與房費(fèi)合并——這一設(shè)計(jì)讓每個類的職責(zé)更聚焦排查問題時(shí)不會一頭霧水。4.3 Query 與 OrderView 的訂單狀態(tài)流轉(zhuǎn)Query 類承擔(dān)了絕大部分?jǐn)?shù)據(jù)庫查詢工作而 OrderView 負(fù)責(zé)把查詢結(jié)果封裝成視圖對象供 JSP 渲染。兩者的分工是Query 查原始數(shù)據(jù)OrderView 做數(shù)據(jù)組裝。查詢訂單時(shí)需要關(guān)聯(lián)房間表獲取房間類型和價(jià)格。// 查詢訂單列表關(guān)聯(lián)房間表 public ListOrderView findOrdersWithRoomInfo(String keyword) { ListOrderView orderViews new ArrayList(); Connection conn null; PreparedStatement ps null; ResultSet rs null; try { conn DBUtil.getConnection(); String sql SELECT o.order_id, o.customer_name, o.checkin_date, o.checkout_date, o.total_amount, o.order_status, r.room_type, r.price FROM t_order o LEFT JOIN t_room r ON o.room_id r.room_id ; if (keyword ! null !keyword.isEmpty()) { sql WHERE o.customer_name LIKE ? OR o.order_id ?; } ps conn.prepareStatement(sql); if (keyword ! null !keyword.isEmpty()) { ps.setString(1, % keyword %); ps.setString(2, keyword); } rs ps.executeQuery(); while (rs.next()) { OrderView view new OrderView(); view.setOrderId(rs.getInt(order_id)); view.setCustomerName(rs.getString(customer_name)); view.setRoomType(rs.getString(room_type)); view.setPrice(rs.getBigDecimal(price)); view.setTotalAmount(rs.getBigDecimal(total_amount)); view.setOrderStatus(rs.getString(order_status)); orderViews.add(view); } } catch (SQLException e) { e.printStackTrace(); } finally { closeResources(rs, ps, conn); } return orderViews; }這段查詢的看點(diǎn)在于條件拼接方式先寫基礎(chǔ) SQL再根據(jù)關(guān)鍵字是否為空決定是否拼接 WHERE 子句。注意 WHERE 后面的 AND 問題——如果在 WHERE 后面直接寫 AND而當(dāng)關(guān)鍵字為空時(shí) SQL 變成純粹的基礎(chǔ)查詢多出的 AND 就會語法報(bào)錯。這里的處理是先拼 WHERE 再拼接條件用 LIKE 模糊查詢客戶名稱訂單號用精確匹配參數(shù)均為動態(tài)綁定。不要把用戶輸入直接拼進(jìn) SQL 字符串一是安全二是 LIKE 語句里的百分號和引號需要轉(zhuǎn)義PreparedStatement 自動處理這些。訂單狀態(tài)流轉(zhuǎn)的邏輯在 ServiceManage 里配合使用——退房操作會將 order_status 從「已入住」改為「已退房」同時(shí)把房間狀態(tài)改為「空閑」。數(shù)據(jù)庫里 status 字段的更新邏輯很簡單就是一條 UPDATE 語句但要注意事務(wù)邊界退房操作需要同時(shí)更新訂單表和房間表兩張表的更新必須在一個事務(wù)中完成否則會出現(xiàn)訂單已退房但房間仍顯示占用的情況。代碼里通過 Connection 的 setAutoCommit(false) 配合 commit/rollback 實(shí)現(xiàn)事務(wù)控制這是一個高級加分點(diǎn)答辯時(shí)可以主動提。5. 部署避坑實(shí)錄5 個讓課程設(shè)計(jì)翻車的常見問題與排查5.1 頁面 404Tomcat 找不到項(xiàng)目資源現(xiàn)象Tomcat 啟動成功瀏覽器訪問 http://localhost:8080/hotel/index.jsp 卻顯示 404。 原因最常見的是 Artifact 沒有正確部署到 Tomcat或者 Application context 配置的和訪問路徑不一致。還有一種是 webapp 目錄結(jié)構(gòu)不對IDEA 新建項(xiàng)目時(shí)如果沒有正確標(biāo)記 webapp 目錄JSP 文件根本不會被打進(jìn) Artifact。 解決打開 File - Project Structure - Artifacts檢查 Output Layout 里是否包含了 webapp 目錄下的全部文件再打開 Run/Debug Configurations確認(rèn) Deployment 里添加了 Artifact 且 Application context 是 /hotel。如果都沒問題清掉 out 目錄和 target 目錄后重啟 Tomcat。5.2 中文亂碼從表單到數(shù)據(jù)庫全鏈路編碼不一致現(xiàn)象JSP 頁面輸入中文「張三」存入 MySQL 后變成「?? ??‰」。 原因三處編碼不一致——JSP 頁面編碼、Servlet 請求編碼、數(shù)據(jù)庫表字符集。任何一個環(huán)節(jié)不是 UTF-8中文就保不住。 解決JSP 文件頂部設(shè)置 pageEncoding 為 UTF-8每個 Servlet 的 doPost 開頭寫 request.setCharacterEncoding(UTF-8)連接數(shù)據(jù)庫 URL 加 useUnicodetruecharacterEncodingUTF-8。我遇到過一個奇怪場景數(shù)據(jù)庫表已經(jīng)建好了服了navicat 客戶端顯示正常但程序?qū)懭雭y碼——最后發(fā)現(xiàn)是 MySQL 連接配置沒加 characterEncoding 參數(shù)。從那以后建任何項(xiàng)目我都會先驗(yàn)證中文寫入再往下走。5.3 MySQL 驅(qū)動連接報(bào)錯Communications link failure現(xiàn)象Tomcat 啟動后訪問查詢功能報(bào) Communications link failure 或者 SSL 異常。 原因MySQL 8.0 默認(rèn)開啟 SSL且驅(qū)動版本和數(shù)據(jù)庫版本不匹配。很多人從網(wǎng)上下載的 mysql-connector-java 是舊版 5.x連 8.0 數(shù)據(jù)庫時(shí)協(xié)議不兼容。 解決使用 mysql-connector-j 8.x 版本驅(qū)動連接 URL 加上 useSSLfalse 和 serverTimezoneAsia/Shanghai。檢查驅(qū)動 JAR 是否放在 WEB-INF/lib 目錄而不是僅加到 IDEA 的依賴列表——運(yùn)行時(shí) Tomcat 只認(rèn) WEB-INF/lib 里的 JARIDEA 編譯通過不代表 Tomcat 運(yùn)行時(shí)不報(bào)錯。5.4 訂單日期計(jì)算差一天時(shí)區(qū)導(dǎo)致的 Date 陷阱現(xiàn)象入住 2024-06-01退房 2024-06-03頁面顯示住宿 1 天而不是 2 天。 原因數(shù)據(jù)庫取出的 Date 類型對象經(jīng)過 JDBC 轉(zhuǎn)換后帶了當(dāng)前虛擬機(jī)的時(shí)區(qū)信息如果 MySQL 連接 URL 沒指定 serverTimezoneJDBC 用默認(rèn)時(shí)區(qū)解析 DATETIME導(dǎo)致時(shí)分秒偏移歸一化失敗后日期差計(jì)算錯誤。 解決連接 URL 必須加 serverTimezoneAsia/Shanghai計(jì)算天數(shù)前用 Calendar 歸一化到零點(diǎn)如果時(shí)間緊張最簡單的驗(yàn)證方式是寫一段測試代碼故意設(shè)置為 00:00 和 23:59 的時(shí)間看計(jì)算結(jié)果是否符合預(yù)期。這個坑最容易在答辯前夜爆發(fā)因?yàn)檠菔緯r(shí)日期往往是當(dāng)天的而計(jì)算邏輯對跨天場景敏感。5.5 SQL 語法異常漏掉空格或者字段名打錯現(xiàn)象運(yùn)行時(shí)日志打印 SQLException提示 Unknown column xx in field list 或 You have an error in your SQL syntax。 原因拼接 SQL 字符串時(shí)變量沒有加空格比如 WHERE customer_name LIKE ? AND o.room_id 前后拼接處缺少空格SQL 變成了 WHERE customer_name LIKE ?AND o.room_id。還有一種情況是字段名寫錯尤其是有下劃線的字段如 order_status 容易寫成 orderstatus數(shù)據(jù)庫根本不存在這個字段報(bào)錯信息比較直觀但容易被忽略。 解決用 IDEA 的 SQL 方言檢查功能或者在本地用 Navicat 預(yù)執(zhí)行一遍 SQL 確認(rèn)語法拼接字符串時(shí)每行結(jié)尾保留空格字段名從建表語句里復(fù)制而不是手敲。如果你在 Query 類里用了 StringBuilder 拼 SQL養(yǎng)成習(xí)慣每行結(jié)尾加空格不要依賴下一行的開頭空格。6. 答辯前必做的本地驗(yàn)收用一張檢查清單驗(yàn)證系統(tǒng)完整性期末作業(yè)最慘的不是寫完而是答辯現(xiàn)場演示時(shí)鼠標(biāo)一點(diǎn)就崩。我在這類項(xiàng)目上交過太多次學(xué)費(fèi)后來總結(jié)了一個強(qiáng)制驗(yàn)收流程每次演示前一天必須完整走一遍。先把 Tomcat 啟動起來然后按以下順序逐項(xiàng)驗(yàn)證不要跳步。序號驗(yàn)證項(xiàng)操作與預(yù)期結(jié)果相關(guān)類1數(shù)據(jù)庫連接啟動后首頁打開無報(bào)錯DBUtil2錯誤密碼登錄提示「賬號或密碼錯誤」并留在登錄頁LoginServlet3正確密碼登錄跳轉(zhuǎn) index.jsp頁面右上角顯示管理員名LoginServlet4日期計(jì)算開單選擇 6 月 1 日入住、6 月 3 日退房金額為 2 晚費(fèi)用TraverseDate5訂單查詢按客戶名模糊搜索結(jié)果列表正確展示Query/OrderView6退房操作訂單狀態(tài)變?yōu)橐淹朔糠块g狀態(tài)變?yōu)榭臻eServiceManage7數(shù)據(jù)持久化重啟 Tomcat記錄仍在MySQL這個清單的妙處在于每項(xiàng)都對應(yīng)一個核心類答辯時(shí)如果老師問「這項(xiàng)目有哪些功能」你直接背這張表的第 2 到第 6 行每個功能都能說清對應(yīng)代碼在哪個類里、核心邏輯是什么。我一般會在驗(yàn)收時(shí)把 Tomcat 的控制臺日志打開每一步操作看一眼有沒有報(bào)異常很多隱藏的 SQLException 頁面不顯示日志里早就有記錄了。關(guān)于文檔說明資源里帶的文檔講清楚了建表語句、默認(rèn)賬號密碼和部署步驟。建議你拿到之后先按文檔跑一遍成功后再自己改功能加功能——比如給訂單表加一個備注字段練習(xí)從數(shù)據(jù)庫到 Servlet 到 JSP 的完整鏈路改造。這套項(xiàng)目最好的一點(diǎn)是可擴(kuò)展性極強(qiáng)房間表加一個床位字段訂單表加一個押金字段都能順著原有代碼結(jié)構(gòu)快速實(shí)現(xiàn)。從那以后我每次拿到類似項(xiàng)目都會強(qiáng)制走一遍「先跑基礎(chǔ)流程 → 再改一項(xiàng)小功能 → 最后驗(yàn)證舊功能不被破壞」的三步流程。這套方法論救過我很多次希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
renre人人操国产超碰在线| 亚洲精品网站色视频| 五月丁香五月激情综合色综合| 亚洲色啪| 色97综合婷婷天天色| 五月天丁香| 91精品久久久久久久久久| 日本高清久久| 国产免费性爱| 婷婷丁香亚洲五月天| 国产无套精品一区二区| 色综合色综合色综合高潮| 丁香五月天之婷婷影院| 色婷婷久久| 久久a热| 六月丁香大香蕉| 天天久| 丁香九月综合在线| 国产免费一区二区在线A片视频| 成人在线视频男人的天堂4399| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 干婷婷五月天| 色五月激情五月丁香五月婷婷啪啪综合 | 深爱激情69热| 一本色道久久综合狠狠躁一二三| 色情·com| 超碰99在线观看| 激情五月天色| 成人无码髙潮喷水A片| 久久婷婷综合网| 激情综合五月| 婷婷五月视屏| 婷婷五月天激情四射五月天激情| 日本人妻伦在线中文字幕| 亚洲色vA| 免费在线a| 日日爱激情| 在线精品97| 五月丁香综合| 色宗合,宗合网| 日韩在线观看网址| www婷婷| 欧美美女国产日韩一区二区久| 丁香五月天社区| 日日噜狠狠色综合久久| 激情婷婷综合网| 久久九九免费视频| 99热在这里只有免费精品| 婷婷在线日韩综合| 亚洲国产精品VA在线看黑人| 色婷婷婷婷| 久99| 性爱网五月婷婷| 九九精品网| 操草草草| av在线播放网站| 天天天天天天天操| 欧美日综合| 亚洲人妻av| 久久精品视频99| 性爱AV天堂| 国产毛片精品一区二区色欲黄A片| 五月天成人网婷婷| 超碰在线综合| 影音先锋AV男人站| 屁股翘好撅高迎合跪趴| 婷婷午夜天| 六月丁香VA| 亚洲小电影在线观看黄999| 九九香蕉网| 五月激情综合五月| 色婷婷五月在线| 99久久久久| 天天摸夜夜夜| 就爱啪啪婷婷| 五月丁香va| 婷婷中文字幕欧美| 婷婷午夜| 丁香五月激情五月| 九九热99精品| 五月婷婷亚洲综合网| 激情小说五月天| 天天干夜晚夜操| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 国外亚洲成AV人片在线观看| 五月天天久久香| 超碰亚洲天堂| 色婷婷丁香花五月天| 狠狠色噜噜| 婷婷丁香视频在线观看免费| 久久日韩婷婷五月| 成人精品视频99在线观看免费| 五月激情六月综合| 婷婷热婷婷色| 亚洲天堂热| 免费视频WWW在线观看网站| 情婷婷五月天| 婷婷五月天另类视频| www.丁香黄色五月天人与| 色色亚洲视频| 色婷婷久久综合中文久久一本| 精品婷婷五月视| va亚洲中文在线| 五月综合色| caopeng97人人| 97色色网| 99爱视频免费看| 天天久综合网永久入口17v| 五六月婷婷久久| 午夜天堂一区人妻| 无码色色色| 国精产品一区二区三区| 色天天综合| 这里只有精品热| 先锋五月婷婷丁香草草| 丁香五月影院| 97婷婷狠狠| 亚洲超级碰| 96色婷婷| 丁香六月狠狠干| 欧洲色| 亚洲欧美婷婷五月色综合| 天天操夜夜啊| 国庆精品久久| 亚洲六月婷| 激情综合网五月在线播放| 大香蕉在线99热| 欧美色五月| 能看的AV| 婷婷啪啪| 丰满少妇猛烈A片免费看观看| 99热这里只有精品9| 99在线免费视频| WWW.99热| 五月WWW| 丁香五月婷婷深爱综合激情| 五月丁香直播| 五月婷六月| 色色色热| 日日撸夜夜操| 久久九九激情五月天| 婷婷大香蕉| 久热超碰| 色99视频| 婷婷中文综合网| 超碰AV在线| 大地9中文在线观看免费高清| 日本一级一级一级一级| 丁香五月婷婷色偷偷| 日韩中文字幕| 色五月色开心开心五月| 丁香六月婷婷激情| 国产在线视频1234| 日韩欧美成人片| 久久久大香蕉| 色综合久久88色综合中文字幕| 九九热视频网站| 欧美视频在线观看噜噜| www.久久av.com| 天天日夜夜爽。| 五月天婷婷乱| 日韩 中文 欧美| 日韩啪啪视频| 婷婷五月激情四射手| 欧美精品久| 天天日夜夜欢| 久久人五月| 九九99九九99| 婷婷开心六月| 国产精品色婷婷99久久精品| 免费看欧美成人A片无码| 天天插天天插天天插天天插| 色婷久| 综合色影院| 国产精品色色| 久久99热这里只频精品6学生| 日韩九区| 草草色情综合网| 97人妻碰碰碰久久香蕉| 五月婷婷,六月激情| 色综合性视频| 六月丁香五月婷婷| 色老久久| 99热大全在线观看| 噜噜噜噜在线| 婷婷丁香人妻天天爽| 91狠狠综合久久久久久| 亚洲春色奇米影视| 国产成人av在线| 日日激情网| 天天做天天爱天天要| 九九草热在线观看| 色色亚洲五月天| 色五月噜噜| 五月丁香六月婷| www.精品99| 日日夜夜干| 激情深爱五月天| www.com任你艹| 99热都是精品| 亚洲精品无码久久| 在线观看视频1区| 91碰超| 婷婷综合五月色播| 五月天婷婷成人网| 婷婷黄色五月| 亚洲综合婷婷五月天| 九九色精品| 婷婷丁香人妻天天爽| 国产JK精品白丝AV在线观看| 久久婷婷丁香| 五月丁香天堂网婷婷| 狠狠色婷婷777| www.久久久.com| 久操大香蕉| 日日夜夜天天| 五月天久久婷婷| 六月综合在线| 日本狠狠干| 国内久久久精品99| 丁香六月婷婷色XXXXX| 九九热免费视频| 一本狠婷婷综合| 久久九九中文字幕| 99人妻碰碰碰久久久久视| 涩丁香| 伊人激情综合网| 乱色色色| 国产精品国产成人国产三级| 五月丁香婷婷福利| 丁香婷婷五月综合色情| 97人人干人人操| 97se视频在线| 97色精品视频| 丁香五月婷婷性爱| 97色婷婷| 天天看片日日夜夜| 久久免费操| 色五月,婷婷大香蕉| 婷婷基地五月色| 99久久婷婷| 丁香五月影视| 狠狠激情五月天| 碰超亚洲| 五月激情六月丁香| 久久久91| 久久精彩免费视频| 激情亚洲色图片丁香综合| 伊人久久艹| 五月丁香六月婷综合成人综合| 99久超碰| 99熟女| 激情综合五月丁香| 丁香五月婷婷色| 婷婷五月在线播放| 五月婷婷婷色| 亚洲色色色色色| 欧美色婷婷| 五月天六月天| 亚洲无码九九九| 国产毛片精品一区二区色欲黄A片| 久热伊人91| 色99在线观看| 丁香五月精品视频| 国产精自产拍久久久久久蜜| 2023天天日夜夜爽| 99偷拍视频在线日本| 97人人做| 天天成人五月天| 五月刺激丁香月综合| 免费久久这里只有精品99| 丁香婷婷五月天成人| 激情丁香五月天图片| 激情床戏| 丁香五婷婷| 久久精典| 99这里都是精品| 天天干天天色天天干| 国产精品人成A片一区二区| 日本va视频| 久久伊人婷| www.97碰碰com| 深情六月婷婷综合久久| 婷婷丁香无码专区| 六月丁香久久| 婷婷五亚洲| 激情AV在线| 97福利视频| 综合久久99| 久久R激情| 色五月首页| 人人97碰| 中文字幕日产A片在线看| 婷婷性爱影院| 日韩99无码| 色久女| se99在线| 99热高清在线| 久草狼人| 九热...av| 国产FREESEXVIDEOS性中国| 天天撸天天干天天插| 日韩啪图| 国产午夜伦鲁鲁| 天天爱天天秀天天做| 色色永久| 色吊丝中文字幕| 婷婷五月丁香六月| 九九精品热| 六月丁香视频网站| 久99久视频免费观看| 婷婷五月天网| 欧洲日韩一区二区三区| 丁香婷婷五月综合欧美另类| 日本视频99| 日日夜夜噜噜爽爽| 操操精品| 国模狼狼| 伊人久久艹| 婷婷色播综合五月| 无码地址| 超碰在线网站| 全部老头和老太XXXXX| 夜丁香五月婷婷| 亭亭丁香aV| 色综合99无码 | 婷婷月五天在线在线看| 婷婷五月天久久| 五月丁激情| 五月天婷婷激情在线色图| 成人做爰A片免费看网站找不到了| 伊人婷婷综合| 深爱五月婷婷| 五月婷婷性| 五月婷丁香久久综合| 国产人妻777人伦精品HD| 婷婷五月天激情诱惑| 9999三级片| 中国丰满熟女A片免费观| 亚洲不卡欧洲| 婷婷色狠狠| 五月婷婷视频啪啪美女| yazhou seshipin| 国产激情综合五月久久| 97综合视频在线| 99热成人| 美女网黄| AV成人在线播放| 亚洲激情丁香五月基地| 婷婷五月天综合网| 婷色五月| 五月丁香六月婷婷精品| 91pornav在线| 婷婷五月天综合色| 性生活久久人妻| 这里只有精品视频视频在线观看| 蜜臀丁香黄色婷婷五月天| 久青操| www一起操| 国产成人精品一区二三区熟女在线 | 久热超碰| 欧美色色色色色色色色色色| 色五月丁香婷婷在线观看| 天天爽夜夜爽天天爽夜夜爽| 婷婷五月天精品| 婷婷丁香五月天综合AV| 欧美噜噜久久久XXX| 开心久久网婷婷| 丁香激情五月天| 97久久精品视频| 97人人操人人插| 色色网91| 人妻久久婷婷| 性日本激情| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 婷婷五月,偷窥偷拍网| 无遮挡国产高潮视频免费观看| 99热这里只有精品2| 色五月婷婷久久| 狠狠爱五月婷婷| 亚州操操| 午夜丁香婷婷| 99re视频在线精品| 亚洲六月色婷婷| 五月丁香888| 99 re视频一区| 啪啪夜久久| 五月天丁香综合| 九九九九九九九九九九九九九国产精品 | 成人短视频在线| 伊人久久婷婷| xx色综合| 亚洲丁香花色| 亚洲另类婷婷五月综合| 亚洲综合网区| 日日夜夜综合| 六月婷婷激情| 香蕉曰比| 天天综合91入口| 9热视频在线观看| 六月丁香花婷婷| 五月婷婷五月天天| 五月婷婷六月丁香激情| 国产成人亚洲综合A∨婷婷| 久热伊人| 免费无码毛片一区二区A片 | 99热每日| 天天色天天射天天日| 5Www色5夜| 亚洲综合成人网| 亚洲天堂亚洲色色色| 狠狠色丁香婷婷| 久久婷婷五月综合色丁香| 伊人玖玖精品| 超碰在线99| 六月丁丁香| 97人人射| 97操碰在线视频| 91丨九色丨丰满人妖| 日本婷久久| 日本a片网址| 深爱五月日韩| 五月丁香影视| 99视频在线观看地址| 成人超碰网| 五月天婷婷基地综合网| 六月激情婷婷色| 无码任你操| 爽极品色| 极品人妻VIDEOSSS人妻| 婷婷va| 五月丁香婷婷AV天堂| 99只有精品| 亚洲天天综合| 极品人妻VIDEOSSS人妻| 天堂久久大香蕉| 综合婷婷| 精品99在线| 色噜噜狠狠色综无码久久合欧美| 欧美久久久中文字幕| 九九精品re免费视频| 4399在线日本A片| 丁香六月婷婷综合网| 激情久久肏屄视频| 蜜臀99久久精品久久久久| 婷婷九月激情| 久草大| 六月婷婷中文字幕| 超碰人人操人人9| 婷婷色5月天在线。| 久99久热只有精品国产99| 婷婷五月天视频亚洲| 色五月在线播放| 婷婷无五月无码视频| 国产激情在线| 五月丁香999| 狠狠干激情五月| 五月丁香精品| 99在线资源| 六月久久狠狠| 97碰碰叉| 99久久99视频| 色色无码| 射琪琪| 六月婷婷色五月| 婷婷五月丁香色综合| 综合久久99| www.久操| 亚洲色99| 五月婷婷黄色毛片| 噜噜吧天天爱| 婷婷五月色| 思思热久久艹| 91久热| 91人人操.COM| 停停五月色宗合| 97碰碰免费.视频| 我爱va亚洲va52| 欧美韩国日本| 日本成人噜噜噜噜噜| 搡BBBB搡BBB搡18| 日日天天天| 天天在线XXX| 久久久久久久人妻| 影音先锋激情网| 99网| 少妇日麻屄| 五月天涩涩| 午夜不卡久久精品无码免费| 久久久久久综合五月婷婷| 91色色色| 五月天久久www| 九色视频九色九色91jiuseshipin| 99re思思热在线视频| 色婷婷9| 国产中文字幕在线视频免费观看 | 婷婷AV丁香| 国产成人精品亚洲线观看| 99色色爰| 丁香五月综合| 天天干天天日日| 久久婷婷五月丁香蜜桃网| 五月丁香激情六月| 久久婷综| 97五月久久丁香婷婷| 热久免费视频9| 五月丁香六月婷婷中合网| 校花娇喘呻吟校长陈若雪视频| 国产伊人五月天| 中文字幕无码AV| 天天做天天爱天天日| 婷婷五月天成人| 我要射综合| 亚洲另类毛片| 香焦网五月天| 激情综合网络插| 九九热123| 综合图区激情| 婷婷无五月无码视频| 亚洲综合色丁香五月天| 国产日产亚洲系列最新| 丁香五月婷婷日本| site:xiongshengzz.com| 色色色成人网| 国产日日操夜夜操的肉棒视频| 中文字幕久久婷九女同| 欧美五月婷婷| 无码一区二区日韩| 亚洲第一av| 五月天伊人| 婷婷99丁香| 五月开心久久| 热99AV网站| 亭亭玉立国色天香| 亚洲激情在线| 思思久久网| 老司机视频lsj爱就色| www.狠狠艹| 9.1综合网| 九九这里都是精品| 亚洲欧州色情在线观看| A1片久久| 国产AV影片| 五月婷婷新网站| 亚洲精品国产成人AV在线| 婷婷激情鹿城五月天| 婷婷六月综合基地| 久久婷婷五月天| 九九这里精品| 欧美成人日韩| tingtingcaobi| 黄色成人网站在线播放| 久久婷婷五月天激情唯美| 亚洲色色五月| 97AV在线视频| 韩国中文字幕91| 五月丁香婷婷综合视频| 色色网站免费观看| 九九热超碰| 丁香五月 无码| 久久婷婷六月综合综合| 五月激情丁香| 日韩成人无码人妻| 精品一二三区久久AAA片| 超碰色综合| 丁香五月婷婷色偷偷| 电影蜘蛛女| 成人版视频在线观看| 婷婷五月天综合网| 久久机热这里只有精品| 成人在线视频网| 欧美婷婷精品激| 影音先锋男人女人| 伊人网碰碰| www天天爽| 看黄的网站18禁| 色色狼人综合| 大香蕉久久| 视频一二区| 26uuu另类亚洲欧美日本一| 五月丁香六月婷婷在线小说视频| 级情九色| 中国女人做爰A片| 欧美亚洲婷婷五月| 精品99这里有| 五月婷色| 欧洲电影在线观看免费版英语版| 99自拍视频在线观看| 九九热99免费视频| 新激情五月天色播| 日日噜狠狠色综| 婷婷丁香色性爱| 国产成人精品一区二三区熟女在线| 久久人妻久久| 五月天婷婷操逼视频| 性色播| 玖玖婷婷婷丁香五月| 丁香五月婷婷综合91| 色婷婷基地 | 超碰在线中文字幕| 国模淫穴色图| 五月婷婷丁香在线| 开心五月婷婷在线| 天天成人五月天| 热的国产99热| 亚洲精品a成人在线播放| 免费视频WWW在线观看网站| 丁香婷婷五月六月久久| 久久性爱视频| 九九Av| 啪色综合| 五月丁香啪| 色婷婷五月视频| 五月婷六月天| 婷婷五月丁香色情| 亚洲色情一区二区三区四区| 亚洲在线激情婷婷五月| 五月天色导航| 婷婷日日夜夜| 色青青五月| 色天天综合天天综合频道。| 狠狠擼综合| 亚洲婷婷婷| 婷婷射图五月天| 色五月女| 超碰成人在线观看| 亚洲五月婷婷| 婷婷99| 色五月综合| 婷婷综合激情| 丁香六月婷婷| 高清无码视频网址| 天天插综合| 婷婷97碰碰| se99视频| 99免费在线视频| 99爱免费在线观看| 五月天婷婷婷| 色色五月天婷婷| 九九热在线视频| 五月丁香啪| 亚洲乱码日产精品BD在线观看| 99在线精品观看99| 777米奇影视第四色| 日本欧美成人片AAAA| 久久婷婷精品| 97一区二区| 日熟女| 亚州操操| 激情五月综合色婷婷| 91人人爽久久涩噜噜噜| 婷婷色五月天在线| 丁香av网| 亚洲网综合在线| www,com,五月色色| 久久精彩综合视频| 综合五月网| 狠狠色综合精品视频在线| 久热欧美| 免费V片在线| 九月激情网| 毛片新网地| 秋霞AV淫| 91av成人| 五月天婷婷基地丁香| 国产精品噜噜在线视频| 色婷婷裸体色性在线| 黄网在线免费观看| 亚洲精品一区无码A片| 99国产在线精品视频| 996精品热视频| 丁香六月婷婷综合色| 天天综合网~91| 亚洲国产婷婷色五月| 婷婷基地五月色| 国产成人亚洲综合A∨婷婷| 欧美婷婷日本| 99久久婷| 免费操超碰| 激情六月五月婷婷综合网| 色婷婷88| 97婷婷五月丁香| 激情久久肏屄视频| 一区色色色色网| 日韩视频99| 91精品综合久久久久久五月丁香| 日本eVa一区=区视频| 欧美噜噜噜草| WWW99热| 欧美久久一级内射wwwwww.| 色播六月| 国产综合婷婷| 日本熟妇乱妇熟色A片蜜桃| 天天操B| 六月婷婷狠狠做| 天天影院色| 日韩成人电泉AV| 亚洲激情视频网| 直接看的AV| 久热9热| 婷婷五月色丁香在线看| 成人 在线 日韩| 8050一级网| 91丨九色丨东北熟女| 激情网五月婷婷| 永久精品| 九九精品热播| 天天日天天干天天操| 激情九月婷婷九月| 天天爽—爽| 天天日天天干天天操| av中文在线| 97色射| 日本99热| 欧美色婷婷| 日本97久久久精品| va婷婷在线免费观看| 婷婷综合五月天| 91男人资源站| 婷婷五月天激情五月天| 大香蕉色婷婷伊人在线| 91狠狠色色丁香婷婷综合久久| 色狠狠色狠狠| 久久九九激情五月天| 99热在线观看免费中文| 色婷婷超碰| 人操91在线| 精品婷婷五月视| 一本道在线电影| 丁香色播五月天| 婷婷色情 | ss99热| 综合激情五月天| 99热6这里只有精品6| 五月天婷婷影院| 99热大全在线观看| 少妇高潮呻吟A片免费看软件| 五月青青草综合| 九九综合久久| 色综久久AV| 91狠狠综合久久| 免费AAAAA网| www.色五月.com| 欧美在线视频99| 丁香六月婷婷综合| 秋霞免费三级片| 亚洲中文字幕在线观看| 亚洲艹网| 免费三级黄色| 五月婷婷丁香瑟瑟视频| 色www99| 97涩涩丁香五月天| 三人荫蒂添的好舒服A片| 色五月xxx| www.色综合| VA国产在线综合网站| 婷婷D区| 99这里有精品久久97| 成人做爰黄A片免费看直播室男男| 五月丁香婷婷中文网| 色呦精品| 五月天婷婷AV| 激情综合5月| 春色激情| 婷婷五月综合视频免费播放| 大香蕉九操| www.婷婷六月天| 色色综合日韩| 91刘玥视频在线观看| 色婷婷狠狠干芒果TV| 色碰碰| 伊人无码高清| 亚洲无码99| 色情性爱视频网址| 天天干,夜夜爽| 美女天天爽| 99在线观看精品| 丰满少妇猛烈A片免费看观看| 五月天婷婷成人| 婷婷久久网| 五月综合视频| www.99热| 99热这只有| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 99热精品9| 亚洲中文字幕AV| 青青草蜜臀| 久久婷婷五月综合成人d啪| 亚洲AV成人片无码网站| 青娱乐美女福利视频美臀| 色综合久久久无码中文字幕999| 99热成人| 国在线激情网| 爽tv | www.五月婷婷久久.com| 五月丁香激情怕怕| 亚洲激情在线| 9久国产| 色色综合热| 91丨九色丨东北熟女| 丁香五月色| 91精品婷婷国产综合久久| 婷婷综合五月天| 玖玖资源站中文| 色综合久久8| 97干欧美| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 欧美天天爽| 婷婷视频在线| 五月天播播中文字幕 | 婷香五月网在线| 丁香五月婷婷Av| 狠狠穞A片一區二區三區| 色五月婷婷丁香五月| 色小说婷婷五月天天天| 久久免费9| 国产麻豆视频| 欧美日本黄色| 午夜69成人做爰视频| 欧美啪啪9| 色五月婷婷内射| 丁香无月在线观看| 97视频.干com| 性爱五月婷婷| 亚洲综合另类| 欧美熟女99| 夜夜爽天天爽| 这里只有精品视频99| 六月五月久久丁香| wwW天天干| 伊人九九热| 色婷婷无吗| 超碰免费人人肏| 蜜桃人妻无码AV天堂三区| 日本精品99| av操一操| 秋霞午夜理论| 激情深愛五月視頻| 五月总合激情网| 99自拍视频网站| 97色婷婷成人综合在线观看| 久草婷婷视频| 激情玖玖综合网| 丁香五月狠狠在线观看| 91色呦哟| 色色色欧美| 天天日日夜夜| 五月激情网站| 99色中文| 六月婷婷av| 激情综合色网| 激情综合五月丁香| 婷婷综合五月| 五月亭亭开心网| 少妇综合网| av在线免费播放| 91色久| 99热9| 五月丁香影院| 日本久久婷| 97人人草| 97在线综合| 亚洲中文字幕AV| 婷婷色五月丁香六月欧美啪| 五月丁香六月婷婷欧美综合| 色色热| 欧美精品啪啪| 开心五月婷婷激情| 五月丁香六月色| 五月婷婷人妻| 狠狠色狠狠鲁| 久久婷婷五月草视频在线播放| www.zbzhongsen.com| 色色97丁香婷婷五月天| 久久这里只有精品视频15 | 九九精品9| 夜夜操狠狠操| 伊人五月天在线| 全部老头和老太XXXXX| 国产精品第一国产精品| 久久免费高| 六月丁香婷婷综合影院| 99久久婷婷国产综合精品电影| 成人做爰黄A片免费看直播室男男 久草热8精品视频在线观看 | 江苏少妇性BBB搡BBB爽爽爽| 色六月 婷婷| 99热日本| 久草久青福利| 91超级碰人人操| 激情五月丁香五月综合| 热九九九九| 黄色三级日本| 天天色综合色色色色色。| 99精品爱| 激情综合五月| 五月婷婷在线视频| 六月丁香激情| AV在线免费网站| 99热免费| 51XX嘿嘿午夜无码| WWW99热| 久久综合中文字幕| 五月丁香婷婷综合激情基地| 狠狠干综合网| 噜噜噜噜综合在线| 99热手机在线精品| 97在线视频观看| 91操操| 中文字幕激情综合| 日本精品人妻无码77777| 日本性视频| 99热狠狠操| 爆乳熟妇一区二区三区爆乳| 色婷婷五月天天天做| 99久久综合精品五月天| 99热在线观看精品| 午夜天堂一区人妻| 色婷婷亚洲| 凹凸7777操操操| 影音先锋人妻出差| 五月天婷婷AV| 亚洲乱码日产精品BD| 99欧美| 亚洲一级AV在线免费播放| 日日干日日色| 天天久综合| 丁香五月综合| 新男人天堂人妻| 六月婷五月丁香| 伊人www22综合色| 国产SUV精品一区二区883| av在线中文| www.亭亭五月天| 91久久久久久| 超碰国产在线观看| 99久久丝| 五月丁香成人网| 一本色综合色| 综合激情伊人影视在线| 六月丁香激情网| av国产精品| 五月天久久色| 快乐婷婷五月天| 99er6| 婷婷五月丁香六月| 丁香婷婷五月综合欧美另类| 亚洲成人AV在线观看| 99视频在线精品| 天天拍天天操| 国产肥白大熟妇BBBB视频| 毛片蕉地一二| 色婷五月| 在线只有精品| 超碰无码老师| 亚洲性爱99| 天天综合在线网| 一级片操逼视频| 成人必爱视| 国产精品成人AV在线| 97干干干丁香| 狠狠操.COM| 久久精品99国产精品日本| 久久9久久| 九九成人精品| 五月天天综合| 久久久久99精品成人网站| 亚州日本欧州韩美高青高潮一| 欧美成人精品A片免费一区99| 欧美日韩91| 天天综合中文| 极品少妇高潮啪啪AV无码| 97欧美在线| www.狠狠| 中文字幕在线不卡| 色色色在线观看| 草综合14| 婷婷丁香色性爱| 丁香成人综合| 婷婷综合五月| 國語久久婷| 亚洲av日韩无码| 亚洲色人妻| 日韩淑女人妻luan伦激情精品一区二| 双性美人被调教到喷水A片| 9.1综合网| 五月花免费视频| 国产肥白大熟妇BBBB视频| 色99亚洲| av在线免费网站| Av在线不卡一区| 五月丁香啪啪伦理电影| 中文字幕丰满乱孑伦无码专区| 丁香五月天视频| www.婷婷五月天,com| 天天色综合综合| 亚洲成人在线观看网址| 26uuu另类亚洲欧美日本一| 被强行糟蹋的女人A片| 伦乱美欧| 99色精品| 综合激情婷婷| 婷婷激情综合色五月久久图片| 99热综合| 大香蕉手机视频| 女人天堂 AV| 精品国产va久久久久久久| 无码一级片| 日本女人久久| 99视频色在线观看| 婷婷月五天在线在线看| 久久无码激情视频| 五月婷婷综合网| www.色婷婷| 日本乱子人伦在线视频| sewuyuejiqingwang| 丁香五月综合| 蜜臀A∨在线水帘洞| 国产精产国品一二三在观看| 婷婷情色激情| 婷婷色在线视频| 久热婷婷| 婷婷色影院| 久久99精品九九久久久婷婷| 人人干人人干骚美女| 亚洲色婷婷五月天| 五月婷婷六月丁香激情深爱| 9l视频自拍9l九色成人| 六月色色综合| 五月天天综合网色婷婷| 色停停五月,在线观看| 99人人精品| 久久久久久久人妻| 婷婷丁香五月av| 97se在线视频| 六月色色婷婷| 九九人人自拍| 国产97色在线 | 日韩| 9精品视频在线观看| 91超级碰| 欧美性色五月天| 五月丁香久久激情综合| 99a级片| 亚洲激情AV| 欧美天堂婷婷日韩| 五月婷婷六月丁香激情| 超碰伊人碰婷婷五月| 大香蕉婷婷五月| 思思99热热热99| 色噜噜狠狠色综合日日| 狠狠人妻久久久久久综合丁香| 亚洲精品V天堂中文字幕| 日本噜噜色网| 色婷婷aV四虎| 久9视频免费播放| 激情丁香五月天综合| 黄色录像网点| 五月丁香婷婷基地| 五月丁香婷婷激情在线视频| 久操97| 99热这里全是精品| 这里只精品| 亚洲人成网站999综合| 日韩一级片| 中文字幕色色| 色婷大香蕉| 中文字幕永久在线| 26.uuu丁香五月婷婷| 激情丁香五月激情婷婷| 97影院一级片| 9精品国产在热久久| 亚洲无码99| 亚洲丁香五月天在线视频| 久草x色在线观看99| 色婷婷小说网| 激情五月婷婷综合视频| 久久99婷婷| 99热欲| 婷婷五月天成人| 99色免费观看全部| 久久久婷| 操逼五月婷婷| 色情五月婷婷| 激情五月色在线播放| 婷色成人| 性爱七区| 久99婷婷色综合| 九九热re99re6在线精品| 国产AV网页| 久久久精品人妻| 极品另类| 丁香月六月| 天天爱天天做天天爽| 成人看片网站| 色婷精品91| 五月丁香激情综合啪啪| 亚洲日韩乱码一区二区三区四区 | 亚洲色五月| 欧洲色| 亚洲俩性性爱图片久久第六页| 99热日韩| 亚洲第一成人无码A片| 99色色网| 99热这里只有精品在线观看| 亚洲欧美婷婷五月色综合| 三日本无码| 久草热在线视频| 天天日天天摸| 色五月开心婷婷| 国产日比| 色偷偷色婷婷| 99riAv1国产在线观看| 九九九九九九九九九九九九九国产精品| 婷婷亚洲影院| 久久这里有精品| 精品无码色| 色色色国产| 亚洲九九99精品视频在线播放| 超pen个人视频97| 激情开心五月天| 欧美人与性动交CCOO| 丁香六月综合| 色情成人五月天| 色婷婷电影| 色婷婷亚洲精品天天综| 婷婷五月天精品| 丁香婷婷六月天| 激情婷婷五月色| 99re26视频| 森林影视大全,最好看的2019年视频 | 亚洲性受XXXX五月丁香| 亚洲成人av在线播放| 六月婷婷日| 狠狠干.com| 日韩操人| 日日干夜夜干| 婷婷情色激情| 五月综合影院| 九九综合久久| 99热 免费| 婷婷色天香| 日本天天综合| 99色色热热| 久久久www| 99er这里只有精品视频| 琪琪色五月天| 亚洲无码黄色| 99玖玖视频| 色婷婷四色| 久久五月婷婷视频| 99精品一二三四视频| 色插人人| 激情五月天99色| 人妻丰满精品一区二区A片| 97啪在线观看视频| 强辱丰满人妻HD中文字幕| 欧美电影在线观看| 久er7久热| 色丁香五月| 99综合熟女| 亚洲成片在线观看| 久在线综合69| 久久婷婷青青| 免费做A爰片77777| 男人大jjc女人免费视频| 婷婷情色五月| 激情综合网址| 久鲁鲁色网| 狠狠干伊人| 另类激情综合| 亚洲综合草草| 五月在线| 色婷婷精| 在线播放成人| 五月婷婷丁香综合| 9色在线视频| www.伊人天堂偷偷婷婷| 久久综合激情五月天| AV五月婷婷露脸| 五月丁香激情四射| 激情五月天在线视频| 久久艹 五月天| 激情色五月天| 伊人久久大香| 久久色情| 五月丁香青草综合啪啪| 日本婷久久| 九九在线精品| 亚洲天堂玖玖| 午夜免费试看| 天天色·欧美| 99久久99热| 99国产精品久久久久久久久久久 | 亚洲色色图片| 婷婷五月色情天| 99热免费精品| 亚洲婷婷五月天| 岛国在线观看91| 热久国产| 狠狠激情五月天| 婷婷五月天天爽| 婷婷五月婷婷| 人人草碰| 97热视频| 色婷婷色五月天| 少妇水多A片太爽了| 雪千夏麻豆| 天天日夜夜B久久| 婷婷激情综合无月| 色播激情五月天| 久久婷婷激情| 97操碰在线97| 变态另类色图| 99爱这里只有精品| 五月婷婷激情| www.婷婷五月天| AV色婷婷| 99热这里只有精品10| 99热无码| 色婷婷视频在线| 久草丁香婷婷五月天婷| 伊人丁香五月| 丁香五月综合婷婷| 国产伦亲子伦亲子视频观看| 色色激情五月天| 五月丁香色婷婷综合| www.婷婷六月天| 99无码超碰| 色插综合网| 亚洲激情av| 丁香五月亚洲综合丝袜| 无码髙清| 激情五月天小说| 国产欧美熟妇另类久久久| 97碰碰视频在线观看| 国产26uuu| 婷婷色色网站| 亚洲色激情| 亚洲99精品欧美一区| 色色a| 亚洲av网站在线观看| 五月丁香六月婷婷手机无线| 中文字幕成人| 色婷婷综合久久久久| 99热这里只有精品55| 欧美成人AAA片一区国产精品| 亚洲熟女色| 欧美性爱五月天| 亚洲国产精品SUV| 99色区| 亚洲成人影视在线观看| 国内久久亭亭| 色五月人妻| 丰满少妇猛烈A片免费看观看| 九九热自拍| 99久久精品国产色欲| www一起操| 五月婷婷亚洲色视频| 欲求不满的人妻| caobi四区| 五月婷视频| 最新午夜理论片| www激情| 99精品视频免费观看,| 99热在线只有精品| 大香蕉伊在| 伊人婷婷五月|