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
返回資訊列表
久久婷丁香五月| 99a级片| 九九久久综合网站| 97高清国语自产拍| 清纯唯美 激情四射| 日韩精品999| 五月婷婷六月激情| 色五月激情网| AⅤ网站在线看| 操逼福利视频| 97久久五月丁香婷婷| 久久成人天| 欧洲综合一区| 综合视频久久| 99re热视频这里只精品5| 色综合久久无码| 丁香五月天天高清在线| 久热九九| 玖玖爱导航| 五月丁香啪啪婷婷| 色五月天综合| 丁香婷婷色情| 欧美大片| 久操热| 夜夜骑日日操| 日韩精品成人在线| 亚洲黄色精品| 91免费试看| 婷婷综合色色| av在线婷婷| 婷婷五月六月丁香综合| 丁香婷婷激情综合五月激情| 久久久久久久久久久久63| 青青草轻轻操| 色综合久久8| www.久热| 激情图片婷婷| 色五月婷婷激情| 五月天色综合| 婷婷综合五月天| 亚洲乱码日产精品BD| 婷婷五月丁香综合激情| 欧洲激情五月天| 丁香亭亭久久| 婷婷操久久| 狠狠色噜噜狠狠亚洲A∨| 伊人婷婷大香蕉| 丁香五月五月婷婷| 五月天婷网| 黄网网站在线播放| 日本久久精品| 五月丁香综合色婷婷| 婷婷天堂站| 九色色| 久久只这里有精品| 青青草婷婷综合五月| 欧美色色色色色色| 狠狠人妻色综合| 香蕉久久国产AV一区二区| 色五月激情五月| 丁香六月婷婷开心| 日本美女五月天| 色一色综合| 五月婷婷丁香六月| 五月丁香婷婷成人网| 五月社区婷婷激情| 色五月综合在线| 欧美激情综合五月色丁香| 婷婷六月啪啪| 婷婷爱五月天| 永久免费一区二区三区| 丰满人妻一区二区三区| 凹凸操Av| 操操碰| 中文av网站| 五月天色婷婷网| 99婷五月| 97AV在线视频| 欧美激情综合色综合色| 久久久婷婷五月亚洲97号色| 99国产精品久久久久久久久久久 | 无码人妻一区二区三区免费九色| 色综合久久久无码中文字幕999| 翔田千里 50岁 无码| 九九热99久久99| 久久九九re热| 色婷婷狠狠久久YY| 丁香五月综合激情啪啪| 天天日天天操天天干| 五月丁香婷婷伊人| 天天爽天天日天天舔| www.狠狠狠狠| 婷婷丁香激情五月天色色| 欧美色色色色色色| 狠狠干五月| 九九精品re免费视频| 97se视频在线| 天天爽综合网| 99热成人| 欧美精品狠狠色丁香婷婷| 五月综合激情婷婷六月色窝| 色综合久久88| 丁香五月婷婷无码AV| AV79| 色五月激情五月| 天天爱天天天射AV| 六月丁香基地| 99综合| 亚洲操操| 另类国产区| 99啪啪视频| 夜夜爽天操| 欧美日韩成人在线| 婷婷丁香精品视频在线观看| 久久五月激情综合| 天天色天天爱天天爱天天爱y| 色色色99| 性做爰A片免费视频A片直播| 五月婷丁香| 五月天堂婷婷| 99色色网| WWW夜夜| 婷婷五月激情片| 超碰在线免费| 影音先锋噜一噜| 色国产五月| 成人国产综合| 精品热九九| 久月丁香爱婷婷综合| 色综合伊人网| 黑人无码一区| 射区导航| 色五月综合网站| 色噜噜,噜噜色| 五月天色社区| cao久久| 五月丁香婷婷激激激综合网色播| 99婷五月| 久久99热久久99精品| 丁香五月社区| 日日操夜夜爽天天天| 久久久久er热| 婷婷综合网在线| 激情五月丁香五月| 综合综合色色| 日韩精品一区二区三区,四区,五区视频| 丁香五月亚洲AV| 五月网在线| 色婷婷成人做爰A片免费看网站| 日韩无码成人电影| 狼人久草| 婷婷亚洲在线| 精品九九婷婷| 综合五月天| 超碰人人99| 99热8| 丁香花婷婷五月天| 丁香五月婷婷激情蜜桃| 99热网址| 婷婷六月激情| 久久婷婷五月国产激情综合片| 天天插天天操| 久久久18| 97caop| 久久99这里只有精品| 丁香婷婷月| 色99免费视频中文| 性爱动图国产麻豆一区二区三区| 99色综合| 五月丁香婷婷成人网| 激情五月婷婷色色| 丁香五月天啪啪| 狠狠色噜噜狠狠亚洲A∨| 丁香五月开心婷婷| 99综合视频| 91色逼| www九九热| 午夜不卡久久精品无码免费 | A片试看50分钟做受视频| 五月色婷婷AV| www。五月,com| 综合色五月天| 天堂网啪啪| 丁香五月天激情视频| 99色综合网| 狠狠干五码| 婷婷视频在线碰| 丁香六月 婷婷六月| 日韩中文字幕| 99热人人| 欧美精品熟女一区二区| 任你艹| 亚洲亚洲人成综合网络| 丁香九月婷婷色| 99人妻碰碰碰久久久久视| 婷婷六月久久综合导航| 五月天伊人手机在线播放AV| www.久久| 婷婷久久免费| 五月激情综合网婷婷| 六月婷婷在线视频| 日日色五月天| 婷婷大香蕉| 91 九色大美女| 五月天婷婷AV| 狠狠干综合网| 五月色 亚洲| 丁香玖玖| 天天操天天国产三级片处女学生妹| 日本五月天一页| 中文字幕欧美日韩VA免费视频| 婷婷五月18永久免费视频| 色五月色五天色情网| 午夜丁香| 丁香六月婷婷一区二区三区| 亚洲激情99| 曰韩五月丁香色婷婷无码| 熟女网站久久| 色五月婷婷一二| 可以免费看av网站| 九九久久99| 婷婷丁香精品视频在线观看| 久久AV无码精品人妻系列试探| 五月婷婷AV| 操操碰| 六月婷婷最新网址| 一本狠婷婷综合| 操人91| 国产免费一区二区三州老师F1F1| 丁香五月影院| 99视频精品全部观看10| 丁香五月婷婷六月| 天天天天天天噜| 美女婷婷六月色| 午夜免费试看| 91精品丝袜久久久久久| 日韩AV大全| 97色色综合| Www,五月天| 婷婷五月丁香在线观看| 五月情四婷婷| 97久久精品| 51精品国内探花| 99热在线观看| 色婷婷狠狠禁18久久| 狠狠五月天| 五月婷婷av| 久久九九@| 伊人色综合网| 99热新网址| 色色色热热热| 丁香婷婷五月色成人网站| 五月丁香婷婷综合视频| 免费观看的av| 欧美日比视频| 日笨久久网| 成人 AV播放| 99色爱| 成人精品视频99在线观看免费| 婷婷五月天国产| 色婷婷丁香五月天在线观看| 狠狠狠狠狠| 热久久这里只有精品| 五月丁香六月情| 色综合色色色| 色99日韩| 日本一级黄色电影| 在线五月婷| www.色色com| 免费看欧美成人A片无码| 99无码视频| 久久99久久99精品免视看婷婷| 这里有精品| 97色干| 国产精产国品一二三在观看| 97涩婷婷| 五月色网| 丁香社区婷婷五月| www.99久久久| 天天日天天摸| 日本99热| 久久丁香综合香蕉| 狼人婷婷综合| 天天射射夜| 天天射综合网夜夜操| av五月天婷婷丁香| 性爱综合网| 丁香六月激情综合| 欧美碰碰碰| 99噜噜| 国产xxxxx在线观看| 最新激情五月天| 99热视精品| 天天日天天干天天操| 综合色99| 五月天啪啪| 潘金莲AAAAAAAAAA| 丁香五月激情宗合网| 人人综合五月人人婷婷| 国产成人在线精品| 婷婷丁香激情五月天色色色| 任你日视频| 色日本丁香婷婷| 深爱五月日韩| 欧美交换配乱吟粗大25P| 婷婷亚洲综合| 久久久久久久久久久44| 91人妻视频| 久9无码视频| 欧美日本日韩| 91精品婷婷国产综合久久| caobi四区| 五月婷婷之婷婷| 五月婷婷激情网| 中字幕视频在线永久在线观看免费| 欧美日韩成人h| 婷婷99中文字幕| 思思re视频在线| 五月丁香六月激情综合| 日本A片一区| 噜噜噜噜婷婷五月天| 九九免费精品| 热91久| 久久精品婷婷| 丁香六月婷婷| 9久热在线精品| 99久久国产宗和精品1上映| 久久久无码精品成人A片小说| 三级片AAA久久久AAA久久久AAA| 狼人婷婷久久| 激情图片婷婷丁香五月| 五月激情久久| 婷婷色五月综合| 亚洲无AV在线中文字幕| 欧洲激情网站| 亚洲第一第二网站| 久久婷婷亚洲| 五月天社区| 少妇人妻丰满做爰XXX| 久婷婷五月综合欧美| site:ornaments52.com| 久久99国产综合精品免费| 超碰99久久| AV性爱网| 丁香色成人| 婷婷五月天激情电影小说| 男同91| 久久视屏这里只有久久| 久久九九网| 色色婷婷五月| 99热思思| 天天插天天很| 五月丁香本色在线观看| 九九热这里只有精品9| 五月丁香网站| 五月丁香婷婷激情久久| 丁香六月综合激情| 丁香六月狠狠| 疯狂做受XXXX高潮A片| 丁香香五月激情免费视频| www.久热| 这里只有精品久| 91人久| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 亚洲人人操| 五月丁香综合激情| 婷婷综合| 婷婷5月九九| 丁香五月 性爱| 成人超碰Av| 超碰A V在线| 婷婷丁香成人五月天| WWW.五月com| 婷婷狠狠色| 金品在线视频99| 日日干夜夜干| 99 热国产在| 五月天色区| 五月天色婷伊人| 国产日韩欧美| 激情婷婷五月| 色婷婷狠狠| 99亚洲天堂| 久久这里只有精品网| 丁香性爱在线视频| 日韩操逼大片| 婷婷六月网| 婷婷色网址| 婷婷婷婷婷婷婷婷| 天天噜天天插| 九九精品9| 五月天伊人久久久久| 久久性视频| 老师的粉嫩小又紧水又多A片视频| 天天橾日日橾夜夜橾17| 婷婷趴趴| 婷婷综合性爱网| 五月综合激情视频在线| 五月综合激情久久| 色九九丁香九月色九九色| 婷婷九月激情| 五月婷婷久| 久久9久| 无码激情AAAAA片-区区| 国产成人AV在线播放| 六月丁香视频网站| 狠狠情色| 美国少妇性做爰| 99热亚洲| 六月婷婷激情小说网| 91九色大屁股| 久777| 26uuu.| 亚洲成人AV在线播放| 婷婷五月激情热播| 国产激情av| 国产69精品久久久久999小说| 99这里有精品| 婷婷五月天激情综合深爱激情| 91碰在线| 伊人九九综合| 无码AV大香线蕉伊人| 天天色色天天| 极品另类| 丁香五月婷中字幕| 色五月天在线| 五月香蕉婷婷| 色婷婷丁香网| 综合久久六月| 久久91久久精品久久| 99热自拍| 人人干99| 99这里热| 国产精品美女| 五月丁香成人视频| 亚洲综合激情五月| 婷婷激情六月天视频| 久这里只有精品| 婷婷六月天天| 超碰av天堂| 九九99精品视品| 五月天婷婷久久| 大伊香蕉精品视频在线| 五月婷婷另类| 人人摸人人操人人爽| 色婷婷久久9.com| 亚洲国产精品VA在线看黑人 | 婷婷狠狠综合网入口| 久热免费视频| 79精品视频在线观看,| 天天肏高清在线| 五月丁香777| 色色哒五月婷婷六月丁香| 久久老码第一| 天天爽人人爽| 五月天激情社区| 五月婷婷开心亚州在线| 日本熟女内射| 婷婷五月天激情综合深爱激情| 婷婷之六月丁香| 夜夜夜夜操| 色播五月丁香婷婷| 色婷婷五月综合在线| 五月天婷亚洲综合在线嫩草网| av中文在线| 欧美色婷婷| 成人做爰A片免费看网站找不到了| 91ncm视频| 国产成人在线不卡AV| 超级碰碰碰碰视频| 女婷久久| 色五月开心五月激情五月| 成人五月天在线视频在线观看| 综合综合色色| 五月丁香激情欧洲啪啪| 色综合另类| 婷婷五月在线视频| 日本五月婷| 99热在线观看| 特黄三级又爽又粗又大| 国产性爱一级| WWW,色五月| 婷婷亚洲激情在线观看视频| 99爱在线视频观看| 成人电影AV在线观看| 99黄色性生活| 内射在线CHINESE| 96丁香婷婷九月蜜桃综合久久| a免费在线| 激情五月婷黄版| 色情五月综合婷婷| 五月四色婷婷| 九九干视频| 日日夜夜天天综合| 人人操9| 亚州婷婷五月激情综合| 成人精品在线观看| 69色色视频| 久久九九国产精品怡红院| 丁香六月色婷婷| 777精品久无码人妻蜜桃| 色青青电影色五月| 99热婷婷| 一本久道综合色婷婷五月| 99热免费精品| 丁香五月婷婷操逼| 天天色综和网| 百度4399有码精品V在线观看| 亚洲AV综合在线观看| 欧美精品久久久久久视频观看| VA婷婷亚洲| www.色综合.com| 99国产精品久久久久久久久久久| 亚洲xx网| 天天干天天色天天干| 久综合| 婷婷五月天天| 欧美va亚洲va| 日韩另类在线观看| 99爱在线| 九九精品片一| 狠狠久久婷五月| 久婷狼色诱惑在线| 再綫Av免费視品| 婷婷激情小说| 久久99人人| 色999亚洲人成色| 亚洲综合色色色| 婷婷色婷婷| 国产精品色婷婷99久久精品| 丁香婷婷在线| 亚洲精品字幕在线观看| 日日干天天射| 另类小说色婷婷| 最近中文字幕2019视频1| 成人五月天丁香婷| 成年人丁香五月| 2025神马午夜福利| 丁香五月婷婷久久久| 婷婷五月激情中文字幕| 20253AV| 这里只有精品视频国产| 大香蕉五月天| 色色色色色色色色色色色色色97| 婷婷五月六月激情| 日韩一本操| 久久欧洲久久| 九九视频这里只有精品| 欧美六月| 91色五月| 久久久久激情| 婷婷久久五月天丁香| 亚洲第二AV| 欧美爆乳一区二区三区| 九月丁香婷婷网| 青青草蜜臀| 天天操夜夜操| 色A网| 337p大胆噜噜噜噜噜91Av| 大香蕉婷婷丁香视频在线| 婷婷丁香五月天激情| 69久久久| 泰州成人视频| 黑人无码一区| 日本色天堂| 婷婷色在线播放| 激情综合网五月激情| 婷婷婷久久| 五月天色婷婷伊人网| 久久99人人| 激情婷婷六月| 97AV人人插人人操| 中文字幕丰满人妻无码专区| 色欲九区| 九九99在线免费在线观看视频| 99久久婷婷五月综合| 日本99色| 婷婷五月天成人五月天| 色欲一区二区三区精品A片| 2023天天日夜夜爽| 天天视频精品9| 丁香五月综合AV在线| 亚洲视频在线网| 婷婷五月天视频亚洲| 激情五月天婷婷色色色色色色色色色色色| 免费观看的av| www.99热| 成人做爰高潮A片免费视频| 久久人人人人妻| 狠狠色丁香久久综合婷婷亚洲成人福利| 丁香五月天啪啪a日本| 中文字幕成人影视| 五月天桃色深爱网| 综合五月激情网| 大香婷婷| 夜夜谢天天干| 亚洲成人噜噜| 丁香五月天啪啪| 国产在线aaa片一区二区99| 狠狠色激情综合| 91色干| jiZZdr| 99精品爱| 中文字幕不卡+婷婷五月| 伊人色综合网| 婷婷网五月天| 天天爱天天日| 午夜免费高清AV片| 日韩操人| 色99视频| 婷五月丁香| 日本高清不卡免费一区二区三区| 成年人丁香五月| 色五月亚洲开心网| 久久激情五月| 99精品综合在线| 丁香五月播播| 六月婷婷在线| 色播五月丁香婷婷| 91九色|疯狂|高潮|对白|| 亚洲成人AV高清字幕| 五月天激情小说网| 五月激情基地| 欧亚色色| 婷婷天堂视频| 丁香五月婷婷国产av| 999激情视频| 婷婷之六月丁香| 婷婷在线免费| 色综合色色色色| 色五月激情五月| 亚洲AV人人操| 天天噜噜| 亚洲丁香网| 久去色色| 4399在线日本A片| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 亚洲综合五月天| 天天操天天插| 婷婷婷婷婷婷婷五月丁香| 成人视频九九| 黄色aaaaa| 九九久久高清| 九月色婷婷综合亚洲| 人人操AV| 欧美精品18| 超碰97干| 99国产精品久久久久久久久久久| 99思思| 亚洲小说欧美激情| 5月婷婷六月丁香| 日韩一区二区在线播放| 99色天堂| 91黄址| 五月婷婷丁香六月 | 日本三级中国三级99| 婷婷丁香五月基地| 久草视频大香蕉99| 亚洲9久久精品| 婷婷五月性感| 五月天婷婷Av| www色哟哟| 婷婷五月激情欧美大胆视频| 天天日夜夜帕| 天天色综合综合| 五月丁香好婷婷A片网| 日本人妻丁香婷婷久久寝取熟女五月| 伊人五月天综合网| 五月天激情综合网站| 极品色丁香| 99综合视频在线| 操碰91| 天天狠天天狠| 欧洲激情五月天婷婷| 久久99激情| 五月综合婷婷网| 韩国婷婷丁香五月| 亚洲无码九九| 色五月激情五月天| 91激情五月开心| 97碰在线| 俺去也婷婷| 狠狠色丁香| 欧美性猛交99久久久久99按摩| 99精品国产在热久久| 韩国中文字幕91| 国产精品24r| 99色综合| 丁香五月婷婷五月| 天天躁日日躁狠狠躁日日躁2022年5月9日 | 一区二区三区四区无码| 999影院成人在线影院| 《蜘蛛女》梁铮1995| 99热天堂| 任你爽视频| 色逼综合网| 激情五月婷婷啪啪| www九九热| 丁香久久AV| www.久久av.com| 九九自拍网| 久久这里只有精品16| 激情五月婷婷色播网| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 成人av免费观看| 六月丁香激情最新更新| 岛国AV网| 丁香婷婷影院| 婷婷视频在线碰| 九九自拍网| 日本色婷婷综合| 色婷婷成人| 99这里只有| 老师高潮流白浆喷水的A片| 4399伦理午夜| 婷婷亚洲丁香五月| 婷婷五月综合啪| 高清无码网址| 欧美大道不卡| 色婷婷五月天激情综合| 婷婷狠狠18禁久久| 99干日日干| 97热这里精品在线视频| 婷婷激情综合网| 国产 亚洲 在线| 五月婷婷黄色网址| 色色综合网站| 五月色婷婷综合| 99re在线播放| 超碰超碰在线| 99热久久这里只有精品2010| 久色激情| 九月激情综合| 人人视频色| 狠狠干狠狠色| www.五月天色色.com| 26uuu91| 九九色影视| 综合精品啪啪| 第一区久久网站| 开心激情五月天网| 91porn一起草| 天天天综合网| 五月日韩中文字幕| 色八月婷婷| 在线另类视频| 9久久网| 亚洲性图一区二区| 午夜天堂一区人妻| 久去色色| 99啪啪| 99人人干人人| 五月色色激情网| 91丁香色| 新五月天婷婷激情电影| 五月婷婷激情| 狠狠艹狠狠艹| 婷婷五月天AV| av在线观看免费| 天天综合精品| 丁香六月婷婷开心婷婷网| 久久人妻人人槡| 欧美三级巜人妻互换| 五月天婷婷久久日| 丁香婷婷五月| 天天玩夜夜操天天爽| 亚洲综合成人网| 中文字幕不卡+婷婷五月| 色色色综合| 东京热免费视频网站| 激情欧美丁香五月| 久久精品五月| 丁香六月婷婷综合| www,色综合| 亚洲婷婷欧美婷婷| 婷婷 丁香 久久| 激情综合网五月天| 成人视频在线免费播放| 婷婷五月天小说| 久久色五月| 五月丁香综合啪啪| 91五月天| 五月天激情婷婷| 99亚洲综合| 极品少妇XXXX精品少妇偷拍| 伊人天天色| 香蕉婷婷五月| 五月花激情| 久草狼人| 国产成人99久久亚洲综合精品| 五月婷婷影院| 91久久久久久| 久久成人精品视频| 97热超碰| 色玖玖综合网| 蜜臀A∨在线水帘洞| 日日影院 | 亚洲欧州色情在线观看| 五月天丁香欧美激情| 欧洲一区二区| 丁香五月婷婷少妇| 婷婷综合仓库中文| 日日操夜夜骑| 六月激情婷婷| 被强行糟蹋的女人A片| 五月天成人在线| 97日本在线| av中文在线| 亚洲99视频| 久久五月天免费网站| 五月丁香久久综合| 五月的婷婷六月丁香| 色婷婷91激情小说| 久久综合丁香| 97激情五月天| 久啪欧美| 久久99精品视频| 99热99这里有免费的精品| 五月五月婷婷| 中文字幕在线日亚洲9| 天天色天天爱天天爽| 久久免费丁香| 538在线精品| 久久视频婷婷| 婷婷丁香五月激情图片| 99re免费在线视频| 国产AV一区二区三区最新精品 | 五月丁小婷婷激情四射| 五月婷婷|欧美| 丁香五月激情婷婷激情| 日本WWW九九九| 亚洲精品V天堂中文字幕| 直接看的AV| 亚洲一色色色色色色色色| 色月丁| 欧美日韩中文国产一区发布| 激情影院丁香五月| 综合逼五月激情婷婷| 婷婷五月网图片区| 婷婷丁香18| 夜夜爱网站| 五月丁香综合激情网| 午夜理论片最新午夜理论剧| 五月激情射| 五月婷婷综合在线亚洲视频| 五月天色社区| 人人摸人人摸| 六月婷婷色五月| 激情五月综合网最新| 大鸡巴伊人网| 亚洲精品久久久久久久久久吃药| 中文字幕AV网址| 久久免费视频62| 色久婷婷网| 色狠狠色综合久久久绯色AⅤ影视| 操操操97| a网站免费观看| 激情四射五月天| 婷婷综合视频| 婷婷五月天黄色小说| 伊人婷婷激情| 七七九九色色| 丁香六月婷婷久久综合| 亚洲午夜一区二区| 久久爱综合| 日韩性爱AV| 99国产精品白浆在线观看免费| 久久九九网| 操逼巨乳91| 99热这里有精力| 亚洲色vA| 久久有码| 亚洲五月天伊人| 色久婷婷五月| 天天做天天爱天天搞| 五月久久婷婷丁香| 久久综合婷婷五月| 五月婷婷六月综合| 久久精品五月| 四色五月视频| 9伊人网| 99在线视频女女视频| 亚洲黄色av网站| 国产伊人大香蕉| 91女人18毛片水多国产| 综合狠久久| www.色色色com| 激情亚洲五月| 日韩人妻在线播放| 亚洲色99综合天堂| 无语停婷丁香网| 日本97在线观看| 青青操成人福利| 亚洲成人无码免费| 9久久AV| 九热久| 中文字幕在线免费观看视频| 天天色天天搡| 久久99热这里只有精品23| 激情五月天激情网| 天天操天天操| 五月之婷婷| 丁香五月天色婷婷| 26UUU欧美激情一区二区| 99在线播放视频| 天天色综网| 婷婷大香蕉| 国产婷婷婷| 黄色AAAAAAA| 99精品97| 色色五月婷| 色播五月丁香婷婷| dingxiangtingtingliuyue| 99性爱视频网站| 99综合网| 激情五月久久| 色欧美一级| 午夜福利8055| 内射综合网| 第四色五月激情网| 天天日婷婷| 五月天久久91| 色五月综合网| 粉嫩AV久久一区二区三区| 丁香婷婷AV| 国产超碰人人| 深爱五月综合网| 五月丁香激情深爱婷婷| 天天日 天天草| 五月婷婷中文| 精品成人在线| 五月天天堂久久| 色婷婷五月丁香在线观看| 狠狠色噜噜色狠狠狠综合久久成人波| 天天干天天爽| 97干在线视频| 亚洲区1| 欧美激情丁香五月| 丁香六月激情综合啪啪| www色五月| 淫五月停停| 久久狠狠干| 久色中文| 91viP在线看| 97色 五月天丁香| 99精品久久久| 天天做 天天爱| 婷婷基地爱| 婷婷六月丁综合| 久久九九怡红院| 这里只有精品免费| 开心激情站| 六月久久婷婷| 色丁香五月综合网| 99色亚洲| 18久久| 狠狠五月丁香色婷| 亚洲av网站在线观看| 91久女| 亚洲无码成人网| 日韩AAAAAAAAAAA片| 亚洲国产无线乱码在线观看| 日本一级一片免费视频| 伊人狠狠干| 狠狠狠狠狠狠| 丁香婷婷五月综合影院| 99热这里只有精品 搜| 99自拍视频| 色色丁香五月| 常久最新免费的色吊丝| 大香蕉婷婷| 色五月激情| 亚洲亚洲永久无码777777| 色五月婷婷基地| 夜夜躁婷婷AV| 五月丁香六月综合激情无码软件亮点| 亚洲精品V天堂中文字幕| 97操在线视频| 天天综合 99久久婷婷| www.色欲丁香婷婷| 色婷婷最爱五月| 九九热免费| 婷婷五月大香蕉| 久久亚洲激情五码| 色五月丁香91| 婷婷丁香六月影视| 香蕉久久国产AV一区二区| 亚洲视频五区| 丁香六月激情| 99精品97| 99∨VTV| 国产亚洲色婷婷久久99精品9j| 丁香激激情网| 91久久精品国产91性色TV| 亚洲激情免费久久| 99热这里只有精品首页| 丁香五月综合婷婷| 99福利导航| 97色图片中文字幕视频在线观看 | 久久六月综合| 婷婷色网站| 人人人操| AV在线中文| 玖玖综合色| 五月丁香婷婷综合久久| 色吧婷婷| 欧美精品999| 亚洲人妻av| 亚洲国产婷婷色五月| 99久在线精品99re8| 美女网黄| 日本久久网| 婷婷偷拍网| 色综合色色| 性色播| 可以看的av| 5月婷婷性视频| 色综合久久久综合久久网| 亚洲综合婷婷六月丁香五月| 97碰 在线视频观看| 99热6这里只有精品| 九月婷婷综合在线| 丰满人妻一区二区三区| 亚洲成人AV在线播放| 婷婷激情五月综合| av在线超清中文| 97在线观看| 停停五月丁香| 婷婷丁香花五月天| 人妻久久久久久| 亚洲丁香五月美女| 无码碰碰| 五月开心网| 97干在线| 熟女人妻一区二区三区免费看| 夜夜夜叫天天天做| 婷婷五月天首页激情| 九九99九九99| 婷婷五月天播| 天堂久久久久天堂网| 久久色婷婷| 99久久久精品| 五月综合婷婷开心网| 九月丁香| 综合色99| 香蕉婷婷| 色99网| 色五月激情网| 综合色图区| 91狠狠综合久久久| 婷婷大香蕉| 99爱视频在线观看这里只有精品| 婷婷成人综合| 日韩另类| 日日操日日撸| 99精品久久| 欧洲第一无人区观看| 色色无码| 久久A极片| 日韩丁香涩| 日韩有码一区| 久人操| 狠狠久久婷五月| 日韩无码成人电影| 五月天激情综合首页| 安息电影在线观看完整版| 天天成人综合| 综合深爱五月| 色五月六月| 久久Xx| 怡红院视频| 疯狂做受XXXX高潮A片| 97色婷婷| 91啦丨九色丨刺激中文| 91在线看免费 九九九九| 久久久精品AV| 亚洲视频a| 五月婷婷久久爱| 丁香五月六月激情久久| 九九热最新| 九九色热| 粉嫩AV久久一区二区三区| 超碰妻人人| 五月久久婷婷天堂视频| 国产精品久久久久久白浆色欲| 激情婷婷五月女| 怡红院院久久| 五月丁香婷婷激情视频| 91人人操.COM| 狠狠精品干练久久久无码中文字幕| 3p九色在线| 日韩精品一区二区亚洲AV观看| 天天激情5月天亚洲| 色丁香综合影院| 久草热视频在线观看| 五月婷婷久久久| 大战熟女丰满人妻AV| 久久久噜噜噜操操操| 色婷婷中文在线| 开心五月丁香综合久久| 婷婷夜夜操| 婷婷五月天色色| 日韩乱轮AV| 人人操女人| 色婷婷视频| 五月丁香六月在线| 99热这里只有精品青草| 九色综合网| 色狠狠综合网| 色婷婷色情| 丁香久久综合| 色狠狠色噜噜AV天堂五区| 欧美日韩五月婷婷| 99久久黄色顶级视频| 婷婷性色| 天天爽夜夜操| 久久的爱大香蕉| 丁香月五月天婷婷久久| 婷婷激情小说| 五月天激情视频| 色五月大香蕉婷婷| 色婷婷五月天激情久久| 色婷婷久久综合中文久久一本| 99热这里只有精品8| 亚洲国产成人AV在线| 欧美激情五月综合| 五月婷婷免费在线视频| 色五月网址| 狠狠色丁香婷婷久久综合| 综合在线丁香五月| 狠狠色噜噜狠狠狠狠综合| 五月天婷婷婷| 久久久久久久久久8888| 五月婷婷婷婷网| 激情五月婷婷| 色狠狠色综合久久久绯色AⅤ影视| 婷婷五月免费在线| 婷婷导航| www综合久久| 成人欧美Va| 五月婷婷片| 五月婷婷综合影院| 5月婷婷六月丁香| 国产精品大香蕉| 香蕉乱插| 丁香丝袜五月| 操碰97| 亚洲综合五月天婷婷丁香| 久久这里有精品视频| 久久久GOGO无码啪啪艺术 | 思思热精品在线| 激情五月份婷婷| 思思热久久久久思思热| 97色色色| 综合久久五月天| 夜夜综合色| 江苏少妇性BBB搡BBB爽爽爽| 天天做天天爱高潮片| 欧美日比视频| 国产人人操| 五月综合婷婷久久在线| 天天草天天爽| www色婷婷| 亚洲婷婷久久综合| 99热观看| 久久激情五月网| 91 欧美| 综合xx网| 久久综合婷婷| 青青热视频| 成人在线网址| 天堂久久婷婷| 亚洲激情另类| 熟女国产在线一区二区三区四区| 影音先锋 91工厂| www色色色com| 开心久久xxx色| 人人爱国产| www.五月婷婷| 爆乳熟妇一区二区三区爆乳照片| 97人妻碰碰碰久久| 欧州色色| 激情五月婷婷色色| 五月丁查人人| 亲子乱av一区二区三区的| 丁香五月婷在线观看| 激情综合五月色丁香婷婷 | 六月丁花香啪啪激情欧美| www.五月激情.com| 丰满人妻一区二区三区| 99久久99热| 久久久激情| 99极品视频| 欧美成人精品A片免费一区99| 五月丁了香蕉综合| 日日夜夜干| 五月天全国最大成人网| 丁香五月五月婷婷欧美大香蕉 | 99热.com| 五月天丁香综合在线| 亚洲最大视频| 婷婷五月天午夜激情影院| 婷婷五月天小说| 日本一级一片免费视频| 欧美久久婷婷| 色色色色色热| 思思热在线| 国产欧美日韩一区二区三区| 99国产精品白浆在线观看免费| 天天艹天天色| 五月天小说激情| 丁香六月婷婷色XXXXX| 色婷婷五月成人网| 14色综合婷婷| 99re热精品在线视频| 国产精品电影| 99视频精品8 | 激情久久久| 五月天激情网图片| 五月五丁香婷婷| 久久婷婷艹| 色偷偷五月天| 狠狠爱综合| 精品人妻伦九区久久AAA片| 国产在线另类五月婷婷| 婷婷五月激情在线| 久久免费精彩视频| 国产67194| 风流少妇A片一区二区蜜桃| 婷婷五月色亚洲| 国产肏屄大片| 丁香色婷婷| 婷婷五月免费观看| 大大香蕉综合在线| 色婷婷先锋| 丁香激惜男女| a毛片二逼wwwwwwwwww| 久久超视频| 色色日韩| 黄色片avv| 91丨九色丨熟女丰满| 国产欧美婷婷| 五月婷婷婷色| 激情综合网五月丁香| 色五月激情问网站| 中文字幕综合色| 色情五月丁香| 26uuu国产精品| 激情九色| 五月色丁香| 五月婷婷丁香婷婷| 九九国产精视频| 婷婷丁香色女人| 乱码操操| 五月天狠狠干| 日本色99| 超碰婷婷色| 99欧州偷拍视频| 五月激情偷拍婷婷| 九九热精品99| 免费无码毛片一区二区A片| 五月综合色| 96性爱视频| 久久综合干| 人妻在线观看视频| 五月丁香六月欧美综合网站|