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

ARTICLE DETAIL

資訊詳情

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

JSP+Servlet+JDBC實戰(zhàn):大學生兼職家教網(wǎng)項目全解析與部署指南

JSP+Servlet+JDBC實戰(zhàn):大學生兼職家教網(wǎng)項目全解析與部署指南 簡介這是一份基于JSP技術(shù)的大學生兼職家教網(wǎng)站項目源碼包面向初學Java Web的開發(fā)者或需要完成課程設(shè)計的學生定位于展示從零搭建信息發(fā)布、查詢、申請與后臺管理平臺的完整流程。壓縮包共包含79個文件體積僅4.24MB主要由19個JSP頁面、22個class編譯文件、3個Java源文件、4個jar庫、gif/jpg圖像素材以及js/css等前端素材組成可快速導入IDE進行二次學習與部署。項目完整覆蓋JSP基本語法、Servlet控制器、MVC分層、JDBC數(shù)據(jù)庫操作、AJAX異步交互及Session會話保持等關(guān)鍵知識點并提供登錄注冊、家教信息管理等常見業(yè)務(wù)模塊有助于理解前后端數(shù)據(jù)流轉(zhuǎn)與數(shù)據(jù)庫表設(shè)計。目前已有140人學習下載適合用于畢業(yè)設(shè)計參考或Web開發(fā)初級項目實戰(zhàn)按包內(nèi)目錄即可梳理頁面、類與資源文件的對應(yīng)關(guān)系便于對照調(diào)試。總體而言這份源碼包結(jié)構(gòu)緊湊適合快速上手并深入體會Java Web項目的完整開發(fā)鏈路。1. 從信息登記表到管理后臺JSP-324 大學生兼職家教網(wǎng)能解決什么一到寒暑假高校附近的家教需求就成倍增長。JSP-324 大學生兼職家教網(wǎng)這類項目最初就是為了解決這種場景出現(xiàn)的某社團負責人手里的紙質(zhì)登記表沒幾天就攢成一沓想找初三數(shù)學一對一的家長、能帶小學英語的大二學生、談好的課時費和上課地點全擠在同一張表上改一處就亂三處。它把家教信息的發(fā)布、查詢、申請和狀態(tài)管理搬進了瀏覽器學生注冊后發(fā)布可授課科目家長發(fā)布需求雙方在系統(tǒng)里完成匹配并一路流轉(zhuǎn)到成交。整個項目按 JSP Servlet JDBC MySQL 的技術(shù)棧組織服務(wù)端用 JSP 動態(tài)輸出頁面用 Servlet 接收前端請求并把業(yè)務(wù)結(jié)果轉(zhuǎn)發(fā)回視圖數(shù)據(jù)庫操作走 JDBC 標準接口。涉及的模塊包括用戶注冊登錄、家教信息發(fā)布與多條件查詢、預約申請、接單與完成狀態(tài)管理。相比現(xiàn)在流行的前后端分離架構(gòu)這套玩法重一些、渲染在服務(wù)端完成但正因為這樣它把 Java Web 開發(fā)最核心的鏈路完整展現(xiàn)了一遍。適合誰剛學完 JSP 和 Servlet 語法、想用完整項目把知識點串起來的人在做課程設(shè)計選題、需要一套能跑通全流程參考代碼的人以及想快速了解 MVC 分層在實際項目里怎么落地的開發(fā)者。下面按從環(huán)境到運行、從功能到坑位的順序把它拆開講。2. 工程技術(shù)棧與部署環(huán)境MVC 三層分工與本地跑通的前提2.1 為什么是 JSP Servlet JDBC選型邏輯與適用邊界先回答一個很多人會問的問題都什么年代了為什么還要做一個 JSP 項目這個問題的答案藏在項目的業(yè)務(wù)形態(tài)里。大學生兼職家教網(wǎng)的核心操作是信息流的增刪改查——發(fā)布一條家教信息、瀏覽列表、提交申請、更新接單狀態(tài)。它的頁面數(shù)量不大、交互不復雜、并發(fā)量也不高用 JSP 在服務(wù)端直接渲染頁面反而比前后端分離少一層接口約定部署方式也簡單打一個 WAR 包丟進容器就能跑。從學習角度看JSP 項目迫使你在同一套代碼里同時處理視圖、控制、數(shù)據(jù)三個層次理解請求在瀏覽器與服務(wù)器之間怎么走。這個項目的分層方式很典型JSP 頁面只負責展示和收集參數(shù)Servlet 負責把請求轉(zhuǎn)給業(yè)務(wù)邏輯并決定跳轉(zhuǎn)到哪個頁面DAO 類負責數(shù)據(jù)庫讀寫中間的 service 包放業(yè)務(wù)規(guī)則。視圖層拿到的所有數(shù)據(jù)都來自控制器塞進 request 或 session 的屬性不直接訪問數(shù)據(jù)庫。適用邊界也要說清楚。如果業(yè)務(wù)再復雜一點比如加了實時聊天、復雜權(quán)限矩陣JSP 這套就會因為頁面與 Java 代碼耦合而變得難維護。它的優(yōu)勢區(qū)間是中小型信息管理類應(yīng)用。將來做畢業(yè)設(shè)計或者接小型外包項目這個技術(shù)組合依然夠用這也是我建議把項目跑通的原因——它的每個模塊都能遷移到其他管理系統(tǒng)中去。2.2 環(huán)境準備清單JDK、Tomcat、MySQL 的版本匹配在導入項目之前先把環(huán)境對齊。這個項目基于 JSP/Servlet 傳統(tǒng)架構(gòu)對版本的要求不算苛刻但版本差太多會出很隱蔽的問題。建議按下面這張表準備組件建議版本說明JDK8 或 118 最穩(wěn)11 也能跑注意 IDE 編譯級別要與之一致Tomcat8.5 / 9.x支持 Servlet 3.1/4.0匹配常見 JSP 版本MySQL5.7 或 8.05.7 配 connector 5.1.x8.0 必須換 8.x 驅(qū)動IDE任意支持 Java Web 的 IDE導入時選擇 Dynamic Web Project 結(jié)構(gòu)準備完成后先在命令行確認基礎(chǔ)環(huán)境正常java -version mysql --version看到版本號輸出后再確認 Tomcat 的 CATALINA_HOME 環(huán)境變量或者 IDE 里的 Server Runtime 配置。這里有一個常見坑IDE 里配置的 Tomcat 和命令行啟動的 Tomcat 不是同一個實例。如果你在 IDE 外手工把項目丟進 webapps 啟動過一次項目的編譯產(chǎn)物可能殘留在 work 目錄里后面在 IDE 里啟動會加載到過期內(nèi)容。所以我一般會讓 IDE 管理一個獨立的 Tomcat 運行時避免混用。2.3 數(shù)據(jù)庫初始化三張核心表與角色設(shè)計家教平臺的數(shù)據(jù)量不大但表之間的關(guān)系值得認真設(shè)計。項目里最基本的有三張表用戶表、家教信息表、申請記錄表。用下面的 SQL 初始化數(shù)據(jù)庫CREATE DATABASE IF NOT EXISTS tutor_db DEFAULT CHARACTER SET utf8mb4; CREATE TABLE sys_user ( user_id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL UNIQUE, password VARCHAR(100) NOT NULL, real_name VARCHAR(30), phone VARCHAR(20), role TINYINT DEFAULT 0 COMMENT 0-學生 1-家長, create_time DATETIME DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE job_info ( job_id INT PRIMARY KEY AUTO_INCREMENT, publisher_id INT NOT NULL, title VARCHAR(100) NOT NULL, subject VARCHAR(30) COMMENT 科目, grade VARCHAR(20) COMMENT 年級, teach_type TINYINT DEFAULT 0 COMMENT 0-線上 1-線下, price DECIMAL(6,2) COMMENT 課時費, address VARCHAR(200), detail TEXT, status TINYINT DEFAULT 0 COMMENT 0-待接單 1-已接單 2-已完成 3-已關(guān)閉, create_time DATETIME DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE apply_record ( apply_id INT PRIMARY KEY AUTO_INCREMENT, job_id INT NOT NULL, apply_user_id INT NOT NULL, message VARCHAR(200), status TINYINT DEFAULT 0 COMMENT 0-待處理 1-已同意 2-已拒絕, create_time DATETIME DEFAULT CURRENT_TIMESTAMP );注意幾個設(shè)計意圖。第一role 用整數(shù)而不是字符串避免數(shù)據(jù)庫里出現(xiàn)學生家長studentparent等多種寫法導致查詢條件對不上。第二status 采用從 0 開始的數(shù)字枚舉每個值在代碼里用常量或注釋明確對應(yīng)關(guān)系后面做狀態(tài)流轉(zhuǎn)時只需要比較數(shù)值不用解析字符串。第三字符字段都用 utf8mb4 而不是 utf8否則 emoji 或生僻姓名寫入時會報 Incorrect string value 錯誤。這三張表是項目跑起來的最小集合實際項目可能還會加管理員表但核心鏈路依賴的就是它們。2.4 導入項目后的目錄閱讀順序拿到項目壓縮包后解壓導入 IDE先不要急著點運行花十分鐘把目錄結(jié)構(gòu)讀一遍。典型目錄長這樣src/ ├── com/tutor/controller/ # Servlet 控制器 ├── com/tutor/service/ # 業(yè)務(wù)邏輯層 ├── com/tutor/dao/ # JDBC 數(shù)據(jù)訪問層 ├── com/tutor/entity/ # 實體類對應(yīng)數(shù)據(jù)表 └── com/tutor/util/ # 工具類DBUtil、MD5Util 等 WebContent/ ├── index.jsp # 入口頁/首頁 ├── page/ │ ├── login.jsp │ ├── register.jsp │ ├── release.jsp # 發(fā)布家教信息 │ └── list.jsp # 家教信息列表 └── WEB-INF/ ├── web.xml # Servlet 映射與過濾器注冊 └── lib/ # mysql 驅(qū)動等 JAR 包我推薦的閱讀順序是先看 WEB-INF/web.xml它告訴你請求路徑與 Servlet 的對應(yīng)關(guān)系是整個應(yīng)用的路由表再看 util/DBUtil.java了解數(shù)據(jù)庫連接怎么建立和關(guān)閉然后挑一個完整鏈路看比如從 list.jsp 往下追到對應(yīng) Servlet 再到 DAO。順著 controller → service → dao 的順序追代碼比從首頁 F5 開始點速度快得多原因是視圖層 JSP 語法對新手干擾大而控制層和數(shù)據(jù)層更接近純 Java邏輯更清楚。提示這個項目解壓后如果打算用 Git 管理記得把 .settings、build、target 這類 IDE 與編譯產(chǎn)物目錄加進 .gitignore否則倉庫會被無意義文件撐大隊友拉下來還容易因為本地配置不同產(chǎn)生一堆沖突。3. 家教信息發(fā)布與管理從表單到數(shù)據(jù)庫的閉環(huán)實現(xiàn)3.1 發(fā)布表單JSP 頁面的字段設(shè)計與參數(shù)對應(yīng)關(guān)系家教信息發(fā)布頁面是項目的核心入口。它的職責只有一個把用戶在瀏覽器里填寫的表單數(shù)據(jù)收集起來交給后端 Servlet 處理。先看頁面片段form action${pageContext.request.contextPath}/job methodpost input typehidden nameaction valuerelease/ label標題/label input typetext nametitle required maxlength100/ label科目/label select namesubject option value數(shù)學數(shù)學/option option value英語英語/option option value物理物理/option /select label年級/label input typetext namegrade placeholder如初三/ label課時費元/小時/label input typenumber nameprice min0 step0.01/ label授課方式/label input typeradio nameteachType value0 checked/線上 input typeradio nameteachType value1/線下 label詳細描述/label textarea namedetail rows5/textarea button typesubmit發(fā)布/button /form表單里每個控件的 name 屬性就是后端 Servlet 用 getParameter 取參數(shù)時的鍵名前后端必須嚴格一致這是最常見也最難排查的 bug 來源之一。action 用 ${pageContext.request.contextPath}/job 而不是寫死路徑是因為項目部署時上下文路徑可能變化寫死會導致 404。隱藏字段 actionrelease 是讓同一個 Servlet 處理多種操作時的分發(fā)標記——發(fā)布、修改、刪除都走 /job 這個 URL靠 action 區(qū)分。3.2 實體類與 DAO 層PreparedStatement 的參數(shù)化寫法后端的第一個落點是實體類和 DAO。實體類 JobInfo 的字段與 job_info 表一一對應(yīng)這里不再貼全部 getter/setter重點看 DAO 的插入方法public int insert(JobInfo job) throws SQLException { String sql INSERT INTO job_info (publisher_id, title, subject, grade, teach_type, price, detail) VALUES (?, ?, ?, ?, ?, ?, ?); try (Connection conn DBUtil.getConnection(); PreparedStatement ps conn.prepareStatement(sql)) { ps.setInt(1, job.getPublisherId()); ps.setString(2, job.getTitle()); ps.setString(3, job.getSubject()); ps.setString(4, job.getGrade()); ps.setInt(5, job.getTeachType()); ps.setBigDecimal(6, job.getPrice()); ps.setString(7, job.getDetail()); return ps.executeUpdate(); } }這里用 PreparedStatement 而不是 Statement是 JDBC 編程里一條不能破的規(guī)矩。第一參數(shù)通過 ? 占位符傳遞數(shù)據(jù)庫驅(qū)動會把它們當作純數(shù)據(jù)而不是 SQL 片段從源頭堵住 SQL 注入第二PreparedStatement 有預編譯緩存同一條 SQL 執(zhí)行多次時性能更好。代碼里的 try-with-resources 是 Java 7 引入的寫法Connection、PreparedStatement 實現(xiàn)了 AutoCloseable會在 try 塊結(jié)束后自動關(guān)閉不必再手寫 finally 里的一堆 close()。參數(shù)類型需要注意price 在 MySQL 里是 DECIMAL(6,2)在 Java 側(cè)對應(yīng) BigDecimal用 setBigDecimal 傳入而不是 setDouble否則小數(shù)精度可能出問題teach_type 是 TINYINT對應(yīng) setInt。如果某個 DAO 方法里看到 setString 傳整數(shù)那多半會觸發(fā)隱式轉(zhuǎn)換MySQL 能接收但存在隱患。3.3 Servlet 控制器接收參數(shù)、設(shè)置編碼、決定跳轉(zhuǎn)Servlet 是 MVC 里的 C 層負責把請求參數(shù)整理成實體類調(diào)用 service/DAO最后決定返回哪個視圖??春诵奶幚磉壿媝rotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding(UTF-8); String action request.getParameter(action); if (release.equals(action)) { JobInfo job new JobInfo(); job.setPublisherId((Integer) request.getSession() .getAttribute(userId)); job.setTitle(request.getParameter(title)); job.setSubject(request.getParameter(subject)); job.setGrade(request.getParameter(grade)); job.setTeachType(Integer.parseInt(request.getParameter(teachType))); job.setPrice(new BigDecimal(request.getParameter(price))); boolean ok jobService.addJob(job); if (ok) { response.sendRedirect(request.getContextPath() /job?actionlist); } else { request.setAttribute(error, 發(fā)布失敗); request.getRequestDispatcher(/page/release.jsp) .forward(request, response); } } }第一行 setCharacterEncoding(UTF-8) 必須放在讀取任何參數(shù)之前因為 POST 請求體的解碼在第一次 getParameter 時已完成之后再設(shè)置就無效了。userId 從 session 取而不是信任前端傳值這是防止越權(quán)的關(guān)鍵設(shè)計——發(fā)布者身份必須由服務(wù)端會話決定。成功后用 sendRedirect 走一次新的 GET 請求到列表頁符合POST 后重定向的習慣避免刷新頁面時重復提交失敗則用 forward 回到發(fā)布頁并攜帶 error 信息此時瀏覽器地址欄不變用戶可以馬上修改重試。注意sendRedirect 會丟 request 里的屬性所以錯誤提示必須換成 session 或者在重定向 URL 后面帶參數(shù)而 forward 保留 request 作用域適合表單校驗失敗回顯的場景。兩者別混用。3.4 列表查詢與分頁條件組合和 LIMIT 偏移量家教信息列表需要支持按科目、年級和授課方式篩選同時做分頁。查詢 SQL 是動態(tài)拼裝的但拼的是條件骨架值仍然用占位符StringBuilder sql new StringBuilder( SELECT * FROM job_info WHERE status 0 ); if (subject ! null !subject.isEmpty()) { sql.append(AND subject ? ); } if (grade ! null !grade.isEmpty()) { sql.append(AND grade LIKE ? ); } sql.append(ORDER BY create_time DESC LIMIT ?, ?);對應(yīng)參數(shù)設(shè)置要注意順序先設(shè)置前面條件里的 subject、grade最后再設(shè)置 LIMIT 的兩個參數(shù)。LIMIT 第一個參數(shù)是偏移量 offset第二個是每頁條數(shù) pageSize計算公式是 offset (pageNum - 1) * pageSize。比如每頁 10 條第三頁的 offset 就是 20。很多人在這個計算上翻車把 pageNum 直接當 offset 傳進去結(jié)果第二頁開始數(shù)據(jù)錯位。分頁還要向前端返回總頁數(shù)一般先 COUNT(*) 查總記錄數(shù)再除以 pageSize 向上取整。這個 COUNT 查詢和列表查詢條件必須完全一致否則會出現(xiàn)列表顯示 3 頁但分頁條只有 2 頁的尷尬。我一般會把條件拼裝抽成一個公共方法兩個查詢共用從根上避免條件不一致。4. 登錄認證與申請流程Session 管理與狀態(tài)機的實現(xiàn)4.1 登錄成功后的會話設(shè)計服務(wù)端存什么、過期時間設(shè)多少登錄是整個應(yīng)用的身份基礎(chǔ)。用戶提交用戶名和密碼后Servlet 用用戶名查庫、比對密碼成功后把用戶標識存進 Session而不是把整個用戶對象隨便亂放。推薦的做法是只存 userId、realName、role 三個字段夠用且減少 session 體積。代碼示意public User login(String username, String password) { // 先按用戶名查用戶再比對密碼 User user userDao.findByUsername(username); if (user ! null user.getPassword().equals(MD5Util.md5(password))) { return user; } return null; }登錄成功后控制器里這樣存會話HttpSession session request.getSession(); session.setAttribute(userId, user.getUserId()); session.setAttribute(realName, user.getRealName()); session.setAttribute(role, user.getRole()); session.setMaxInactiveInterval(30 * 60);setMaxInactiveInterval(30 * 60) 把會話閑置超時設(shè)為 30 分鐘單位是秒超過這個時間用戶再操作就要重新登錄。這個值需要根據(jù)使用場景調(diào)整——家教平臺的用戶不會一直盯著頁面20~30 分鐘是合理區(qū)間設(shè)太短會被頻繁踢下線設(shè)太長又有會話被劫持的風險。這里還要理解 Session 和 Cookie 的關(guān)系Session 數(shù)據(jù)在服務(wù)端瀏覽器端只保存一個 JSESSIONID 的 CookieCookie 失效或清除后服務(wù)端就找不到對應(yīng)的用戶數(shù)據(jù)。所以 Session 里存狀態(tài)Cookie 只是拿鑰匙鑰匙丟了狀態(tài)就找不回來。4.2 登錄過濾器統(tǒng)一攔截未登錄請求與靜態(tài)資源放行頁面一多如果每個 Servlet 都手動判斷 session 是否有效代碼會非常啰嗦而且容易漏。項目里正確的做法是寫一個 Filter在 web.xml 里注冊為 /*對所有請求先做身份檢查。核心邏輯public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletRequest request (HttpServletRequest) req; HttpServletResponse response (HttpServletResponse) resp; HttpSession session request.getSession(false); String uri request.getRequestURI(); if (uri.endsWith(.css) || uri.endsWith(.js) || uri.endsWith(.png) || uri.contains(/page/login.jsp)) { chain.doFilter(req, resp); return; } if (session ! null session.getAttribute(userId) ! null) { chain.doFilter(req, resp); } else { response.sendRedirect(request.getContextPath() /page/login.jsp); } }注意兩點。第一request.getSession(false) 傳 false 表示不新建 Session——如果用戶本來沒有會話這里會返回 null而不是自動創(chuàng)建一個空的避免每個未登錄請求都白白產(chǎn)生 Session 對象。第二靜態(tài)資源和登錄頁本身必須放行否則會出現(xiàn)登錄頁加載不出 CSS、jQuery 全被攔的問題。放行規(guī)則用 URI 后綴判斷比較直觀也可以用前綴匹配如 /static/、/assets/。如果項目里用了驗證碼圖片同樣要放進放行清單。4.3 申請接單的狀態(tài)流轉(zhuǎn)四個狀態(tài)的權(quán)限邊界家教信息發(fā)布之后核心業(yè)務(wù)就是申請與接單。一個家教訂單在系統(tǒng)里經(jīng)歷的狀態(tài)序列如下狀態(tài)值狀態(tài)名觸發(fā)動作誰可以操作0待接單發(fā)布成功學生申請1已接單家長同意申請家長2已完成雙方確認學生/家長3已關(guān)閉發(fā)布者撤銷發(fā)布者狀態(tài)機的實現(xiàn)并不復雜關(guān)鍵在于每個狀態(tài)變更操作開始時都要校驗當前狀態(tài)和操作者身份。以家長同意申請為例Servlet 里需要先查出 job 的 publisher_id跟 session 里的 userId 比較不一致直接拒絕再檢查 job.status 必須是 0否則提示該家教信息已接單。這兩步校驗缺一不可只校驗狀態(tài)不校驗身份就會出現(xiàn) A 用戶能操作 B 用戶信息的越權(quán)漏洞。對應(yīng)的一條更新 SQL 涉及兩張表UPDATE apply_record SET status 1 WHERE apply_id ? AND status 0; UPDATE job_info SET status 1 WHERE job_id ? AND status 0;這兩條 UPDATE 都帶有 status 0 的條件既是狀態(tài)校驗也起到樂觀鎖的作用如果記錄已經(jīng)被別人改過執(zhí)行影響行數(shù)為 0程序就能感知到并發(fā)沖突并提示用戶而不是盲目覆蓋。4.4 密碼存儲MD5 加鹽與防拖庫思路用戶表里的 password 字段不能存明文這是 Java Web 項目的底線。項目里一般會用 MD5 做摘要但裸 MD5 對彩虹表幾乎沒抵抗力所以必須加鹽。思路是生成一個隨機鹽值拼到密碼后面再算摘要鹽值隨用戶記錄一起存儲。實現(xiàn)通常收斂在一個工具類里public static String md5WithSalt(String rawPassword, String salt) { String input rawPassword salt; return md5(input); }注冊時生成鹽值String salt UUID.randomUUID().toString().substring(0, 8); 登錄時從庫里取出該用戶的鹽值重新拼接計算再比對。這樣即使數(shù)據(jù)庫泄露攻擊者拿到的也是加鹽摘要想反推原文需要為每個用戶單獨跑字典成本高很多。MD5 在這個項目階段夠用如果做生產(chǎn)系統(tǒng)建議直接換 BCrypt算法自帶隨機鹽而且計算慢更抗暴力破解。5. 部署與運行避坑最常見五個異常及排查路徑這個項目從導入到跑通最容易踩的坑集中在五組問題里。每條按現(xiàn)象、原因、解決三個步驟寫照著排查能省下大量時間。5.1 Tomcat 啟動失敗8080 端口被占用現(xiàn)象啟動 Tomcat 時控制臺報 Port 8080 required by Tomcat v9.0 Server at localhost is already in use服務(wù)起不來或者起來后訪問不到頁面。原因本機有其他程序占用了 8080。最常見的是之前手工啟動的 Tomcat 實例沒關(guān)干凈或者其他開發(fā)工具的調(diào)試端口恰好落在 8080。解決先查占用進程Windows 用 netstat -ano | findstr 8080看到 PID 后在任務(wù)管理器里結(jié)束對應(yīng)進程或者直接改端口在 conf/server.xml 里把 Connector 的 port 改成 8081同時注意項目里所有 contextPath 相關(guān)路徑不受影響因為改的是服務(wù)器監(jiān)聽端口而不是上下文路徑。改完端口別忘了 IDE 里的 server 配置也要同步更新。5.2 啟動即 ClassNotFoundExceptionMySQL 驅(qū)動缺失或版本不匹配現(xiàn)象訪問任意需要操作數(shù)據(jù)庫的頁面拋 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver或者啟動時就報驅(qū)動類加載失敗。原因mysql-connector-java 的 JAR 沒有放進 WEB-INF/lib。很多人把驅(qū)動 JAR 加到了 IDE 的 Classpath 里但部署時 IDE 沒有把它打包進 WEB-INF/libTomcat 運行時自然找不到。驅(qū)動版本不匹配導致的啟動翻車十次里有八次是這類原因。解決把 mysql-connector-java-x.x.x.jar 直接復制到 WebContent/WEB-INF/lib 目錄下然后右鍵項目刷新確認構(gòu)建路徑里能看到它。另外注意驅(qū)動類名變了MySQL 8.x 驅(qū)動是 com.mysql.cj.jdbc.Driver老代碼里寫 com.mysql.jdbc.Driver 會報錯需要同步改掉。5.3 數(shù)據(jù)庫中文亂碼連接 URL 和頁面編碼不一致現(xiàn)象從數(shù)據(jù)庫查出來的中文顯示為問號或者往庫里寫中文后讀出來是亂碼。原因問題往往不是單點而是鏈路里多個環(huán)節(jié)的編碼不一致。常見組合是連接 URL 少了 characterEncoding 參數(shù)而數(shù)據(jù)庫、表、JSP 頁面各自用了不同編碼。解決在 JDBC URL 上顯式聲明編碼URL 形如 jdbc:mysql://localhost:3306/tutor_db?useUnicodetruecharacterEncodingUTF-8serverTimezoneAsia/Shanghai。同時把建庫語句的 DEFAULT CHARACTER SET utf8mb4 手動執(zhí)行一次確認表也是 utf8mb4。JSP 頁面頂部加上 % page contentTypetext/html;charsetUTF-8 pageEncodingUTF-8 %三處對齊后亂碼基本絕跡。注意MySQL 8.x 不加 serverTimezone 會直接報時區(qū)錯誤這個參數(shù)不是可選項連接 URL 里必須帶上。5.4 修改 JSP 后頁面不更新Tomcat 工作目錄緩存舊編譯結(jié)果現(xiàn)象改了 JSP 里的標題或樣式刷新瀏覽器還是舊頁面清瀏覽器緩存也沒用。原因JSP 第一次被訪問時 Tomcat 會把它編譯成 Servlet class 存到 work 目錄之后每次請求默認先檢查 JSP 文件是否有改動。但在 IDE 的增量部署場景下有時候文件時間戳沒有變化或者修改發(fā)生在 IDE 外部Tomcat 沒感知到更新一直用緩存里的舊 class。解決先停掉 Tomcat找到 Tomcat 安裝目錄下的 work/Catalina 目錄或者 IDE 里配置的 catalina.base 對應(yīng) work 目錄整體刪除再重新啟動也可以在 IDE 的 Server 面板里右鍵 Clean。從那以后我只要改了 JSP 或 web.xml都會順手 Clean 一次再啟動二十秒的事但能省掉改了沒反應(yīng)的半小時排查。5.5 登錄頁樣式全丟過濾器把 CSS/JS 誤傷現(xiàn)象進入 login.jsp 頁面HTML 結(jié)構(gòu)正常但所有樣式和腳本都沒生效F12 看到 .css 請求返回 302 跳轉(zhuǎn)到了登錄頁。原因過濾器注冊為 /* 對所有請求做登錄校驗靜態(tài)資源路徑也被攔截未登錄狀態(tài)下 CSS/JS 請求被重定向走頁面自然裸奔。解決在過濾器里放行靜態(tài)資源前面 4.2 的代碼已經(jīng)寫了按后綴放行的方式更規(guī)范的做法是把靜態(tài)資源統(tǒng)一放在 /static、/assets 目錄下過濾器按路徑前綴放行。還要注意一個隱藏點放行條件里如果用了 contains(/page/login.jsp)那么登錄頁里的 CSS 是放行了但 CSS 本身請求的 URL 是 /css/style.css必須同時有后綴判斷否則依然拿不到。6. 上線前的最后兩步SQL 審計與操作日志6.1 全面檢查 SQL 拼裝點在項目收尾演示之前我會全局搜索所有 DAO 類里是否還有 Statement 或字符串拼接 SQL 的地方。搜索特征是 String sql SELECT ... 變量只要出現(xiàn)一律改成 PreparedStatement 的參數(shù)化寫法。判斷標準很簡單任何來自 request.getParameter 的值都不允許直接拼進 SQL。用 IDE 的全局搜索把范圍限定在 dao 包和 service 包逐條過一遍這個動作花不了十分鐘但能堵住最危險的注入口。6.2 給關(guān)鍵操作補一行日志發(fā)布信息、申請接單、修改狀態(tài)這三類操作是業(yè)務(wù)里最容易出糾紛的地方。我會在 Servlet 處理完成后加一行日志輸出記錄操作人、操作對象和結(jié)果。用最樸素的 java.util.logging 或者 Log4j 都行關(guān)鍵是日志里要有 userId、jobId 和操作類型格式類似 release|user12|job78|success。這樣演示或者測試時一旦出問題可以直接從日志里還原操作鏈路不需要再去數(shù)據(jù)庫里猜是誰改的數(shù)據(jù)。最后說一個自己的習慣每次部署前我都會拿兩個瀏覽器賬號把完整流程走一遍——學生賬號注冊、發(fā)布家教信息、退出家長賬號登錄、搜索到目標信息、提交申請切回學生賬號同意申請狀態(tài)從待接單變成已接單。這個流程能跑通項目就達到了可驗收的狀態(tài)。JSESSIONID 跨瀏覽器互不影響這點正好是 Session 機制可靠性的實際驗證。希望這組拆解能幫你在導入這個項目時少走幾步彎路順利把它跑起來。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
97超碰天天| 午夜.DJ高清在线观看免费7 | 国产男人又猛又粗又爽| 欧美亚洲天天| 欧美最婬乱婬爆婬性视频 | 欧美,日韩,亚洲视频| 99精品在线| 欧美 亚洲 综合 制服| 岛国免费视频在线| 大香蕉狠狠爱| 美国三级日本三级久久99| 国产亚洲福利第一页丝袜| 久久神马影院| 高清不卡国产| 嗯嗯啊在线视频| 一级二级三级黑人无码| 99性视频| www.yeyecao| 欲色综合| 日产成人久久| 青苹果影院男人的天堂| 丝袜夫妻自拍| 亚洲日韩精品在线播放| 天天色黄色影院天天操| 极品白嫩美少妇在地板上位骑射淫水泛滥| 五月开心久久AV官网| 日韩一级二级| 久青草影院| 一区二区三区 日韩欧美| 成人精品久久久午夜福利| 亚洲欧美综合网 | 欧美日韩国产三级黄色| 欧美 亚洲 在线| 久久久久久久六六| 屌妞视频久久久久久久久久久久| 国语人妻精彩刺激| 黄污污污污| 强免费黄色网址| 国产精品成人无码a v毛片| 曰韩中文人妻视频| 男人天堂2017| 神马久久午夜| 狠狠婷婷亚洲中文综合久久| 天天伊人| 天美传媒AV在线播放| 老熟妇一区二区三区| 亚洲九九爱| 伊人久久久日韩一区| 亚洲中文制服诱惑| 旡码电影特区| 人妻熟女午夜精品在线| 99热综合| 刺激性视频黄页| 九一屌逼| 亚洲日产专区婷婷| 是还免费视频1727我| 日韩传媒在线| 91久久久久久久| 男人精品天堂一区| 一区超碰一区| 91高清欧美| 啊啊啊啊啊舒服| 丰满少妇精品一区二区| 熟妇女伦乱视频| 日本韩国五十路六十路七十路老熟女作爱视频网站| 五十路熟女人妻一区二区在线观看 | 99久久综合| 久热精品色情| 久草热制服丝袜在线观看| 色综合99999| 天天操人人操骚逼网站| 欧美少妇高潮| 玖玖爱在线视频免费观看| 欧美人与动性人交a| 久久久一区二区三区三州| 在线A日本| 少妇一区二区三区精选| 国产综合网站在线播放 | 亚码激情| 91丝袜熟女| 亚洲校园激情| 99人妻碰碰碰久久久久禁片| 国产成人精品无码久久| 色色色999| 亚洲日韩AV视色| 精产国品一区二三产品| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 国产综合网站在线播放 | 大干人妻| 操一操摸一摸| 国产日韩区| 搡老熟女老女人老熟妇免费视频| 欧美第38页| 91青青在线视频| 中文字幕精品亚洲熟女| 国产精品电影大全| 顶级丝袜熟女一区二区三区| 亚洲综合有玛| 好涩综合| 国产 无码 一区二区| 欧美日韩情色一区二区| 婷婷丁香人妻 | 黄片aaaaa一区| 人人喜人人妻| 国产精品久久久久久久久久久久久久| 欧美人人曰人人操人人射射 | 麻豆国产成人精品| 亚洲色图欧美色图另类图片| 欧亚性爱在线视频| 日韩AV中文字幕电影| 影音资源男人日韩| 无码 黑人一区二区三区| 亚洲国产无码精品首页久久久| 伊人久久青青草| 日本ZZ高免费A级视频| 男人的天堂 在线一区| 粉嫩av在线一区二区| 超碰 另类 欧美 | 激情小说图片亚洲首页| 亚洲欧美精品一区天堂久久 | 国产一级αv免费看片| 午夜性| 亚洲91综合| 国产精品不卡高清在线观看| 国产亚洲在线| 国产精品69久久久久久久| 2018天天日天天日| 蜜桃色院一区久久| 日本熟女不卡视频| 国产精品天干天干综合网麻豆 | 久久精品色欧美aⅴ一区二区| 久久超碰大香蕉| 天天日天天干少妇日| www.色操逼| 99最新日韩偷拍视频| 亚洲精品第一| 国产精品高朝久久久久久久| 综合久久六月久久婷婷| 国产97在线 | 亚洲| 五月丁香在线| 爱爱动态60秒| 婷婷情色五月天| 日韩美女啪啪一区| 亚洲综合大片| 免费av大片| 欧洲站一级二级三级h| 欧美性爱日韩性爱| 少妇的嫩逼图片| 久久久九九网站| 日本一卡二区在线| 97色五月天完| 亚洲欧综合另类无码一区| 性性欧美| 美中日韩无码| 青青草华人在线欧美在线| 多乙久久久久久| 爱丝福利| 久久久久久大| 人妻系列无码专区中文有码| 九九九久久久W精品| 99在线免费视频| 久久精品国产精品一区| 麻豆精品天美| www.狠狠操| 97在线视频观看| 熟女天天干| 国产精品成人蜜臀AV在线| 国产精品久久久久9999小说| 四虎国产成人精品免费一女五男| 91足交| 狠狠超| 使劲用力艹少妇视频一区二区| 黄色网址在线免费观看| 97免费在线观看| 中文字幕日产av人| 欧美日韩操逼嗦吊| 国产精品视频自拍在线| 天天色图| 美女91AV| 久久久久久9999| 夜夜嗨一区二区三区直播内容| 日韩9999| 91大学精品激情戏| 久久久精品电影| 中文字幕女同在线| 欧美日日夜夜| 熟女六十路| 国产兽交视频在线播放| 欧美在线综合| 亚洲激情色片| 肉丝网站91| 婷婷中文网| 日日夜夜精品视频| 国产美女自拍视频| 少妇激情AV| 色盈盈影院| 久久五月视频| 乱伦一区二区三区‘| 香港久久久| 天天综合网AV91| 欧美超碰9798| 五月丁香激情综合网| 17c在线成人免费A片观看| 玖玖综合网| 亚洲清纯唯美| 精品国产72| 亚洲 综合 欧美| 国产呦精品一区二区三区下载| 国产精品人妻无码久久久互動交流 | 中文字幕AV乱伦| 欧美成人贴图| 白 大 人妻 区 在线| www.狠狠| 中国国国产一级特黄毛片| 老司机深夜18禁污污网站| 久久九九97| 欧美色图私拍91| 大地资源在线观看中文第二页| 91丨豆花丨熟女| 大香蕉免费3| 欧美色999| 91欧美色| 熟女熟妇一区二区三四区| 欧美久久人妻少妇一区二区| 青青草色情网站视频| 人人澡人人爽人人精品| 亚洲一二三精品久久网| 97亚洲性爱| 麻豆天美电影一区二区| 中文伊人大香蕉视频| 伊人丁香五月婷婷| 大香蕉免费3| 人人做天天爱| 强奸乱伦大香蕉| 激情无码日韩| 女人午夜视频777| 国产男人又猛又粗又爽| 这里只有精品久久| 亚洲 91 在线| 天天综合网在线| 婷婷另类小说| 国产天天骚| 91殴美大片| 99抽插| 中文字幕在线播放2中文字幕在线观看2| 六十路日本| 在线观看黄色电话| 中文乱码99| av一区二区三区四区五区久草臀| 欧美色色人| 加勒比色综合| 国语少妇精| 无码天堂| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 亚洲欧美97√| 精品无码一区二区三区| 国产午夜福利专区综合| 操逼操网| 打av高清| 啊啊啊啊好多水| 免费精品无码一级毛片牛牛影视 | 成人一级性爱| 亚洲成人一区二区精品| 开心五月深爱五月| 人妻社区男人天堂| 精品日日人妻| 黄片免费日韩| 久草福利在线资源站| 大胆91| 日韩午夜国产| 亚洲在线| 超碰在线成人| 成人在线午夜视频一区| 日本道不卡| 男人a天堂手机在线版| 五月丁香啪啪| 日韩天天本| 九九九九九九九九九国产精品| 中文字幕一区二区日韩网| 99久久婷婷| 亚洲色资源| 诱惑网综合| 欧美伊人久久综合网| 天天操天天插| 大干人妻| 乳欲人妻办公室奶水| 久久麻豆一区二区| 97操97干| 操逼逼中文字幕| 精品超碰中文在线| 精品人妻少妇| 国产一区二区在线电影| 蜜臀久久99精品| 97超碰色色| 玖玖爱免费观看视频| 99色视频| 国产后入| 日本人体九九九九九九| 97在线免费观看| 啪啪一区| 日韩精品午夜操呦呦不卡影院| 国产一级137片内射麻豆| www.av在线观看| 九七毛片九九毛片| 嗯啊抽插大香蕉网页| 色好看av| 国产无马在线| 啊啊啊啊啊啊啊好爽不要| 超碰91在线| 成功精品影院| 手机在线大香蕉| 志村玲子视频一区二区| 国产精品扒开腿做爽爽爽视频| 国产 亚洲 丝袜 制服| 成人AV素股で擦久久| 国产精品久久久久婷婷二区次| 国产精品99久久久www| 日韩一级二级三级免费看完整版国语版| 51国产午夜精品视频| 91蜜臀在线久久久久| 91成人18| 国产青青美女玩逼视频| 黄色网址在线免费观看| 97一区二区三区视频| 国模91| 欧美黄色大香蕉一区二区| 黄站在线免费观看| 大香蕉碰| 国产超碰AV在线精品| 色婷婷综合久久久久中文一区二区| 亚洲在线网站| 亚洲综合情色| 亚洲激情av| 国产精品夜夜| 亚洲人在线| 亚洲欧洲自拍| 日日干夜夜欢| 99色热| 日韩日本欧美在线观看| 亚洲色香| www.激情| 日韩国产欧美伦理在线| 久久久亚洲精品中文字幕人妻| 天综合网| 伊人影院综合是一个与深夜成人在线| 国际精品久久久| 国产精品成人无码av无码免费| 久久女女| 嫩草影院永久在线制服丝袜| 9久热| 夜夜操美女| 另类老少妇| 91亚洲黑人| 日韩操逼HD| 97久久综合网| 大香蕉综合久久| 天天天天操| 日本人妻最新在线中| 人妻激情在线视频| 久久夜夜夜夜| 夜夜一区二区| 黄色av一区二区在线| 国产女同在线观看视频| 中日韩久久久免费看| 麻豆乱码久久精| 日本99久久| 高清无码在线播放网站| 亚洲毛片基地专区| 啊啊在线| 亚洲综合性网址| 色哟哟的毛片| 色吧综合网| 加勒比综合88| 亚洲少妇自拍中文字幕懂色| 精品久久九| 久久久久久久久久久人妻| 操屄不卡视频| 色色色色网站| 欧美日韩国产三级黄色| 26uuu久久| 好爽视频在线观看| 亚洲玖玖爱| 综合色拍| 91人人看| 天天综合网~69| 最好看的中文字幕在线2018| 综合伊人网12色| 青青操国产夫妻| 97视频在| 人人色人人射人人妻| 色色亚洲| 色吧综合网| 偷窥自拍亚洲天堂网爆| 日本在线播放不卡一区| 国产精品久久久久中文字幕| 日本色色色视频| 成人三一级一片aaa| 99这里只有精品国产| 抽插亚洲无码| 人人操人人肉久久精品| 精品传媒在线一区| 九七色图| 精品国产一区探花在线观看| 中文字幕第9页萱萱影音先锋| 91精品91久久久中77777| 97伊人超碰| 亚洲a色| 欧美 亚洲 在线| 综合 亚洲 欧美| 五月天亚洲网| 少妇久久| 性爱Av免费| 粉嫩粉嫩一区性色AV片| 996热| 美女自卫慰黄网站免费| 性欧美另类高清| 91暧暧| 又摸又舔在线观看网站| 丰满丝袜少妇AV| 五月天亚洲网| 欧成人精品H无码| 欧洲综合色| 老熟妇乱轮| 精品国模无码| 色青青久久影视| 防屏蔽在线视频| 九九色婷婷| 91N欧美| 国产成人天堂| 亚洲丝袜少妇在线| 午夜超爽| 婷婷五月影院| 91 国产丝袜在线放观看| 大香蕉色网| 久久久草草精品| 91亚洲人| 深夜国产一区二区三区在线看| 日本成人A片网站| 国产无套粉嫩白浆在| 欧美亚洲激情小说| 日韩八十路老熟女| 欧美色网| 亚洲精品日韩国产欧美| 日韩中文字幕熟妇人妻| 嫩草91| 97亚洲综合在线| 久久精品国产亚洲妲己影视| 五月天婷婷综合网| 免费黄色片子| 中国熟女91| 国产偷人伦激情在线观看| 无码聚合| 蜜桃精品视频一区| 啊啊啊久久| 热99这里只有精品| 亚洲激情色片| 久久无码一区二区二三区性色| 日韩一级免费性爱| 97免费在线视频在线观看| 超碰97导航| 日本性爱视频一级| 久久久草成人网站久久久草成人久久久草久久久 | 99re视频这里只有精品| 少妇高潮对白在线观看| 九九热超碰97亚洲最新香蕉 | 最新岛国大片| 久久人妻丝袜一区二区三| 国产成人精品午夜福利| 高潮毛片无遮挡高清免费| 一区二区三区在线资源| 青青久日| 亚洲最新a在线观看| 欧美一区二区三区大综合| 九九热三级片| 熟女性视频| 国产在线激情| 久操精品网| 美女啊啊啊啊pc| 亚洲风情在线观看| 五月天久久久| 亚洲综合网91| 久久性爱精品一区| 秋霞一区二区三区四区五区六区七区| 翔田千里无码一区| 天堂伊人久久| 中文字幕精品一区欧美| 亚洲精品蜜桃久久久久久久| 天天躁日日躁成人字幕aⅴ| 亚洲中文制服诱惑| 欧美一二三级精品在线| 神马午夜久久久| 日韩中文字幕国产| 嗯嗯啊啊亚欧精品| av在线播放国产一区| 人人摸人人干| 无码高清少妇久久| 国产十八禁视频| 日操粉逼逼| 艳尻美人妻| 欧美色视频在线| 久久妇| 强奸乱亚洲| 成人性交午夜免费片| 天天综合色| 丁香九月婷婷| 吻戏激情性巴克| 在线视频亚洲无码| 久久伊人青青草| 粉嫩av在线一区二区| 亚洲九九视频| 中文字幕精品丝袜| 青娱乐久久艹| 欧美性爽xyxOOOO| 久久精品老司| 人妻激情偷乱视三区频一区二区| 色97干| 青青草丝袜在线视频| 嗯嗯不要 视频| 欧美美女自慰一区二区三区| 日本无码1| 欧美97免费| 蜜伊人色综合97| 成人网站 免费观看| 后入式视频国产自| 青青草日本无码| 国产日韩久久| 少妇色综合| 嗯嗯嗯好爽| 成人免费看吃奶视频网站| 婷婷探花久久精品一区| 太久视频| 男人的天堂va| 大干人妻| 99操| 日韩成人色图| www.丁香五月| 中文字幕一区二区在线日韩精品| 97天堂| 精品九九淫乱男| 精品久久久久,69国产成人精| 天天操天天干一区二区 | 日日爽熟女| 天天操av懂色| 色婷五月| 人人妻人人狠人人| 国内偷自视频区视频综合 | 91在线精品一区二区三区| 国产精品一区在线播放| 丝袜亚洲91| 狠狠色噜噜狠狠狠狠狠色综合久久| 蜜臀99久久精品久久久懂爱| 91精品婷婷国产综合久久| 你草精品在线视频| 东北女人av| 天天插天天射| 中文字幕在线日亚洲9| 精品午夜福利国产一区二区在线观看| 亚欧高清| 欧美成年人性爱视频免费观看| 91激情网| 久久久久78| 午夜性| 成人性爱美曰韩| 日韩操啪| 啪啪性爱免费视频| 97综合网| 婷婷久久五月综合激情| 韩国一级做a久久久久| 中文字幕视频在线观看| 久久黄人人爽视频| 久操免费观看| 亚洲欧美首页| 国产精品视频内谢女人| 精品黄色电影| 久久久久久网址| 色综合加勒比| 中文字幕第9页萱萱影音先锋| 青青色在线观看| 国产深夜福利| 92性色国产午夜福利在线661| 色色毛片| 性暴力欧美猛交在线直播| 亚洲国产综合图区中文字幕| 操国产逼| 高潮的A片激情扒开一区| 正在播放国产精品一区| 强奸乱伦大香蕉| 强奸乱伦av电影| 91精品丝袜在线观看| 五月丁香啪啪网| 天天干天天干天天干| 图片区小说区| 五月天开心网| 国产人伦精品一区二区三区 | 超碰在线综合97| 中文字幕免费在线观看| 日本男人天堂| AV乱伦专区| 国产操操日韩三级黄| 天天干天天操天天干天天操| 综合婷婷| 亚洲精品天天影视综合网 | 99热国产| 五月婷婷无码| 51一区二区三区| 狠狠干综合| 欧美大香蕉97| 天堂伊人久久| 亚州欧美综合| 操碰97| 国产精品国产精品国产| 国产精品视频自拍在线| 中文字幕久热视频在线| 欧洲成人性爱视频| 先锋精品av色鲁| 精品久一区免费| 久久久成人免费av电影| 国产偷拍网站| 日产欧美电影一区二区三区| 精品一二三区久久AAA片| 国产不卡片| 任你干在线视频| 日本黄色精品| 综合 欧美 亚洲 日本| 熟女精品一区二区三区| 欧美少妇高潮久久91| 亚洲熟妇一,二,三期| 8x福利精品第一福利视频导航| 男人夜色天堂ss| 9久9久9久9久视频网站| 久久黄色视频一区二区三区| 一区中文字幕二区日韩| 七月丁香婷婷| 亚洲天堂男人在线| 东北熟女91| 人人干人人操人人..com| av东京热男人的天堂| 午夜性生活av免费在线看| 亚洲AV小说| 天天干18禁| 999岛国大片| 超碰在线综合97| 特级特黄一级毛片免费| 有码免费观看| 午夜福利一区二区影院| 操我啊啊啊啊啊| 久热这里只有精品9| 日操粉逼逼| 噜噜噜久久亚洲精品色情| 精品一级毛片在线观看| 亚洲天堂综合AV| 亚洲图片另类| 农村妇女一级二级三级视频| 五月天久久人妻| 欧美日韩香蕉| 97免费视频在线观看视频| 久久久久久久九九九九九九| 嗯嗯嗯,草死我| 五十路六十路素人熟女| 干b在线性社区| 搡老熟女免费视频| 亚洲美女 晚间男人天堂 | 91丰满| 丁香婷婷久久| 91 综合网| 久久天天摸| 色吧91| 国产精品 亚洲情色| 九久久九九久视频| 93人人操人人| 人人爽夜夜玩视频| 97香蕉碰碰人妻国产欧美| 一区二区播放| 99在线免费视频| henhen91| 超碰激情808| 国产精品无码av| 久久后入制服| www.激情| 日韩成人私密一级精品av| 大香网伊人久久综合网eew| 性爱视频免费网址| 91精品免费| 色噜噜狠狠色综无码久久合欧美| 欧美综合网在线| 夜夜爽妓女| 无码人妻精品酒店| 大香蕉92| 人妻天堂综合网| 麻豆国产97在线| 蜜臀久久99'精品久久久| 中文字幕 国产 精品| 久久久久久久9| 国产青青美女玩逼视频| 欧美日韩第一页| 欧美日本成人一区二区| 亚洲色图国产另类| 红杏大香蕉| 人人操人人操人人人操| 国产AV天美传媒一区二区三区 | 97摸视频| 欧美韩日精品99综合| 91最新综合| 97摸视频| 国产精品点击进入在线影院高清| 97欧美久久久久久久| 精品少妇后入一区二区三区四区人妻巨乳| 成人小说另类在线| 大香蕉线| 天天看片麻豆| 99热精品在线| 欧美18老人禁| 亚洲97超碰| 亚洲欧洲无码一区夜| 思思热在线| 亚洲Av无码成人精品国产| 精品免费视频国产一区| 美女上床网站| 久久久久久少妇| 熟女在线视频| 99精品久久| 强奸乱亚洲| 亚洲国产欧美另类自拍| 久久啊啊| 欧美精品亚洲精品日韩传电影| 福利色色| 免费超碰97在线观看| 午夜男女爽爽爽影院视频| 中文字幕1区2区| 日韩电影天堂视频二区三区| 这里都是精品在线观看| 成人免费福利在线观看| 人人摸.人人色| 日韩精品人妻| 神马久久午夜| 亚洲人妻色图| 国产精品夜夜夜| com 首页 18岁 禁区 女优 免费 精选 同城 | 中文字幕五区| 欧洲成人性爱视频| 国产一区二区精品久久99| 国产综合色精品在线观看| 日本道人妻久久久在线不卡色视频| 亚洲天天影视色综合| 国产夜夜操| 日本一二区免费| 中文字幕在线观看第二页| 日本福利社| 天天色播亚洲综合网站| 日韩中文字幕二区| 久久久精品成人国产| 亚洲图片欧洲图片aⅴ| 强奸乱伦动态污图免费 | 蜜桃无码AV一区二区| 日韩美女操b| 黄色高清无码无码破解免费暗网| 久久三| 91三级理论片播放器| 国产福利影视| 欧美精品1区2区3区| 久久久精品视频免费观看| 99热精品在线播放| 可以免费观看的av| 熟女色图在线| 欧美激情黑人| 91 丝袜在线播放| {男男暴菊gay无套网站| 日韩人妻中文视频| 五月天婷婷综合网| 黑人中出21连凳花野真衣| 九九国产| 蜜桃传媒视频第一区入口在线看| 精…码一二三区| 精品一区二区三区国产| 欧美成熟性爱精品| 无码免费精品高清| 99精品在线| 亚洲天堂无码| 久久久久久夜夜夜夜夜| 一区二区首页| 99在线观看无大码| 日韩无码AB| 亚洲AV永久无码精品成人调教| 啊啊啊操死我| 自拍偷拍国产欧美日韩韩| 国产91啪| 色妺妺在线视频| 久久綜合很很很| 欧美体内射精| 婷婷伊人五月| 天天干天天操天天干天天操 | 91丝袜人妻| 91美女网站| 人妻精品视频一区二区| 亚洲少妇色| 嗯嗯啊啊视频一区二区三区| 97网色| 无码精品久久久天天影视| 久久一区二区三区入口| av一区二区三区 中文| 青青草自拍视频在线播放| 亚洲精品丝袜-不卡成人免费…… 久久久久成人蜜桃精品 | 久久久不能久久久久| 97超碰国产亚洲精品| 天天肏视频| 亚洲精品无码成人久久久99| 炮色五月| 久久成人东京热人妻| 国产又粗又大硬免费色网视频| a级理论午夜日本| 67194无码不卡| 在线观看啊啊啊啊啊| 嗯啊视频免费在线观看| 密桃99999| 日韩欧美中文字| 大香蕉78| 婷婷操逼| 91国产丝袜白虎| 在线观看免费视频国产| 中文字幕二区日韩天堂| 青草精品视频一日本久久久久网站| 少妇一级无码精品| 99在线精品观看99| 五月天精品| 91人妻中文| 日韩高潮一区| 俞拍久久国应视频| 国产精品色片一区二区| 欧美伦乱爱| 国产综合日韩伦理| 五月激情综合网| 97国产|免费| 日本操BAV| 日日做夜狠狠爱欧美黑人| 一本精品日本在线视频精品| 久久久艹艹艹| 亚欧色图在线激情| 天天综合,91综合永久| 欧美后入式| 亚洲国产日韩欧美熟妇在线| 欧美天堂第二区| 先锋影音av先锋一区| JULIA人妻风俗店中出电影| 精品传媒在线一区| 成人八戒网站| 国产日韩中文字幕欧美| 久久一区二区三区入口| 精品女同一区二区三区| 人妻aa| 日日AAvv| 蜜臀久久99精品久久久老,,| 少妇无码999| 69精品久久久久中文字幕| 欧美日韩国产精品久久色婷婷| 亚欧无码在线| 国产又粗又长又大的视频| 亚洲欧洲网站免费观看| 中文字幕精品专区搜索结果91| 国产亚洲日本精品在线| 夜夜国自区| 女人高潮抽搐喷水视频网站| 青青草在线视频播放器| 丁香婷婷久久| 午夜爽爽爽| 日本亚洲vr欧美不卡高清专区| 亚洲九九九| 国产十八禁视频| 福利伊人玖玖国产| 9丨久久九九九| 久久亚洲影院一区二区| 9色国产精品一区粉嫩| 欧美日本天堂| 亚洲综合中文字幕有码 | 天天操天天干一区二区 | 97色碰| 狠狠2050在线观看| 日本精品不卡一二三区| 色激情综合网站| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 九9热伊人| 五月激情啪啪| 免费视频在线一区二区不卡| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 在线视频免费播放一区| 午夜亚洲| 久久爱超碰网| JULIA一区二区三区在线播放| 噜噜噜久久亚洲精品色情| www.色99| 人人操人人爽人人操人人| 少妇高潮喷水无套久久久久久| 狠狠操狠狠爱| 精品日韩人妻视频| 日韩精品亚洲一二三| 久久99国产综合精品女同| 国产福利小视频高清在线观看| 啊啊啊啊免费视频| 青青草伊人久久| 久久人妻精品| 国产日韩精品人妻久久久久色欲网站| 成人性交午夜免费片| 欧美一二三区四五区| 欧美专区日本专区| 51久久夜色精品国产麻豆| 亚洲日韩狠狠撸视频| AV高清一区| 五月婷婷激情综合| 日本十八禁免费看污网站| 好爽免费视频| 亚洲一二三四区在线免费看视频| 中文字幕在在线观看网站| a级理论午夜日本| 摸奶性爱视频网站在线免费播放| 操人妻视频| 大屁股熟女一区二区三区| 91成人国产综合久久精品蜜月| 啊v视频在线观看| 内射老妇BBWX0C0CK| 欧美色院| 久久久久久久久女黄| 青青草久久| 久久97资源 网| 天堂岛av| 视频二区美腿丝袜制服人妻欧美| 奇米狠999| 国产99精品一区二区三区免费| 久久78| 99只有精品| 热久日综合| 丝袜制服字幕在线| 性色avv| 久久一二三四五六七八九区区区 | 色香91| 大香蕉欧美国产日韩高潮| 久久久久久久久久久久久9999| 亚洲综合成人网| 久久久精品无码亚免费| 日本一区二区中文字幕久久| 后入式999| 欧美人人天天网| 中出789在线视频| 大吊色| 欧美一区二区三区大综合| 97久久精品亚洲| 久热这里| 99热久| 色女女女导航| 亚洲色图超碰在线| 欧美久久婷| 天天干一区二区| 九色97| 久久理论字幕视频| 美女啊啊啊啊啊啊啊| 日本天堂网| 欧美亚洲影视| 精国久久一区二区三区98| 歐美性天天| 五月婷婷青青草娱乐伊人| 久久中文字幕女同性恋一区| 中美日韩毛片| 亚洲日韩熟女人妻高清在线| 91爱做| 亚洲天堂电影网99999| 天天日骚逼熟女| 午夜精品久久99蜜桃的功能章节| 偷拍盗拍亚洲色图图片| 超碰久在线天天做| 91日产桃蜜| 亚洲色图欧美色图另类图片| 爱妃国产亚洲视频中文字幕| 日韩av免费一级电影| 日韩不卡毛片Av免费高清| 操逼逼无码| 97久精品| 中文字幕人妻色偷偷久久皮| 亚洲第91页 | 精品一啪| 五月天大香蕉| 九九99久久| 天天天天天天天天综合| 一区二区亚州激情久婷婷欧美 | 日日夜夜干| 精久久久91| 青草影院内射高潮| 久久超碰网| 自怕偷自怕亚洲精品| 99久久综合| 青青草黑寡妇男人天堂| 日本ZZ高免费A级视频| 日本色日夜干| A 在线网址| 啊啊啊好爽快点啊啊啊嗯嗯| 色爱综合网欧美| 日本布卡一区二三区| 青草综合| 中文字幕 国产区| 日韩情色视频| 欧美色图片欧美色图| 四虎精品一区二区| 97国产高清视频在线观看| 美女诱惑爱爱| 国产a级精品| 91性网| 亚洲欧美在线观看无码| 曰韩av中文字幕专区| 欧美亚综合色图| 午夜福利 成人 91| 亚洲天堂AV在线播放| 九九综合| 暴力av在线| 在线观看无码三级少妇| 操九九九九九九| 熟女一区二区三区四区| 国产精品熟女九色九色蜜臀| 91操碰| 风间由美日韩欧美久久| 综合av社区| 国产四虎在线| 高颜值美女口爆高潮浪叫| 插日本熟女视频| 91欧美偷拍| 亚洲欧美综合| 大香蕉丝袜一级片| 青青青草原| 17c在线成人免费A片观看| 用力操死我| 亚洲成人ab| 久久这里只精品99re66图| 婷婷15月天青娱乐| 亚洲色电影在线| 色九九综合| se,,,亚洲欧美| 日本精品网站在线中文| 91亚·色| 久久精品国产精品一区| 五月婷婷激情综合| 欧美性爱一区二区三区| 午夜久久无码1000合集| 男人的天堂无码| 久久亚州精品成人Av无| 吉田爱美AV在线| 亚洲本色精品一区二区久久| 后入 亚洲 美女 射| 欧美亚洲系列| 亚洲天堂电影精品一区| 久99在线免费观看视频| 99色天堂| 亚洲自拍小说| 亚洲男人天堂2019| 日韩有码中文字幕女同性恋| 狠狠操天天干| 欧洲精品二区| 欧插网站| 四虎精品永久在线播放| av在线人气| 欧美v亚洲v综合v国产v妖精| 麻豆性爱视频在线播放| 国产欧美在线观看免费观看| 日本A级视频| 欧美18 在线观看| 欧美日韩亚洲五月天婷婷| 亚洲字幕一区二区| 久九9精品| 天天天天天天天天天天干美女| 2020天天色综合| 自拍鲍鱼一区在线高清观看免费| 超碰碰97资源站| 亚洲欧洲另类| 搡老熟女免费视频| 精品然女一区二区| 人妻中文字幕日韩电影| 欧美成人精品一区二区男人蜜臀| 亚洲男人天堂2019| 国产福利合集| 校园春色中文字幕AV| 婷婷激情五月天小说网| 久操免费观看| JULIA人妻风俗店中出电影| 狼狼色丁香久久婷婷综合五月| 强奸熟女一区二区三区| 激情婷婷丁香| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 1区2区3区中文字幕日韩| 啊啊啊好多水| 亚洲综合情色| 国产精品无码av嫩草| 91青青| 超碰av人人人| 强奸乱伦亚洲第一页| 久久久91| 久草资源在线视频官方总站日韩丝袜美腿 | 精品妇操一区二区三区| 精品久久視頻在线| 亚洲成人在线高清| 外国免费性情大片| 操死我干死我| 日本日逼视频网| 精品一区二区三区国产 | 综合自拍| 欧美呦呦性爱| 久久熟女精品不卡一区| 国产91精品久久久久久久网曝门| 97人妻免费中文字幕| 国产精品美女视频诱惑| 国产夫妻性生活视频| 久久大线蕉一区| 久久久久久久极品香蕉视频| 天堂俺去俺来也www久久婷婷| 五十路一区无码| 欧美亚洲成人在线一区二区三区| 人人乐大香蕉| 中国乱伦一区二区| 黄色香蕉视频网站一区| 九九九九九九精品| 天操老女人| 欧美爆操91| 另类视频在线| 大香蕉一线视频| 黄色香蕉视频网站一区| 亚洲欧美另类小说| 九九九精品色乱九九九| 欧美中文狠| 大伊香蕉在线视频免费| 欧美丰满少妇xx高潮| 少妇熟女1区2区3区| 97国产|免费| 欧美与日韩97| 中文字幕55555| 欧美色图天堂在线| 操逼网免费无码视频| 国产网站在线播放| 欧美翘臀视频网站一区二区三区| 超碰 欧美| 亚洲综合另类色图| 狠狠2050在线观看| 大香蕉欧美国产日韩高潮| 99超碰色| 日韩免费人妻色情网站| 欧美日韩性爱精品| 看一级黄色视频| 99九九精品| 偷窥自拍A片| 曰韩av中文字幕专区| blacked精品一区国产| 十八禁的黄污污免费网站| a片偷拍视频| 久久亚州精品成人Av无| 日本一区视频在线观看| 夜草网站| 国产丝袜美女在线一区| 综合网欧美| 欧美性爽xyxOOOO| 97视频在线免费观看| 操一操摸一摸| 中文字幕日韩专区精品系列| 无码不卡亚洲成?人片| 日韩在线地址一| 黄久在线| 乱伦一二三| 亚洲精品成人动漫在线|