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

ARTICLE DETAIL

資訊詳情

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

JavaWeb房屋租賃管理系統(tǒng)源碼解析:Servlet+JSP+MySQL實戰(zhàn)

JavaWeb房屋租賃管理系統(tǒng)源碼解析:Servlet+JSP+MySQL實戰(zhàn) 簡介一套基于Servlet、JSP與MySQL構建的房屋租賃管理系統(tǒng)源碼面向高校JavaWeb課程設計、畢業(yè)設計及自學開發(fā)者覆蓋房源信息、租客資料、租賃合同等典型業(yè)務模塊能幫助讀者快速搭建一個可運行的Web管理項目。壓縮包共1796個文件大小約10.06MB核心包括java業(yè)務源碼、jsp動態(tài)頁面、編譯后class文件及sql數(shù)據(jù)庫腳本同時附帶png界面圖片、css樣式和Eclipse工程配置.classpath、.project結構劃分清晰便于按類型檢索。系統(tǒng)經(jīng)過多輪嚴謹測試運行穩(wěn)定目前已有3127人學習下載。項目中包含登錄、房源發(fā)布、租約記錄等功能模塊可結合web.xml部署描述符與過濾器配置理解請求路由過程研讀完整源碼還能掌握sql腳本導入、Servlet與JSP數(shù)據(jù)交互、MySQL持久化實現(xiàn)的完整鏈路為獨立開發(fā)同類管理系統(tǒng)提供扎實參考。1. JavaWeb房屋租賃管理系統(tǒng)源碼為什么它值得當作 JavaWeb 的練手樣本以 Servlet JSP MySQL 為技術棧的房屋租賃管理系統(tǒng)是 JavaWeb 課程設計和畢業(yè)設計里出現(xiàn)頻率最高的項目類型之一。它不新、不花哨但把 JavaWeb 最核心的動作都覆蓋到了Servlet 接收請求、JDBC 操作 MySQL、JSP 渲染頁面、Session 管登錄權限、連接池扛并發(fā)。對正在選題或要交課設的同學來說它比圖書管理系統(tǒng)業(yè)務更完整比 SSM/SpringBoot 項目更容易講清楚原理跑通后還扛得住答辯追問。對想補 JavaWeb 底子的開發(fā)者也一樣順著房屋租賃的業(yè)務流去讀源碼一個請求從瀏覽器到數(shù)據(jù)庫再回到頁面整條鏈路比看十集教程都直觀。下面按選型、設計、運行、排錯、改造的順序把這一套完整拆開。2. 選型拆解Servlet JSP MySQL 這套組合為什么到今天還在被用2.1 Servlet 的控制器角色先看生命周期再看單例陷阱拿到一套 ServletJSP 源碼第一步要看包結構。規(guī)整的源碼通常是 controller、dao、entity、util、filter 五個包實體類對應表DAO 負責 SQLServlet 做參數(shù)接收和頁面跳轉(zhuǎn)Filter 統(tǒng)一處理編碼和登錄狀態(tài)。如果打開壓縮包發(fā)現(xiàn)所有類平鋪在一個包下面Servlet 和工具類混在一起那這個項目跑通沒問題但講分層的時候會很吃力。Servlet 是這套系統(tǒng)的請求入口。瀏覽器敲下 URL 之后請求先打到 web.xml 里的 servlet-mapping或者類上的 WebServlet 注解映射路徑再進入 doGet 或 doPost 處理。房屋租賃系統(tǒng)里的常見動作——查房源列表、新增租客、簽訂合同、登記繳費最后都會落到某個 Servlet 的這兩個方法里。讀源碼時先別急著看方法體先把類的繼承關系和映射路徑捋出來能少走很多彎路。Servlet 生命周期回答三個問題實例什么時候創(chuàng)建、service 方法什么時候被調(diào)用、對象什么時候銷毀。容器啟動或首次請求時完成類加載和實例化init 只執(zhí)行一次之后每次請求由容器從線程池里分配線程調(diào)用 serviceservice 再根據(jù)請求方法轉(zhuǎn)發(fā)到 doGet/doPost應用卸載時執(zhí)行 destroy 釋放資源。規(guī)整的源碼里能看到 init 中初始化數(shù)據(jù)源、destroy 中關閉連接池這就是標準寫法面試被問 Servlet 生命周期時可以直接拿自己的代碼舉例。這里有一個特別容易被忽略的細節(jié)Servlet 是單實例多線程。成員變量一旦被改成可變狀態(tài)兩個并發(fā)請求就會互相踩。我評審類似的課設源碼時經(jīng)??吹?Servlet 里放一個 SimpleDateFormat 或者一個可寫的 List 成員這都屬于隱患。SimpleDateFormat 不是線程安全的多個線程同時 format 同一個實例輕則結果錯亂重則拋 NumberFormatException。正確做法是把這些對象改成局部變量或者用 ThreadLocal 包一層。另外request.getParameter 拿到的一定是 String轉(zhuǎn)數(shù)字時如果前端傳了空字符串Integer.parseInt 會直接拋異常防御寫法是抽一個參數(shù)工具類先判空再轉(zhuǎn)換。2.2 JSP 是披著網(wǎng)頁外衣的 Servlet渲染和業(yè)務得分家JSP 在源碼里的角色是視圖層。它的本質(zhì)還是被容器編譯成一個 Servlet class容器把 JSP 里的靜態(tài) HTML 原樣寫進 out.write把腳本片段編譯成 Java 代碼塞進 _jspService 方法。這就是為什么 JSP 能直接用 request、response、session、application 這組內(nèi)置對象。剛接觸 JSP 的人可以記住一句話JSP 能用的Servlet 都能用JSP 只是把輸出 HTML 的活兒變得更順手。頁面上的房源列表、合同詳情、賬單表格在源碼里通常會混合三種寫法純 HTML 標簽、Java 腳本片段scriptlet和 EL/JSTL 表達式。老一點的項目大量使用% %寫循環(huán)和判斷讀起來像把 Java 代碼揉進了 HTML改一個樣式要在一堆尖括號里找半天。稍規(guī)整一點的源碼會刻意限制 scriptlet用c:forEach、${}來渲染數(shù)據(jù)。拿到源碼建議先看 JSP 頂部和列表頁如果 scriptlet 占了一大半說明視圖層沒有經(jīng)過重構后面改造工程量會比較大。JSP 偏重的部分是前端交互——菜單、分頁、彈窗基本靠 jQuery 加一套后臺模板撐著。房屋租賃管理系統(tǒng)通常不需要復雜交互表單提交后刷新列表頁這種傳統(tǒng)模式完全夠用。這也是這套選型到今天還沒過時的原因業(yè)務簡單、交互輕服務端渲染反而比前后端分離少寫一層接口。判斷源碼質(zhì)量的一個小技巧是看頁面里有沒有把 JDBC 查詢直接寫進 JSP。如果看到% Connection conn ... %這種開頭說明職責完全沒有分離這種代碼跑起來能用但改起來會痛。2.3 MySQL 側(cè)JDBC 連接池和預編譯才是這套源碼的靈魂數(shù)據(jù)庫訪問層是這類源碼里水分最大的部分。規(guī)整的做法是 DAO 模式每個實體對應一個 DAO 類DAO 里用 JDBC 執(zhí)行 SQL把 ResultSet 里的列封裝成實體對象。不規(guī)整的做法是把查詢邏輯直接寫在 Servlet 里每訪問一次數(shù)據(jù)庫就 DriverManager.getConnection 一次。后者在課設源碼里非常常見跑起來沒問題但并發(fā)一高就會暴露問題因為 Connection 的創(chuàng)建和銷毀是 JDBC 里最貴的一步。正確做法是用連接池常見的是 DBCP 或 C3P0配置一個 initialSize、maxActive、maxIdle讓連接復用起來。數(shù)據(jù)庫連接池在源碼里通常表現(xiàn)為一個 DbUtil 工具類靜態(tài)代碼塊里加載配置getConnection 從池里取連接close 把連接還回池子而不是真正關閉。你可以去找這個類數(shù)一下池參數(shù)有沒有生效如果只是 new 了一個 BasicDataSource 但沒用它的 getConnection等于白配。SQL 預編譯是另一個必看的地方。用 PreparedStatement 的 ? 占位符傳參而不是 String 拼接 SQL。拼接寫法一旦遇到用戶輸入的內(nèi)容里帶引號輕則 SQL 語法錯誤重則被注入。房屋租賃系統(tǒng)里的租客姓名、身份證號、地址都是用戶可控輸入登錄頁更是注入重災區(qū)。拿到源碼可以先全局搜一下 statement.再搜 preparedStatement.兩類出現(xiàn)的比例基本能反映這套代碼的成熟度。建庫時字符集選 utf8mb4 而不是 utf8因為 utf8 在 MySQL 里最多存 3 字節(jié)遇到生僻字或 emoji 會失敗utf8mb4 是它的超集排序規(guī)則用 utf8mb4_general_ci 就夠。3. 數(shù)據(jù)庫設計與業(yè)務流轉(zhuǎn)房源、合同、賬單怎么用五張表串起來3.1 五張核心表從管理員到賬單的建表腳本房屋租賃管理系統(tǒng)不管界面怎么變核心表跑不出這五張管理員表t_user、房源表t_house、租客表t_tenant、合同表t_contract、賬單表t_bill。業(yè)務關系是一對多的一套房源可以有多個歷史合同一個租客也可以有多個歷史合同一份合同對應多條賬單。這套設計可以直接拿來做建庫腳本。CREATE DATABASE IF NOT EXISTS house_rent DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; USE house_rent; CREATE TABLE t_user ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL UNIQUE COMMENT 登錄賬號, password VARCHAR(100) NOT NULL COMMENT 登錄密碼, real_name VARCHAR(50) COMMENT 真實姓名, role TINYINT DEFAULT 1 COMMENT 1-管理員 2-普通員工, create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT管理員表; CREATE TABLE t_house ( id INT PRIMARY KEY AUTO_INCREMENT, house_no VARCHAR(50) NOT NULL UNIQUE COMMENT 房源編號, address VARCHAR(200) NOT NULL COMMENT 詳細地址, area DECIMAL(10,2) COMMENT 面積平米, house_type VARCHAR(20) COMMENT 戶型如兩室一廳, rent_price DECIMAL(10,2) NOT NULL COMMENT 月租金, deposit DECIMAL(10,2) DEFAULT 0 COMMENT 押金, status TINYINT DEFAULT 0 COMMENT 0-空置 1-已出租 2-維修鎖定, create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT房源表; CREATE TABLE t_tenant ( id INT PRIMARY KEY AUTO_INCREMENT, tenant_name VARCHAR(50) NOT NULL COMMENT 租客姓名, id_card VARCHAR(18) COMMENT 身份證號, phone VARCHAR(20) NOT NULL COMMENT 聯(lián)系電話, remark VARCHAR(200) COMMENT 備注, create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT租客表; CREATE TABLE t_contract ( id INT PRIMARY KEY AUTO_INCREMENT, house_id INT NOT NULL, tenant_id INT NOT NULL, start_date DATE NOT NULL COMMENT 合同開始日期, end_date DATE NOT NULL COMMENT 合同結束日期, monthly_rent DECIMAL(10,2) NOT NULL COMMENT 合同月租, deposit DECIMAL(10,2) DEFAULT 0 COMMENT 實收押金, status TINYINT DEFAULT 1 COMMENT 1-履約中 2-已到期 3-已退租, sign_time DATETIME DEFAULT CURRENT_TIMESTAMP, KEY idx_house_id (house_id), KEY idx_tenant_id (tenant_id), CONSTRAINT fk_contract_house FOREIGN KEY (house_id) REFERENCES t_house(id), CONSTRAINT fk_contract_tenant FOREIGN KEY (tenant_id) REFERENCES t_tenant(id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT房屋合同表; CREATE TABLE t_bill ( id INT PRIMARY KEY AUTO_INCREMENT, contract_id INT NOT NULL, item_name VARCHAR(50) NOT NULL COMMENT 租金/水費/電費/物業(yè)費, amount DECIMAL(10,2) NOT NULL COMMENT 金額, status TINYINT DEFAULT 0 COMMENT 0-未繳 1-已繳, due_date DATE COMMENT 繳費截止日期, pay_time DATETIME COMMENT 實繳時間, remark VARCHAR(200), KEY idx_contract_id (contract_id), CONSTRAINT fk_bill_contract FOREIGN KEY (contract_id) REFERENCES t_contract(id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT繳費賬單表;建表腳本里有幾個設計決策值得在答辯或復盤時講清楚。狀態(tài)字段全部用 TINYINT默認值為 0 表示空置或未繳這樣插入數(shù)據(jù)時可以少寫一個字段也讓查詢空置房源直接WHERE status0統(tǒng)計口徑統(tǒng)一。金額字段全部用 DECIMAL(10,2) 而不是 float/double因為二進制浮點數(shù)算錢會有精度問題押金結算、月度統(tǒng)計都依賴金額精度。合同表和賬單表都建了外鍵約束因為業(yè)務上合同只改狀態(tài)不刪記錄這種場景加外鍵是安全的還能防止程序里誤刪合同后賬單變成孤兒數(shù)據(jù)。3.2 業(yè)務流轉(zhuǎn)一套房源從空置到退租的狀態(tài)變化系統(tǒng)的業(yè)務流可以拆成五步房源錄入、租客登記、簽訂合同、賬單繳費、退租結算。每一步對應一組頁面和幾個 Servlet但核心是狀態(tài)的變化。房源從空置到已出租、合同從履約中到已退租、賬單從未繳到已繳三張表的狀態(tài)字段互相牽制。-- 空置房源查詢用于新租客看房 SELECT * FROM t_house WHERE status 0; -- 履約中的合同帶房源地址和租客姓名 SELECT c.*, h.address, t.tenant_name FROM t_contract c JOIN t_house h ON c.house_id h.id JOIN t_tenant t ON c.tenant_id t.id WHERE c.status 1; -- 已過繳費截止日期的未繳賬單用于催繳列表 SELECT b.*, h.address, t.tenant_name FROM t_bill b JOIN t_contract c ON b.contract_id c.id JOIN t_house h ON c.house_id h.id JOIN t_tenant t ON c.tenant_id t.id WHERE b.status 0 AND b.due_date CURDATE();這三條查詢基本覆蓋了出租管理后臺最常用的三個頁面找空房、看履約合同、出催繳單。注意這里全部用 JOIN 而不是子查詢因為最終要在列表頁展示房源地址和租客姓名一次 JOIN 把數(shù)據(jù)帶全。如果源碼里寫的是先查合同列表再在 Java 里循環(huán)查房源、查租客那性能就是個定時炸彈數(shù)據(jù)量上百條后頁面會明顯變慢。簽訂合同那一步比較特殊插入一條合同記錄之后還要把房源狀態(tài)從 0 改成 1。這兩個動作必須放在同一個數(shù)據(jù)庫事務里否則合同簽完了房源還是空置狀態(tài)另一個銷售就能把同一套房再租出去。很多課設源碼在這里是分開寫的沒有事務保護功能演示時看不出來但屬于明顯的設計漏洞在第 6 章會給出補法。3.3 退租結算押金怎么退、賬單怎么平退租是整個系統(tǒng)的業(yè)務難點。一筆押金在合同里記錄了金額退租時要先看該合同有沒有未繳賬單有欠費就從押金里扣剩余退還沒欠費就全額退。這個流程在課設里通常簡化為統(tǒng)計未繳賬單總額再用合同押金去減。SELECT IFNULL(SUM(amount), 0) AS unpaid_amount FROM t_bill WHERE contract_id ? AND status 0;這段 SQL 里的 IFNULL 一定不能省。沒有未繳賬單時 SUM 返回的是 NULL直接用押金去減會把退租金額算成 NULL頁面上就顯示一個空值看起來像是系統(tǒng)出 bug。退租結算的業(yè)務動作不止這一個查詢后面還要把合同狀態(tài)改成已退租、把房源狀態(tài)改回空置、生成一條押金結算記錄這三個寫操作連在一起是事務改造的天然練習點。4. 把源碼跑起來從版本搭配到 WAR 包部署的完整步驟4.1 環(huán)境搭配JDK、Tomcat、MySQL 各用什么版本如果這套源碼是標準的 javax.servlet 體系版本搭配如下表。MySQL 安裝配置教程網(wǎng)上已經(jīng)很多這里只說最容易翻車的版本關系。| 組件 | 推薦版本 | 說明 | | JDK | 1.8 | 兼容性最好不要為了嘗鮮上 JDK 17 | | Tomcat | 8.5 或 9.0 | 不要用 Tomcat 10原因見第 5 章 | | MySQL | 5.7 或 8.0 | 5.7 默認字符集更省心 | | mysql-connector-java | 5.1.49 或 8.0.x | 與 MySQL 版本對應 |Tomcat 版本是這個項目最容易踩的坑。Tomcat 10 開始Servlet 包名從 javax.servlet 改名成 jakarta.servlet老項目直接導入會全線標紅。驅(qū)動版本也要對齊MySQL 5.7 用 5.1.49 驅(qū)動最穩(wěn)MySQL 8.0 用 8.0.x 驅(qū)動反過來用的話5.x 驅(qū)動連 MySQL 8 會報 SSL 錯誤或連接直接失敗。4.2 建庫、導入表和初始化數(shù)據(jù)把第 3 章的建表腳本保存成 init.sql在命令行用 source 執(zhí)行或者打開 Navicat、MySQL Workbench 直接運行整個腳本。如果本地還沒有這個庫先登錄 MySQL 再導入mysql -uroot -p init.sql執(zhí)行完順手驗證一下SHOW TABLES; SELECT COUNT(*) FROM t_house;沒有報錯且能看到五張表說明腳本沒問題。如果 init.sql 里出現(xiàn) SET FOREIGN_KEY_CHECKS0說明腳本的建表順序可能有問題正常按 t_user、t_house、t_tenant、t_contract、t_bill 的順序建不需要關閉外鍵檢查。4.3 改數(shù)據(jù)庫連接配置源碼里數(shù)據(jù)庫連接信息一般在 src 目錄下的 db.properties或者直接寫在 DbUtil.java 里。先檢查這幾行jdbc.drivercom.mysql.cj.jdbc.Driver jdbc.urljdbc:mysql://localhost:3306/house_rent?useUnicodetruecharacterEncodingutf8serverTimezoneAsia/ShanghaiuseSSLfalse jdbc.usernameroot jdbc.password把這里改成你的mysql密碼參數(shù)說明。jdbc.driver 是第一個坑MySQL 5.x 驅(qū)動用 com.mysql.jdbc.DriverMySQL 8.x 驅(qū)動用 com.mysql.cj.jdbc.Driver寫錯直接 ClassNotFoundException。serverTimezone 必帶MySQL 8 的驅(qū)動要求指定時區(qū)缺了會報 The server time zone value 的異常。useSSLfalse 是本地開發(fā)環(huán)境最省事的配置MySQL 8 默認開 SSL 校驗不關有時會告警。characterEncodingutf8 和 JSP 頁面編碼配套亂碼問題一半出在這里。如果源碼里不是 properties 文件而是直接在 DbUtil.java 里寫 URL同樣改這三行就行。改完后可以先用一個最簡單的 Servlet 映射測一次登錄確認配置生效再繼續(xù)。4.4 在 IDEA 里配置 Tomcat 啟動打開 IDEA 后先把項目導入等待 Maven 或 Gradle 同步完成。有 pom.xml 的項目會自動下載依賴純手工導 jar 的傳統(tǒng)項目檢查 WEB-INF/lib 目錄下的 Jar 是否完整。也有人習慣用 VSCode 寫 Servlet配置好 JDK 和擴展后也能編譯但調(diào)試、斷點、Tomcat 集成都不如 IDEA 順手傳統(tǒng) JSP 項目直接用 IDEA 社區(qū)版最省事。然后配置 TomcatRun → Edit Configurations → 左上角加號 → Tomcat Server → Local。切到 Deployment 頁簽點加號 → Artifact選擇 war exploded 類型的 ArtifactApplication context 填 /rent。啟動后訪問 http://localhost:8080/rent/。一個好用的檢查方式先把 Tomcat 啟動控制臺日志打開看到 “Deployment of web application archive has finished” 再刷新頁面不要憑感覺盲等。不少人不看日志直接開瀏覽器頁面報 404 就開始懷疑代碼其實只是應用還沒部署完。提示IDEA 里配置 Tomcat 后如果事件日志報紅色錯誤先看是哪一層報錯再回到代碼里排查大部分都是 Artifact 沒指對。4.5 傳統(tǒng) JSP 項目打包 WAR命令行和 IDEA 兩種方式只在自己電腦上跑IDEA 內(nèi)置 Tomcat 夠用。但課程設計要部署到別的機器或交演示環(huán)境就得打 WAR 包。傳統(tǒng) JSP 項目打包 WAR 有兩種方式。IDEA 方式File → Project Structure → Artifacts → 點加號 → Web Application: Archive → 選 From module然后 Build → Build Artifacts → 選 xxx:war → Build產(chǎn)物在 out/artifacts/xxx_war/xxx.war。命令行方式更直接在項目編譯輸出目錄上執(zhí)行jar cvf rent.war -C out/artifacts/xxx_war_exploded/ .把生成的 rent.war 放到 Tomcat 的 webapps 目錄啟動 Tomcat$CATALINA_HOME/bin/startup.sh # Linux $CATALINA_HOME/bin/startup.bat # WindowsTomcat 會自動解壓 war 并部署。訪問路徑是 http://localhost:8080/rent/路徑名就是 war 包名想換上下文路徑直接重命名 war 文件。啟動之后先測登錄頁再跑一個讀操作和一個寫操作確認數(shù)據(jù)庫配置沒問題再開始改代碼。5. 避坑指南這套 JavaWeb 房屋租賃系統(tǒng)跑不起來時先查這四個地方5.1 數(shù)據(jù)庫連不上驅(qū)動類、時區(qū)、服務狀態(tài)三件事一起查現(xiàn)象啟動 Tomcat 時看到 ClassNotFoundException: com.mysql.jdbc.Driver或者訪問頁面時拋 Communications link failure控制臺報 Cant connect to MySQL server on localhost (10061) 這類嵌套異常。原因按順序排查MySQL 服務沒啟動連接串里賬號密碼不對驅(qū)動 jar 沒進 WEB-INF/lib驅(qū)動類和 MySQL 版本不匹配MySQL 8 缺 serverTimezone 配置。Linux 下本地連不上時常見報錯是 error 2002 (HY000): Cant connect to local MySQL server through socket /var/run/mysqld/mysqld.sock這是客戶端找 socket 文件失敗先確認 mysqld 進程在跑而不是急著改密碼。解決步驟先確認 MySQL 進程Windows 下sc query mysql或任務管理器看 mysqldLinux 下systemctl status mysql再用命令行客戶端試一次mysql -uroot -p能連上說明服務沒問題。然后檢查驅(qū)動 jar 是否在 WEB-INF/lib 目錄下最后把 4.3 的配置逐項對一遍。注意如果機器上同時裝過 MySQL 5.7 和 8.0先用mysql --version確認 3306 端口跑的是哪一版再對驅(qū)動和 URL 參數(shù)。5.2 JSP 中文亂碼瀏覽器、JSP、JDBC、MySQL 四層編碼必須一致現(xiàn)象頁面上的中文全是亂碼或者往數(shù)據(jù)庫插入租客姓名后查出來是 ????。原因這套系統(tǒng)全是中文輸入編碼鏈路長JSP 頁面文件本身的編碼、請求參數(shù)的編碼、JDBC URL 里的 characterEncoding、MySQL 庫和表的字符集任何一環(huán)不是 UTF-8 就會出問題。最常見的是只改了 JSP 頂部沒改 JDBC URL 和數(shù)據(jù)庫字符集。解決JSP 頁面頂部統(tǒng)一聲明數(shù)據(jù)庫 URL 補 characterEncoding建庫建表統(tǒng)一 utf8mb4。更正規(guī)的做法是給整個項目加一個編碼過濾器public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // 請求參數(shù)統(tǒng)一按 UTF-8 解碼 request.setCharacterEncoding(UTF-8); // 響應統(tǒng)一輸出 UTF-8 response.setContentType(text/html;charsetUTF-8); chain.doFilter(request, response); }這個過濾器配置在 web.xml 里映射 /*就能覆蓋所有頁面和 Servlet避免每個 Servlet 單獨寫編碼設置。Tomcat 8 之后的 GET 請求一般不會亂碼如果出現(xiàn)去 server.xml 的 Connector 配置里加 URIEncodingUTF-8。5.3 導入項目一堆紅叉八成是 Tomcat 10 的鍋現(xiàn)象IDEA 里導入項目后Servlet、HttpServletRequest、HttpSession 全線標紅或者編譯時大量報 Error: package javax.servlet does not exist。原因Tomcat 10 開始換成 Jakarta EE 9包名從 javax.* 改名 jakarta.*老 ServletJSP 項目基于 javax 命名空間寫的自然找不到類。這個坑特別隱蔽因為配 Tomcat 時新手通常默認下載新版。解決把本地 Tomcat 換成 8.5 或 9.0IDEA 里重新在 Project Structure → Libraries 指向新 Tomcat 的 servlet-api.jar 和 jsp-api.jar再重新編譯。如果已經(jīng)為遷到 Tomcat 10 把 import 改成 jakarta 開頭再換回 Tomcat 9 時記得改回來。提示判斷項目是不是 javax 系打開任意一個 Servlet看 import 開頭是 javax.servlet 還是 jakarta.servlet。5.4 系統(tǒng)放著放著就報連接失效連接池里的連接被 MySQL 掐斷了現(xiàn)象系統(tǒng)剛啟動一切正常第二天早上第一次訪問某個頁面時拋 Communications link failure 或 Connection is not available, request timed out。原因MySQL 的 wait_timeout 默認 8 小時空閑超過 8 小時的連接會被服務端關閉而連接池不知道繼續(xù)把死連接發(fā)給業(yè)務代碼。課設環(huán)境晚上沒人訪問第二天必現(xiàn)屬于典型的演示現(xiàn)場翻車場景。解決給連接池加兩塊配置以 DBCP 為例dataSource.setTestOnBorrow(true); dataSource.setValidationQuery(SELECT 1);testOnBorrow 設為 true每次從池里取連接先執(zhí)行一條 SELECT 1 驗證連接有效性無效就丟棄重建。也可以把 MySQL 的 wait_timeout 調(diào)大但連接池側(cè)處理才是治本C3P0 對應參數(shù)是 testConnectionOnCheckout 和 preferredTestQuery。這個排查方法是我自己在這類 JavaWeb 項目里踩得最多的坑白天演示一切正常隔夜后第一次點擊就拋連接超時沒少被這套組合坑過。6. 別讓源碼停在“能跑”先做這三個小改造這套源碼跑通只是開始。答辯或面試時能講出的增量優(yōu)化比“我下載了一個可以運行的項目”值錢得多。做過這幾個改造再回頭看源碼理解會深一截。第一個改造是密碼存儲。源碼里如果管理員密碼以明文存在 t_user 表趕緊改。改造成本極低登錄和注冊處把密碼做 MD5加一點鹽再入庫。MD5 本身不算強加密但能擋住絕大多數(shù)“順手查庫”的讀取。真正要求高的場景可以換成 SHA-256 加鹽對課設來說 MD5 足夠講清楚“為什么不能存明文”。第二個改造是給退租結算加事務。第 3 章講過退租要同時改合同狀態(tài)、房屋狀態(tài)、生成結算賬單這三個動作不能被拆成三條獨立執(zhí)行的語句用一個手動事務包起來Connection conn null; try { conn DBUtil.getConnection(); conn.setAutoCommit(false); String updateContract UPDATE t_contract SET status 3, end_date NOW() WHERE id ?; String updateHouse UPDATE t_house SET status 0 WHERE id ?; String insertBill INSERT INTO t_bill(contract_id, item_name, amount, status) VALUES(?, 押金結算, ?, 0); // 依次執(zhí)行三個語句... conn.commit(); } catch (Exception e) { if (conn ! null) conn.rollback(); throw new RuntimeException(退租結算失敗, e); } finally { if (conn ! null) { conn.setAutoCommit(true); DBUtil.close(conn); } }三個 UPDATE/INSERT 只有全部成功才 commit中間任何一步報錯都 rollback房源狀態(tài)和合同狀態(tài)才不會錯位。加上這個事務答辯時說“我用 Connection 手動事務保證業(yè)務原子性”比說“我用了 Spring 的 Transactional”更能體現(xiàn)底層理解。第三個改造是逐步把 JSP 里的 scriptlet 換成 EL JSTL。操作方式在 2.2 提過通用替換格式是原來% for (House h : list) { %改成c:forEach items${list} varh原來%h.getAddress()%改成${h.address}。一次改一個文件先從列表頁開始改完跑一遍回歸測試。好處是頁面不再依賴具體類視圖和數(shù)據(jù)徹底分離。把這三個改造做完這套房屋租賃管理系統(tǒng)就從“能運行的源碼”變成了“你親手維護過的項目”。我自己的習慣是每個改造留一個 git 提交這樣復盤時能清楚說出每一步改了什么、為什么改。三個改造都不大但每一個都指向真實的工程問題安全、事務、可維護性。希望這條路能幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
玖玖在线| 久久五月情| 99在线精品观看99| 日韩人人操| www.99成人视频| 久久在线大香蕉| 婷婷六月天| 久久婷婷五月天蜜桃| 色~性~乱~伦~噜| 操碰91| 国产99视频永久免费| 丁香五月色激情| 久久这里只有精品热在99| 色欲天天综合网| 夜夜嗨一区二区三区直播内容 | 久久99精品久久久| www久久久久久久久久久| 天天插天天日| 九九爱激情| 婷婷五月激情综合| 五月色婷婷中文字幕| 国产毛片欧美毛片久久久| 开心婷婷五月中文字幕组| a九九热www| 国产午夜精品一区二区三区嫩草| av狠狠操| 五月天成人小说| 青青草原精品久久| 好好干av| 久久婷婷丁香六月天| 九月影院義母在线播放| 爆乳熟女一区二区三区爆乳| 自拍视频在线观看9| 超碰九色| 五月色丁香| 婷婷五月天激情小说| 色婷婷成人影片| www.91操| 99视频精品全部免费看| 那里有AV网址| 九九热在线亚洲免费视频| 激情啪啪五月天| 九九视频在线观看视频6| 婷婷久久综| 99热免| 五月丁香婷婷婷婷综合网| 99性视频| 99re久热只有精品6在线直播| 色九月欧美| 九 九九九AV| 成人无码髙潮喷水A片| 99久久激情视频| 中文字幕,综合,91| 色五月综合在线| 天天撸夜夜爽| 婷婷香五月天| 综合99久久天天综合| 熟女激情五月天| 99综合一区| 日韩乱玛久久| 五月天综合在线| 26uuu欧美日本| 亚洲综合在线丁香五月| 丁香六月久久| 97色色婷婷| 久久久精品AV| 国外亚洲成AV人片在线观看| 91午夜婷婷狠狠久久综合9色| 免费亚洲婷婷中文字幕| 婷婷五月丁香五月| 色色六月| 黄网免费看| 伊人超碰| 久久婷婷一级片| 综合综合网| 伊人国产婷婷五月天 | 99免费视频久久| 玖玖在线视频| 九九亚洲| 91九色国产在线| 91久久久久久| 九月激情婷婷丁香| 五月婷婷综合久久| 婷婷性爱网| 91精品久久久久久| 成 久久| 少妇人妻综合色6699| 欧美色色色色色| 婷婷五月天在线视频网站| 国产性爱一级| 国产精品久久久久久亚洲毛片| 高清资源站日A美A欧亚…| 极骚大香蕉伊人| 婷婷六月久久| 成人五月天婷婷| 亚州激情在线视频| 热99在线精品| 久久国产一区二区三区| 超碰a女人的天堂| www.超碰在线| 亚洲色模骚货| 千人斩操逼| 色婷婷视频| 999影院成人在线影院| 人人视频人人干人人做| 天天综合网站| XX久久| 欧洲永久精品| 国产精品视频| 九色99视频| 婷婷综合九月| 热的无码综合视频| 五月丁香影院| 九九中文字幕九| 日本久久天堂| 激情五月天社区| 激情综合婷婷| 亚洲激情四射| 丁香香蕉婷婷| 深爱五月天 开心网| 丁婷婷五月天在线播放| 无码人妻少妇色欲AV一区二区| 日韩三级视频一区二区| 激情婷婷五六月天| 超碰超碰在线| 综合精品99| 免费无码毛片一区二区A片| 99热第一页| 黄久久久| 五月婷婷综合久久| 日本黄色一级| 日本女天天爽| 色欲av伊人久久大香线蕉影院 | 成人在线网址| 99热久| 婷婷在线播放| 久久98| 激情六月婷| 99精品视频在线观看| AV变态另类一区二区| 欧美狠狠草| 五月婷婷开心五月| 九月丁香很很色| 国产激情久久久| 99热这里只有免费精品| 91蝌蚪窝视频在线| 婷婷五月天,影院| 26UUU欧美激情一区二区| 深夜婷婷 丁香| 亚洲色婷婷| 久久九精品| 国成人网| 五月婷婷六月丁香在线视频| 黄桃AV无码免费一区二区三区| 色一情一乱一乱一区91Av| 婷婷丁香亚洲色综合91| 激情五月天激情综合网| 婷婷激情六月中文| 99思思热只有在这里看| 丁香六月在线综合| 伍月婷丁香婷| 夜夜操狠狠操| 五月天婷婷一起草| 婷婷五月天色色| 欧美图片丁香五月天| 天天爽日日爽夜夜爽| 成人片黄网站色大片免费毛片| 97人人干人人操| 播五月开心婷婷欧美综合| ..真实国产乱子伦毛片| 五月婷婷福利| 影音先锋AV男人站| 日日爽日日| 68热超碰在线| 激情五月六月婷婷| 五月天婷婷激情网| 激情久久五月天| 97婷婷狠狠久久综合9色| 五月激情网站| 黄久久久| 色一情一乱一乱一区91Av| 色综合色色色色| 可以看的av| 日本情色一区二区| 色情五月天视频网| 免费精品99| 婷婷五月天成人导航| 久操大香蕉| 成人 在线 日韩| 色五月婷婷综合在线| 欧洲区自拍| 色婷婷狠狠18| 久久婷婷激情| 久久久婷丁香五月天激情综合| 亚洲第一第二网站| 亚洲五月色| 狠狠99| 九九这里都是精品| 色。 婷婷婷| 狠爱婷色| 国产色网站| 婷婷五六月丁香| 婷婷综合九色伊人| 久久机热/这里只有精品| 久久久月丁香| 九九热自拍| 激情五月天婷婷| 五月丁香婷婷开心| 国产伊人五月天| 超碰熟女农村在线69| 伊人婷婷大香蕉| 婷婷五月天激情综合婷婷五月天激情综合| 天天色综网| 日韩久久日| 五月在线| 99久久66| 色天堂操| 五月天伊人| 99热中文字幕久久| 一起草AV| 一本九九色| 九九综合色| 色综合色综合色综合高潮| 在线视频婷婷| 丁香五月色情| 五月丁香天堂网| 97热久久五月婷婷| 白人荫道BBWBBB大荫道| z色五月播播久久| 免费AAAAA网| 欧美成人精品A片免费一区99| 天天日夜夜帕| 综合99在线| 久久一级免费黄色片| 亚洲综合五月天婷婷丁香| 色五月aV| 色综合久| 天天肏天天肏天天肏| 91综合在线| 91聚色综合网| 操99| www.99成人视频| 色婷婷狠| 99久久高清视频| 天天狠天天叉| 色五月成人| 六月香五月婷| 琪琪色五月天| 97香蕉人人在线观看| 五月丁香六月| 五月色婷| 在线观看亚洲AV| 777久久精品| 二级黄色毛片| 国产亚洲精品久久久久久豆腐| 色99色| 婷婷五月天色网久| 五月婷婷 欧美| 丁香五月激情欧美| 亚洲丁香五冃97色| 色五月激情五月| 综合网啪| 丁香五月婷婷AV在线| 天天噜天天爱| 久久五月婷婷电影| 欧美99视频| 五月天久久婷| 免费无码毛片一区二区A片| 九九色婷婷| www激情婷婷com| 噜噜噜噜噜日本视频| 久久久.COM| 一区操| 伊人无码高清| 美女激情婷婷| 很操日本7| 狠狠99| 91久久久久| 久草热久草在线视频| 成人视屏在线观看| 9久久久久久久久久久| 丁香丝袜五月| 一本伊人色婷| 人人爱人人添| www.色五月.com| 婷婷色五月亚洲| WWW,色五月| 亚洲永久免费| 91欧美| 日韩久热| 婷婷激情中文综合| 激情五月深爱五月| 激情五月丁香综合蜜桃| 天天做综合| 久久综合爱| 色色五月婷婷久久| 9久久婷婷国产综合精品性色| 超爽内射| 激情五月,激情综合网| 大香久久伊人网| 久久激情四射| 九九色区| 99热欧美| 欧美日韓成人亚洲精品另类| 桔色成人官方网站| 五月丁香偷拍| 久久精品91视频| 天堂久久婷婷| 一起草无码视频| 丁香五月婷婷狠狠色| 色婷婷香蕉| 亚洲区视频| www.婷婷五月天.com| 天堂色婷婷| 九九碰九九爱97超碰| 激情床戏| www.狠狠操.co m| 噜综合| 亚洲永久免费| 亭亭五月激情亚洲在线| 深爱五月激情五月| 97福利视频| 色偷偷综合| AAA久久| 草草夜夜操| av首页在线| 久久综合五月婷婷| 色情五月综合婷婷| 丁香色五月婷婷91桃色| 97碰碰在线观看视频| 激情综合国产| 国产精产国品一二三在观看| 高清国产一级婬片a免费| 91在线看免费 九九九九| 任你擦免费视频| 思思热天天看| 婷婷久久五月天中文字幕在线观看| 麻豆精品| 天天综合网91| 思思热国产在线| 婷婷色五月婷| 婷婷久久综合| 激情图片99| 五月天丁香六月综合| 色婷婷伦理| 五月婷婷亚洲| 99久高清视频| 激情五月天啪啪| 91久久久久久| 黄网在线播放| 丁香五月婷婷啪| 激情丁香五月AV| 国产另类综合| 久久涩视频| 伊人久久婷婷五月天激情四射| 丁香五月综合婷婷| 亚洲成人一区| 激情綜合W W W,激情五月天| 中文网AV| 婷婷色导航| 在线国产精品色| 性色婷婷| 人妻av在线| 丁香九月综合| 亚洲精品成人| 97色干| 精品九九在线观看视频| 久久丝袜婷婷| 色五月丁香总合网| 天天综合天综合| 欧美激情综合色丁香婷婷五月天| 色五月婷婷亚洲| 婷婷九九色| 五月天狠狠网站| 99热这里只有精品18| 丁香五月婷婷啪啪| 殴美日比视频| 大香蕉久久婷婷| 天天插天天射天天干| 五月天丁香| 五月婷婷日本| 激情色播| 五月婷婷婷婷婷婷艺术| 婷婷激情五月天激情小说 | 99久久99九九九99九他书对| 色色色色综合网| 都市激情蜜桃婷婷五月天| 国产精品色| 婷婷丁香五月天色播网站| 激情五月激情综合网| 激情五月天噢美| 97操碰| 欧洲亚洲欧洲99久久| 九色视频九色九色91jiuseshipin| 久久99热精品a片在线观看| 日韩美一级毛卡片| 五月天激情电影| 天搞天天天天天| 无码AV久久久久久久久| 九九热精品视频| 97干欧美| 五月成人丁香av91| 97精品欧美91久久久久久久| 婷婷六月丁香激情综合| 九月丁香网婷婷| 99热丁香| 婷婷成人综合五月| 色色色地址| www.色婷婷.com| 国产精品色一哟哟| 亚洲av成人在线| 丁香激情五月天| 啪啪亚洲综合| 九九热在线亚洲免费视频| 99视频热99| 日日日日日| 99热这里只有精品在线免费| 成人色图情色成人网 www.5b5b5bcom 五月天 | Www.狠狠| 丁香六月婷婷久久综合| 五月天婷婷綜合院| 六月婷色六月| 丁香五月婷婷激情小说| 69人人操人人爽| 成人av免费观看| 色色色视频免费无码 | 成人网丁香五月| 九九综舍久久| 色亭亭丁香五月天| 国产精品色| 丁香五月区| 99热这里只有精品96| 久9视频免费播放| 国产偷人爽久久久久久老妇APP| www.天天干| 大香蕉婷婷五月| 九九99九九99九九99视频网| 日韩中文欧美| 大香蕉久久青青| 99er视频在线| 天堂综合久| 日本精品99网站| 91天天操天天干天天射| 免费视频无码| 99热99这里有免费的精品| 91n啪啪| 欧美日本另类| 丁香五月亚洲AV| 九九热免费视频| 九月婷婷丁香| 日韩大片艹艹| 久久99热这里只有精品| 青青福利网| 中国女人做爰A片| 丁香六月在线| 久久五月丁香| 日韩人妻白浆视频系列| 狠狠色成人影片| 欧美日韩99| 五月丁香激情婷婷综合| 影音先锋男人资源站一区二区| 五月停停999| 91精品电影18T| 性爱激情久久| 小视频久久久aaa| 五月天四色房丁香| 国产avapp 网| 超碰在线caop| 中文字幕av在线播放| 激情综合五月激情XXXX| 人人妻人人澡人人爽| 婷婷伊人中文字幕| 五月丁香狠狠| 亚洲99综合| 亚洲日韩乱码一区二区三区四区| 丁香六月激情| 久久五月天激情视频| 久久99日本精品视频免费观看| 激情图片婷婷丁香五月| 激情婷婷五月天网址| .comwww在线观看免费操| 婷婷五月六月| 天天爱天天吃狠天天透| 美妞av| 97婷婷五月激情六月丁香伊人| 日日夜夜天天综合| 天天干天天日天天操| 深爱 五月天| 六月婷在线| 色综合色| 婷婷色啪| 婷婷播5月| 色七色九九| 成人丁香五月婷| 99在线观看| 思思精品视频| 丁香花五月天社区| 国产暴力强伦轩1区二区小说| 激情综合五月开心狠狠| 天天干天天干天天干天天干天天| 爱射综合| 99亚洲精美视频在线观看| 免费观看欧美成人AA片爱我多深| 婷婷性爱网| 开心五月深爱激情| 五月天激情网址| 99热综合在线| 九九精品热| 五月婷婷亚洲色视频| 婷婷五月大香蕉| 婷婷爱五月| 操逼综合激情网| 性爱五月丁香| 婷婷五月丁香婷婷| 色综合九九色综合88| 9色在线| AV片在线观看| 噜噜狠狠| 殴美日韩成人| 日本V在线观看不卡视频网站| 在线成人av播放| 97超碰综合| 六月丁香好婷婷| 久9久9久9久9久9久9| 中国丰满熟女A片免费观| 免费AV在线网址| 五月色丁香综合| 色五月激情婷婷| 日日天天干| 精品操逼一区二区| WWW.五月天9999| 欧美25p| 99热| 久久欧洲久久| 91无码高清| 国产五月视频| 五月色婷婷综合色| 丁香五月六月综合激情| 成人免费超碰| 色五月在线| 天天干天天干天天干天天干天| 色播激情| 婷婷狠狠五月综合| 99超级碰免费视频| 国产成人av在线| 精品久久久人妻| 国产精品99久久久久久久女警| 婷婷涩涩五月天| 色综合天天天天做夜夜| 99热这里有精品| 色婷婷久久综合| 99热这里只有精品3| 欧美大片免费播放器| 丁香五月综合婷婷| 五月天婷婷綜合院| 狼人婷婷综合| 能看的av| 天天综合 99久久婷婷| 久热A| 超碰成人公开| 丁香五月天激情小说| 天天操综合网| 婷婷五月六月| 性综合网| 五月天AV大香蕉| 一级二级香港秋霞欧美欧美秋霞| 最近中文字幕2019视频1| 五月天激情黄色小说在线观看| 九九无码| 日韩精品超碰在线观看| 中文字幕AV在线| 色色色在线观看| 九九久热| 婷婷自拍| 无码AV免费精品一区二区三区| www。久久久久一b。Cc| 大香蕉人人网| 婷婷色播色五月五色五月天色妇| 婷婷夜夜夜夜| 这里只有精品网站| 五月丁香中文| 91精品综合久久久久久五月丁香| 偷偷与邻居做爰完整视频| 日本三级99人妇网站| se色综合网| 国产激情视频在线观看| 色婷婷香蕉丁丁网| 色婷丁香| 久热精品免费视频4| 久久婷婷丁香视频网| 五月天婷婷基地| 日日射天天射| 超碰资源在线| 亚洲日本韩国| 亚洲视频二区| 亚洲久久婷婷| 丁香花色色网| 激情电影五月婷婷| WWW,激情五月天,COM| 亚洲午夜一区二区| 九九99免费视频| WWW.夜夜| 久久久久9999| 中文字幕久久婷九女同| 丁香五月天天哦| 亚洲另类噜噜| 五月丁香色综合| 国内在线99视频| 99热大全在线观看| 日本婷色| 91干婷婷| 日日天天天| 色香欲综合| 九久9精品| 天堂亚洲 在线| av网址在线| 色婷婷五月天激情在线播放| 9月色婷婷| 九九成人视频| 五月婷婷亚洲| 久热视频这里只有精品| 五月婷丁香| 色婷婷色情| 色婷婷五月天小说网| 亚洲九区| 婷婷五月天最新网址| 色婷婷成人影片| 超碰在线免费| 久久久A级视频| 五月综合777| 一本久道综合色婷婷五月| 丁香五月玖玖| 狠狠干 狠狠操| 久99| 色色色激情| 99这里有精品| 婷婷99狠狠躁天天躁中| 久婷婷久草| 久色五月婷婷综合| 久久久久久人妻| 97碰久久| 影视av久久久噜噜噜噜噜三级| 国产精品成av人在线视午夜片| 人妻性爱| 九九热精品| 人妻22p| 91免费看片| 一级无码作爱片| 一级二级香港秋霞欧美欧美秋霞| 国产乱子轮XXX农村| 五月在线婷色| 亚洲综合在线视频| 国产成人av在线| 激情综合五月| 超碰在线超碰| 精品人妻在线| av国产精品偷| 大香蕉久艹| 天天久综合网永久入口17v| 五月丁香成人网| 五月婷婷国产| 五月婷婷开心综合| 亚洲123区高清入口| 欧洲综合色| 亚州在线中文字幕| 五月婷婷六月婷| 国产97在线日韩亚洲女人被黑人巨大| 五月丁香六月花| 狠狠干.com| 久色网五月| 婷婷影视久久| 噜噜色婷婷| 午夜日韩久久久网站| 久久小视频| 狠狠色五月| 婷婷六月天天| 国产露脸150部国语对白| 99爱这里只有精品| www久视频com| 五月丁花六月丁香综合| 99re热在线视频观看| 天天射影院| 中文字幕av在线| 婷婷午夜| 五月婷婷激情色情网| 久久中文网| 五月天综合图片| 久热精品在看| 啊V视频在线观看| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 极品人妻VideOssS人妻| 激情播丁香| 不卡的AV网站| 1区2区视频| 五月丁香色情| 无码成人AAAAA毛片AI换脸| 五月丁香亭亭天天舔| 韩国97天堂| 丁香五月性| 婷久看人爽| 1024人妻无码中文字幕| 五月婷婷导航| 五月丁了香蕉综合| 天天日天天久久青青| 亚洲情欲| 天天曰夜夜爽| 春色激情| 亚洲AV日韩无码| 精热在线综合网| Www.sesese丁香| 啪啪黄页网| 综合五月草| 婷婷五月成人社区| 五月花综合网| 夜色.cnm| 亚洲色五月天| 九九精品在线观看视频6| 大香蕉99| 色色色九九九五月婷婷| 婷婷久久五月| 免费五月婷婷网| 国产99久久久| 影音先锋男士资源网一区| 丁香五月婷婷亚洲综合精品| 激情小说之五月| 五月婷中文字幕| 五月天福利影院导航| 永久免费视频| 这里只有免费的精品| 欧美槡BBBB槡BBB少妇| 色婷婷www| 蜜臀嫩草| 色5在线| 婷婷亚洲久久| 97视频久久| 婷婷丁香五月在线播放| 五月伊人综合| 五月丁香久久呀| 色五月丁香五| 丁香啪啪| 91久久精品无码一区二区三区| 激情五月综亚网| 99综合一区| 1级欧美日韩| 性色做爰片在线观看WW| 超碰成人在线观看| 丁香六月成人| 日在线V视频在线播放| 狠狠久久婷五月| 日韩伊人大香蕉| 亚洲熟妇AV乱码在线观看| 丁香婷婷基地| 操一操干一干| 中文字幕久久一区二区三区| 色婷婷国色天香综合| 九九精品综合| 91超碰人人操| www.色五月| 色色综合视频| 久热这里只有精品66| 丁香五月亚洲激情婷婷射| 激情五月天色婷婷综合| 五月天啪啪网| 99热免费观看| 噜噜视频| 激情九月婷婷| 大香蕉伊人99| 成人AV中文字幕| 99热8| 深爱婷婷丁香五月激情| 丁香婷婷五月综合影院| 狠狠色性| oumeisesewang| caopeng超碰| 亚洲性受XXXX五月丁香| 亚洲网视屏| 夜夜资源站| www.五月天婷婷| 激情五月天综合网| 婷婷五月天情色| 97操| www激情网站| 久久超视频| 亚洲天堂无码| 激情九九六月激情免费视频| 激情丁香久久| 激情五月丁香色色去久久| 亭亭玉月丁香| 伊人婷婷五月天av| 激情五月综合第一页| 色综合狠狠色| 91一起操| 国产精品久久99| 激情五月开心五月在线视频| 国产VA播放| 久鲁鲁色网| 思思久久96热在精品国产,| 678五月丁香亚洲综合| 色小说婷婷五月天天天| 五月天婷婷激情干干| 最新午夜理论片| 丁香五月激情视频在线| 色婷在线视频| 丁香 亚洲 久久| 99干日本| 99热6这里之有精品| 五月香蕉婷婷| 久噜久噜| 夜夜骑天天操| 99精品久久久| 天天干电影| 国产FREESEXVIDEOS性中国| 久久黄色片| AAA级久久久精品| 九九热99精品| 91色综合网| 婷婷色播色五月五色五月天色妇| 色播五月丁香婷婷| 婷婷六月丁香欧美视频在线| 五月丁香六月婷婷久久肏| 97人人操人人爽| 一起草AV| 91妻人人爽人人看片| 日韩有码一区| 婷婷综合97| 婷婷五月成人色综合| 五月综合婷婷网| 婷婷六月天激情| 综合色99| 亚洲亚洲人成综合网络| 五月婷天堂视频| 欧美日本VA| 色色婷婷综合网| 第四色五月天| 色爱亚洲| www99xxxx五月丁| 五月停亭六月,六月停亭的英语 | 丁香伊人网| 亚洲综合在线播放| 亚洲俩性性爱图片久久第六页| 26uuu91| 五月婷婷综合在线| 久色| 啪啪操操| www.日日日.com| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 超碰操网| 麻豆AV一区二区三区| 狠狠色婷婷色| 色综合久久888| 伍月婷婷六月丁香| 日本va欧美va国产激情| 99热最新国内| 婷婷香蕉| 怡红院一二三| AV九九| 久久五月天网| 五月丁香激情综合六月涩涩爱| 99成人| 婷婷射丁香| 色婷婷激情五月天丁香| 九九热九九| 天天夜夜操| 大香蕉九操| 97人人干视频| 色色精品色| 日本天天色| www.超碰97| 亚洲艹网| 久久五月天网| 九九婷婷激情综合网| 丁香婷婷网| 欧美色性色好| 婷婷五月天桃花网| 丁香五月精品视频| 天天日天天爱天天噪| 天天干天天做| 99人人操| 五月丁香龟婷婷| 五月丁香啪啪啪| 丁香蜜臀黄色婷婷五月天| 天天做天天爱天天综合网| 色婷婷六月| 婷婷五月香蕉| 天天干电影| 五月丁香亭亭激情操逼网| 色色色777| 91九色熟女| 五月婷婷,六月婷婷| 五月丁香婷婷伊人| 激情五月综合| 色色色综合网| 九九精品综合| 9l视频自拍9l九色成人| 超碰在线观看9| 丁香婷婷色五月| 婷婷亚洲综合| 日本人妻A片成人免费看片| 丁香婷婷激情五月天无毒不卡蜜桃| 亚洲成人AV高清字幕| 熟女网站久久| 激情小说婷婷| 婷婷久久女人| 亚洲激情97五月天| AV在线不卡播放| 五月丁香六月婷婷综合免| 99这里都是精品6| 91九色丨国产丨爆乳| 可以看的av| 婷婷色五月天色色| 99热费观看| 五月婷无码| 99热在线这里| 亚洲国产精品SUV| 婷婷五月蜜桃成人桃色丁香| 很很干天天干| 67194国产| 婷婷五月天激情文学| 色色丁香五月天| 日韩无码专区| 婷婷五月天AV| 婷婷五月天AV| www久久五月com| 亚洲九九夜夜| 狠狠久久婷五月综合色| 狠狠色狠狠操| 婷婷色五月综合丁香| 夜精品无码A片一区二区蜜桃 | 五月久久| 六月婷婷色| av线电影| 99在线精品视频| 五月婷婷五月天| 婷婷激情社区| 激情文学天天| 综合六月久久| 日日爱699| 婷婷色基地在线看 | 夜夜爱伊人| 在线婷婷| 色99色| 婷婷六月激情丁香| 五月丁香婷久久| 9l视频自拍九色9l视频自拍九色9l社区 | 精品国产AV色一区二区深夜久久 | 丁香美女主播视频在线观看| 丁香五月 性爱| 噜噜狠狠色综无码久久合欧美| 丁香五月婷婷色偷偷| 久热伊人| 婷婷五月天激情综合| 666555。COm毛片| 五月好婷婷| 色久综合| 9精品视频在线| 97在线碰| 国产亚洲精品久久久久久郑州| 五月天成人伊人| seuuu婷婷| 六月婷婷中文字幕| 久婷自拍视频| 久久久婷| 日韩久久这里只有精品| www.色色com| 天天天天天日| 婷婷五月在线免费| 婷婷色色综合| 婷婷六月色开 | 婷婷六月久久综合导航| 婷婷色五月天色色| 9久久精品| 欧美激情xxxXX| 激情五月天婷婷丁香| 久久久www| 国产永久一二一起草| 欧美成人一区二区三区在线视频| 亚洲激情五月| 五月色婷婷亚洲 | 日日撸夜夜操| 色色色在线播放| 一区二区三区四区牛| 日本色色色| 99热国品免费| 欧美啪啪五月天| 99爱在线视频| 婷婷色五月天在线| 丁香色情五月天| 99在线综合视频| 色五月婷婷五月天| 色视频五月天| 久久er这里只有精品| 五月婷视频| 插插插丁香五月婷婷| 狠狠色丁香久久婷婷综合五月| 狠狠操狠狠| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 五月丁香综合激情网| 五月天精品| 99久热这里只有精品| 丁香五月综合色婷婷| 婷婷在线五月综合| 99ri国产在线| 婷婷六月五月| 激情综合网五月天天| 五月停性愛| 亚洲第一第二网站| 天天爱天天操| 99热这里只有精品热| 婷婷四色五月| 六月婷婷视频| 五月婷婷久久大片| 伊人啪啪网| 色五月之第四色| 久一网站| 婷婷激情五月天桃花网| 五月天色图| 色五月婷婷中文字幕| 五月丁香六月婷婷国产视频| 99热在这里只有免费精品| 色综合丁香| 婷婷五月18永久免费网站| 亚洲V国产V欧美V久久久久久| 天天爽夜夜操| 婷婷综合五月天亚洲综合| 激情婷婷人妻| 欧美激情综合| 色婷婷激情五月天| 亚洲色99综合天堂| 噼里啪啦在线观看免费完整版视频 | 99久久99九九99九九九| 亚洲最大视频| 激情五月天www| 五月激情婷婷六月丁香| 婷婷丁香五月天色播网站| 91婷婷丁香五月| 欧美人人超级碰| 激情婷婷黄色五月| 牛牛澡牛牛爽| 久久精品99国产精品日本| 亚洲精品成人| 色色性爱视频| 日本人妻A片成人免费看片| 九九热婷婷| 97色婷婷五月天| 99热99在线精品| 久久久噜噜噜操操操| WwW色婷婷| 日本熟妇乱妇熟色A片蜜桃| 国产精品色| 色婷婷小说网| 91久久久久久| www.丁香五月| 99精品自拍| 色综合区| 国产成人av在线播放| 91久久五月天| 亚洲综合在线播放| 97超碰在线免费观看| 五月好婷婷| 久久久久思思热| 深爱激情网综合| 狠色狠色狠色狠色狠色网| 五月天婷婷伊人| 久久五月天激情视频| 五月婷婷这里都是精品| 69er小视频| 99热热九九| 婷婷区日本| www.俺去也com| 俺去啦综合网| 99久久玖玖| 97亚洲婷婷| 婷婷五月天激情基地| 欧美人人草| 熟女网站久久| 99久久精品国产色欲| 99爽视频| 丁香九月激情| 97在线观看| 亚洲第一成人AV| 综合激情专区| 久久久.COM| 日日爱678| 四色女婷婷| 中文字幕色色| 婷婷五月免费视频| 99免费热视频在线| 五月天激情综合网| 亚洲激情四射色| 丁香五月婷婷天堂大香蕉| 色天堂A| 天天插天天插天天操| 99视频在线观看视频| 九九综合久久| 欧美VA在线观看| 婷婷久久丁香五月| 99成人| 性生生活大片又黄又| 大香人妻| 国产在线黄色| 79亚洲精品少妇| 日韩色色视频www| 丁香六月婷婷色播| 99热8| WW婷婷五月天com| www五月天com| 色吧综合网| 色五月天网| 色色色热| 国产欧美va| 九九色色| 欧类av怡春院| 免费观看高清无码| 婷婷伊人综合中文字幕| 99热99日…..| 婷婷八月丁香激情综合| 婷婷成人五月天成人文学| 666555。COm毛片| 情色婷婷五月天| 日日干综合| 天天色综合综合| 天天狠狠夜夜狠狠2023| 大香蕉在九| 激情文学 综合 九月| 色婷婷久久| 性99网站| 久久婷婷六月综合| 九月丁香久久网| 99热在线观看精品| 久久99热 这里有精品| 激情五月综合网| 五月丁香婷婷色| 在线播放 精品| 成人 在线 日韩| 五月丁香综合久久| 久久精品系列| 超碰在线观看三级片| 99热老网站| 一级操逼内射在线视频| 激情五月婷婷网| 九九久久高清| 色婷婷婷综合五月天| 色五月婷婷操逼| 久久se 综合网| 色色综合网站| 狠狠综合网| 天堂伊人干| 久久综合性| 看片视频在线免费日产在线看| 久久精品99国产精品日本| 原琪琪色影院| 丁香激情五月少妇| 在线只有精品| 亚洲网视屏| 久久丁香五月婷| 五月婷婷啪啪| 国产精品日日躁夜夜躁| 激情综合网 激情五月天| 国产免费AV在线| 婷婷性爱五月天丁香网| 丁香婷婷五月激情综合| 婷婷五月综合久久中文字幕| 97超碰免费超级在线观看| 五月婷久久| 激情AV在线| 欧亚中文A V| 69婷婷丁香午夜| 丁香五月在线播放| 91精品无码久久久久久五月天| 天天爽免费视频| 国产乱子轮XXX农村| 日操| 欧美色图天堂网| 久久999久久999久久999久久| 99热这里只有精品最新网址| 亚洲成av人影院| 99这里只有免费的精品| 99碰超| 热久91| 天天色色天天| 狠狠爱深色婷婷综合| 一区二区中文字幕| 五月天啪啪| 99色热综合| 四五月婷婷| 色婷婷亚洲婷婷| 天天搽天天射| 色综合色色| 大香蕉九九热| 色导航色婷婷五月天在线观看| 久久五月婷天天干| 婷婷5月天av| AV中文在线| 婷婷五月天AV激情| 亚洲激情四射| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 99视频精品8| 中文字幕丰满乱孑伦无码专区| 影视av久久久噜噜噜噜噜三级| 啪啪操操| 五月丁香婷婷深深爱| 亚洲网站观看视频| 五月丁香六月花| 五月伊人91| 涩五月色婷婷| 色在线免费观看| 五月婷婷六月激情网| 少妇出轨做爰高潮A片| 精品无码人妻一区| 国产精品久久久久久久久久| 色色综合日韩| 七月婷婷色香综合网| 亚洲成人色五月婷婷综合| 狠狠干狠狠干| 五月婷婷色综图片| 超碰v| 五月婷婷在线网站| 国产黄大片在线观看画质优化| 日本ww亚洲| 99热在线极品极品| 第四色首页| 色情婷| 久月婷婷| 99超在线| Blackedraw视频一区二区| 深爱激情网五月天| 性爱五月婷婷| 激情啪啪五月| 欧美日韩99| 99热这里只有精品9| 五月丁香六月激情综合在线| 亚洲AV久久久久久久久久久久久久久久| 婷婷四色成人综合色视| 九九伦子片| 开心五月激情网| 激情五月天黄色小说| 亚洲精品久久久无码| 色情综合网| 久一网站| www.超碰| 五月婷婷五月天亚洲无码| 激情九月丁香婷婷| 夜夜干天天操| 婷婷激情综合网| 五月丁香| 色六月视频| 大香蕉五月婷婷| 99色在线视频| 五月丁香六月婷婷久久久综合| 婷婷性爱综合| 久久婷.com| 99惹| 嫩草视频| 亚洲综合激情五月久久| 婷婷另类开心| 激情婷婷九月| 五月婷婷丁香六月| 色欲资源网| 亚洲激情综| 91人人人人人| 99色视频| 色五月婷婷天天干| 99精彩视频在线观看| 久久人妻视频| 99爱在线观看视频| 日本人妻A片成人免费看片|