免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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
返回資訊列表
可以看的av| 99色视频| 日韩日比视频| 成人做爰A片免费看视频| 无码一区二区三区四区五区91c| 大香蕉久久婷婷精品综合| 色八月婷婷| 新激情婷婷| 五月丁香啪啪激情| 五月丁香成年黄色| 99热这里只有精品国产精品| 九九热再线九九视频免费在线观看| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 天堂爱爱| 美女网黄| 亚洲国产精品SUV| 亚洲十月婷婷综合| 激情宗合哪里能看| 97干视频在线| txt五月激情四射网综合俺也来了| 色五月首页| 天天草天天日| 激情五月婷婷综合网| 人妻久久久| 丰满人妻一区二区三区| 色五月开心五月激情五月| 美国不卡视频| 91九色PORNY中文啦| 丁香五月天在线观看| 久久九网| 中文字幕在线aⅴ免费观看| 丁香五月日韩| 欧美日韩成人一区二区| 亚洲婷婷五月天| 五月丁香六月婷婷玖玖| 精品久久久久久久久久久久人妻| 婷婷涩涩网| 思思99热这里只有精品| 精品思思久久| 日本人妻A片成人免费看片| 538在线精品| 99精品热| 色婷五月天| 婷婷色情小说| 日日日天天干| 爱婷婷都市激情| 国产婷婷五月在线视频| 丁香五月手机在线| 五月婷婷人人人操| 色天天久婷婷| www,五月丁,com| anquye伊人| 97超碰综合| 外国碰视频网站97| 五月丁香美女视频| 婷婷五月丁香综合激情小说| WWW、日本色丁香、co m| 俺来也综合网精品一区 | 五月丁香手机在线| 五月丁香婷草| 六月婷婷七月丁香| 99操碰| 九九青草热| 桃色五月婷婷| 色色色热| 色婷婷在线播放| 五月天激情视频| 这里只有精品免费| 亚洲综合草草| 色色色9| 天天操天天干天天日| 人人操AV| 激情综合网激情五月天| 丁香啪啪中文字幕| 香蕉婷婷色五月| 久久综合影院| 五月亭亭六月色| 五月天激情综合在线| 99热碰碰热| 伊人久久婷| 高清不卡一区| 日韩成人精品一区久久久久| 丁香婷婷激情五月天无毒不卡蜜桃| 色五月丁香五月天| 久久五月综合| 亚洲精品又粗又大又爽A片 | 俺去婷婷 丁香| 色色色9 9 9| 欧美日韩国产日本精品四虎网网站物 | 99精品在线观看视频| 91色综合| www,婷婷,com| 中文精品在| 九九久久精品| 丁香五月综合在线观看| 中文字幕在线日亚洲9| 亚洲无码色色| 超碰A V在线| 精典久久| 美国天天日天天操| 婷婷永久在线| 91九色中文| 天天色播| www.99成人视频| 99热碰碰热| 亚洲AV第二区国产精品| 亚洲 精品 综合 精品| 五月丁香成人版| 丁香婷婷十月| 另类小说色婷婷| 三级片AAA久久久AAA久久久AAA| 久久综合五月情| 色五月婷婷91| 六月丁香婷婷五月| 二色av| 久久91久久精品久久| 麻豆精品| 99精品爱| 久久婷婷六月综合综合| 五月天久久网站| 九九热只有这里精品| 色爱终和网| 激情操逼婷婷| 久99久视频| 婷婷五月情| 国产国产乱老熟女视频网站97| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 99久.| 美女天天爽| 丁香婷婷伊人| 激情五月婷婷视频一区二区三区| www.色综合| 婷婷五月天淫荡| 五月丁香色婷基地综合久久| 久久99热精品a片在线观看| 丁香五月激情啪| 五月天丁香婷婷网| 色色网站在线免费观看视频| 色婷另类| 成人人操| 色五月婷婷五月天激情综合| 麻豆AV一区二区三区| Www99热| 欧美婷| 91狠狠综合久久| 搡BBBB搡BBB搡18| 久久婷网| 色色亚卅| 精品爱欲五| 99综合| 99综合视频| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 激情五月天色色网| 超碰女人天堂| 日本色色网站| 色五月婷婷影院| 色色色色av777| 开心五月网| 伊人丁香在线| 亚洲人妻一区二区| caop视频| 5月丁香六月婷婷| 人人摸人人干| 色青青五月| 超碰人人色| 成人免费视频一区| 无码色色色| 丁香五月激情啪啪综合| 天天草天天舔| 五月婷婷香蕉| 99视频只有这里精品| 激情综合五| 九九色综合| 婷婷综合成人| 久久9视频欧美| 欧美在线视频免费播放| 色色激情五月| 五月天六月天| 五月婷婷导航| 亚洲中文乱字字幕在线永久| 日韩成人电影av| 十月丁香九月婷婷综合| av人人操| 高清无码入口| 色热久| 99色视频免费在线规看| 成人丁香五月婷| 婷婷丁香五月亚洲17cao| 色婷婷狠狠18yy| 婷婷五月开心中文字幕在线| 丁香操逼| 9热视频在线观看| 99色在线观看视频者| 亚洲V国产V欧美V久久久久久| 久色姿源| 久久婷婷桃花五月天| 欧洲综合色| www.韩日视频| 五月丁香好婷婷A片网| 色玖玖综合网| 强辱丰满人妻HD中文字幕| 九九视频这里是精品五月| 丰满老熟妇BBBBB搡BBB| 婷婷五月天激情丁香| 婷婷五月天大香蕉在线视频观看| a久久| 婷婷六月视频| 超碰在线成人| 五月激情六月婷婷| 天天色月| 日本9区视频| 99re这里只有精品99| 97色色色色色| 六月丁AV| 开心 五月 综合| 99色色网| 天天xxxxxx天天日| 狠狠色噜噜狠狠狠狠综合| 五月婷婷视频| se色99| 久9热视频在线| 在线1青婷| 99超级碰碰| 久9久9久9久9久9久9| 狠狠爱激情网| 大伊香蕉精品视频在线 | 第四色婷婷最爱| 黄色录像网点| 五月丁香啪啪激情| 色5月婷婷| 综合在线观看99| 婷婷五月激情五月激情| 高潮毛片遮挡费高一百度| 中国操逼99| www激情| 爱操人妻| 91九色PORNY中文啦| 欧美婷婷丁香五月社区| 激情综合五月色丁香婷婷 | 天堂婷婷五月色| 99青青草99| 大香蕉天堂| 婷婷色色综合激情| 色六月婷婷| 思思re最新视频| 99免费在线视频| 夜夜躁狠狠| 丁香婷婷老司机久操| 大香蕉久| 婷婷性爱五月天| 99自拍视频在线| 色婷婷8| 国产在线黄色| 欧美五月丁香| 婷婷成人小说综合| 婷婷六月丁香综合| 六月婷婷久久| 五月婷婷色啪| 天综合日日夜综合7799| 日韩小视频在线99| 亚洲成人AV高清字幕| 久热伊人| 伦乱天堂| 色五月色五天色情网| 欧美婷婷色五月| 五月婷婷开心色伊人| 五月婷婷色影院| 色婷婷亚洲综合av| 婷婷五月综合中文字幕| 丁香五月婷婷啪啪视频| 婷婷无五月无码视频| 丁香六月激情综合| 婷婷五月天天| 99精品国产在热久久| 另类视频一区| 中文字幕在线免费观看视频| 99福利导航| 操逼视频一区| 亚洲成人网站在线| 91岛国片| 99五月婷| 欧美 日韩 成人在线| 69人妻人人澡人人爽久久| 丁香五月激情图片婷婷| av在线婷婷| 蜜桃人妻无码AV天堂三区| 操人无码| 另类专区在线观看| 少妇性BBB搡BBB爽爽爽视頻 | 色色网站日本91| 国外亚洲成AV人片在线观看| www.婷婷com| 中文中文在线| 色五月色开心开心五月| 9一精品视频观看| 任你爽在线视频| 九九九九精品精| 97在线观看| 免费观看全黄做爰的视频| 免费视频WWW在线观看网站| 天天干天天插| 五月四色激情| 九九99在线视频| 欧美日韩五月婷婷| 久操婷婷| 婷婷五六日| 久久A热| 337p午夜影院| 日本社区五月天激情| 久久这里都是精品视频| 天天婷婷天天| 婷婷五月天成人网站| 五月天另类图片| 五月婷婷六月丁香色| 深爱激情丁香五月| 99热这里只有精品1025| 六月丁香啪啪| 大香蕉网 久久| 国精产品一区二区三区| 婷婷综合激情| 婷婷色丁香五月| 99热6色| 久久人人九| 婷婷激情五月| 国产精品操| 色婷婷免费视频| 99国产在线精品视频| ztEJj| 69精品人人人人人人| 91热视频色网站| 九九热a| 丁香五月婷婷成人综合| 99精品网| 婷婷五月天av| 超色欲天天| 综合久久99| 婷婷色色播五月天| 五月激情婷婷综合| av网址在线播放| 六月丁香天堂| 成人婷婷五月天| 五月天久久综合婷婷丁香| 色五月综合资源推荐| 五月婷婷婷| 色啦啦视频| 五月激情啪啪啪| 色高清无码视频| 这里只有精品视频| 日日操夜夜擼| 丁香五月性| 色婷婷狠狠色| 五月天婷婷激情在线色图| 色婷青青| 性爱先锋AV| 色婷婷五月天视频在线| 国产高潮A片羞羞视频涩涩| 热婷婷久| 99成人无码| 大香蕉婷婷丁香天堂AV| 特黄三级又爽又粗又大| 思思热思在线精品视频| 久久丁香五月| 狠狠99| 久久视频在线视频| 超碰在线看| 久久免费视频62| Av大香蕉| 99人人操人人操人人精| 五月天激情社区| 直接看的AV| 久久码久久无清| 桃色伊人在线| 六月婷婷激情| 9999久久久久| 婷婷色情网| 91在线资源| 日韩a热| 碰碰女| 玖玖婷婷五月天毛片| ri电影在线| 五月天色色婷婷| 免费日本aⅴ中文字幕 | 婷婷激情五月天综合| 爱草人视频| 97夫妻超碰| 性爱先锋AV| 久99热在线观看| 91婷婷丁香五月| 91人妻九色大屁股| 五月色俺婷婷| 婷婷色五月91啪啪| 丁香婷五月| 五月激情综合网| 青青草轻轻操| 国产免费一区二区三州老师F1F1| 99人人操| 婷婷大乡焦噜噜| 婷婷五月丁香性爱| 99热这里只有精品22| 少妇人妻人伦A片| www色婷婷久久综合久色| 久久婷.com| 91久久网站| 色噜综| 久婷婷五月天影院| 精品久久久91久久影视网| 99re思思热久久| 久久婷婷成人| yw国产AV| www.婷婷| 91成人看片| 久久婷出差欧美色两性综合网| 99在线视频观看| 婷婷五月色情天| 天天摸日日舔狠狠添婷婷婷| 91九色精品女同系列| 96丁香婷婷九月蜜桃综合久久| 少妇性按摩无码中文A片| 99er精品| 亚洲AV日韩无码| 伊人大综合| 丁香五月欧美激情| 99性爱视频网站| 色婷婷五月天av在线| 艹色18p| 99精品成人无码A片观看金桔 | 婷婷五月天av| 99热这里都是精品| 亚洲va欧美va天堂v国产综合| 美女天天久久| 超碰在线国产| 五月天婷婷基地综合网| 91色欲综合| 国产精品人成A片一区二区| 日韩黄色电影| 丁香色婷婷| 五月综合激情图片 | 婷丁五月| 99久视频| 丁香婷婷网| 欧美色碰| 色色综合院| 久操欧美在线观看97| 久久婷婷五月| 久久99精品九九久久久婷婷| 亚洲啪啪网| 激情五月婷婷六月丁香| 久热视频这里只有精品| ss视频xx91| 亚洲五月综合色播| 狠狠狠狠狠狠草| 婷婷放心五日爱| 91要啪| 91色吧网| 激情丁香六月| 91尤物九色在线| 高清国产AV| www99xxxx五月丁| 五月天丁香婷婷久久九| 五月激情综合婷婷| 七七色综合| av操B网站| 色婷丁香91| 九九XX视频| 久久久久久久久久久久久久久久一道本| 九九色色| 色青青电影色五月| 五月婷婷综合色啪首页| 伊人五月天久久| 狠狠色噜噜狠狠亚洲A∨| 久久久久久久久久久jjjj| av在线播放网站| 少妇2做爰HD韩国电影| 国产毛片欧美毛片久久久| 五月天大香蕉| 天天久综合网永久入口18| 99久久人妻精品无码二区| 熟女人妻视频| 激情婷婷五月综合| 日韩狠狠色| 99热9| 777久久精品| 天天做天天要天天爽| 五月丁香婷婷婷婷综合网| 婷婷色丁香五月| 婷婷丁香激情五月天色色| 丁香婷婷婷五月| 五月天另类激情在线| 97操碰碰无码视频| 狠狠狠狠狠狠| 牛牛色av| 色热久资源| 日日想日日夜日日操| 秋霞影音91人妻久久| 婷婷五月激情视频| 大香蕉手机视频| 极品人妻VIDEOSSS人妻| 丁香六月婷婷久久亚洲天堂| 操一区| 国产丁香五月天婷婷| 深情五月天| 综合久久影院| 亚洲网站观看视频| 九月丁香婷婷综合| 一本综合丁香日日狠狠色| 超碰网站在线观看| 五月激情小说| 五月天激情网址| AV伊人青草丁香六月| 久久婷婷丁香六月天| 色婷婷无吗| 五月丁香在线精品| 婷婷成人网五月天| 久久五月视频| 黄色片区子| 亚洲成人AV在线| 99久久综合狠狠综合久久| 九九久久综合| 97色色视频| 丁香六月激情综合| 久久久久久久97| www.天天日| 俺也高清无码高清视频| 99热这里只有精品一区| 久久婷婷五月草视频| 色婷婷4| 久久草人妻| 91精品丝袜久久久久久| 色婷婷久久| 色婷婷婷婷| 久99热在线观看| 91丨九色丨国产在线| 九九综合网| 丁香狠狠色婷婷久久无码视频| 少妇真实被内射视频三四区| 91打屁股免费看| 69精品人人人人| 91碰碰| 九九在线视频| 中文中文在线| 五月天丁香久久综合| 日韩国产在线精品| 婷婷五月激情小说| 久久99精品久久久| 久超超碰| 91919191919久久成人视频| 99网| av不卡网站| 亚洲成人日韩无码精品| 婷婷五月在线| 久99热在线观看| 婷婷丁香激情综合色情| 99精品热视频只有精品10| 久热这里只有国产| 亚洲无码成人性爰网| 五月婷婷深爱六月| 久热这里只有精品6| 丁香 亚洲 久久| 超碰人人操在线| 五月丁香天堂网| 激情五月天网| 九九热内射| 秋霞AV美国| 九热...av| 天天做天天爱天天摸| 五月天婷婷色播| 天天色综合网吨吧| 六月婷婷av| 九月丁香| www.cao.com久久| 啪啪操操| 日本本土色网第一区| 在线观看玖玖资源免费观看| 久久婷婷亚洲| 色九月综合| 天天日天天舔天天摸| www.激情.com.| 婷婷五月天影视网址| 思思久久青草热| 婷婷综合视频| 婷婷五月天熟妇| 天天插天天插天天插| 五月 成人 婷婷| 99色性爰网络| 97操在线| 九九碰九九爱97| 九九热在线视频,| 色婷婷婷婷五月天| AA丁香综合激情| 丁香五月婷婷图片综合| 91婷色| 激情欧美婷五月| 99看片| 久草热在线视频| av五月天婷婷丁香| wwwss在线观看| 天天色天天舔天天爱天天爽| 日本欧美国产| 黄色录像网点| 五月婷在线| 五月丁香基地| 夜夜操夜夜操| 久久大香免费| 天天干天天日天天插| 噜噜噜久久| 中国操逼99| 久久99操| 亚洲va在线∨a天堂va欧美va| 99久久这里只有精品| 久操大屁股女人av| 一起草日本| 深爱五月月天| 天天干天天拍| 五月丁香久久激情综合| 99噜噜噜在线播放| 国产精品电影网| www五月婷婷88导航| 99九九在线| 丁香五月天AV| 国产无套精品一区二区| 综合97五月| 无码99| Caoub青青超碰| 婷婷中文在线| 99热在线精品观看| 色婷婷色99国产综合精品| 亚洲中文乱字字幕在线永久| 538在线精品| 超碰爱爱爱| 99成人免费视频| 欧美操人| 婷婷在线播放av| 婷婷欧美| 激情五月婷色| 99热99re6国产在线播放| 五月天激情婷婷| 欧美熟女99| 99热都是精品| 五月丁香久久婷| 久久99成人性爱高清视频| 色五月综合| 五月婷视频久久| 婷婷激情性爱| 久青操| 久久开心五月天激情| 亚洲综合色成丁香五月色| 99r这里只有精品哦| 亚洲成人网站在线观看| 97资源碰碰| 欧美日韩成人免费在线| 色娸娸综合网| 99精品久久久久| 久久久99日本大片| 9热在线观看| 激情九色| 天天操无码| 97九色视频| 久久丁香综合| 久久久大香蕉| 五月丁香好婷婷姑娘综合网| 99色在线视频| 日本精品。999| 欧美日韩99| 天天搞夜夜叫| 99网| 五月丁香婷婷中文网| 思思re最新视频| 色99综合视频| 国产黄色大片| 六月婷婷综合| 黄网免费观看| 色久综合| 色婷婷五月婷婷五月婷婷五月| 久久人妻熟女一区二区| 婷婷五月偷拍| 久热久re| 久久这里面只有精品视频| 久久婷综合网| 久久久久久97| 日韩性视频| 丁香九月激情| 婷婷偷拍网| 久久亚洲网| 丁香五月婷婷姐| 99碰碰| 婷婷丁香九月| 欧美色99| 思思热精品在线视频| 99热这| 五月天综合久久| 九九黄色网| 被男人添B超爽视频| 色婷五月| 日本成人噜噜| 天天色噜| 天天玩夜夜操| 五月婷婷啪啪啪啪| www.久久久久久久久久久| 成人中文字幕在线| 天天狠狠婷婷在线| 五月色丁香婷婷中文字幕| 人人做天天爱| 久热黄色| 天天插天天插| 色五月激情图片| 五月天丁香久久| 色五月激情视频在线综合| 婷婷五月天无码视频| 久久婷婷五月草视频| 婷婷丁香小说| 天天综合色| 91久女| 丁香色综合| 五月情四婷婷| a久久| 色播五月婷婷| 婷婷久久18| 99久热精品在线| 婷婷综合五月天| 啪啪啪啪五月天| 六月丁香狠狠爱| 婷婷色综合| 婷婷五月天伊人| 婷婷五月天.com| 黄网在线观看免费| 韩国中文字幕91| 99热日韩| 激情六月丁香| 久久免费高| 久久婷婷成人综合色怡春院| 精品人妻久久久久| 五月天激情综合网站| 免费在线观看av网站| 亚洲成人精品三区| 婷婷视频网| 天天舔天天插天天爱| 99日这里只有精品| 狠狠的日| 国产性爱一级| 性99网站| 99精品视频在线观看| 9福利性视频欧美| 99人人操人人摸| 九九RE视频在线精品| 婷婷丁香五月激情中文字幕版| 婷婷射图| 97超级操操| 九九婷婷激情综合网| 五月婷婷综合网| 欧美日韩123| 色五月六月| 99re这里有精品手机在线| 丁香五月激情宗合网| 99久re热| www.激情com| 噢美99| 97自拍视频在线| 99色婷婷| 色热久| 九九视屏| 婷婷中文字幕| 天天爽夜爽| 成人电影丁香六月天| 四虎婷婷五月天| 开心婷婷五| 噜噜色天天开心| 色久女| 久久婷视频| 狠狠色婷婷丁香五月| co超碰在线观看| 成人国产欧美大片一区| 99在线精品观看99| 五月丁香影视| 色色色综合网| 99操逼| 天天综合精品| 开心五月深爱五月| 天天弄天天操| 久久香蕉影院| 亚洲综合五月天| 六月激情婷婷| www.婷婷六月天| 色婷婷六月综合| 国产欧美婷婷五月| 一本道综合网| 久久只这里有精品| 五月丁香婷在线| 五月开心激情网| 天天做 天天爱| 天天做天天爱天天综合| Www.激情| 影音先锋综合网| 色久免费| 99ri视频在线观看| 五月天婷婷成人| 久99热| 人妻久久久久久久| 182TV大香蕉| 综合大香蕉| 婷婷丁香色五月| 免费精品99| 精品影院| 九九色插| 五月天社区婷婷丁香社区| www.97碰碰com| 99色综合| 夜夜爽日日躁| 久久99激情丁香婷婷小说网| 99九九在线视频| 激情小说五月天| 丁香六月激情综合| 久久44| 日韩成人综合| 久操人妻| 东北婷婷五月天| 五月丁香亚洲婷婷| 99精品这里只有免费视频| 97色色网| 婷婷六月久久综合导航| 综合久久9| 夜精品无码A片一区二区蜜桃| 五月综合激情综合久| 精品九九婷婷| 综合激情肏逼网| 婷婷五月天VI| 色噜噜五月天| 久久一热免费视频| 国产婷婷五月天| 9久热免费视频99| 久久人人看| 51精品国内探花| 热九九精品| 色五月色综合| 色九亚洲| 大地资源色婷婷视频在线| 极品嫩草| 欧美日本VA| 六月婷婷国产| 久操无码| 99干免费视频| AV在线资源| 思思热久久婷婷五月天| www.色综合.com| 色婷婷香蕉丁丁网| 欧美激情综合色综合啪啪五月| 夜夜谢天天干| 熟女国产在线一区二区三区四区| 狠狠搞五月天| 五月婷婷丁香社区| 99精品在线| 婷婷色基地在线看 | 99热这里是精品| 超碰99在线观看| www.com.色色| 五月天婷婷青青| 97热这里精品在线视频| 亚洲性爱AV在线| 色五月成人| 丁香五月欧美激情| 97人人超| 精品99在线看| 丁香婷婷色五月天| 99色视频| 91精品久久久久久久久久久久| 五月天综合区| 91chinese在线| 久久久五月天婷婷成人网| 久久99热免费| 国产激情综合| 色色五月天com| 天天添天天摸天天天天做| 99re热视频这里只精品| 大香婷婷| 丁香五月婷在线| 这里只有精品视频| 人妻熟妇国产精品| 久久这里只有精品5| 99久久网站| 九久久九精品视频| 99在线免费视| 九九热超碰| 九九色播五月丁香| 操操操AV| 久99婷婷色综合| 丁香无五月网| 久久九九热视频| 91精品综合久久婷婷九色| 亚洲另类噜噜| 国产毛片操B| 狠狠五月丁香色婷| 开心激情婷婷| 97人人草| 日韩无码专区| www98日本小时间到了| 综合网亚洲| 国产91在线视频| 丁香婷婷伊人| 丁香色婷婷色手机免费在线| www.久久五月天.com| 久久九九网| 天天舔天天插天天爱| 五月婷婷99热| 超碰99久久| 玖玖在线| 色噜噜狠狠色综合网| 九月色婷婷综合| 婷婷综合九月| 亚洲色婷婷五月天| 无码九九九九| 久久 天天| 色婷婷影| 黄色99网| 99色丁香婷婷综合网| 99精品久久久久久久婷婷久久 | 激情五婷网| 欧美搡BBBBB摔BBBBB| 很很操很很操| 99国产精品久久久久久久久久久| 激情丁香淫荡婷婷| 婷婷不干网| 丁香色情五月综合网站| 天堂久热| 色播五月婷婷五月| 综合网色综合| 五月婷婷深深爱| 色99热| 亚洲精品99| 欧美日韩成人| 色婷婷影视| 亚洲99视频| 九九久久色| 激情五月色婷婷| 五月婷六月| 日韩1区2区| 色五月涩涩婷婷蜜桃| 搡BBBB搡BBB搡五十| 五月婷婷伊人久久| 五月婷婷之综合激情在线| 五月天激情久久| 九九这里是免费的视频5| 综合激情五月丁香9999久久精| 另类五月婷婷| 天天爽免费视频| 日本久久99| 999热这里只有美国精品| 超碰99久久| 久热最新视频| 大香蕉久久久久| 精品香蕉99久久久久网站| 亚洲综合干| 综合激情四射一theav| 99毛片| 五月丁香激情五月天| 潘金莲AAAAAAAAAA| 日本九九视频| 小视频aaa久久久| 色五月激情问网站| 超碰在线精品| 狠狠色婷婷丁香六月| 超碰99成人在线| 色一情一乱一乱一区91| 综合激情网| 日韩AV在线免费| 色综合久久888| www天天干| 欧美亚洲成人在线| 91超碰人人操| 欧美成人A片AAA片在线播放| 色色色色色色色色五月先| 亚洲精品无AMM毛片| 日本va欧美va欧美精品88| 欧美性爱五月天| 婷婷丁香熟女| 99久在线精品| 色五月成人在线| 五月丁香激情四射| 超碰日韩成人| 超碰在线精品| 亚洲一区二区无码蜜乳av| 日韩欧美五月丁综合| 国产激情综合五月久久| www.狠狠狠狠| 在线99色| 亚洲精品又粗又大又爽A片| 热99这就是精品视频| 美女亚洲五月丁香| 影音先锋综合网| 久久婷婷热| 激情网五月天| 亚洲AV无码久久精品色欲| 99WWW免费视频| 香蕉久久av一区二区三区| 五月婷婷日| 日韩激情人伦人| 日韩操逼大片| 六月婷婷天堂| 99精品无码| 99热在线看片| 91小黄书网址在线观看| 日韩无码成人电影| 综合激情九月婷婷,激情综合婷婷中文字 | 五月刺激丁香月综合| 久热只有精品| 久久久久久人妻| 色 五月婷婷基地| 婷婷丁香五月天综合AV| 色五月天丁香婷婷色| 4399无码视频| 这里只有精品视频在线| 久9视频免费播放| 国产精品激情五月天色婷婷| 亚洲视频a| 丁香婷婷91在线观看视频| 丁香狠狠色婷婷久久无码视频| 色五月激情综合网| 草草操操| 99在线免费观看| 精品无码99| 五月情综合| 99re思思| 午夜色婷婷| 六月丁香婷婷色狠狠久久| 在线观看av网站| 久久久人人操A V| 俺去也五月天| 国产精品视频| 亚洲成人网站在线观看| 26uuu视频欧美| 99国产精品久久久久久久久久久| 五月婷婷co.m| 九九99视频精品| 久久五月天网| 操操啪| 极品人妻XXXXOOOO| 丁香六月亚洲综合| 国产1区2区| 久久色婷婷| 激情播丁香| 9热成人在线视频| 97色色视频| 亚洲综合字幕色色| 免费无码毛片一区二区A片| 天天操综合网站| 色婷综合| 久久无码成人| 51精品国自产在线| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 亚洲激情精品| 婷婷五月六月丁香综合| 日日操,天天操| 99aese| 99热九九在线| 五月丁六月婷| 日日插日日干| WWW.婷婷| 99在线免费观看| 碰97久久| 成人AV免费观看| 色天堂A| 日韩免费视频| 五月天激情视频| 色噜噜狠狠色综合伊人| 五月天婷婷狂暴白浆| 婷婷五月大香蕉| 激情五月综合色婷婷| 激情久久网 | 日本精品99网站| 五月天久久色| 婷婷五月激情欧美| RenRenSe在线视频网站| 天堂综合久| 国产精产国品一二三在观看| 色五月婷婷亚洲| 丁香五月成人| 亚洲三A| 亚洲视频在线网| 国内久久亭亭| 色婷| 新99思思视频| 丁香色五月婷婷91桃色| 五月婷婷啪| 久久狠狠干| 婷婷99狠狠| 大香蕉久久青青| www.91AV.COM| 五月停亭六月,六月停亭的英语| 婷婷六月丁香在线| 久久这里99| 日本婷婷色日| 激情综合婷婷| 国产AV一区二区三区日韩| 超碰妻人人| 久久性刺激| 丁香五月AV综合| 丁香婷婷在线| 99噜噜| 青青青在线视频国产| 97人人操人人拍| 九九精品综合| 久色姿源| 亚洲热视频| 99热免费在线| 91操黄| 伊人色综合影院视频| 激情婷婷亚洲五月| 激情五月天综合| 五月天婷婷视频| 九色综合网| 五月丁香综合激情网| 五月婷成人网| 婷婷五月天天爽| 五月综合久久| 久99精品视频| 九九99视频精品| 激情五月丁香六月综合AVXXXX| 99在线精品观看99| 又大又粗九一在线| 七七九色| 五月天中文字幕在线婷婷| 大香蕉久久婷婷精品综合| 激情99| 色色色区| 天天插夜夜爽| 亚欧州精品视频| WwW色婷婷| 99啪啪视频| 久久性爱视频这里只有精品| 色五月在线观看| av五月天婷婷丁香| 99欧美| 激情丁香五月天图片| 婷婷丁香六月| 九九热婷婷| 色久五月| 99热9| 久99久视频精选| 五月久久噜噜| 色婷婷成人网| 日韩人妻在线播放| 5月婷婷视频网站综合| www.激情五月| 韩国中文字幕91| 丁香六月啪啪| 婷婷无码五月天| 中文成人在线| 九九Av| 婷婷五月天美女21p| 久久97久久99久久综合欧美| 五月婷婷啪啪网| 吾爱AV导航| 婷婷五月乱交换| 丁香五月激情网| 婷婷亚洲综合| www.夜夜操.con| 九九热这里只有精品12| 五月天婷婷在线播放免费| 色色色色网站| 亚洲成人免费在线| 伊人激情综合网| 99热久久日本| 九九热视频思思| 99re6在线视频精品免费| 第四色激情网| 亚洲综合另类| 日韩AV一区二区三区| 天天做综合网色综合| 五月丁香婷婷色| 五月天激情四射| 99男人的天堂| 婷婷中文网站| 色色色色色网站| 色噜噜丁香| 丁香五月大片| 婷婷色综合| 99久久精彩视频。| 色综合综合色| 国产精品色婷婷99久久精品| 这里只有精品免费视频| 日韩av在线播放综合网| 五月天激情国产综合AV| 中文字幕无码人妻少妇免费视频| 五月丁香六月在线欧美| 深夜男女福利刺激影院一区完整| 日本99在线视频| 久久久27操| 婷婷天堂视频| 五月天 婷 欧美亚洲| 99久久.www| 亭亭玉月丁香| 日韩在线一级| 99色视频| 欧美在线视频免费播放| 激情五月天婷婷在线网址发给我 | 99色最新在线视频网站| 亚洲欧洲美女在线观| 国产在线另类五月婷婷| 婷婷五月天综合亚洲| 一级二级香港秋霞欧美欧美秋霞| 丁香啪啪中文字幕| 六月亭亭久久综合激情| 无码激情AAAAA片-区区| 狠狠搞综合色| 天久综合91综合首页| 先锋男人99资源| 无码少妇高潮喷水A片免费| 日韩av大全| 激情五月婷婷综合网| 蜜臀嫩草| a片在线免费观看一区| 婷婷丁香18| 亚洲综合在线播放| 九九久久精品| 亚洲综合激情五月天婷婷| 亚洲色五月| 91啪级电影| 丁香五月天AV在线 | 91九色首页| 色婷视频| er99免费视频在线| 五月做爱| 99热20| 天天插天天| 欧美这里只有精品| 激情久久久久久久久久| 亚洲色 视频| 疯狂做受XXXX高潮A片| 久九色| 五月精品| 久热9热| 色操b| 黄色三级毛片中字| 色墦五月丁香| 思思久久99热只有频精品66| 日韩人妻操逼视频| 婷婷五月天丁香成人社区| 九色自拍| 五月综合婷婷开心网| 欧美在线ee日韩| 久久综合婷婷五月| 秋霞免费三级片| 人人人操 超碰| 丁香婷婷激情六月五月开心| 超碰在线国产| 无码激情AAAAA片-区区| 五月天婷婷在线观看| 婷久久| www.激情| 思思热在线精品视频| 久久九九99| 激情五月天。| 黄色成人网站在线播放| 国内婷婷丁香社区在线播放| 99热97美女| 狠狠色婷婷7777久| 99视频精品8| 日本成人综合| 99精品偷自拍| 天天干天天干天天| 亚洲综合色网站| 色五月婷婷影视| 5月婷婷五月天| 国产肥白大熟妇BBBB视频| 天天做天天爱| 翔田千里aV中文字幕| 国产色99| 激情99|