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

ARTICLE DETAIL

資訊詳情

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

Java Web數(shù)據(jù)庫系統(tǒng)應(yīng)用開發(fā)實(shí)例:JSP/Servlet+JDBC+MySQL源碼視頻解析

Java Web數(shù)據(jù)庫系統(tǒng)應(yīng)用開發(fā)實(shí)例:JSP/Servlet+JDBC+MySQL源碼視頻解析 簡(jiǎn)介Java Web數(shù)據(jù)庫系統(tǒng)應(yīng)用開發(fā)與實(shí)例是一份面向Web開發(fā)者的源碼與視頻學(xué)習(xí)包內(nèi)容圍繞Java Web和數(shù)據(jù)庫系統(tǒng)開發(fā)展開覆蓋Servlet、JSP、JDBC、Spring MVC/Struts以及SQL、事務(wù)、存儲(chǔ)過程和Hibernate/MyBatis等ORM映射技術(shù)。整個(gè)包共884個(gè)文件約222.5MB核心包括163個(gè)Java源碼、140個(gè)JSP頁面、181個(gè)編譯后Class文件、17個(gè)SQL腳本和48個(gè)AVI操作演示視頻另有JAR包、XML配置、JS/CSS等輔助資源便于對(duì)照學(xué)習(xí)與二次調(diào)試。已有470人學(xué)習(xí)下載適合希望從基礎(chǔ)到進(jìn)階掌握J(rèn)ava Web與數(shù)據(jù)庫整合開發(fā)的初學(xué)者也適合有一定經(jīng)驗(yàn)的開發(fā)者查漏補(bǔ)缺。通過源碼閱讀和視頻演示可直觀理解系統(tǒng)演示、共通Servlet封裝、第一個(gè)JSP應(yīng)用、報(bào)表打印等關(guān)鍵場(chǎng)景快速搭建數(shù)據(jù)庫驅(qū)動(dòng)的Web應(yīng)用并優(yōu)化連接、認(rèn)證與并發(fā)處理。1. Java Web數(shù)據(jù)庫系統(tǒng)應(yīng)用開發(fā)與實(shí)例源碼、視頻和課設(shè)的完整閉環(huán)如果你正在準(zhǔn)備Java Web數(shù)據(jù)庫方向的課設(shè)最讓人心態(tài)失衡的事往往不是寫代碼本身而是找不到一個(gè)“能跑起來”的參考項(xiàng)目。網(wǎng)上的Demo不少可要么頁面是靜態(tài)的要么SQL腳本導(dǎo)入就報(bào)錯(cuò)。這套《Java Web數(shù)據(jù)庫系統(tǒng)應(yīng)用開發(fā)與實(shí)例》的源碼與視頻資源解決的就是這個(gè)痛點(diǎn)它以一個(gè)賬戶信息管理Demo為載體把數(shù)據(jù)庫建表、JDBC連接、用戶登錄、增刪改查完整走了一遍。配套視頻按模塊拆開講每一步都有對(duì)應(yīng)的代碼位置。適合兩類人一是新手想照著視頻從零搭環(huán)境二是已經(jīng)寫過一些Java Web代碼的開發(fā)者想直接扒一套規(guī)范的分層代碼來改。2. 技術(shù)選型與工程結(jié)構(gòu)JSP/Servlet、JDBC、MySQL 怎么湊成一套不翻車的課設(shè)2.1 為什么還在用 JSP/Servlet課設(shè)場(chǎng)景下的務(wù)實(shí)選擇這套資源沒有追新技術(shù)棧相當(dāng)克制前端用JSP后端用Servlet數(shù)據(jù)庫訪問用JDBC數(shù)據(jù)庫用MySQL容器用Tomcat。第一反應(yīng)當(dāng)然是現(xiàn)在不都用Spring Boot嗎但如果你打開課程大綱會(huì)發(fā)現(xiàn)很多數(shù)據(jù)庫系統(tǒng)課程的核心要求仍然是“掌握Servlet生命周期”“使用JDBC完成數(shù)據(jù)庫增刪改查”。用Spring Boot超綱不說演示時(shí)被問到“Servlet里為什么不是service()方法”反而容易翻車。從這個(gè)角度看JSP/Servlet恰恰是最穩(wěn)妥的課設(shè)選擇。另一個(gè)維度是學(xué)習(xí)路徑足夠短。JSP負(fù)責(zé)頁面展示Servlet負(fù)責(zé)接收請(qǐng)求JDBC負(fù)責(zé)和MySQL交互整條鏈路可以在配套視頻里一步步看到。項(xiàng)目內(nèi)部并不是把所有邏輯堆在JSP里而是拆成了bean、dao、service、servlet、util幾個(gè)包。視頻的順序也按這個(gè)依賴關(guān)系排先裝環(huán)境再寫SQL腳本接著封裝DBUtil最后做Servlet和JSP。跟著視頻走實(shí)際就是按技術(shù)棧的依賴順序重新搭一遍。如果你之前只寫過單文件Servlet這套結(jié)構(gòu)正好幫你理解“類多了以后怎么分工”。2.2 WebRoot、src、sql 目錄先分清三塊再動(dòng)手項(xiàng)目的目錄結(jié)構(gòu)如下ProjectName/ ├─ src/ │ ├─ com/xxx/ │ │ ├─ bean/User.java │ │ ├─ dao/UserDao.java │ │ ├─ service/UserService.java │ │ ├─ servlet/LoginServlet.java │ │ └─ util/DBUtil.java ├─ WebRoot/ │ ├─ css/ │ ├─ WEB-INF/ │ │ └─ web.xml │ ├─ login.jsp │ ├─ list.jsp │ └─ index.jsp ├─ sql/ │ └─ init.sql └─ README.txtsrc下主要看五個(gè)包bean里的User對(duì)應(yīng)數(shù)據(jù)庫表字段名盡量和表列名保持一致否則ResultSet取值時(shí)容易踩坑dao就是數(shù)據(jù)訪問層只負(fù)責(zé)拼SQL、執(zhí)行SQL、把結(jié)果封裝成對(duì)象service是業(yè)務(wù)層比如登錄時(shí)候的密碼校驗(yàn)、刪除前的關(guān)聯(lián)檢查都放這里servlet負(fù)責(zé)接收瀏覽器參數(shù)調(diào)用service最后跳轉(zhuǎn)或轉(zhuǎn)發(fā)util里放DBUtil這類公共工具。WebRoot是Web應(yīng)用的根目錄部署到Tomcat后訪問路徑就是WebRoot下的文件路徑web.xml用來配置Servlet映射和歡迎頁。sql/init.sql是全項(xiàng)目最關(guān)鍵的文件。很多課設(shè)翻車的第一個(gè)原因不是代碼寫錯(cuò)而是沒先執(zhí)行init.sql。你直接啟動(dòng)項(xiàng)目DBUtil能連上MySQL但登錄查詢會(huì)報(bào)“Table doesnt exist”。所以拿到資源包以后先看sql目錄把腳本導(dǎo)入數(shù)據(jù)庫再用工具確認(rèn)表和代碼里的字段對(duì)得上。README.txt一般會(huì)寫清楚MySQL用戶名密碼和初始化步驟我第一次跑的時(shí)候沒看它直接改代碼里的密碼折騰了半小時(shí)才發(fā)現(xiàn)只是數(shù)據(jù)庫密碼寫錯(cuò)了。這套結(jié)構(gòu)是典型的“傳統(tǒng)Web項(xiàng)目”不是Maven項(xiàng)目。構(gòu)建時(shí)要把src編譯輸出到WEB-INF/classes把mysql-connector-java的jar包放到WEB-INF/lib。如果你看到的是Maven結(jié)構(gòu)那就在pom.xml里寫依賴。判斷方式很簡(jiǎn)單看工程目錄下有沒有pom.xml有就是Maven沒有就是傳統(tǒng)Web項(xiàng)目。2.3 JDBC 工具類把 DriverManager 封裝成單例省掉一半重復(fù)代碼每個(gè)DAO都要拿連接、關(guān)連接如果不封裝寫出來的代碼會(huì)有大量重復(fù)。所以項(xiàng)目里通常會(huì)有這么個(gè)DBUtil核心代碼大致如下package com.xxx.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DBUtil { private static final String URL jdbc:mysql://localhost:3306/account_db?useUnicodetruecharacterEncodingutf8useSSLfalseserverTimezoneAsia/Shanghai; private static final String USER root; private static final String PASSWORD root; 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, Statement stmt, ResultSet rs) { if (rs ! null) { try { rs.close(); } catch (SQLException ignored) {} } if (stmt ! null) { try { stmt.close(); } catch (SQLException ignored) {} } if (conn ! null) { try { conn.close(); } catch (SQLException ignored) {} } } }URL里的參數(shù)值得逐個(gè)記一下。useUnicodetrue和characterEncodingutf8是為了讓中文能以UTF-8寫入useSSLfalse是因?yàn)楸镜亻_發(fā)不加密不加的話MySQL 8.0會(huì)一直報(bào)警告serverTimezoneAsia/Shanghai是MySQL 8.0之后才需要的時(shí)區(qū)參數(shù)少了它會(huì)在獲取連接時(shí)報(bào)時(shí)間差錯(cuò)誤。驅(qū)動(dòng)類名也有版本講究mysql-connector 8.x對(duì)應(yīng)com.mysql.cj.jdbc.Driver8.0之前是com.mysql.jdbc.Driver。視頻里如果第一次用5.x后來換8.0不少人就是在這里栽跟頭。close方法先關(guān)ResultSet再關(guān)Statement最后關(guān)Connection。這個(gè)順序不能亂因?yàn)镽esultSet依賴StatementStatement又依賴Connection。我見過有人先關(guān)Connection再讀ResultSet的時(shí)候直接空指針還以為是自己SQL寫錯(cuò)了。這套DBUtil是教學(xué)項(xiàng)目里最常見的寫法。如果以后要上生產(chǎn)建議把URL、用戶名、密碼抽到db.properties里再用ResourceBundle讀取改配置不用改代碼。課設(shè)沒這個(gè)要求但作為二次開發(fā)習(xí)慣提前做沒壞處。3. 核心模塊拆解一個(gè)登錄請(qǐng)求從表單到 Session 再到數(shù)據(jù)庫的完整鏈路3.1 登錄模塊表單提交后 Servlet 里發(fā)生了什么登錄邏輯看起來簡(jiǎn)單卻是很多問題的集中地。先看LoginServlet的doPostWebServlet(/login) public class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding(UTF-8); String username request.getParameter(username); String password request.getParameter(password); UserService userService new UserService(); User user userService.login(username, password); if (user ! null) { HttpSession session request.getSession(); session.setAttribute(loginUser, user); response.sendRedirect(request.getContextPath() /list); } else { request.setAttribute(errorMsg, 用戶名或密碼錯(cuò)誤); request.getRequestDispatcher(/login.jsp).forward(request, response); } } }request.setCharacterEncoding(UTF-8)這一行必須在getParameter之前執(zhí)行。如果放在之后POST請(qǐng)求里的中文參數(shù)會(huì)按容器默認(rèn)編碼解析常見表現(xiàn)是用戶名里的中文變成亂碼。登錄成功以后把User對(duì)象放進(jìn)Session后續(xù)JSP頁面才能通過session里的loginUser判斷“是否已登錄”。這里用的是sendRedirect而不是forward好處是瀏覽器地址欄變成/list用戶按F5刷新時(shí)不會(huì)重復(fù)提交登錄表單。登錄失敗則用forward把錯(cuò)誤提示帶回login.jsprequest里的errorMsg能在頁面上顯示。很多人會(huì)問為什么Servlet里不直接寫SQL因?yàn)榇a一旦寫成Servlet里new一個(gè)UserDao再查庫后續(xù)要加“連續(xù)輸錯(cuò)三次鎖定賬號(hào)”這類規(guī)則時(shí)就得改Servlet。項(xiàng)目里用UserService包了一層登錄這種業(yè)務(wù)邏輯放在service里。UserService內(nèi)部再調(diào)用UserDao這樣Servlet只負(fù)責(zé)參數(shù)解析和頁面跳轉(zhuǎn)職責(zé)很干凈。密碼字段在視頻里是明文存儲(chǔ)這是教學(xué)項(xiàng)目為了方便演示。如果你要做成作品展示至少要改成MD5加鹽或者直接用BCrypt。我一般會(huì)在service里加一層“從庫里查出用戶對(duì)比密碼”的邏輯而不是讓SQL直接寫where username? and password?因?yàn)楹笳邲]法在代碼里做加密和登錄次數(shù)限制。3.2 用戶列表與分頁LIMIT 的參數(shù)不能靠字符串拼接列表頁是CRUD里最常改的部分。分頁查詢的UserDao實(shí)現(xiàn)大致是這個(gè)樣子public ListUser findPage(int pageNum, int pageSize) { ListUser list new ArrayList(); String sql SELECT id, username, nickname, email FROM user ORDER BY id LIMIT ?, ?; try (Connection conn DBUtil.getConnection(); PreparedStatement ps conn.prepareStatement(sql)) { ps.setInt(1, (pageNum - 1) * pageSize); ps.setInt(2, pageSize); try (ResultSet rs ps.executeQuery()) { while (rs.next()) { User user new User(); user.setId(rs.getInt(id)); user.setUsername(rs.getString(username)); list.add(user); } } } catch (SQLException e) { e.printStackTrace(); } return list; }LIMIT ? ?是MySQL分頁的標(biāo)準(zhǔn)寫法第一個(gè)參數(shù)是偏移量第二個(gè)參數(shù)是每頁條數(shù)。pageNum從1開始所以偏移量等于(pageNum - 1) * pageSize。比如第3頁每頁10條就是從第21條開始取10條。用PreparedStatement的setInt傳參而不是拼SQL是因?yàn)檫@些參數(shù)來自頁面請(qǐng)求一旦拼SQL就存在注入風(fēng)險(xiǎn)。你在瀏覽器把pageSize改成“10 or 11”如果代碼是字符串拼接后面的查詢條件就會(huì)被改掉。這段代碼沒有寫COUNT查詢但列表頁一般要顯示“共幾頁”所以還需要一個(gè)配套方法public int count() { String sql SELECT COUNT(*) FROM user; try (Connection conn DBUtil.getConnection(); PreparedStatement ps conn.prepareStatement(sql); ResultSet rs ps.executeQuery()) { if (rs.next()) { return rs.getInt(1); } } catch (SQLException e) { e.printStackTrace(); } return 0; }總頁數(shù)的計(jì)算方式是(total pageSize - 1) / pageSize。比如總數(shù)是21每頁10這樣算出的是3頁而不是2頁。視頻里通常會(huì)單獨(dú)講這個(gè)細(xì)節(jié)因?yàn)樗钊菀自诹斜眄摲摃r(shí)出現(xiàn)最后一頁少一條的“玄學(xué)”問題。3.3 刪除用戶事務(wù)邊界和子表刪除順序刪除功能的典型場(chǎng)景是用戶主表一條記錄用戶角色關(guān)聯(lián)表里還有多條記錄。如果只刪主表外鍵約束會(huì)報(bào)錯(cuò)如果只刪關(guān)聯(lián)表主表留下孤兒數(shù)據(jù)。項(xiàng)目里的刪除邏輯通常會(huì)這樣寫public boolean deleteUser(int userId) { Connection conn null; PreparedStatement ps null; try { conn DBUtil.getConnection(); conn.setAutoCommit(false); String deleteRole DELETE FROM user_role WHERE user_id ?; ps conn.prepareStatement(deleteRole); ps.setInt(1, userId); ps.executeUpdate(); String deleteUser DELETE FROM user WHERE id ?; ps conn.prepareStatement(deleteUser); ps.setInt(1, userId); ps.executeUpdate(); conn.commit(); return true; } catch (SQLException e) { if (conn ! null) { try { conn.rollback(); } catch (SQLException ex) { e.printStackTrace(); } } e.printStackTrace(); return false; } finally { if (conn ! null) { try { conn.setAutoCommit(true); } catch (SQLException ignored) {} } DBUtil.close(conn, ps, null); } }核心點(diǎn)是setAutoCommit(false)。一旦關(guān)閉自動(dòng)提交后面兩條DELETE要么一起成功要么一起回滾。如果第一條成功第二條失敗commit不會(huì)執(zhí)行rollback會(huì)把第一次刪除也撤銷避免出現(xiàn)“關(guān)聯(lián)表刪了主表還在”的臟數(shù)據(jù)。事務(wù)只包寫操作查詢不需要包因?yàn)椴樵儾淮嬖谝恢滦詥栴}。另一個(gè)細(xì)節(jié)是刪除順序。如果user_role表有外鍵指向user表必須先刪user_role再刪user否則MySQL會(huì)報(bào)外鍵約束失敗。有些項(xiàng)目為了省事把外鍵去掉這樣先刪誰都能跑但數(shù)據(jù)完整性就丟了。我建議保留外鍵讓數(shù)據(jù)庫幫你兜底演示時(shí)還可以順勢(shì)講一句“外鍵約束保證了引用的有效性”這對(duì)課設(shè)評(píng)分是加分項(xiàng)。更新操作和刪除類似但要注意executeUpdate的返回值。返回0表示影響行數(shù)為0常見原因是數(shù)據(jù)已經(jīng)被別人刪了或者你提交的id根本不存在。前端提示“更新失敗”總比悄無聲息成功要好。4. 從導(dǎo)入到跑通Tomcat和MySQL下的部署步驟與配置檢查4.1 環(huán)境準(zhǔn)備JDK、Tomcat、MySQL 版本怎么選視頻里從頭講環(huán)境搭建但你不需要完全復(fù)刻版本。JDK 1.8、Tomcat 8/9、MySQL 5.7或8.0這是教學(xué)項(xiàng)目最保險(xiǎn)的組合。如果你的機(jī)器已經(jīng)裝了JDK 11甚至17傳統(tǒng)JSP項(xiàng)目在Tomcat 9上也能跑但要注意Tomcat 10及以上把包名換成了jakarta.*老項(xiàng)目的javax.*代碼直接編譯不過。為了少折騰我建議直接用JDK 8和Tomcat 8.5。版本對(duì)照可以看這張表組件推薦版本注意點(diǎn)JDK1.8Servlet編譯兼容性最好Tomcat8.5 / 9.0WebServlet注解可用MySQL5.7 / 8.08.0需要serverTimezone參數(shù)mysql-connector-java5.1.x / 8.0.x驅(qū)動(dòng)類名不一樣MySQL 5.7的好處是省心驅(qū)動(dòng)類名用com.mysql.jdbc.Driver不需要時(shí)區(qū)參數(shù)。MySQL 8.0性能更好但sql_mode和排序規(guī)則更容易出幺蛾子。視頻里演示用的具體版本我不重復(fù)原則是跟著視頻版本走別自己混搭最新版。尤其是mysql-connector 8.0.x對(duì)MySQL 5.7也能連反過來5.1.x連8.0會(huì)報(bào)SSL握手失敗這里面坑很多。4.2 把工程導(dǎo)入 IDE傳統(tǒng)Web項(xiàng)目與 WEB-INF 檢查拿到源碼后先看是不是Maven工程。傳統(tǒng)Web項(xiàng)目用Eclipse導(dǎo)入File Import Existing Projects into WorkspaceIDEA則直接Open目錄然后在Project Structure里設(shè)置SDK和Web Facet。導(dǎo)入后最重要的一步是檢查WEB-INF/lib下有沒有mysql-connector的jar包。沒有的話啟動(dòng)后跑一次登錄就會(huì)報(bào)ClassNotFoundException。IDEA里傳統(tǒng)Web項(xiàng)目啟動(dòng)前還要設(shè)置Artifacts。常見翻車現(xiàn)場(chǎng)是Tomcat啟動(dòng)成功瀏覽器訪問login.jsp能打開但一點(diǎn)登錄就404控制臺(tái)提示Servlet沒找到。原因通常是.class文件沒有編譯輸出到WEB-INF/classes或者WebServlet注解沒有被掃描。解決方法是重新Build Artifacts并在Run Configuration的Deployment里確認(rèn)war exploded已經(jīng)加進(jìn)去了。如果是Maven工程導(dǎo)入后會(huì)自動(dòng)下載依賴。等待進(jìn)度條走完再啟動(dòng)否則JSP頁面里用了JSTL標(biāo)簽時(shí)會(huì)報(bào)“Cannot find the tag library descriptor for core”。JSTL需要jstl和standard兩個(gè)jar缺一不可。部署前建議按這個(gè)順序過一遍項(xiàng)目編譯無紅叉、WEB-INF/lib能看到驅(qū)動(dòng)、Tomcat啟動(dòng)無異常、訪問http://localhost:8080/項(xiàng)目名/login.jsp能正常顯示。4.3 執(zhí)行 init.sql初始化數(shù)據(jù)庫的三步檢查初始化數(shù)據(jù)庫不是“雙擊執(zhí)行”就完事。第一步確認(rèn)腳本里是否已經(jīng)包含CREATE DATABASE。如果包含你直接執(zhí)行就行如果不包含需要手動(dòng)創(chuàng)建數(shù)據(jù)庫再use進(jìn)入。第二步檢查腳本里的表名和UserDao里的表名是否一致。我見過一個(gè)項(xiàng)目代碼里寫的表名是user腳本里建的表名是users啟動(dòng)不報(bào)錯(cuò)但查詢永遠(yuǎn)返回空。第三步在DBUtil或db.properties里核對(duì)用戶名、密碼特別是密碼里有特殊字符時(shí)URL里偶爾還需要做URL編碼。還有一條實(shí)戰(zhàn)經(jīng)驗(yàn)數(shù)據(jù)庫連不上時(shí)先別懷疑代碼。在終端用mysql -uroot -p試一下能不能登錄能登錄說明MySQL服務(wù)正常。如果終端能連而項(xiàng)目連不上就檢查URL里的端口是否被改過。MySQL默認(rèn)3306有些機(jī)器裝了多版本MySQL端口改成了3307URL沒同步就會(huì)一直報(bào)Connection refused。這些都不算代碼邏輯問題但占了我?guī)腿伺挪閱栴}的七成時(shí)間。初始化完成后用一條最簡(jiǎn)單查詢驗(yàn)證SELECT * FROM user; 如果能查出數(shù)據(jù)再啟動(dòng)項(xiàng)目。直接跑項(xiàng)目容易把“SQL腳本沒執(zhí)行”和“代碼有bug”混在一起到最后你根本不知道是哪里出了問題。5. 常見問題與避坑404、500、中文亂碼的排查筆記這套源碼視頻在本地跑起來的過程里下面幾個(gè)問題是出現(xiàn)頻率最高的。我按“現(xiàn)象、原因、解決”三條寫方便你直接對(duì)號(hào)入座。5.1 訪問 JSP 一直 404頁面像沒部署現(xiàn)象Tomcat能啟動(dòng)瀏覽器打開login.jsp卻顯示404或者訪問一個(gè)Servlet地址下載了JSP源碼。原因項(xiàng)目沒有真正部署到Tomcat或者部署路徑和訪問路徑不一致。解決先確認(rèn)IDE里Run Configuration的Deployment中已經(jīng)添加了項(xiàng)目的war或war exploded。Application context建議設(shè)為/項(xiàng)目名訪問時(shí)用帶上下文路徑的地址。Eclipse用戶右鍵項(xiàng)目Run As Run on Server不要直接雙擊jsp文件。Tomcat的webapps目錄下也應(yīng)該看到對(duì)應(yīng)的項(xiàng)目文件夾如果沒有說明部署沒生效。這類問題我遇到最多的是IDEA多模塊工程module沒被加到Artifacts里導(dǎo)致頁面前端資源能找到但Servlet的class文件不在WEB-INF/classes下。檢查方法是看Tomcat日志里有沒有打印“Deploying web application directory”有的話再確認(rèn)WEB-INF/classes里有沒有LoginServlet.class。5.2 ClassNotFoundException驅(qū)動(dòng)類名按版本選現(xiàn)象訪問數(shù)據(jù)庫相關(guān)頁面控制臺(tái)報(bào)ClassNotFoundException后面跟著com.mysql.jdbc.Driver或com.mysql.cj.jdbc.Driver。原因一是驅(qū)動(dòng)jar沒有放到WEB-INF/lib二是驅(qū)動(dòng)類名和驅(qū)動(dòng)版本不匹配。解決先確認(rèn)mysql-connector-java的版本。8.0.x必須用com.mysql.cj.jdbc.Driver5.1.x用com.mysql.jdbc.Driver。然后把jar放到WEB-INF/lib下重新部署不要放在IDE的external libraries里因?yàn)門omcat運(yùn)行時(shí)不會(huì)去讀IDE的類路徑。Maven項(xiàng)目則要檢查pom.xml里的驅(qū)動(dòng)依賴scope如果寫成了provided或者testTomcat運(yùn)行時(shí)會(huì)找不到類。順便說一句驅(qū)動(dòng)jar包版本不要亂用最新的8.4、8.5項(xiàng)目里視頻用的是8.0.x系列就保持一致。打包部署的環(huán)境最怕“我更新了一下依賴然后突然壞了”。5.3 中文亂碼從頁面到數(shù)據(jù)庫要統(tǒng)一三處編碼現(xiàn)象表單輸入中文插入MySQL后變成問號(hào)或者頁面顯示“用戶名”變成“?”開頭的一串亂碼。原因JSP頁面編碼、Servlet請(qǐng)求編碼、JDBC連接編碼三處不一致。解決JSP第一行寫pageEncodingUTF-8Servlet在doPost開頭第一行寫request.setCharacterEncoding(UTF-8)JDBC URL加characterEncodingutf8MySQL建表時(shí)指定DEFAULT CHARACTER SET utf8mb4。三個(gè)地方缺一個(gè)都會(huì)出問題但最常見的是漏了Servlet里的setCharacterEncoding因?yàn)轫撁婧蛿?shù)據(jù)庫都改好了反而這個(gè)不起眼的一行被忽略。Tomcat 8.5之后對(duì)GET請(qǐng)求的參數(shù)默認(rèn)按UTF-8解碼所以很多人在GET請(qǐng)求里不寫setCharacterEncoding也沒事。但POST請(qǐng)求還是建議顯式設(shè)置因?yàn)閾Q成其他容器或Tomcat版本后行為可能不同。課設(shè)演示時(shí)最好三種請(qǐng)求都試一遍避免現(xiàn)場(chǎng)翻車。5.4 數(shù)據(jù)庫連接耗盡操作幾次后卡死現(xiàn)象項(xiàng)目剛啟動(dòng)能正常增刪改查翻幾頁之后越來越卡最后請(qǐng)求一直轉(zhuǎn)圈控制臺(tái)報(bào)Too many connections或者Connection refused。原因代碼里getConnection后沒有close連接泄漏MySQL連接數(shù)被占滿。解決在DAO每個(gè)方法里用try-with-resources或者finally里調(diào)用DBUtil.close。關(guān)閉順序按ResultSet、Statement、Connection來。如果用了連接池還要檢查池的最大連接數(shù)和空閑超時(shí)。排查時(shí)在MySQL執(zhí)行SHOW PROCESSLIST能看到大量Sleep的連接基本就能實(shí)錘。這里有個(gè)容易誤傷的點(diǎn)JDBC的Connection.close不是直接把進(jìn)程殺死而是把連接放回連接池或標(biāo)記為關(guān)閉。如果你在finally里關(guān)閉后后續(xù)又去操作ResultSet會(huì)報(bào)ResultSet closed。所以取值范圍只在try塊內(nèi)取完再關(guān)不要把rs拿到方法外面去用。5.5 視頻里能跑我這兒就是不行版本和緩存現(xiàn)象每一步都跟著視頻做軟件版本也一樣但啟動(dòng)后報(bào)錯(cuò)信息五花八門。原因多半是驅(qū)動(dòng)jar版本不一致、數(shù)據(jù)庫端口不對(duì)或者瀏覽器緩存了舊的JSP。解決先暫停視頻逐行對(duì)照自己的配置文件和代碼不要憑記憶寫URL。再確認(rèn)MySQL服務(wù)真的啟動(dòng)了Windows下服務(wù)列表可能顯示“已停止”。瀏覽器按CtrlF5強(qiáng)制刷新排除舊頁面緩存。最后還不行就刪除項(xiàng)目重新導(dǎo)入一次IDEA緩存導(dǎo)致的資源沒刷新問題重導(dǎo)往往能解決。這一條看著像玄學(xué)其實(shí)背后是“環(huán)境狀態(tài)不確定”。我處理這類問題時(shí)會(huì)寫一個(gè)環(huán)境檢查清單JDK版本、Tomcat版本、MySQL版本、驅(qū)動(dòng)版本、端口、字符集。逐個(gè)打勾不猜。很多時(shí)候你盯著代碼看半天最后發(fā)現(xiàn)Tomcat的CATALINA_BASE指到了另一個(gè)安裝目錄項(xiàng)目根本沒部署到你正在修改的那個(gè)Tomcat上。6. 二次開發(fā)指南把單用戶登錄改造成多角色權(quán)限控制6.1 改造思路登錄后把角色信息放進(jìn) Session這套Demo的Session里只存了User對(duì)象所有登錄用戶看到的功能都一樣。要做多角色權(quán)限第一步是擴(kuò)展表結(jié)構(gòu)user表加一個(gè)role_id字段再建role表保存角色名比如admin和user。登錄時(shí)除了查User還要通過role_id查出角色名稱。// 登錄成功后額外查詢角色并放入 Session Role role roleService.findByUserId(user.getId()); session.setAttribute(currentRole, role.getName());第二步在JSP頁面判斷角色決定是否顯示某個(gè)入口比如管理員才能看到“用戶管理”鏈接。但頁面判斷只能算展示層控制真正的控制要在Servlet入口做。6.2 驗(yàn)證方法用普通賬號(hào)試一次管理員頁面最簡(jiǎn)單可演示的權(quán)限控制是在管理員相關(guān)Servlet的doGet或doPost開頭加幾行HttpSession session request.getSession(); if (!admin.equals(session.getAttribute(currentRole))) { response.sendRedirect(request.getContextPath() /login.jsp); return; }這樣輸入普通賬號(hào)登錄后直接訪問管理員的Servlet地址會(huì)被彈回登錄頁瀏覽器地址欄也能看到變化。演示時(shí)先截一張普通賬號(hào)被攔截的圖再換成管理員賬號(hào)訪問成功就是這個(gè)功能最好的說明。如果需要更完整的攔截再考慮寫一個(gè)Filter統(tǒng)一檢查除login之外的路徑。我在第一次給類似項(xiàng)目加權(quán)限時(shí)把角色判斷直接塞進(jìn)了JSP頁面里結(jié)果別人改個(gè)頁面就能繞過。后來我強(qiáng)制要求所有權(quán)限校驗(yàn)都放在Servlet入口完成JSP只負(fù)責(zé)展示。從那以后我每次做Java Web數(shù)據(jù)庫項(xiàng)目的二次開發(fā)都會(huì)先畫一遍“請(qǐng)求從哪里進(jìn)、角色在哪里校驗(yàn)、失敗回哪里”的路徑圖再動(dòng)手。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
精品久久視頻在线| 精品综合久久久久久五月天| 五月天亚洲色图| 91精品国产91久久福利| 国产精品黄色三级av| 精品亚洲黄色片 国产精品导航一区二区| 久久久精品成人国产| 婷婷五月天在线观看| 91爱综合| 男人的天堂久久狠| 国产精品久久久久婷婷二区次| 欧美黄色手机在线观看| 大香蕉丝袜一级片| 亚洲色性情三级| 福利五区| 日韩欧美性爱电影在线观看| 日韩精品碰碰| 熟女精品一区二区三区| 日韩在线视频1234| 九九国产热| 亚洲人妻五月丁香婷婷| 3D污黄视频在线观看| 日日碰狠狠添天天爽超| 香港成人一级视频在线青青草| 亚洲人码13| 亚洲高清综合网| 人人看人人爰人人操| 亚洲一本大道中文字幕无码在线| 涩爱AV在线| 九九人妻| 自拍偷拍国产欧美日韩韩| 亚洲欧美日韩精品久久久一区二区| 开心五月婷婷| 超碰97玖玖爱| 国产精品久久久久久久久久久久久久吹| 日韩一级二级三级在线不卡观看完整| 91三级理论片播放器| 天天透伊人| 久久熟女久| 亚洲久久久| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 色九久| 亚洲无码太久| 天堂岛av| 人妻五十路在线| 黄片视频观看| 狠狠狠狠狠干| 国产人妻精品一区二区三区秋霞| 久久国产AⅤ| 强奸乱亚洲| 青青草精品| 日日骚精品视频| 探花视频免费观看国产专区| 久99| 超碰色美女| 一级日本牲交大片好爽在线看| 国产精品无码AV网站| 超碰 另类 欧美| 成人一二三区| 日韩乱伦视频| 综合干干干av久久久综合网| 久久久999| 欧美性生活综合| 中国黑人三级片网站上区| 国产日本顶级一区二区三区| 国产亚洲日本精品在线| 白丝1区2区3区| 91美女视频直播| 青娱乐久久艹| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 日韩性爱啪啪视频| 青青国产精品在线| 超碰人妻久久| 免费看毛片操穴| 午夜啊啊| 大香蕉九九| 后入式福利| 久操网视频| 久久偷拍人| 激情五月天中文字幕色| 97香焦色区| 欧美综合另类| 国产欧美美女免费观看视频| 日韩射精| 男人天堂.AB| 青青欧美| 人摸人人操人| 91男同| 嫩草影院性色| 亚洲好色人妻| 九月丁香综合网| 精品九九九九九九九九九| 天天干天天燥| 天天综合网AV91| 日婷婷| 97超碰免费人人性爱| 欧美一区二区三区互相| 天天综合网入口~91| 亚洲男人久久综合天堂| 色男人色天堂东京热| 岛国大片在线观看网站入口| 亚洲国产亚洲天堂| 长长久久88视频| 亚洲欧洲av影音| 天美传媒av 在线| 久夜视频| 女生自91网站| 约操熟妇| 91性网| 久久发布国产伦子伦精品| 天天操夜夜操| 91久久堂| 99热99色| 久久狠狠色噜噜狠狠狠狠97| 色大师网站www永久网站视频| 日本一区视频在线观看| 99久在线精品99re8| 婷婷激情五月| 亚洲不卡三级手机播放| 精品人妻1237| 亚洲国产麻豆一区二区三区| 国产又大又粗又长视频| 草草影院在线视频| 无码精品蜜桃一区二区三区ww| 亚洲欧美校园| 啪啪91| 97超碰碰| 操人妻逼91| 玖玖资源综合在线视频| 手机在线大香蕉| 中文字幕视频2区| 国产AV激情无码久久无码| 国内毛片四区| 亚洲欧美综合色| 欧美综合国产精品久久丁香| 亚洲丝袜二区在线| 日韩有码一区三区| 亚洲天堂人妻熟妇视频| 精品少妇高潮久久| 97干色天堂| 国产成人免费观看在线视频 | 中文字幕78| 亚洲欧美激情在线视频| 午夜舔阴达高潮视频免费看| 日夜尻逼网| 久jiu久神马影院| 亚洲色图欧美色图日韩色图| 日韩精品人妻一区二区| 亚州中文字幕超碰97| 亚洲成av人片色午夜乱码| 国产自制av蜜乳| 国产欧洲精品亚洲午夜拍精品| 久久久 国产精品| 国产精品不卡高清在线观看| 亚洲中文字幕久久无码精品| 亚洲欧美日韩有码| AA丁香综合激情| 亚洲?V无码专区在线电影| 欧美色老汉| 夜夜嗨AV蜜臀av| 强奸a片网| 亚洲欧洲无码bt精品合集| 福利天天都操| 精品欧美日韩在线观看| av操操不卡| 日本三级韩三级99久久| 中文字幕一区二区在线日韩精品| 欧美日韩在线小说 | 亚洲国产中文字幕| 久草资源欧美在线视频| 精品少妇后入一区二区三区四区人妻巨乳| 国产欧美日韩精品中文| 久久久久亚洲AV无码专区少妇| 九九九精品美女| 久久人人爽av亚洲精品天堂桃色| 亚洲日韩精品在线播放| 免费亚洲黄色视频在线观看| se吧提供国产乱老熟视频胖女人| 91久久青青草原精品| 久久精品无码不卡| 再深点灬舒服灬太大了好硬好爽| 91一区二区三区蜜桃| 97在线亚洲| 中文字幕在线2| 九一综合精品视品av| 久久精品一区二区三区不卡| 五月丁香综合啪啪| 亚洲av淫乱| 777AV电影| 无码高清少妇久久| 亚洲欧洲自拍| 色悠悠伊人网五月天| 超碰97导航| 欧洲精品人妻| 色色五月天婷婷| 国产第25页在线观看| 亚洲精品白浆高清久久久久久 | 免费精品国偷自产在线在线| 国产97亚洲| 亚洲av资源| 我爱操| 九九av| 殴美性色a级欧美| 乱伦日本色图AⅤ| 国产熟女完整版中字| 日本羞羞的视频在线播放| 日本一区不卡| 男女啪啪网站免费视频| 视频不卡中文字幕| 超碰色97| 欧美亚洲今日在线| 丁香九月婷婷| 久久双插| 加勒比在线观看一区二区| 呦呦影院| 日日噜噜夜夜狠狠视频无| 人人看人人爰人人操| 亚洲免费成人在线高清无码视频| 日韩操逼HD| 色天使亚洲综合在线观看| 亚洲国产ⅴ高清在线观看| 26uuu性| h无码动漫在线观看| www.av在线视频| 韩三级a视频在线观看| 爱妃国产亚洲视频中文字幕| 国产精品制服丝袜清纯唯美| 婷婷伊人綜合中文字幕| 日韩啪啪啪啪啪| 亚洲欲色9532548967一区| 久久久久骚| 国产欧美美女免费观看视频| 久久理论字幕视频| 性久久| 曰韩操B| 多乙久久久久久| 国产精品久久久久av| 五月天婷婷久久| 精品国产乱码久久久久A| 天天流夜夜操| 欧美色图成人网一区二区| 亚洲美欧999| 老女人碰碰在线碰碰视频| 国产高清在线自在拍69| 91综合熟女| 欧美裸体美女日麻屄| 先锋影音av先锋一区| A级在线视频| 国产毛片久久久久久久| 国产精品久久久久久无码红治院| 亚洲天堂AV在线播放| 午夜福利精品| AA丁香综合激情| 另类亚洲图色| 在线 欧美 亚洲| 天天综合色图| 人妻色偷色噜| 久久久无码av精| 超碰人人妻| 澳门人妻久久| 成人一级二级| 久久AV无码AV| 亚洲少妇综合在线播放| 天天看天天在线精品| 粉嫩粉嫩一区性色AV片| www.91色综合| 久久国产999| 啊啊啊无码| 久久久久亚洲av综合波多野制衣| 2020中文字幕| 岛国999| 中文字幕三四区| 操高情无码| 伊人天堂在线| 久久久少妇诱惑精品视频| 国内外内射高清视频| 成人5码视频| 97天天爽| 99精品九九九九九九| 少妇综合网| 天天视频综合在线观看视频| 四虎影库国产精品免费| 久久久久久无码人妻中文字幕| 日韩一级欧美一级国产一级台湾| 国产亚洲精品第一最新| 天天看特黄的免费网站| 一区二区乱码福利| 你想操日本小逼吗| 中文久久一区| 91bbb| 久久九九国产精品| 九一亚洲国产免费| 欧美1727免费观看视频| 久久精品成人一区二区三区蜜臀| 国产精品第一区第一页| 人妻少妇蜜桃视频欧美一区| 久久超碰天天| 欧美黑人精品在线播放| 美骚妇av高清在线| 探花视频免费观看国产专区| 国产少妇肉丝在线观看| 国产2.3.4区| 无码不卡八戒| 欧洲Au麻豆| 免费视频一二三区| 九九久久综合| 黄色av播放免不| 亚洲国产欧美一区二区潘金莲| 麻豆 欧美 日韩| 欧美日韩色| 国产成人免费观看在线视频| 91美女视频在线免费观看| av亚欧| 九九久久九九久久| 国产sv美女内射| 久久精品欧美一区二区三区不卡| 熟妇视频一区二区三区在线观看| 69国产对白刺激| 韩日精品四区| 日韩综合第八区国产精品| 国产精品一区午夜福利| 天天综合网1| AV一起草在线| 99国产精品久久久在线播放| www.亚洲成人一区| 亚洲诱惑| 天天摸夜夜添无码小视频| 蜜臀AV成人精品蜜臀AV久久| 欧美一区二区一级岛国大片| 99xav| 插入逼91| xxx亚洲午夜天堂| 大学生美女口爆| 欧美老熟另类| 色欲Av人妻精品一区二| 黄色高清久久无码依人| 人人 操人人 操人人| 中文字幕88av在线| 久草尤物| 久久一二三四五六七八九区区| 亚洲性爱成人| 精彩视频日韩| 日日操免费视频| 9精品在线| 欧美日本中字另类在线| 91成人久久| 在线观看综合精品亚洲| 久草精品在线| 婷婷久草一区二区三区| 国产午夜在线观看| 欧美精品另类人妖xxxx| 亚洲欧美在线观看无码| 日本东京热大香蕉a片| 亚洲伊人a线观看视频| 综合网97| 99色视频| 亚洲欧洲av影音| 亚洲一区二区 麻豆传媒| 91爆操视频| 欧美97色| 一区二区视频你懂的| 中文字幕黄色一起草| 另类综合另类| 精品久久久久av影院| www.久久超碰| 蜜桃久久久久久久| 91三级理论片播放器| 国产情色第一第二页在线观看| 亚洲综合精品国产一区| 欧洲人妻视频| 操操操操操操| 在线观看国产黄色| 亚洲人天堂| 330Dv国产女人终合视频极品人与兽 | 夜夜一区二区| av强奸乱轮| 精品视频一区二区| 成人女人国产| 免费观看啪视频| 国产毛片毛片4p懂色| 亚洲色图欧美色图制服诱惑| 99亚亚热| 白嫩国模丰满一二三区| 污色区网站| 国产青青综合伊人| 精品亚州18| 99成人| 久久人人爽爽人人爽人人片αV| 999国产精品999久久久久久| 国产不卡中文字幕免费avi| 欧美啪啪女女| 无码 黑人一区二区三区| 大逼色网站| 熟妇人妻一区二区三在线| 亚洲高潮少妇| 丰满人妻一区二区三区大胸懂色| 国产三级在线现体验区| 天天肏天天干| 2020中文字幕在线| 婷婷香网站| 极品丝袜无码| 97在线精品| 久久久久亚洲AV无码专区少妇| 日韩15p| 美女网站黄页| 老女人老91妇女老热女| 熟妇视频一区二区三区在线观看| 婷婷久久久| 强奸乱伦Av网| 日本一区视频在线观看| 亚洲?V高清一区二区三区尤物| 欧美亚洲清纯| 熟女精品一区二区在线观看| 亚洲三级网址久久最新| 天天综合精品| 2010男人的天堂| 国产超碰| 亚洲最大网站av| 嗯啊抽插大香蕉网页| 成年人黄色视频免费| 熟妇熟女一区二区三区| 少妇熟女一区二区三区| 校园春色 亚洲| 97超级色碰碰| 国产精品久久久久久久久久久久久久久久 | 91天天美女| 干B| 久久仑合| 第四色色综合91| 天天综合91| 久草精品在线| 日日骚av| 久久有码视频| 久久精品国产97欧美精品亚洲 | www.婷婷| 国产白丝精品在线观看| 91中出在线| 成人精品水蜜桃久久久久久久| 欧美日韩一干二干| 欧美青青视频| 亚州高清色综合| 欧美国产有色电影| 校园春色中文字幕AV| 都市激情人妻一区二区青青操视频| 成人日韩中文字幕| 超碰综合色| 一区二区视频你懂的| 欧美性爱网97| 9999九九九久久久| 色97综合中文字幕| 精品国产乱码久久久久久免费| 亚洲图片欧美另类综合免费视频大大香| 欧美日韩天堂| 日韩精彩视频| julia国产在线 | 国产日本久久免费精品| 91热爆在线| 五月丁香| 91视频观看网站| 97超久碰| 岛国不卡超碰护士AV在线播放| 国产99999久久精品| 综合97久久| 亚洲第一男人天堂| 欧美色就是色| 亚洲成aⅴ人片不卡无码| 99久久久无码精品国产人| 天天搞在线综合网| 国产一区二区视频在线播放| 亚洲黑丝在线| 老师充足的奶水小说| 很很很很操| 久超碰这里只有精品| 丰满人妻一区二区三区四区| 玖玖爱在线视频免费观看| 国产精品爽爽v| 欧亚在线视频| 97精品国产97久久久| 久草资源欧美在线视频| 亚洲国产精品久久久久婷婷老年| 久久亚洲一区女同性恋中文字幕| 日韩亚洲欧美中文字幕| 69少妇一区二区| 久久精品国产亚洲AV片多多| 九九热超碰| 青青草久久一区网| 情色五月天就去干| 91狠狠| 大香焦A片| 久久色情| 在线观看A啊啊啊| 爱丝福利| a片自拍直播视频| 中文字幕aⅴ在线视频| 五月天综合| 麻豆婷婷成人一二三| 中文字幕无码不卡啪啪| 校园春色综合网| 国产极品美女高潮无套在线观看| 天天日天天舔| 亚洲国产丝袜在线观看| 国产三级片在线观看| 国产日韩精品无码去免费专区国产| 午夜国产成人福利视频| 精品国产污一区二区三区| 毛片麻豆91糖心精品毛情片| 97操| www…国产操逼| 夜夜高潮夜夜爽| 91精品国| 色欲av一区二区三区蜜芽| 亚洲欧洲综合视频在线| 亚洲永久永久永久永久一级一级一级精品| 日本道人妻久久久在线不卡色视频| 污色区网站| 国内精品久久久久影院亚洲| 91伊人大香蕉| 天天看片青娱乐| 青青操综合网| 久久国产精品,久久国产| 久久婷婷一区| 亚洲最新中文字幕免费| 乱伦日本中文自拍| 五月婷婷激情综合| 亚洲熟女偷拍在线观看| 国产亚洲色停停久久99精品91| 久久这里只精品99re66图 | 国产9熟妇视频网站| 欧美日韩黄片精品在线| 久久人人妻| 国产精品97视频| 操逼不卡中文字幕| 躁躁日曰躁2020| 久久专区| 天天摸,夜夜摸| 亚洲图片偷拍欧美| 日韩人妻制服丝袜av| 青青草在线成人视频| 欧美性高潮在线| 日人妻视频91| 亚洲色丰满少妇高潮| yw尤物av无码点击进入麻豆| 天天欧美| 久久久999国产| 岛国在线一区二区三区| 大香蕉99热| 国产成年女黄特黄| 日本天天吊| 狠狠躁伊人中文字幕| 亚洲四虎熟女精品| 精品人妻伦一区二区三区久久| 免费日韩黄片| 啊啊啊啊啊好大好舒服想要| 超碰在线欧美性爱激情| 蜜桃久久久久久| 日日摸天天爽夜夜欢| 亚洲五月天激情| 日韩无码第3页| 久久东京国产精品视频| 国产三级中文字幕粉嫩| 亚洲国产高清福利视频| 久久精品高清无码一区| 人妻系列无码专区中文有码| 日日日骚女人精品| 一区二区影院| 中文字幕欧美日本乱码一线二线| 日韩人妻播放| 十八禁电影伊人网| 日本亚洲熟女视频| 九九九国产精品| 人人扣人人操| 欧美色图第一页| 天天色综合图片| 激情色图| 日本97久久久精品| 午夜超爽| 2019亚洲男人天堂| 久久亚洲av成人无码国产| 色狠狠一区二区三区香蕉| 日本99久久| 国产97亚洲| 老熟女91av| 日韩免费高清大片在线| 欧洲与亚洲欧美精品中文字幕| 99久久久无码精品国产人| 白 大 人妻 区 在线| 在线看的av| 另类视频在线| 日本韩欧美在线播放a| 日日躁狠狠躁天天躁精品| 超碰人妻在线| 天天影视亚洲| 综合网~91综合网| 久久精品中文字幕无码l| 亚洲交换| 亚州少妇| 国产又黄又爽又刺激久久久久久| 欧美大片天天看| 操逼片中文| 欧美自拍网| 久久国产精品一级二级三级| 日韩成人私密一级精品av| 夜草欧美| 日本福利二区视频| 极品销魂美女一区二区 | 久久久久久网址| 亚洲 欧美 另类 日韩 人妻一区| 成人免费在线网站| 综合久久9| 九一精品牛牛一区二区| 欧美一区二区三区日韩| 亚洲精品97| 欧美青青视频| 九九热精品在线| 人妻偷拍一区二区三区| 性色高清..……| 99国产精品人妻人伦| 精品国产一区二区三区香蕉欧美| 大色网久久| 精品无吗久久| 丰满人妻av一区二区三区| 国产强奸乱伦第1页| 亚洲欧洲无码一区夜| 婷婷五月丁香五月| 国产人妖的免费的视频| 一区二区视频在看| 日本东京热大香蕉a片| 操碰91| 大香蕉视频一二三区| 大香蕉中文网| 97在线青| www.欧精品| 91在线精品| 国产91亚洲精品一区二区三区| 乱色老一区二区三区的观看方式| 91精品电影18| 无码抄逼网| 日韩有码 一区二区三区| 国产精品禁久久久精品| 97精品第3页| 人妻激情偷乱视频一区二区三区 | 婷婷丁香六月| 太久视频| 日本αv| 啊啊啊啊嗯嗯在线久久久| 青青草大香蕉在线视频| 亚洲欧美大| 手机在线看片免费人成视频| 黄片免费视频2019| 在线不欧美| 国产91丝袜在线播放蜜月| 91美乳| 大香蕉亚洲中文| 亚洲中文字母在线播放| 第四色奇米影视777| 丝袜美腿av女优在线| 夜夜国自区| 青娱乐手机日韩在线视频| 97网址www| www.久久| 韩国一级婬片A片AAAAA| 国产黄片在线免费观看| AV乱伦专区| 天天综合~91| 校园激情狠狠四射| 亚洲图片欧美另类综合免费视频大大香| 少妇同性| 成 人 影视 一区 二区 三区 四区 | 丁香六月天| 果冻国产精品麻豆成人av| 韩三级a视频在线观看| 国内外内射高清视频| 9I1性色影院| 国产精品69久久久久久久| 韩国国产欧美情侣视频在线| 欧美色997| 日本免费一区二| 女色视频社区| 操少妇很爽av| 国产免费一区二区三区最新不卡| 丁香五月性| 操美女高潮抽搐白浆| 欧美成人黄网色网站| 精品久久久久av影院| 天堂а√在线最新版在线| 最新av中文字幕高清| 夜夜草天天| 人人操人人插 - 百度 - 百度| av网站免费看| 成人线上超碰| 蜜臀一区二区三区在线| 欧差乱伦二三| 综合亚洲欧美精品日韩?v| 欧洲在线性爱视频| 青娱乐福利99| 囯戸精品高潮呻吟旡码| 国产探花日韩援交| 精品九九国产无码| 国产av又色又爽又黄| 欧美性爱日韩性爱| 久久精品国产亚洲AV嘿嘿| 伊人网综合在线视频| 亚洲最新中文字幕免费| 欧美一区二区观看在线| 凸凹视频在线观看| 亚洲欧美中文日韩视频中国语| 在线视频日韩欧美国产| 婷婷五月av| 日日日日日| 九九热九九热| 91天天综合网,天天综合网| 欧美白嫩女HD| 风骚少妇视频中文字幕| 青青草五月份天| 国产又粗又长的视频| 风韵犹存大大大大香蕉| 性猛交| 白丝被操91| 超碰在线观看av不卡| 成年人性爱日韩| 99热最新| 厕所偷拍在线| 亚州中文字幕超碰97| 麻豆a'v电影| 日韩欧视频| 绯色一区二区三区不卡少妇| 国产多人在线观看视频| 久久三| 69精品人人人人| 一区二区三区 丝袜 高跟 美腿| 成人日本精品九区| 四虎在线观看网站| 97视频播放| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 人人操人人干网页| 亚卅熟女乱色| 熟女丰满人妻一区| 99只有精品| 97ai亚洲| 亚洲97成人在线观看| 加勒比久久av| 搡老女人老熟女91老熟女综合网| 美女裸体无遮挡永久免费观看网站| 18禁精品网站在线看| 综合色色网| 第四色色综合91| 国产精品乱码久久久、久久| 熟女人妻一区二区三区| 岛国激情视频软件| 99色在线| 中文字幕十五区| 欧美日韩人妻精品系列一区二区三区| 国产成年女黄特黄| 亚洲无码?第一页| 亚洲人成网www| 日韩精品作爱导航| 欧美中文综合| 91足交| 九九精品美女高溯喷水 | 国产精品美女视频诱惑| 少妇干B| 性色avv| yazhouzaixian| 久久久久久网址| 蜜乳AV色欲AVAV无码| 亚州成人a∨| 91精品国| 中文日本免费高清| 久久香蕉国产传媒一区剧情天美| 91路www| 久久精品熟女亚洲AV麻豆软件| www国产天美久久久| 欧美老熟另类| 天天久久久久久| 欧美性生活免费网| 人妻碰碰碰碰碰碰| 中文字幕国产| 综合久久久久久久综合网| 亚洲图片 91| 黄站在线免费观看| 精品国产91av一区二区三区| 国产成人亚洲精品自产在线| 日韩欧美蜜桃精品久久中文字幕久久| 免费家庭乱伦视频| 国产999精品久久久久久| 黄色十八禁| 蜜乳AV免费观看| 日韩天美| 偷偷人人精品女女久久| 亚洲αv一区二区三区| 九九热超碰97亚洲最新香蕉| 啊啊啊啊好爽好舒服一区二区易域| 秋霞蝌科网日本一区| 磁力99AV| a级免费在线观看| 五月激情综合网| 91久久久久| 亚洲第一黄色av网站 | 精品高清av中文字幕| 亚洲色天堂日韩中| 久久东京热成人| 人妻中文字幕日韩电影| 先锋音影AV| 视频一区二区三区精品| 超AV色女| 欧美AB在线| 91操人| 天天操天天干美女网址导航| 少妇xx精品| 91爰爱欧美| 国产乱伦亚洲色图高清无码| 射丝袜高跟鞋99| 成人久久久| 伊人网av| 97美日韩视频| 色色激情五月天| 就去色综合| 伊人久久大香大香线蕉中文| 亚洲s色图| 一,爱啪啪,在线免费视频| 噜噜噜久久亚洲精品色情| 91人精品妻入口| 精品美女在线视频| 日韩熟女无码| 欧美丝袜激情| 国产无马在线| 一区 欧美 日韩 麻豆| 高清国产精品福利网站| 伊人五月天青青草婷婷| 最新亚洲黄色免费电影| 不卡人妻少妇精品毛片一区23区视频| 人妻三级在线中文字幕| 少妇国产不卡| 亚州熟女乱伦| 午夜天堂精品久久| 亚洲国产av中文字幕久久| 九九拍拍精品视频在线播放| 亚洲啪AⅤ永久无码| 东京热精品97综合网| 欧美一级久久久久久久大片动画| 夜夜操一区二区| 美女操逼福利视频| 亚洲国产精品久久久久婷婷老年| 亚洲精品亚洲人成在线麻豆| 毛片99-全集电影手机免费观看完整-B029AV | 熟女熟妇一区二区三区视频| 日本在线激情一区二区三区| 91精品导航| 另类综合另类| 一级做a爰片性色毛片久久| 狠狠干精品一二三四五六2022| 亚洲图片色图欧美另类| 91无码人妻| 三级片网站在线播放| 风韵犹存大大大大香蕉 | 四虎影视永久在线观看精品免费网站| 99久久久无码国产精品性男| 欲香欲色综合天天伊人| 老色69| 久久精品国产AV一区二区三区| 久偷拍欧美日韩三区| 日韩精品在线观看网站| 日韩欧美女求操每天更新| 日韩pv中文| 一级特黄aaa大片在线观看成人一级片在线观看 | 18禁的网站在线| 色九九久九九| 麻豆蜜桃视频在线观看| 秋霞网—男女啪啪亚洲免费体验区 | 黑人精品XXX一区一二区| 亚洲成人妻日韩在线| 亚洲精品乱码久久久久久蜜桃麻豆| 免费视频观看60秒| 亚洲城人男人的天堂| 亚洲人妻在线一区| 色原狠狠天天天| 久久9 9 9精品| 色官网色综合| JuliaAnnXXX888| 亚洲 中文 女同| 超碰在线香蕉| 黄色工厂这里只有精品| 超碰97男人| 777奇米影视777四色| 色网色网色网色网色网色| 九九九九九用不成了| 亚洲AV无码乱码在线观看性色| 欧美96精品在线| 密臀AV在线| 色五月激情网| 亚洲av无码国产精品字幕| 久久影视二区三区行押| 大香蕉手机在线视频| 亚洲精品天堂久久A∨51成人漫| 五月丁香影视| 国产亚洲欧美每日在线| 91N综合网| 密臀AV在线| 亚洲人妻av| 天天躁日日躁AAAAXXXX国产 | 国际精品久久久| 啊啊啊97视频| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 欧美激情高清性猛交| 夜夜騷av、一區二區| 国产欧美一区激情交| 91成人高清在线观看| 99re视频在线播放青草| 欧美日韩青操| AV天堂丝袜| 欧美性爱系列| 亚洲精品乱码线路中文字幕 | 亚洲欧美综合区自拍另类| 超碰美国| 91亚洲狠狠色| 五月天久久婷婷亚洲 | 天天操天天射青青草| 人妻99p| 亚洲无码国产精品久久| 91亚洲人| 1204人成网站色www| 久久神马影院| 久久久影院| 97色色婷婷| 黄色区免费观看中文字幕| 国产91福利小视频在线观看| 天天夜夜rb| 亚州欧美综合| 美欧老女人97| 人妻日日夜夜精品| 六月婷婷综合| 多乙久久久久久| 国产一级内射无挡观看| 久久AV无码AV| 午夜一区| 欧洲自拍第一页| 色娱乐色呦呦夜夜夜夜av| 精品久久在线区一区| 亚洲综合五月天| 操比国产| av在线一区二区三区| 日B操| 欧美中出| 亚洲色图欧洲| 中文不卡视频| 人妻丰满熟妇av无码区蜜桃| 美女黄码视频午夜| 91网站18在线| 日本精品88888888| 熟妇熟女亚洲天堂网| 精品久久99| 岛园激情| 国产AV无码AV| 国产精品欧美日韩久久| 黄色av网站在线播放| 97超碰磁| 2018天天日天天日| 青娱乐国产剧情av一区| 91视频在线观看18| 好吊色青靑草| 精品国产乱子伦一区二区三区,精品一| 老熟妇一区二区三区| 精品一二三区女同| 狠色婷婷久久一区二区三区_| 国产偷仑| 好看的91视频| 亚洲丝袜天堂| 午夜天堂精品久久| 日日夜夜骚| 宗合情欲网| 青青草亚洲一区| 国产av青草| 中文字幕片| 极品内射| 都市激情人妻一区二区青青操视频 | 人人干人人操人人..com| 国产99久久99热这里只有精品15| 秋霞无码av鲁丝片一区| 成人免费在线网站| 中文字幕精品资源在线| 日本在线视频导航| 大香蕉520| 日韩精品区二区三区不卡| 欧美色棕合| 99自拍B亚洲| 婷婷情色五月天| 亚洲精品蜜桃久久久久久久| 粉嫩久久久久| 日本高清一本二本免费不卡| 亚洲日韩狠狠撸视频| 91美女片在线| 夜夜嗨视频| 亚洲国产成人精品久久久国产成人一区二区| 99久久国产精品免费高潮| 国产精品盗摄 偷窥盗摄| 波多野结衣一级视频| 欧美日韩 强奸乱伦| 日韩性爱播放| 麻豆久久久一区二区| 超AV色女| 人妻在线大香蕉| 午夜AV污污污| 竹菊一区二区三区AV线| 夜夜爽夜夜操| 日韩特级毛片免费观看全集| Av手机版天堂网| 美女国产一区二区久久 | 国产人妻一区二区三区欧美毛片| 欧美综合 站| 欧洲一区二区| 97免费在线视频| 正在播放国产精品一区| 亚洲午夜福利视频| 精品国产乱码久久久久久久久1| av在线人气 | 国产v亚洲v日韩v欧美v片另类| 国产亚洲精品精AV.| 日韩AV无码中文一区二区| 91人妻人人澡人人爽人人精品| 欧美组图日韩亚洲中文字幕| 超碰人人操97碰| 日本午夜久久电影| 久久久久久久少妇| 亚洲人久久久网| 国产精品农村妇女| 天天日天天干天天色| 国产一区二区在线电影| 天天91~综合入口| 亚州色国| 啊啊啊啊免费视频| 98人妻精品一区二区色欲| 在线观看AV片| 女人的久久久| 久久一本大香蕉 | 欧美激情在线观看视频| 大二网站亚洲| 天天精品| 日本免费不卡二区| 免费99精品国产自在在线| 少妇久久久久久久久| 欧美,日韩综合久久| 伊人五月天| 国产日韩人人| 国产精品久久久久久久久久久久久久吹 | 91女优在线观看| 思思热一热婷婷热一热| 国产精品第一页国产大屁股视频免费区| 欧美黄色片在线播放| 色99视频| 97超级欧美| 欧美 色 亚洲| 99国产在线 精品 视频| av天堂影视中文在字幕在线中文 | 97超碰欧美手机| 插穴性爱视频在线观看| 国产乱码久久| 欧美偷拍| 日本视频一区二区三区| 91亚洲不卡一区| 97色欧洲| 国产精品久久久久久无码红治院| 欧美亚洲玖玖玖| 国产AB视频| 人人干黄色| 91麻豆天美国产欧美日| 欧美日韩97在线| 级做a爱无码性色永久免费| 亚洲色婷婷| 久久视频,这里只有精品| 精品国模无码| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 在线岛| 热天堂一区二区| 啊啊啊好大好深| 人妻日日干| 欧亚日韩三区| 国产精品人妻无码久久久互動交流| 国产精品视频精品一二| 新视频sss国产| 亚洲日韩精品久久久久一区壹牛| 桃色五月天| 国产中文字幕在线观看| 91碰超| 国产精品色哟哟| 成人线上超碰| 亚洲熟妇自偷自拍另欧美| 91色插| 99国产女人| 国产一区二区视频在线播放| 国产五码丝袜屁眼| 国产高清午夜成人在线观看| 欧美亚洲日韩人妻在线观看| 天堂av最新电影网| 国产精品成人福利在线| 97色色国产视频| 无遮挡男女激烈动态图| 韩国一区二区精品亚洲| 91精品导航| www.91久久| 亚洲人精品久久久| 中文字幕亚韩| 超碰97亚洲区| 黄色AAAAAAAAAAA大片| 精久久久91| 一级做a爰片性色毛片久久| 麻豆蜜桃视频在线观看| 激情一区二区| 天天做天天爱天天高潮| 校园春色 亚洲| 国产在线精品偷| 热热色AV| 操逼网站视频漫画国产| 日韩大香蕉精品在线视频| 国产91啪| 九九九精品一区二区无码| 国产精品亚洲天堂网址| 秋霞一区二区三区四区五区六区七区| 97精品一区二区视频| 无码一区二区三区四区五区六区七区八区九区十区视频 | 亚洲激情天堂网| 亚洲图片日本AⅤ欧美在线| 99九九久久| 懂色中文一区二区三区| 九九拍拍精品视频在线播放| 性色av大全| 99RE在线视频精品,这里只有精品| www.99色| 狠综合网| 特级毛片特黄久久免费看 | a片自拍直播视频| 天天综合影院91| 蜜乳AV.COM| 久久久久9| 婷婷视频在线免费观看| 欧美成人精品一区二区男人蜜臀| 欧美丝袜制服久久| 大香蕉日亚洲日本亚大| 久久亚洲一区二区色婷婷| 欧美综合区| 易易A毛视频| 麻豆天美国美国产| 亚洲一区中文精品| 噜噜噜久久亚洲精品色情| 亚洲人妻中文高清| KK色在线影院| 日本福利社| 9色国产精品一区粉嫩| 青青草日本中文字幕| 日韩一级特黄av毛片| 欧美线天码中字| 精品视频久久久久九九九九9999 | 亚洲制服欧美另类内射| 超碰97伊人| 国产精品对白内射| 涩涩这里只有精品视频| 另类欧美| 嗯啊不要啊在线 | 日本二三四区| 91丝袜美女| 视频黄色国产一级|