亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

JSP+Servlet+JDBC銀行預約管理系統(tǒng)畢設(shè)全解析

JSP+Servlet+JDBC銀行預約管理系統(tǒng)畢設(shè)全解析 簡介面向畢業(yè)設(shè)計場景的Java Web銀行預約管理系統(tǒng)完整項目包覆蓋用戶在線預約、排隊叫號、業(yè)務登記、后臺管理等典型功能模塊適合需要完成類似選題的計算機專業(yè)學生參考也適用于希望熟悉JSPServlet分層結(jié)構(gòu)的入門開發(fā)者。壓縮包共499個文件其中包含92個JSP頁面、31個HTML頁面與19個CSS樣式文件構(gòu)成前端展示與控制層210個GIF文件和少量SWF輔助素材用于操作演示16個JAR包與9個Java源文件支撐核心業(yè)務另附數(shù)據(jù)庫SQL腳本、項目配置文件和配套報告整體約9.07MB結(jié)構(gòu)緊湊便于本地導入調(diào)試。資源已獲得179人學習瀏覽說明在同類畢業(yè)設(shè)計資料中具有一定參考價值。借助完整源碼、數(shù)據(jù)庫腳本及報告文檔可快速還原系統(tǒng)運行流程理解預約模塊與權(quán)限控制實現(xiàn)思路對初涉JSP項目者而言也是分析工程目錄、配置文件與類調(diào)用關(guān)系的合適樣例。1. 銀行預約管理系統(tǒng)畢設(shè)選題里那條最穩(wěn)的路用 JSP 做的銀行預約管理系統(tǒng)本質(zhì)上就是把線下網(wǎng)點那套取號排隊搬到瀏覽器里用戶注冊登錄、選業(yè)務類型、約窗口時段、拿排隊號柜員在后臺叫號辦業(yè)務。作為畢業(yè)設(shè)計它的價值恰好落在「功能完整但邊界清晰」上——有登錄會話、有數(shù)據(jù)庫讀寫、有狀態(tài)流轉(zhuǎn)、有頁面交互每一層都能在答辯時講清楚又不需要你去碰支付、風控這類說不清的黑匣子。和那些直接套 Spring Boot 模板的同學比你手里是一套自己能逐行解釋的 JSP Servlet 方案。這篇筆記把技術(shù)選型、數(shù)據(jù)庫設(shè)計、預約主流程、常見翻車點一次講透適合正在開題或者已經(jīng)寫了一半卡住的人。2. 技術(shù)選型與項目骨架JSP Servlet JDBC 這套畢設(shè)組合怎么搭才不塌2.1 為什么不用 Spring Boot畢設(shè)答辯更需要的是「能說清」很多同學一上來就想用 Spring Boot理由是以后找工作用得上。但冷靜想一下畢業(yè)設(shè)計的驗收標準老師問的是「你項目里每個請求從瀏覽器到數(shù)據(jù)庫經(jīng)歷了什么」而不是「你用了哪個版本的自動配置」。Spring Boot 的自動裝配和內(nèi)嵌容器對你是個黑匣子一旦被追問你大概率只能答「框架幫我處理了」。而 JSP Servlet JavaBean JDBC 這套組合請求生命周期是透明的瀏覽器發(fā) HTTP 請求 → web.xml 映射到 Servlet → Servlet 調(diào) DAO → DAO 拿 JDBC 連數(shù)據(jù)庫 → 結(jié)果回填到 JSP 渲染。每一步都能指著代碼說清楚這是它在畢設(shè)場景里最大的優(yōu)勢。我一般會建議選 JDK 1.8 Tomcat 8.5/9.0 MySQL 5.7/8.0 這套經(jīng)典組合。Tomcat 8.5 之后對 JSP 2.3 和 EL 3.0 支持很穩(wěn)不會出現(xiàn)老版本那種解析報錯。MySQL 選 8.0 的話注意驅(qū)動類名要寫com.mysql.cj.jdbc.Driver這是這幾年最容易踩的坑下面專門講。2.2 目錄結(jié)構(gòu)與包劃分讓答辯老師一眼看到分層JSP 項目最怕把所有東西堆在 WebContent 根目錄下頁面、Servlet、工具類混成一鍋粥。常見做法是按 MVC 分三層包既方便自己維護答辯時畫架構(gòu)圖也好看。我習慣的結(jié)構(gòu)是這樣BankAppoint/ ├── src/ │ ├── com.bank.entity/ # 實體類User、Appointment、Window │ ├── com.bank.dao/ # 數(shù)據(jù)訪問UserDao、AppointmentDao │ ├── com.bank.service/ # 業(yè)務邏輯預約防重、叫號狀態(tài)流轉(zhuǎn) │ ├── com.bank.servlet/ # 控制器LoginServlet、AppointServlet │ ├── com.bank.util/ # DBUtil、MD5Util、分頁工具 │ └── com.bank.filter/ # 登錄攔截、編碼過濾器 ├── WebContent/ │ ├── WEB-INF/ │ │ ├── web.xml # 核心配置Servlet映射、歡迎頁 │ │ └── view/ # JSP頁面放WEB-INF下禁止直接URL訪問 │ │ ├── login.jsp │ │ ├── register.jsp │ │ ├── appoint.jsp │ │ └── admin/queue.jsp │ ├── static/css/ main.css │ ├── static/js/ appoint.js │ └── static/img/關(guān)鍵點是 JSP 頁面放在WEB-INF下面用戶只能通過 Servlet 內(nèi)部轉(zhuǎn)發(fā)訪問直接敲 URL 會 404。這既是安全習慣也是答辯時能拿出來講的「訪問控制」設(shè)計。另外實際項目中需要在web.xml里配置welcome-file指向登錄頁不然部署后訪問根路徑會報 404。2.3 運行環(huán)境與關(guān)鍵參數(shù)Tomcat、JDK、連接串環(huán)境搭好后先別急著寫代碼把配置項統(tǒng)一確認一遍能省后面大量排錯時間。Tomcat 的連接池參數(shù)按畢設(shè)的并發(fā)量來就夠了不用刻意壓很大但要知道每個參數(shù)是干什么的。一般來說我習慣在server.xml的 Connector 里這樣配Connector port8080 protocolHTTP/1.1 maxThreads200 minSpareThreads25 acceptCount100 connectionTimeout20000 redirectPort8443 /邏輯說明maxThreads200表示 Tomcat 最多同時處理 200 個請求超出后進入等待隊列。畢設(shè)演示的并發(fā)量根本到不了這個數(shù)但如果預約頁面在同學間集中點開時 500往往是這個值被默認的 150 卡住調(diào)大后立刻緩解。minSpareThreads25是常駐空閑線程數(shù)保證請求來了不用頻繁創(chuàng)建線程。acceptCount100是等待隊列長度超過這個值會直接拒絕連接。數(shù)據(jù)庫連接串這里必須強調(diào)一下MySQL 8.0 和 5.7 的寫法不一樣同一個項目從 5.7 遷到 8.0只改驅(qū)動類名是不夠的版本驅(qū)動類名連接串關(guān)鍵參數(shù)MySQL 5.7com.mysql.jdbc.DriveruseUnicodetruecharacterEncodingutf8MySQL 8.0com.mysql.cj.jdbc.DriveruseUnicodetruecharacterEncodingutf8serverTimezoneAsia/ShanghaiMySQL 8.0 必須加serverTimezone否則會報The server time zone value異常。useSSLfalse在本地開發(fā)可以關(guān)掉省得控制臺刷證書警告。驅(qū)動 jar 包放在WEB-INF/lib下別用 Maven 的同學記得 Build Path 里手動添加這是新手最常見的問題。3. 數(shù)據(jù)模型與注冊登錄從三張表到第一個能跑的 JSP 頁面3.1 三張核心表字段設(shè)計決定業(yè)務做起來順不順手銀行預約的核心實體只有三個用戶、預約單、窗口/時段。很多畢設(shè)把表設(shè)計成七八張弄得自己后面寫 JOIN 寫到崩潰。我傾向于先建這三張表看業(yè)務擴展再追加。用戶表承載登錄和身份信息預約單是系統(tǒng)的心臟窗口表則是叫號的基礎(chǔ)。用戶表t_user字段類型說明idINT AUTO_INCREMENT主鍵usernameVARCHAR(30) UNIQUE登錄名注冊時查重passwordVARCHAR(64)存 MD5 加鹽后的密文real_nameVARCHAR(20)真實姓名id_cardVARCHAR(18)身份證號預約時展示用phoneVARCHAR(11)短信通知預留字段create_timeDATETIME注冊時間預約單表t_appointment字段類型說明idINT AUTO_INCREMENT主鍵user_idINT關(guān)聯(lián) t_user.idwindow_idINT關(guān)聯(lián) t_window.idapp_dateDATE預約日期time_slotVARCHAR(10)時段09:00-10:00 等queue_noINT排隊號同一天同一窗口自增statusTINYINT0待叫號 1已叫號 2已完成 3已過號 4已取消create_timeDATETIME下單時間窗口表t_window字段類型說明idINT AUTO_INCREMENT主鍵window_nameVARCHAR(50)如「綜合業(yè)務1號窗」service_typeVARCHAR(30)對公/個人/理財max_numINT該窗口每日最大預約數(shù)start_timeTIME開始營業(yè)end_timeTIME結(jié)束營業(yè)日志表字段設(shè)計時容易犯的錯是把status存成字符串比如「已預約」「已完成」。這樣做查詢統(tǒng)計時非常痛苦你得寫WHERE status已預約一旦頁面文案改了全部報錯。正確做法是存數(shù)字頁面展示時再做映射。這一點在答辯時老師說「為什么用數(shù)字不用字符串」時你可以理直氣壯地回答狀態(tài)機可枚舉數(shù)字存儲節(jié)省空間且避免文案變動引發(fā)臟數(shù)據(jù)。建表 SQL 可以直接在 Navicat 或命令行執(zhí)行注意表名前綴t_是個人習慣避免和 MySQL 保留字沖突CREATE TABLE t_user ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(30) NOT NULL UNIQUE, password VARCHAR(64) NOT NULL, real_name VARCHAR(20), id_card VARCHAR(18), phone VARCHAR(11), create_time DATETIME DEFAULT CURRENT_TIMESTAMP ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;邏輯說明UNIQUE約束在數(shù)據(jù)庫層面保證用戶名唯一這是注冊功能的第一道防線。ENGINEInnoDB必須指定因為后面預約防重要靠事務和行鎖MyISAM 不支持。CHARSETutf8mb4比utf8多支持生僻字和 Emoji 符號銀行客戶名字里萬一有生僻字用utf8會插入失敗。DEFAULT CURRENT_TIMESTAMP是 MySQL 的常用簡化寫法免得 Java 端手動塞當前時間。3.2 DBUtil 與 try-with-resources不會寫工具類的 JSP 項目必翻車數(shù)據(jù)庫連接工具類是整個項目的基石這塊寫不好后面所有 DAO 都會出問題。新手最常見的錯是每寫一個查詢就new一個連接用完不關(guān)最后數(shù)據(jù)庫連接數(shù)耗盡頁面直接報 500。常見做法是寫一個簡單的 DBUtil用靜態(tài)代碼塊加載驅(qū)動用ThreadLocal保證一個請求一個事務這里給出基本版本public class DBUtil { private static final String URL jdbc:mysql://localhost:3306/bank_appoint? useUnicodetruecharacterEncodingutf8 serverTimezoneAsia/ShanghaiuseSSLfalse; private static final String USER root; private static final String PASSWORD 123456; static { try { Class.forName(com.mysql.cj.jdbc.Driver); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public static Connection getConnection() throws SQLException { return DriverManager.getConnection(URL, USER, PASSWORD); } public static void close(Connection conn, PreparedStatement ps, ResultSet rs) { try { if (rs ! null) rs.close(); } catch (SQLException e) { } try { if (ps ! null) ps.close(); } catch (SQLException e) { } try { if (conn ! null) conn.close(); } catch (SQLException e) { } } }邏輯說明Class.forName加載驅(qū)動后后面DriverManager才能識別連接串。close方法按ResultSet → PreparedStatement → Connection的順序關(guān)閉順序反了會出SQLException。這個類的關(guān)鍵不是代碼本身而是所有 DAO 查詢都必須走同一個getConnection()并且在 finally 塊里調(diào)用close。我見過最嚴重的翻車現(xiàn)場是查詢成功后忘記關(guān)連接演示時前三次正常第四次開始全部卡死重啟 Tomcat 又好了這就是典型的連接泄漏。3.3 注冊登錄的 Servlet 實現(xiàn)密碼加鹽與 Session 會話注冊和登錄是整個系統(tǒng)的入口也是面試官最愛問的模塊。密碼不能明文存數(shù)據(jù)庫這是安全紅線。畢業(yè)設(shè)計不用上 BCrypt用最簡單的 MD5 加鹽就夠講清楚原理。加鹽的意思是用戶在密碼后面拼上一段隨機字符串再哈希避免兩個密碼相同的用戶得到一樣的密文。注冊邏輯的代碼看這一段WebServlet(/register) public class RegisterServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username request.getParameter(username); String rawPassword request.getParameter(password); String salt generateSalt(); // 隨機6位字符串 String hashed MD5Util.md5(rawPassword salt); User user new User(); user.setUsername(username); user.setPassword(hashed); user.setSalt(salt); UserDao dao new UserDao(); if (dao.findByUsername(username) ! null) { request.setAttribute(errorMsg, 用戶名已被占用); request.getRequestDispatcher(/WEB-INF/view/register.jsp) .forward(request, response); return; } if (dao.register(user) 0) { response.sendRedirect(login.jsp); } } }邏輯說明request.setAttribute配合forward是 JSP 項目里回顯錯誤信息的標準做法錯誤提示能顯示在注冊頁面上而 URL 不變。sendRedirect用在注冊成功后讓瀏覽器重新請求登錄頁而不是直接forward這樣可以防止用戶刷新時重復提交注冊表單。這是「登錄后跳轉(zhuǎn)用重定向、傳參用轉(zhuǎn)發(fā)」的基本規(guī)則答辯時被問「為什么這里用 Redirect 不用 Forward」就能答上來。登錄之后把用戶對象放進 Sessionrequest.getSession().setAttribute(loginUser, user);后面所有 JSP 頁面都從 Session 里取當前用戶前端頁面用EL表達式直接展示對象屬性這就引出了「jsp 個人信息展示頁面」的核心寫法。用戶中心的 JSP 片段如下div classuser-info 歡迎您${sessionScope.loginUser.realName} p身份證${sessionScope.loginUser.idCard}/p p手機號${sessionScope.loginUser.phone}/p /div${sessionScope.loginUser.realName}是 EL 表達式它做的事情等價于session.getAttribute(loginUser).getRealName()但省掉了類型轉(zhuǎn)換和空指針判空。注意如果 Session 里沒有l(wèi)oginUser這里會顯示空白而不會報錯這是 EL 表達式的特性新手經(jīng)常誤以為是數(shù)據(jù)丟了。4. 預約主流程落地叫號狀態(tài)機與防重復提交的實現(xiàn)細節(jié)4.1 預約鏈路拆解從按鈕到排隊號經(jīng)歷了什么預約功能是系統(tǒng)的業(yè)務核心流程說起來不復雜用戶選擇日期、業(yè)務類型、窗口時段 → 提交預約 → 系統(tǒng)校驗合法性 → 生成排隊號 → 落在數(shù)據(jù)庫。難點在并發(fā)場景下的數(shù)據(jù)一致性同一時段、同一窗口兩個人同時搶最后一個名額憑什么一個成功一個失敗整個鏈路在 Servlet 層是這樣的順序。先接收參數(shù)再做業(yè)務校驗最后寫庫WebServlet(/appoint) public class AppointServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { User loginUser (User) request.getSession().getAttribute(loginUser); if (loginUser null) { response.sendRedirect(login.jsp); return; } String date request.getParameter(appDate); String windowIdStr request.getParameter(windowId); String timeSlot request.getParameter(timeSlot); AppointmentService service new AppointmentService(); try { Appointment app service.createAppointment( loginUser.getId(), Integer.parseInt(windowIdStr), date, timeSlot); request.setAttribute(queueNo, app.getQueueNo()); request.setAttribute(windowName, app.getWindowName()); request.getRequestDispatcher(/WEB-INF/view/appointSuccess.jsp) .forward(request, response); } catch (DuplicateAppointmentException e) { request.setAttribute(errorMsg, 您當天在此窗口已有有效預約); request.getRequestDispatcher(/WEB-INF/view/appoint.jsp) .forward(request, response); } } }邏輯說明第一層校驗是 Session 是否登錄這個能擋住大部分未授權(quán)訪問但不能依賴它后面還要加 Filter。第二層是業(yè)務校驗createAppointment返回的Appointment對象里帶上了queueNo這是真正的排隊號。注意這里把排隊號生成放在 Service 層而不是 Servlet 層因為生成號需要同步查詢當前最大值再自增這屬于業(yè)務邏輯。Servlet 只負責參數(shù)解析、調(diào)用服務、分發(fā)視圖保持薄控制器的狀態(tài)。4.2 防重復提交數(shù)據(jù)庫唯一約束和前置狀態(tài)檢查雙重保險銀行預約最怕兩件事同一個人對同一個時段約了兩次或者兩個人同時搶最后一個號。單機畢設(shè)場景里用「數(shù)據(jù)庫唯一約束 Service 層前置狀態(tài)檢查」雙保險足夠。先看數(shù)據(jù)庫層怎么兜底ALTER TABLE t_appointment ADD UNIQUE KEY uk_user_window_time (user_id, window_id, app_date, time_slot);邏輯說明這組唯一鍵意味著同一個用戶對同一個窗口、同一天、同一個時段只能有一條記錄。只要數(shù)據(jù)庫層面擋住重復就算 Service 層代碼寫漏了也不會產(chǎn)生臟數(shù)據(jù)。這是防御性設(shè)計代碼防君子約束防小人。app_date和time_slot合起來代表一個具體的時間段單獨一個app_date太粗單獨一個time_slot太細必須組合才精確。Service 層的關(guān)鍵代碼是「先查再插」的事務控制。這里有一個必須避開的坑兩段式「先 SELECT 再 INSERT」在并發(fā)下有空窗期兩個人同時 SELECT 都看到名額充足一起 INSERT 就超售了。常見做法是 Java 層用同步塊鎖住關(guān)鍵操作數(shù)據(jù)庫層用唯一索引兜底public Appointment createAppointment(int userId, int windowId, String date, String timeSlot) throws DuplicateAppointmentException { synchronized (AppointmentService.class) { if (appDao.existsValidAppointment(userId, windowId, date, timeSlot)) { throw new DuplicateAppointmentException(該時段已有預約); } int currentMax appDao.getCurrentQueueNo(windowId, date); Appointment app new Appointment(); app.setUserId(userId); app.setWindowId(windowId); app.setAppDate(date); app.setTimeSlot(timeSlot); app.setQueueNo(currentMax 1); app.setStatus(0); appDao.insert(app); return app; } }邏輯說明synchronized (AppointmentService.class)在單機部署下相當于把所有預約請求串行化雖然犧牲了一點吞吐量但換來了絕對的排隊號唯一性。這句代碼在答辯時能引出一個關(guān)鍵討論點如果部署到多臺服務器synchronized就失效了需要引入 Redis 分布式鎖或者數(shù)據(jù)庫悲觀鎖。你可以順著這個話題把分布式鎖的原理講一遍會顯得技術(shù)深度很好但畢設(shè)只需做到單機鎖 唯一索引就夠了——這也是「先能在單機跑對再談分布式」的工程原則。getCurrentQueueNo的 SQL 要留意一個細節(jié)MAX(queue_no)如果是 NULL 說明當天還沒人約需要默認返回 0否則currentMax 1會算出 NULL。這個坑很多人沒見過因為數(shù)據(jù)量小的時候總是有數(shù)據(jù)的一旦沒人約過就翻車。4.3 叫號狀態(tài)流轉(zhuǎn)讓「待叫號、已叫號、已過號」轉(zhuǎn)起來預約單的status字段就是一臺小型狀態(tài)機。設(shè)計狀態(tài)機的好處是業(yè)務流程清晰代碼里不會出現(xiàn)一堆if嵌套判斷。核心是明確誰有權(quán)限讓狀態(tài)從 A 變成 B只有窗口柜員角色能叫號只有系統(tǒng)能判定超時過號用戶只能取消自己「待叫號」狀態(tài)下的預約。我叫號功能的 DAO 層更新語句寫成這樣public int callNext(int windowId, String date) { String sql UPDATE t_appointment SET status 1 WHERE window_id ? AND app_date ? AND status 0 ORDER BY queue_no ASC LIMIT 1; // 執(zhí)行后返回受影響行數(shù)0表示當前沒有待叫號客戶 }這里有一個值得注意的執(zhí)行順序問題MySQL 的UPDATE ... ORDER BY ... LIMIT 1會自動鎖定第一條匹配的行在單表操作下不會出現(xiàn)兩個人同時叫到同一個號。但如果你先SELECT找出最小的queue_no再UPDATE中間就有時間窗口可能在多線程演示時叫到同一個人兩次。所以一句話給新手能一條 SQL 做完的狀態(tài)流轉(zhuǎn)就不要拆成兩條。這樣既快又安全。狀態(tài)流轉(zhuǎn)規(guī)則看起來復雜落到表格里就非常直觀status含義可觸發(fā)的動作目標狀態(tài)0待叫號柜員點擊「呼叫下一個」1 已叫號0待叫號用戶點擊「取消預約」4 已取消1已叫號柜員點擊「完成辦理」2 已完成1已叫號超過 2 分鐘未辦理3 已過號過號判斷我一般不在數(shù)據(jù)庫里做定時任務而是放到「柜員叫號前檢查」叫號時先把所有status1且update_time超過兩分鐘的記錄批量置為 3再查下一個待叫號。這種懶加載式的狀態(tài)檢查代碼簡單不依賴額外組件也符合叫號大屏的實際業(yè)務節(jié)奏。答辯時可以提一句真實銀行系統(tǒng)用的是延時消息或定時掃描畢設(shè)用懶檢查即可。5. JSP 頁面細節(jié)與常見問題排查亂碼、驅(qū)動、JSTL 這幾個坑一次說清5.1 中文亂碼三處 UTF-8 設(shè)置缺一不可中文亂碼是 JSP 項目里出現(xiàn)頻率最高的玄學問題幾乎每個人都被折騰過。它不像代碼報錯那樣給你明確的堆棧而是頁面出現(xiàn)「???」或者「?±èˉ」看起來毫無頭緒。根據(jù)血淚經(jīng)驗亂碼只會在三個地方產(chǎn)生請求參數(shù)、JSP 頁面渲染、數(shù)據(jù)庫存取。這三處必須全部設(shè)成 UTF-8少一處都會出詭異現(xiàn)象。JSP 頁面第一行必須寫% page contentTypetext/html; charsetUTF-8 pageEncodingUTF-8 %注意這里有兩個屬性contentType是告訴瀏覽器怎么解析pageEncoding是告訴 JSP 編譯器怎么讀這個文件。如果文件本身是 UTF-8 編碼但pageEncoding寫成 ISO-8859-1中文全變成亂碼。這個錯很難排查因為你打開代碼文件看是正常的運行出來就是亂。然后是請求亂碼。POST 請求的參數(shù)Tomcat 8 之后默認按 UTF-8 解碼但穩(wěn)妥起見還是在 Servlet 里加一句request.setCharacterEncoding(UTF-8);最好是通過 Filter 統(tǒng)一處理不用每個 Servlet 里重復寫。寫一個簡單的 EncodingFilter 就能解決WebFilter(/*) public class EncodingFilter implements Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding(UTF-8); response.setCharacterEncoding(UTF-8); chain.doFilter(request, response); } }最后是數(shù)據(jù)庫連接串確保characterEncodingutf8參數(shù)加上見前面 DBUtil 的 URL。這三處檢查完亂碼問題基本絕跡。很多人的亂碼其實是三處之二所以每次都「改一下好了過兩天又亂」因為只解決了其中一個來源另一個偶發(fā)冒出來。5.2 JSTL 與 EL 的兼容問題個人信息展示頁面為何顯示空白jsp 個人信息展示頁面在剛寫完時最容易出鬼頁面不報錯但用戶信息那一塊死活是空白。用 EL 表達式${sessionScope.loginUser.realName}取不到值控制臺也沒有異??雌饋砭拖駭?shù)據(jù)丟了。這個問題有三個常見原因。第一JSTL 標簽庫的 jar 包沒放進去。JSP 頁面里如果寫了c:forEach這種 JSTL 標簽而WEB-INF/lib下沒有jstl-1.2.jar頁面會報 500 錯誤而不是空白。但有些環(huán)境下 Tomcat 自帶部分實現(xiàn)頁面能渲染但標簽不生效。解決辦法是把jstl-1.2.jar和standard.jar都放進 lib 目錄版本必須匹配否則會出現(xiàn)「標簽庫無法解析」的異常。第二Session 里的對象類型不對。比如登錄時存的是User對象但你在 JSP 里拼錯了屬性名EL 表達式找不到屬性時會安靜地返回空字符串不拋異常。這種情況最容易誤導人讓人一直查數(shù)據(jù)庫而不是查頁面代碼。確認屬性名的方法很簡單在 JSP 臨時放一段% session.getAttribute(loginUser) %直接輸出對象看有沒有值有值就說明是屬性拼錯。第三isELIgnored被設(shè)置成了 true。web.xml 或page指令里如果寫了% page isELIgnoredtrue %EL 表達式會全部變成普通字符串原樣輸出。通常是無意中從老項目復制配置時帶過來的。日常排查順序先看對象有沒有值 → 再看屬性名對不對 → 最后看 EL 開關(guān)和 jar 包。按這個順序基本十分鐘內(nèi)解決。5.3 高頻異常排查對照表從空白頁到找不到符號把最常見的問題按「現(xiàn)象 → 原因 → 解決」整理出來比泛泛說理論有用得多。這里列幾條我實際排查過程中遇到的高頻異常。第一條ClassNotFoundException: com.mysql.jdbc.Driver?,F(xiàn)象是運行項目時啟動報驅(qū)動找不到。原因是 MySQL 8.0 的驅(qū)動類名改成了com.mysql.cj.jdbc.Driver或者驅(qū)動 jar 沒放進WEB-INF/lib。解決方法是確認 MySQL 版本8.0 用cj.jdbc5.7 用舊類名然后檢查 jar 是否真的在發(fā)布目錄下注意 Build Path 加入的 jar 不等于部署到 Tomcat 的 jar。第二條HTTP Status 500 - Unable to compile class for JSP后面跟著The method ... is undefined for the type ...。現(xiàn)象是 JSP 頁面無法編譯。原因通常是導入了錯誤的包比如對List用 EL 直接訪問方法或者 JSTL 標簽的var屬性名寫錯。解決方法是檢查 JSP 里的標簽和屬性拼寫特別是items${list}這種寫法確保list屬性是通過request.setAttribute放進去的。第三條頁面能打開但所有靜態(tài)資源樣式全丟了?,F(xiàn)象是 CSS 和圖片全部失效F12 看全是 404。原因是 Servlet 的 URL 映射把*.css或*.js也攔截了WebServlet(/)這種泛匹配路徑會影響靜態(tài)文件。解決方法是把靜態(tài)資源放到獨立的static目錄并在 web.xml 中對靜態(tài)資源路徑配置defaultServlet 映射。第四條java.lang.NullPointerException出現(xiàn)在調(diào)用request.getSession().getAttribute(loginUser).getId()時。原因是 Session 里沒有登錄用戶就訪問了屬性。解決方式是在 Servlet 入口統(tǒng)一做登錄校驗不通過的直接重定向到登錄頁而不是在業(yè)務代碼里到處判空。這個用 Filter 解決下面這段代碼是關(guān)鍵WebFilter(/appoint) public class LoginFilter implements Filter { public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpSession session ((HttpServletRequest) req).getSession(false); if (session null || session.getAttribute(loginUser) null) { ((HttpServletResponse) resp).sendRedirect(login.jsp); return; } chain.doFilter(req, resp); } }邏輯說明getSession(false)表示如果當前沒有 Session 就返回 null而不是創(chuàng)建一個新的空 Session。這樣既能判斷登錄狀態(tài)又不會因為訪問login頁面時白白創(chuàng)建一個無意義的 Session。Filter 攔截了/appoint路徑下的所有請求只要未登錄先重定向去登錄頁業(yè)務代碼里就不用每處都寫判空邏輯了。6. 讓排隊大屏活起來自動刷新、坐標定位與圖標引入的技巧6.1 叫號大屏的自動刷新只刷新內(nèi)容區(qū)不整頁跳銀行網(wǎng)點的叫號大屏就是排隊狀態(tài)的展示頁。畢設(shè)里如果做這個頁面最容易寫錯的是用meta http-equivrefresh content30整頁刷新這個做法在只讀展示頁勉強能用但會把頁面狀態(tài)全部清空比如滾動位置、選中標簽看起來很生硬。更常見的做法是用 JavaScript 定時輪詢接口只更新數(shù)據(jù)部分的 DOM 節(jié)點對應網(wǎng)上搜到的「jsp 頁面讓加載完后刷新一次」的真正訴求——頁面加載完以后更新的是數(shù)據(jù)不是整個頁面。setInterval(function () { fetch(queueStatus?windowId1) .then(function (resp) { return resp.json(); }) .then(function (data) { document.getElementById(currentNo).textContent data.currentNo; document.getElementById(waitCount).textContent data.waitCount; }); }, 5000);邏輯說明setInterval每 5 秒請求一次queueStatus接口接口返回當前叫到的號碼和等待人數(shù)前端只更新這兩個文本節(jié)點。這種局部刷新比整頁刷新省流量、無閃爍也更接近真實系統(tǒng)。輪詢間隔 5 秒是經(jīng)驗值太短對數(shù)據(jù)庫壓力大太長會讓客戶覺得大屏「卡住了」。注意這里的接口可以用一個簡單的 Servlet 返回 JSON而不是返回 JSP 頁面——展示數(shù)據(jù)用 JSON頁面渲染交給前端 JS。6.2 窗口分布圖上的坐標定位不寫死像素值網(wǎng)點大廳的窗口分布示意圖經(jīng)常需要在圖上標出每個窗口的位置對應搜索里「jsp 圖片如何對坐標定位」的場景。新手直接在 JS 里寫死left: 320px; top: 180px換一臺分辨率不同的電腦就完全錯位。正確做法是相對坐標 百分比定位讓標記位置隨著圖片容器等比縮放。div idwindowMap classmap-container span classwindow-marker style="width:16px;margin-left:4px;vertical-align:text-bottom;cursor:text;" />
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
一区二区不卡| 亚洲第2页| 精久久久91| 国产极品美女高潮无套在线观看| 精品人妻一区二区三区在| 欧美 亚洲 大香| 亚洲二区精品在线观看 | 18禁在线视频| 亚洲,欧美,综合网| 青青草在线视频欧美| 国产av又色又爽又黄| 欧美啪啪色吧在线| 亚洲风情综合网| 日本丝袜美腿人妻九九| 操99| 久久这里是精品| 免费啪啪av| 亚洲精品欧美专业| 色婷婷丁香五月| 操www| 中日韓欧美高清| 91 综合 色| 五月激情综合网| 久久五十路熟女人妻| 97久久超碰国产精品| 激情终合网| 亚洲色五月| 日本一本道A级黄色毛片试看60分钟| 另类天堂| 99色网| 不卡在线观看视频| 日亚韩精品视频二区三| 九九精品99| 国产日产欧产美韩系列麻豆免费| 麻豆 亚洲 97| 蜜桃丰满熟妇av无码区不卡| 亚洲欧洲无码97久久精品| 99精品久久| 你想操日本小逼吗| 自拍偷拍 高清无码| 曰韩中文人妻视频| 亚洲成人激情小说视频| 午夜精品久久一区二区| 91午夜无码| 97欧美精品综合| 吖在线不卡一区二区国产剧情| 久久专区| 2019久久久久久久久福利| 蜜臀一区二区三区在线| 国产亚洲色停停久久99精品91| 2017天天插| 狠狠色五月亚洲91| 亚洲中文字幕熟女少妇一区二区| 97精品一区二区三区免费| 暴力av在线| 97超碰精品图片| 欧美天天综合网版| 丁香婷婷五月| 久久‘黄片视频| 99精品成人免费看| 国产农村妇女一区二区| 加勒比东京热五月天天堂网| 亚洲欧美综合网| 自拍第一页| 精品人妻少妇| www.av在线视频| 国产91乱伦| 国产a级午夜毛片| 曰韩无码777| 天天狠| 天天摸夜夜摸| 国产免费内射视频| 翔田千里爆乳巨臀无码| 精品亚洲国产成人精品| 97天堂| 欧美亚洲激情小说| 91精品少妇搡搡搡| 国产无码精品成人| 欧美最婬乱婬爆婬性视频 | 熟女91网| 日韩综合成人免费视频| 丁香五月婷婷啪啪| 亚洲男人天堂2016| 在线97视频| A片A5445444| 国产激情在线| 蜜屁Av| 久久 久久国内精品亚洲| 蜜臀AV一区二区三区| 午夜爽爽爽| 一区二区偷拍拍视频| 91丝袜人妻| 色综91| av天堂电影网| 日本性爱少妇| 中文字幕78| 精品人妻一区二区三区鲁大师| 亚洲中文字幕熟女| 日韩不卡毛片Av免费高清| 国产激情久久| 亚洲骚男同com| 久久久久亚洲熟妇熟女| 欧洲色色| 91痴汉| 激情五月综合开心五月| 欧美日韩性感| 日韩欧美中文字幕搭讪巨乳美人妻视频| 天堂v无码免费视频| 亚洲最大网站av| 啊啊好多水| 亚洲欧美在线丝袜| 欧美色图天堂在线| 日韩精品 欧美激情| 久久国产逼| 中文字幕jul-617人妻熟女| 欧美天天谢综合网| 国产三级片在线观看| 思思热免费在线视频| 又黑又大又粗| 日韩电影在线观看网址| 99热超碰| 国产偷人伦激情在线观看| 日本韩欧美在线播放a| 九九九九九九九九九五码| 久久久久9| 1二区9| 肏逼视频日本| 久久欧洲| 成年人三级黄色片视频| 久久久久无码一妻区| 亚洲国产精品无码AV久久久| 91最新综合| 久久九色| 日影院久久婷婷夜夜网| www亚洲免费| 麻豆性爱视频在线播放| 午夜电影在线观看无码专区| 日本天天干天天日一区| 极品色www影院| 好爽要喷了| 少妇高潮对白在线观看| 欧美丰满少妇交换91欧美精品| 亚洲中文国际强奸字幕| 插插综合网天天影视网| 97五月天| 亚洲97精品| 99热综合| 中文日本免费高清| 欧美,日韩,中文,另类| 无码免费精品高清| 丰满人妻一区二区三区免费| 成人网欧美风情| 婷婷伊人五月| 国产精品一区二区后入| 色啪网| 99久久99九九99九九九| ′ !γ}丶。。久久精品欧美一区二区三区| 五月情色天| 人妻精品综合中文字幕在线 | 97视频在线观看网站| 人妻一区视频| 老司机福利青青草| 97在线青| 精品丰满人妻一区二区三区免费观| 韩国免费播放一级毛片| 精品美女人人干| 五月激情视频| 日韩中文字幕国产| 夜夜躁狠狠躁日日躁av| 亚av顶级裸体一区二区三区四区五区| 91精品黄在线观看| www.大香| 国产日韩精品suv| a级免费在线观看| av大香蕉网站| 十八禁视频网站| 蜜臀99久久精品久久久懂爱| 天操天操夜操夜月操月年年操操| 97在线观视频免费观看| 好吊妞转入那个网| 狠狠干综合| 91在线视频观看国产| 亚洲欧美伦综合| 青青欧洲黑| 欧美18禁91| 99热只有| 欧美熟女少妇| 99热综合| 色情成人五月天| 豆花视频操逼网址| 久久超碰日韩精品| 熟妇色99| 搡老女人老91二区| 骚日日av| 大干人妻| 亚洲高清综合网| 人妻少妇久久中文| 福利大香蕉| 亚洲无限观看| 玖玖草久草99蜜月一区二区三区| 久久动漫精品视频这里只有精品| 97精品97久久| 欧美78| 天天干2区3区| 国产欧美精品日韩区二区麻豆天美| 亚洲自拍天堂| 亚洲国产麻豆一区二区三区| 国产黄色影片在线观看| 国产成人午夜视频网址| 岛国1区2区3区在线观看| 久久久久久九九九九九| a网站免费观看| 91社区拍啪人妻| 超碰国产精品无码| 亚洲无码久久久久久久| 丁香五月天视频| 色狠狠色| 久久久久免费少妇| 躁躁日曰躁2020| 久久m| 日日噜噜夜夜久久亚洲一区二区| 亚洲高清男人天堂| 嗯嗯嗯啊啊在线观看| 超碰在线在公开超碰在线在公开| 久久精品无码熟妇一区二区三区视频导航| 天天躁夜夜躁狠狠躁AV| 人人九九精| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 视频分类 国内精品| 国产人伦a片信息免费片| 岛国色情视频在线观看| 國產尤物AV尤物在線觀看| 天堂无码精品国产久| 太久视频| 婷婷香蕉欧美在线一区二区三区| 国产蜜臀精品一区免费尤物| 色女综合| 狠操91,com| 国产91美女视频| 不卡日本一区二区| 婷婷丁香五月天亚洲天堂网| 色色五月婷婷| 色 婷97| 国产又长又大又粗的视频| 天天久久久久久| 白丝一区| 91Chinese在线| 台湾肥佬网一区二区三区| 国产肏屁眼视频| 伊人少妇久久久| 97视频免费播放| 日韩免费三级黄片电影| 一级性爱aaaa| 欧美A√综合网| 就去色综合| 无码137片内射在线影院| 国产AV毛片| 91粉芽高清在线一区二区| 精品96久久| 久艹日日日| 性爱免费视频成人| 精品久久青青草| 伊人久久亚洲中文字幕不卡| 亚洲无992tv| 性做久久久久久久| 黑人中出21连凳花野真衣| 亚洲蜜臀精品视频久久| 日韩无码操逼片| 99青草| 在线播放欧洲免费av| 国产精品久久天天干| 99亚洲天堂| 精品人妻一区二区乱码一区二区| 中文字幕三四五区| 超碰在线国产| 丰满人妻一区| 国产精品人人爽人人做可爱福利| 嗯嗯啊操我| 热热色国产一二区AV| 日本淫乱女一区二区三区视频| 久久久久国产精品片区无码直播| 日本999精品视频| 伊人久久AV诱惑悠悠| 亚洲一级特黄大片在线播放91| 中美日韩毛片| 欧美999| 丝袜 亚洲 偷拍| 玖色av| 多毛小伙内射老太婆| 熟妇熟女亚洲天堂网| 亚洲国产97在线精品一区| 伦伦成年午夜免费视频| 亚洲 欧美 另类 日韩 人妻一区| 欧洲成人性爱视频| 97久久久久久久久久| 少妇人妻好深太紧了vr91| 麻豆AV一区二区| 亚州男人天堂| 95精品在线| 色逼综合| 曰韩欧美国产传媒麻豆第一区| 久久久久国色αv免费观看| 91九色首页| 天美麻豆一区二区三区| 日韩一区二区精品视频| 亚洲一二三四区| 伊人久久国产免费观看视频| 伊人网免费视频| 91暧暧| 强奸乱伦免费网站| 北条麻妃性愛视频| 99精品久久久久久久婷婷蜜桃| 视频二区熟女人妻| 女人高潮大叫一级毛片| 97国产精品视频| 久久9久9久99久9久9| 91免费看一区二区三区| 亚洲人妖网| 一区二区三区免费岛国片| 久久妇| 91久久久久久| 操b在线观看| 天天干天天中出av| 亚洲综合在线视频| 人妻天天爽天天爽三区| 日本好吊色视频| 99激情| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 麻豆尤物视频网| 私色综合网| 八戒午夜福利理论片| 欧美亚洲成人在线一区二区三区| 曰韩av中文字幕专区| 密臀在线一区尤物| 2017大香蕉国产精品久久| 色一色综合网| 午夜舔阴达高潮视频免费看| 99热日| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 亚洲AV无码乱码| 天堂伊人久久| 日韩精品一区二区三区四虎影视| 久久亚州精品成人Av无| 天天影视综合色| 欧洲综合视频| 粉嫩在线一区二区懂色| 日本韩高清无砖码22o| 男人成人黄色视频在线观看免费下载| 国产精品久久久视频| AAAAAAAAA黄片| 亚洲色交| 亚洲色婷婷综合久久久久中文| 蜜臀精品1区2区| 日本在线激情一区二区三区| 日韩精品在线视频在线观看| 欧美AB在线| 少妇人妻激情四射| 五十路熟女工口| 密桃99999| 最新国产亚洲精品精品国产亚洲综合| 午夜.DJ高清在线观看免费7 | 91精品综合久久久久久五月丁香| 五十路三级片| 亚洲AV成人无码一二三久久| 蜜臀久久99精品久久久久久酒店| 中文字幕色AV| 97超碰超欧美。| 夜夜操av亚洲一区二区| 99热这里是精品| 逼逼逼逼操操操操操操操操操午夜剧场 | 亚洲一级黄色毛片| 日韩性色| 精品69网| 久草免费在线视频| 青草精品视频一日本久久久久网站| 日本最新免费韩国1区2区视频播放| 翘臀vidoes| 婷婷色中文字幕| 5278欧美一区二区三区| 国产精品成人蜜臀AV在线| 另类小说综合网| 免费岛国一级片| 中文字幕99999| 亚洲人综合19| 欧美天天综合网版| 2019天天干| 丰满人妻一区二区三区| 伊人天天久久动态图| 亚州性色| AAAA欧美日韩| 伊人操你| 国产探花精品在线| 五月天大香蕉| 国产精品一二三区福利| AV天天在线观看| 内射中出日韩在线观看视频| 久久动漫精品视频这里只有精品| 亚洲无限观看| 国产av色网| 人妻激情视频| 久久久久97| 亚洲欧美日韩免费观看| 成人性爱免费播放| 日韩一级特黄av毛片| 亚洲成a人在线观看久| 超碰人人超在线观看| 国产视频一区二区免费| 九九在线视频| 美女毛片999| 伊人少妇久久久| 久久精品国产亚洲粉嫩| 色哟哟AⅤ| 欧美日韩 强奸乱伦| 全球成人中文在线| 97人肏| 精品一区二区三区四区外站| yazhououmeizongya| 超碰91在线| 久久精品欧美一区二区三区不卡| 在线观看日韩av不卡| 91美女丝袜诱惑视频| 日韩精品人妻中文字幕有码午| 国产二区三区粉嫩在线| 日本不卡中文| 中文字幕精品一区欧美| 91超级碰| 欧美性综合| 蜜臀中文字幕| 国产精品久久久久久久久AV大片| 欧美大香蕉卡久久| 亚洲做性| 亚洲第2页| 大香樵伊人网| 色情婷婷久久五月天| 国产精品96久久久久久| 青草青草久热| 一区,二区,三区视频| 天天日天天看| 在线观看黄色电话| 亚热日本熟女| 天天看精品动漫视频一区| 久久久精品视频免费观看| 曰韩欧美国产传媒麻豆第一区| 超碰97久久国| 亚洲 小说 欧美 激情 另类| 99自拍视频在线| 国产丰满少妇久久久精品影院| 亚洲欧美清纯| 在线啊v一区| 激情视频一二三| 张柏芝国产一区在线观看| 日本精品一区二区中文字幕| 97超碰超欧美。| CCYY草草影院地址入口| 国产按摩一区二区三区| 天天舔日美女视频| 丁香色五月 97干| 久久久久密臀视频| 岛国激情视频在线观看| 91扒丝袜综合在线| 我要去看2个日本美女.com曹逼| 亚洲中文字幕av| 精品欧美日韩在线观看| 思思热在线cao| 妇女视频网站| 亚洲精品乱码线路中文字幕| 伊人一区二区三区| 免费观看性欧美一级| 91色碰| 超碰欧美| 91最新综合| 亚洲精品自拍| 欧美韩国你懂得在线| 日韩免费av片高清无码| 密臀AV在线| 韩国一级婬片A片无码天美| 330Dv国产女人终合视频极品人与兽 | 91精品在线播放| 99蜜桃臀亚洲成人在线观看| 熟女熟妇一区二区三区视频| 精品性爱久久视频| 人人妻人射| 亚洲日产专区婷婷| 超碰午夜在线| 无遮挡h肉动漫在线观看| 老色鬼成人精品视频下载大在线观看| 边做饭边操逼逼| 在线观看十八禁| 一区二区三区国产在线播放| 亚洲欧美天堂在线| 免费自拍三级综合| 最新日日夜夜天天干干| 97亚洲资源| 啊啊啊好舒服视频| 色哟哟国产精品免费网址| 99色网| 天天干天天日天天射黄色| 中文久久| 久久精品中文| 国产成人精品日本亚洲语言| 国产精品久久久 | 在线视频97| 久偷拍| 强奸乱伦麻豆| 国产精品96久久久久久| 伦理弟一页| 巨爆乳肉感一区二区三区竹菊影视| 97日韩超碰超碰中文字幕| 少妇蜜汁| 中文自拍欧美影视| 亚洲精品久久久久毛片A片拉屎 | 69一区二区三区| 综合网久久| 一级性爱aaaa| 国内精品a| 999色欧美中文字幕| 无码欧美有限公司| 欧美中出1| 极品综合| 91老熟女视频| 91久热| 久久成年精品| 国产精品色色| 日韩国产成人自拍视频| 亚洲无 码A片在线观看麻豆| 黑白配性爱AV成| 欧美97在线观看| 一区二区日韩欧美久久| 国产尤物AV尤物在线观看不卡| 少妇久久| 欧美97超碰| 亚洲日韩XXX| 中文字幕视频一区视频二区| 五月开心网| 熟女人妇一区二区三区| 久综合国内精品自在自线| 亚洲黄色| 青青青草原| 天天看高清麻豆| 最新一二三区视频| 蜜臀久久久久久999| 亚洲欧美国产其他二区| 韩国一级AAA| 国产强奸91| 人人操人人93| 精品国产Av无码久久久伦古装| 国产91丝袜 在线播放| 国产蜜臀在线| 伊人色综合欧美| 好好的日:com久久九九| 韩日男人的天堂| 91在线美女| www.狠狠干.coom| www.99色| 91N欧美| 神马福利久草| 97舔舔| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 新怡红院| 中文字幕视频在线观看| 亚洲小说视频| 91久久久久久久久18| 老熟乱一区二区三区四区| 96精品久久久| 殴美性天天| 熟女人妻一区二区三区| 欧美色宗合| 欧美高清18A片| 国产家庭乱伦表演| 国产黄色影片在线观看| 日韩亚洲中文有码视频| 国产精品无套内谢| 国产女性无套 免费观看| 成人三级片无码| 亚洲熟女av日韩熟女| 欧美视频在线视频免费va| 色婷婷网| 亚洲日韩av一区二区三区百合| 人妻天天爽夜夜爽精品2| 欧美色图私拍91| 蜜桃视频一区二区三区| 青草伊人久久| 蜜桃狠狠色伊人亚洲综合网站| 国产精品美女久久久久久网站| 午夜视频久久久久一区| 精品v日韩欧美国产| 狠狠操狠狠插| 中文字幕免费观看| 久久九九精品一区二区 | 亚洲五月天激情| 人妻精品4K4K4K4K4| 老鸭窝黄色视频网站| 中文字幕精品三级久久久| 久久丝袜| 国产精品 久久久精品一牛| 黄色免费网页无码| 九色 人妻 大香蕉| 怡红院成人av| 俞拍久久国应视频| 国产最新小视频在线播放下载| 九九综合久久| 亚洲91网。| 欧美日韩精品久久久久东北老熟妇| 九九九网站| 日韩精品人妻一| 亚洲五月丁香花狠狠干一区二区三区 | 婷婷五月天色色| 色诱avtt| 91熟女在线| 99在线无码精品秘 入口黑人| 99无码| 亚州高清av| 毛片一区二区| 蜜乳av首页| 大香蕉综合在线| 精品国产乱码久久| 中文字幕 国产区| 狠综合网| 狠狠色伊人亚洲综合网站色| 99性爱视频| 欧洲精品一二三在线| 96精品久久| 欧美日韩国产色图在线| 91爰爱欧美| 私人尤物在线精品不卡| 色婷婷网| 四虎影视国产精品| 欧美成人一级免费电影| 96免费视频在线| 蜜臀久久99精品久久久久| 国产综合操逼高清| 麻豆区久久久久亚| 国产精品呦一区二区三区| 精品久久99| 啊啊啊啊啊啊在线观看| 99色色网| 人妻丝袜一区二区三区在线| 99性视频| 视频二区美腿制服人妻欧美| 爱av免费| 97超碰影音| 首页中文字幕中文字幕免费| 韩日自拍| 国产精品岛国片在线观看| 欧美性爱网97| 久久直播国产| 98福利在线视频| 一区二区三区亚洲| 天天影视射综合网| 日韩操逼HD| 亚洲精品国产av天美传媒| 视频一区二区三区精品| 裸模AV女优| 狠狠色噜噜狠狠狠狠2018| 99热精品青草在线| 大屁股人妻女教师撅着屁股| 国产超碰在线一区| 国产成年女人免费视频播放a| 国产盗摄美女如厕大神作品在线观看| 18禁在线视频| 91色伦综合| 温婉少妇玩3p| 国产又粗又长又大的视频| 9999久久久久| 夜夜爽夜夜操| 国产福利夜| 日本狂喷奶水在线播放212| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 大香蕉欧美伊| 18禁精品网站在线看| 亚洲综合贴图91| 免费精品福利在线观看| 欧美78P| 亚洲中文字幕乱码无码一区二区| 91成人高清在线观看| 一牛一区二区三区久久| 成人性爱美曰韩| 黄页| 99黄页网站| 91麻豆va国产精品| 亚洲国产97| 91性感网站| 欧美国产日韩高清在线| 国产精品高潮久久久无码| 国厂麻豆77q4| 亚洲九九夜夜| 操逼视频色| 国产夫妻性生活视频| 91爱综合| 玖玖玖玖精品国产剧情| 成人怡红院| 一区二区三区色综合| 九月丁香婷婷| 国产成人一级av88| 免费视频97| 99精品久久久久久| 国产精品白虎| 人妻-91porn| 乱伦熟女专区| 97这里有精品| 91成人久久| 亚洲日韩av一区二区三区百合| 亚洲午夜福利在线影院| 亚洲伊人久久综合97| 91天堂丝袜美腿| 啊啊啊啊啊好大好舒服想要| 九九综合| 亚洲免费人妻在| 免费少妇一区二区| 亚洲牲交| 欧美97网| 久久久久久久久国产| 有码人妻系列| 亚洲色婷婷| 免费强奸av| 国产精品人人爽人人做可爱福利| 极品色| 精品免费囯产一区二区三区| 啊啊啊啊啊啊啊啊要喷了| 江都AV在线| 天天欧美欧美亚洲网| 色爱国产| 无遮挡猛进视频免费无限观看| 久久久久免费看少妇A片特黄| 97色色色| 97视频在线看| 午夜超碰| 亚洲欧美首页| 好爽视频在线观看视频 | 激情综合五月天| 强奸xx国产| 日本亚洲熟女视频| 乱伦3P视频| 一级岛国大片| 国产男女边吃边摸视频网站| 99久久无码| 欧美影院一区二区三区| 97爱爱| 91久久久亚洲| 久操精品| 精品人成视频在线观看| 毛片一区二区| 自拍内地三级在线观看| 思思热在线视频在线| 秋霞 色色| 久久久久久精| 免费精品国偷自产在线在线| 国产亚洲色停停久久99精品91| 黄片免费日韩| 久久久精品中文字幕爱豆| A级片日韩欧美国产欧美视频精选观看 | 大香蕉黄色一级片免费看| 亚洲综合激情五月久久| 强免费黄色网址| 婷婷五月天激情小说| 午夜婷婷| 99热色这里只有精品| 国产精品青青草| 色爱欲亚洲| 国产精品久久久久久久久久久久久久久久 | 中文字幕诱惑制服人妻丝袜美丝袜美| 色眯眯av| 一区二区影视| 日韩在线欧美精品一区二区| 人人操人人搞人人草| 人人考人人摸人人干| 99精品无码| 日欧美色| 精品人妻伦一区二区三区久久| 91操熟妇| 秋霞一集毛片观看| 综合在线导航一区| www.婷婷五月天| 91伊人影视综合| 中出在线视频| 国产深夜福利| 国产成人精品无码久久| 久久久97| 欧美 日韩 另类 亚洲| 日韩欧美天堂| 婷婷超| 日本性爱网址| 久久婷婷国产一区二区色| 少妇三P| 亚洲精品国产拍免费91在线| 99久久亚洲精品无码毛片潘甜甜| a级成人毛片免费视频高清| 99热这里只有精| 60秒免费小视频| 青青久久艹| 啪啪AV导航| 97人妻色| 91精品国产长腿丝袜美女| V A在线| 国内毛片免费h片在线| 欧美天天综| 老司机香蕉久久久久| 免费啪啪av| 艹我哪美一区无码| 偷拍亚洲情色| 新久久AV| 黄色二级片网站| 一区二区三区一亚洲中文字幕、综合区灬| 人妻二区| 日韩乱码Av| 日韩欧美~中文字| 伊人丁香五月婷婷| 久草久热| 四虎影视欧美| 中文字幕免费看大片| 国产污视频麻豆传媒一区二区| 久久亚洲一区女同性恋中文字幕| 熟女乱伦A| 国产美脚女优尤物在线观看| 熟女少妇视频| 999岛国大片| 欧亚揄拍偷拍精品视频| 成人免费毛片| 嗯~啊~快点 死我视频| 9Ⅰ超碰| 99操碰| 欧美亚洲清纯| 精品人体无圣光凹凸| 大香蕉综合| 男女一进一出视频久久| 五月丁香色综合| 久久老熟女| 欧美一区二区三区日韩| 福利大香蕉| 老司机老司机午夜影院| 久久99草| 秋霞无码av鲁丝片一区| 超碰98综合网| 神马久久久久久伦理片| 超碰97最新人妻| 男女激烈网站最新| 日韩久久艹| 亚洲天堂中文字| 天堂涩涩| 日本性爱少妇| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 欧美亚洲综合色| 传媒在线观看一区二区三区| 五月综合激情| 在线观看中文字幕| 国产a级精品| 欧美伊人久久综合网| 亚洲欧洲精品成人| 爽极品影院| 午夜AV污污污| 无码少妇精品一区二区60岁老人| 四虎精品亚洲| 国语人妻精彩刺激| 久久亚洲中文字幕视频| 日逼五月天| 3P乱轮视频| 久热网| 操人妻少妇中文| 国产精品久久久久久高清无码免费看| 国产精品久久久777| 亚洲一级性爱视频免费看| 国产免费一区| 色九九综合| 人妻精品视频一区二区三区 | 91在线精品| 久热这里只有精品9| 97人肏| 天天操夜夜操狠很操| 国产九九九九九九| 98一区二区精品| 少妇一区二区三区高速| 91视频女生| 国产精品久久发布| 国产Aα| 亚洲高清色综合| 亚洲成人精品久久久| 99久久精品无码一区二区| 精品一级| 金典av| 素人播放一区| 色五天伊人| 激情在线青青操| 撸撸成人在线视频| 综合久久婷婷| 蜜乳av一区二区| 天天综合中文字幕 91| 四虎国产成人精品免费一女五男| 久久久国产三级黄色片| A级国产欧美激情在线| 国产AV天美传媒一区二区三区 | 韩国女主播青草在线| 成人在线视频网| AV一起草在线| 丝袜AV一区二区三区| 91 丝袜在线观看| 日本三级久| 国产激情av女片自拍| 久久AV无码AV| 精人妻一区二区三区| 97超碰巨乳| 99青草| 超碰在线91| 色色香蕉| 久久这里只精品免费福利| 久久精品操| 欧亚揄拍偷拍精品视频| 亚洲日本男人天堂网| 精品久久99| 精品黑人一区二区| 草草影院最新网址| 91视频伊人| 九九九九国产| 亚洲 欧美 第一页| 懂色av中文字幕一区二区三区天美| 美腿色图| 小草三级久久观看| 性吧在线视频| 丁香五月影院| 婷婷综合激情| 日本污ww视频网站| 大香网站| 亚洲AV秘 精品久久老牛影视| 超碰精品国产无码| 欧美色狠| 国产精品午夜AV完会免费 | 免费看一级a性色生活片久久无| 日韩国产不卡在线视频| 在线观看一级α片刺激高潮视频| 99人妻| 97碰| 久久精品国产亚洲AV清纯| 欧美色性情| 亚洲精品97久久| 久艹日日日| 91美女网站| 亚洲爽图| 亚洲欧洲自拍图片专区满春格| 国产精品人妻免费精品| 久久大黄片| 亚洲欧美高清无码| 99re免费视频精品全部| 三级日韩一区二区三区| 久久性生大片免费观看性| 玖草在线视频| 成人一二| 天天躁日日躁AAAAXXXX国产 | 亚殴在线| 欧美在线色图| 91欧美美女日韩国产婷婷| 欧美曰韩国产精品| 中文字幕女同在线| 97爱啪| 美女黄页网站| 欧美91精品国产自产| 久久AV无码AV| 乱伦a片视频| 操逼操逼视频操逼| 色爱国产| 一区二区三区 丝袜 高跟 美腿| 欧美日韩资源在线| 色综合99999| 四季av一区二区凹凸精品小说| 91老司机精品| 国产亚洲色婷婷久久99精品91 - 百度| jizz啪啪| 大香蕉一线视频| 99综合网| 亚洲少妇在线影音| 白嫩91在线亚洲| 大香蕉欧美| 久草国产在线视频| www.zbzhongsen.com| 99re6久热只有精品6在线直播| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 约操熟妇| 九九热精品| 青草香蕉网| 中韩中文字幕在线观看| 日韩成人无码| 亚洲午夜福利视频| 麻豆黄色五月天| 超碰在97| 欧美激情激情xxxx欧美专区| 国产精品久久久久亚洲av| 婷婷色综合| 中国小夫妻勾搭露脸淫荡对白| 新怡红院| 国产性爱在线视频一区二区| 婷婷视频网| 殴洲老熟女| 伊人超碰97| 青青伊人这里只有精品| 亚洲少妇色| 日韩av电影网站| 国产精品人妻无码久久久老鸭窝 | 一二视频神马久久传媒| 老熟女91| 91狼人| 久久香蕉超碰97国产精品| 热热色91| 深夜激情无码| 伊人国产av| 老熟妇91| 国产精品99久久久www| 久久久穴999| 91精品91久久久久77777俄罗斯老妇姓x| 亚欧成人综合影院| 国内黄色精品| 熟妇色99| 五月丁香激情综合| 亚洲凸凹超碰成人| 边做饭边操逼逼| 人妻啊啊人妻啊| 久久精品国产97欧美精品亚洲 | 欧美日韩在线小说| 激情专区综合| 天天日熟妇| 日韩Va亚洲va欧美Ⅴa久久| 桃色六月天| 大香蕉一级黄色片久久| 丁香五月色情| 91操熟女视频| 免费的黄片wwwwww| 97视频新免费| 欧美一区二区三区另类精品| 国产传媒美日韩av| 成人一二| 日韩女优中文字幕| 欧美激情综合网| 嗯嗯嗯好爽| 欧美色青| 超碰资源亚洲97| 99re这里只有精品9| 日日日日日| 资源新线在线天堂| 天天干少妇| 国产精品一区二区三| 色婷婷视频| 美女久久久久久久久久久| 色噜噜狠狠色综无码久久合欧美| 色悠悠伊人网五月天| 99re国产中文字幕| 亚洲天堂另类| 亚洲天堂中文字幕无码男同| 亚洲不雅视频1区二区| 天天综合精品| 男人天堂2017| 红桃视频高潮| 强奸国产精品视频| 精品久久9| aaa一级黄片| 91色香| 麻豆天美制片厂网站视频| 午夜操逼不卡| 欧美第二页午夜| 久久露脸国产老熟女| 欧亚三区动漫| 久久天天摸| 久久精品午夜国产亚洲AV无码| 神马久久久久久久久久久久| 欧美国产欧美在线观看| 日韩97视频| 大香蕉手机视频| 91久久| 亚洲欧洲第二视频在线观看色图| 3028国产精品| 久久久涩| 国产视频三区四区| 日本成人A片网站| 久久久国产护士丝袜美腿一| 99激情| av在线播放国产一区| 日韩精品影视| 超91综合网| 在线观看高清AV| 四虎av在线| 色女综合| 日本护士高潮| 蜜臀在线视频| 亚洲综合贴图91| 综合色图亚洲欧美| 婷婷丁香九月| 欧美成人精品一区| 神马久久网| 国产亚洲色婷婷久久99精品91| 丁香婷婷五月| 国产日韩中文字幕欧美| 九九热免费国产视频婷婷伊人| 欧美一级黄片视频在线| 欧美熟妇精品黑人巨大91| 日本999精品视频| 在线99热| 男人的天堂午夜av| 天堂综合网| 精品一区二区三区四区外站| 99∨VTV| av在线一区二区三区| 超碰九7| 熟女91网| 男人的天堂欧美| 五月丁香综合网| 日韩Va亚洲va欧美Ⅴa久久| 久久加勒比| 少妇人妻在线| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 欧美精品三区| 色网在线| 精品久久青青草| 欧美疯狂做爰xxxx| 国内偷自视频区视频综合| 蜜臀AV午夜精品久| 久草线上视频免费看| 日韩在线人妻网站| 九九九九久久久| 秋霞免费AV| ,成人免费啪啪视频| 青青青青青手机视频| 欧美亚州色的图| 亚洲自拍另类丝袜综合| 精品久久視頻在线| 91粉嫩萝控精品福利网站_精品影音先锋国 | 亚洲av综合色区无码一| 无遮挡男女激烈动态图| 97美日韩视频| 国产精品97超碰| 久久夜精品一区二区三区| 福利风月五月天影院| 人妻久久久久久久久久久久久久久| 久久亚洲精品成人av| 国产乱伦亚洲| 都市久久精品激情亚洲| 久久久精品网站| 九九久久玖玖| 九九九九精| 亚洲视频精选| 成人性交免费视屏| 日日摸日日弄日日拍| 无码人妻毛片丰满熟妇精品区| 成人黄页| 国产亚洲日本| 日日做夜狠狠爱欧美黑人| 久久成年精品| 国产又大又粗又长视频在线| 射丝袜高跟鞋99| 国产有码一区| 日韩人妻网站| 精久久久91| AV99热18这里只有精品| 午夜后入| 色五月激情AV在线| 操死我了啊啊啊| 激情内射| 啊啊啊慢点| 国产传媒一区二区三区| 色综91| 久久精品国产亚洲5555| 在线a亚洲视频播放在线| 精品国产三级av韩国在线| 黄片qw| 日本丝袜人妻内射|