色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

Java Web學生成績管理系統(tǒng)實戰(zhàn):JSP+Servlet+MySQL全解析

Java Web學生成績管理系統(tǒng)實戰(zhàn):JSP+Servlet+MySQL全解析 簡介在Web開發(fā)學習路徑中理解底層原理往往比直接使用框架更為關(guān)鍵。JSP作為Servlet的模板化擴展本質(zhì)是在服務端動態(tài)生成HTML配合Servlet處理請求分發(fā)、JDBC操作數(shù)據(jù)庫形成了一套完整且透明的請求-響應鏈路。這種經(jīng)典組合能清晰展示HTTP會話管理、用戶鑒權(quán)、SQL查詢與數(shù)據(jù)渲染的每個環(huán)節(jié)非常適合課程設計、畢業(yè)設計及初學者練手。從數(shù)據(jù)庫表結(jié)構(gòu)設計、連接池配置到登錄過濾器的實現(xiàn)再到成績統(tǒng)計的聚合查詢與防重復提交的冪等處理每一步都承載著Web工程的核心實踐。無論是構(gòu)建學生信息管理系統(tǒng)還是其他業(yè)務后臺掌握JSPServletMySQL這套技術(shù)棧都能為后續(xù)學習Spring Boot等高級框架打下堅實基礎。本文以一個學生成績綜合管理系統(tǒng)為藍本完整拆解了從需求分析到故障排查的全過程幫助你快速搭建一個穩(wěn)定可演示的Java Web項目。 做課程設計或者畢業(yè)設計的同學大概率繞不開“學生成績管理系統(tǒng)”這類題目尤其是當題目里明明白白寫著 JavaJSP MySQL 的時候。我身邊不少人一看到 JSP 就皺眉覺得這技術(shù)“老掉牙”了但說句實在話對于學習階段的項目、答辯演示、以及理解 Web 開發(fā)的核心鏈路來說JSP Servlet MySQL 這套組合反而是最透明的每一步請求怎么走、數(shù)據(jù)怎么查、頁面怎么渲染你都能看得一清二楚沒有任何黑盒。這個項目雖然掛著“教學系統(tǒng)”的名字但它其實覆蓋了 Web 項目開發(fā)從零到一的全部關(guān)鍵點——數(shù)據(jù)庫設計、JDBC 操作、Servlet 控制層、JSP 展示層、登錄鑒權(quán)、增刪改查、統(tǒng)計報表一個都不少。學生成績綜合管理系統(tǒng)最適合用來打通 Web 開發(fā)任督二脈也適合那些需要快速交付一個穩(wěn)定可演示系統(tǒng)的同學。這篇文章我就以這個項目為藍本把我實際開發(fā)過程中踩過的坑、優(yōu)化過的細節(jié)、以及那些學校文檔里不會寫的東西全部拆開來講。無論你是要用它當課程設計還是想自己動手做一個完整項目練手都能直接照著做。1. 項目整體設計與需求拆解1.1 技術(shù)選型背后的邏輯為什么 JSP 仍然是練手的最佳選擇先回答一個大家都會問的問題現(xiàn)在企業(yè)里都用 Spring Boot Vue 了為什么還要用 JSP我的看法是學習階段的重點不是“用最新的框架”而是“理解原理”。JSP 的本質(zhì)是 Servlet它在服務端把 Java 代碼和 HTML 模板揉在一起然后編譯成 Servlet 執(zhí)行。用 JSP 做項目你被迫去理解 HTTP 請求是怎么到達服務器的、Session 是怎么維持登錄狀態(tài)的、JDBC 是怎么把數(shù)據(jù)庫記錄變成 Java 對象的。這些底層概念換了 Spring Boot 也一樣重要只是框架幫你藏起來了。這個項目我采用的是經(jīng)典的 JSP Servlet JavaBean 三層結(jié)構(gòu)JSP 層負責頁面展示和表單收集比如登錄頁、學生列表頁、成績錄入頁Servlet 層負責接收請求、調(diào)用業(yè)務邏輯、跳轉(zhuǎn)頁面相當于路由器JavaBean / DAO 層負責封裝數(shù)據(jù)和操作數(shù)據(jù)庫JDBC 的代碼都寫在這一層。MySQL 作為數(shù)據(jù)庫是這套組合里最沒有爭議的選擇。MySQL 社區(qū)版免費、安裝方便、SQL 語法標準而且市面上教程極多遇到任何問題基本一搜就有答案。對于一個成績管理系統(tǒng)它的數(shù)據(jù)量級在幾千到幾萬條記錄MySQL 的性能綽綽有余。1.2 功能模塊劃分一個“綜合管理系統(tǒng)”到底要管什么“綜合”兩個字是這個項目的題眼。它不只是簡單的成績錄入而是把學生、教師、課程、成績、用戶權(quán)限全部串起來。我按照角色的視角把功能拆成四塊模塊主要功能涉及角色系統(tǒng)登錄用戶名密碼驗證、Session 管理、退出登錄管理員/教師/學生學生管理學號、姓名、班級、院系的新增/修改/刪除/查詢管理員課程管理課程編號、課程名、學分、授課教師的新增/修改/刪除管理員/教師成績管理成績錄入、修改、審核、按課程/班級/個人查詢教師/管理員統(tǒng)計報表平均分、最高分、最低分、及格率、分數(shù)段分布全部角色不同角色的權(quán)限差異很關(guān)鍵。學生登錄后只能看到自己的成績不能看到別人的教師登錄后能錄入和修改自己授課課程的成績但不能改其他課程管理員擁有全部權(quán)限。這個權(quán)限控制如果用 Spring Security 做配置一大堆反而看不明白用 Session Filter 手動實現(xiàn)你能清楚知道每一個受保護頁面的訪問是經(jīng)過怎樣的校驗這種“笨辦法”對學習反而更友好。1.3 頁面流程設計從登錄到報表的完整鏈路我建議你先把整個系統(tǒng)的頁面跳轉(zhuǎn)圖畫出來再動手寫代碼。這個系統(tǒng)的核心鏈路是打開登錄頁 index.jsp → 提交表單到 LoginServlet → 查詢用戶表驗證身份 → 查詢角色類型 → 跳轉(zhuǎn)對應主頁admin.jsp / teacher.jsp / student.jsp→ 在主頁點“成績管理”進入 ScoreListServlet → JSP 列表頁展示 → 點“錄入”進入 ScoreAddServlet → 錄入成功返回列表頁。這個鏈路每一步都有對應的文件寫完以后你會對“請求-處理-響應”這套模型有非常具象的理解。我見過太多人上來就寫代碼結(jié)果寫到一半發(fā)現(xiàn)缺了一張表、少了一個 Servlet再回頭改數(shù)據(jù)庫非常痛苦。先把流程圖畫清楚后面寫代碼只需要照著填。2. 數(shù)據(jù)庫設計與核心細節(jié)2.1 五張核心表結(jié)構(gòu)設計數(shù)據(jù)庫設計是這個項目的重中之重。很多人建表很隨意導致后面寫 SQL 的時候各種別扭。我的建議是最少建五張表t_user用戶表、t_student學生表、t_teacher教師表、t_course課程表、t_score成績表。先看建表 SQL這是我從實際項目中抽取的簡化版本字段講求實用CREATE DATABASE IF NOT EXISTS student_score_db DEFAULT CHARACTER SET utf8mb4; USE student_score_db; -- 用戶表存登錄賬號密碼和角色 CREATE TABLE t_user ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL UNIQUE, password VARCHAR(100) NOT NULL, role VARCHAR(20) NOT NULL COMMENT ADMIN/TEACHER/STUDENT, ref_id INT COMMENT 關(guān)聯(lián)學生表或教師表的主鍵學生和教師登錄用 ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; -- 學生表 CREATE TABLE t_student ( id INT PRIMARY KEY AUTO_INCREMENT, student_no VARCHAR(20) NOT NULL UNIQUE COMMENT 學號, name VARCHAR(50) NOT NULL, gender VARCHAR(10), class_name VARCHAR(50), major VARCHAR(50), enroll_year VARCHAR(10) COMMENT 入學年份 ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; -- 教師表 CREATE TABLE t_teacher ( id INT PRIMARY KEY AUTO_INCREMENT, teacher_no VARCHAR(20) NOT NULL UNIQUE COMMENT 工號, name VARCHAR(50) NOT NULL, title VARCHAR(30) COMMENT 職稱, department VARCHAR(50) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; -- 課程表 CREATE TABLE t_course ( id INT PRIMARY KEY AUTO_INCREMENT, course_no VARCHAR(20) NOT NULL UNIQUE, course_name VARCHAR(100) NOT NULL, credit DECIMAL(3,1) DEFAULT 2.0 COMMENT 學分, teacher_id INT COMMENT 授課教師ID ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; -- 成績表 CREATE TABLE t_score ( id INT PRIMARY KEY AUTO_INCREMENT, student_id INT NOT NULL, course_id INT NOT NULL, score DECIMAL(5,2) COMMENT 成績, semester VARCHAR(20) COMMENT 學期如 2025-2026-1, exam_type VARCHAR(20) DEFAULT 期終 COMMENT 考試類型, update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, UNIQUE KEY uk_student_course (student_id, course_id, semester, exam_type) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;這里幾個設計意圖說一下。t_user 表單獨拆出來而不是在學生表和教師表里直接加 username 和 password是為了讓登錄邏輯統(tǒng)一不管什么角色都從 t_user 查查到了再根據(jù) role 去對應表拿詳細信息。ref_id 字段記錄關(guān)聯(lián)的學生或教師主鍵這樣登錄后可以方便地拿到個人信息。t_score 表中我加了一個聯(lián)合唯一鍵uk_student_course (student_id, course_id, semester, exam_type)這非常關(guān)鍵。它的作用是防止同一個學生在同一學期同一門課被重復錄入成績。如果沒有這個約束程序里忘記判斷數(shù)據(jù)庫就可能出現(xiàn)兩條一模一樣的成績記錄統(tǒng)計平均分的時候直接翻車。2.2 外鍵、索引與存儲引擎的選擇關(guān)于外鍵我的建議是在表結(jié)構(gòu)上不加物理外鍵而是使用邏輯關(guān)聯(lián)。這個項目里 t_score.student_id 邏輯上引用 t_student.idt_score.course_id 引用 t_course.id但我不建FOREIGN KEY約束。原因很簡單物理外鍵在刪除數(shù)據(jù)時會有各種限制比如你想刪除一個學生如果他在成績表里有記錄外鍵會阻止刪除或者需要先刪成績這在課程設計答辯演示時非常不靈活。我自己在開發(fā)中更多的做法是在應用層保證數(shù)據(jù)一致性刪除前先查一下有沒有關(guān)聯(lián)數(shù)據(jù)。物理外鍵適合數(shù)據(jù)完整性要求極高、刪除操作極少的生產(chǎn)系統(tǒng)但不適合這種交互頻繁的教學項目。索引方面除了唯一索引我給 t_score 表的 course_id 加了普通索引因為“按課程統(tǒng)計成績”是最常見的查詢ALTER TABLE t_score ADD INDEX idx_course (course_id);2.3 字符集與時區(qū)連接 MySQL 最容易踩的坑建庫的時候定了 utf8mb4連接的時候也得對應上。utf8mb4 和 utf8 的區(qū)別是前者支持 Emoji 表情和生僻字現(xiàn)在建庫無腦用 utf8mb4 就行。JDBC 連接串里要明確指定參數(shù)jdbc:mysql://localhost:3306/student_score_db?useUnicodetruecharacterEncodingutf8mb4serverTimezoneAsia/ShanghaiuseUnicodetruecharacterEncodingutf8mb4是告訴驅(qū)動用 UTF-8 編碼傳輸數(shù)據(jù)serverTimezoneAsia/Shanghai是針對 MySQL 8.x 的時區(qū)設置。如果不加 serverTimezone經(jīng)常會報The server time zone value ?D1ú±ê×?ê±?? is unrecognized這種亂碼報錯。這個我后面在常見問題里再詳細展開。3. 核心代碼實現(xiàn)與實操3.1 項目目錄結(jié)構(gòu)Java Web 項目的經(jīng)典布局用 IDEA 2019 及以上版本創(chuàng)建一個 Web 項目項目的目錄結(jié)構(gòu)長這樣StudentScoreSystem/ ├── src/ │ └── com/score/ │ ├── dao/ │ │ ├── UserDao.java │ │ ├── StudentDao.java │ │ ├── TeacherDao.java │ │ ├── CourseDao.java │ │ └── ScoreDao.java │ ├── entity/ │ │ ├── User.java │ │ ├── Student.java │ │ ├── Teacher.java │ │ ├── Course.java │ │ └── Score.java │ ├── servlet/ │ │ ├── LoginServlet.java │ │ ├── LogoutServlet.java │ │ ├── StudentServlet.java │ │ ├── CourseServlet.java │ │ ├── ScoreQueryServlet.java │ │ └── ScoreAddServlet.java │ └── util/ │ └── DBUtil.java ├── web/ │ ├── index.jsp │ ├── admin/ │ │ ├── admin_home.jsp │ │ ├── student_list.jsp │ │ └── course_list.jsp │ ├── teacher/ │ │ └── teacher_home.jsp │ ├── student/ │ │ └── student_home.jsp │ └── WEB-INF/ │ ├── web.xml │ └── lib/ │ └── mysql-connector-java-8.0.30.jarentity 包里的類就是 JavaBean字段和數(shù)據(jù)庫表一一對應dao 包里的類負責 JDBC 操作servlet 包接收請求調(diào)用 dao再把結(jié)果塞進 request 或 session最后 forward 或 redirect 到 JSP 頁面。分包清晰的好處是后期改了表結(jié)構(gòu)你只需要改 entity 和 daocontrol 層和視圖層基本不用動。3.2 JDBC 連接工具類 DBUtil寫一次到處用JDBC 連接的代碼很固定我把它封裝成一個工具類。這里注意一點連接信息用配置文件管理不要硬編碼在 Java 代碼里。我在 src 目錄下放一個 db.propertiesjdbc.drivercom.mysql.cj.jdbc.Driver jdbc.urljdbc:mysql://localhost:3306/student_score_db?useUnicodetruecharacterEncodingutf8mb4serverTimezoneAsia/Shanghai jdbc.usernameroot jdbc.password123456然后 DBUtil 讀取這個配置文件package com.score.util; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; public class DBUtil { private static String driver; private static String url; private static String username; private static String password; static { try { InputStream in DBUtil.class.getClassLoader().getResourceAsStream(db.properties); Properties props new Properties(); props.load(in); driver props.getProperty(jdbc.driver); url props.getProperty(jdbc.url); username props.getProperty(jdbc.username); password props.getProperty(jdbc.password); Class.forName(driver); } catch (Exception e) { e.printStackTrace(); } } public static Connection getConnection() throws SQLException { return DriverManager.getConnection(url, username, password); } public static void close(ResultSet rs, Statement stmt, Connection conn) { try { if (rs ! null) rs.close(); } catch (SQLException e) { e.printStackTrace(); } try { if (stmt ! null) stmt.close(); } catch (SQLException e) { e.printStackTrace(); } try { if (conn ! null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } }Class.forName(driver)這行代碼如果你用的是 MySQL 8.x 驅(qū)動com.mysql.cj.jdbc.Driver必須要寫MySQL 5.x 的驅(qū)動是 com.mysql.jdbc.Driver不要混。很多同學報ClassNotFoundException就是驅(qū)動類路徑寫錯或者 jar 包沒放到 WEB-INF/lib 下。注意關(guān)資源的順序是 ResultSet → Statement → Connection先開后關(guān)。我見過有人只關(guān)了 Connection不關(guān) Statement 和 ResultSet短時間看不出問題但連接池一緊張就會報連接泄漏。3.3 登錄鑒權(quán)與 Session 管理別把密碼明文存數(shù)據(jù)庫登錄功能是整個系統(tǒng)的門面也是過濾器邏輯的核心。先看 LoginServlet 的核心邏輯package com.score.servlet; import com.score.dao.UserDao; import com.score.entity.User; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.*; import java.io.IOException; WebServlet(/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); UserDao userDao new UserDao(); User user userDao.findByUsernameAndPassword(username, password); if (user ! null) { HttpSession session request.getSession(); session.setAttribute(loginUser, user); session.setMaxInactiveInterval(30 * 60); // 30分鐘無操作自動過期 if (ADMIN.equals(user.getRole())) { response.sendRedirect(request.getContextPath() /admin/admin_home.jsp); } else if (TEACHER.equals(user.getRole())) { response.sendRedirect(request.getContextPath() /teacher/teacher_home.jsp); } else { response.sendRedirect(request.getContextPath() /student/student_home.jsp); } } else { request.setAttribute(msg, 用戶名或密碼錯誤); request.getRequestDispatcher(/index.jsp).forward(request, response); } } }密碼存儲這里我多說兩句。課程設計里很多人直接明文存密碼圖省事但我覺得做項目還是要有基本的安全意識。正確做法是存 MD5 或 SHA-256 的哈希值甚至加鹽。舉一個簡單實現(xiàn)用戶注冊時用DigestUtils.md5Hex(password salt)存進去登錄校驗時把輸入密碼做同樣的哈希再比對。JDK 自帶 MessageDigest不需要引額外依賴import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Util { public static String md5(String source) { try { MessageDigest md MessageDigest.getInstance(MD5); byte[] bytes md.digest(source.getBytes(UTF-8)); StringBuilder sb new StringBuilder(); for (byte b : bytes) { String hex Integer.toHexString(b 0xff); if (hex.length() 1) sb.append(0); sb.append(hex); } return sb.toString(); } catch (Exception e) { throw new RuntimeException(e); } } }登錄之后怎么保護頁面用 Filter 是最標準的做法。LoginFilter 攔截所有 /admin/、/teacher/、/student/* 的請求檢查 session 里有沒有 loginUser沒有就跳回登錄頁package com.score.filter; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; WebFilter(/admin/*) public class AdminFilter implements Filter { 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); if (session null || session.getAttribute(loginUser) null) { response.sendRedirect(request.getContextPath() /index.jsp); return; } // 這里還可以繼續(xù)判斷角色不是 ADMIN 就 403 chain.doFilter(req, resp); } }這里有個小細節(jié)request.getSession(false)而不是getSession()。傳 false 表示如果當前沒有 Session 就返回 null而不是創(chuàng)建一個新的。如果你傳 true攻擊者隨便訪問一個受保護頁面就能讓服務器創(chuàng)建 Session浪費內(nèi)存也不是好習慣。3.4 成績錄入與統(tǒng)計報表SQL 是系統(tǒng)的靈魂成績查詢是整個系統(tǒng)最花心思的部分?;拘枨笫前凑n程查詢成績單顯示學號、姓名、班級、成績。這個時候必須用 JOIN 而不是單表查詢。看這條核心 SQLSELECT s.student_no, s.name, s.class_name, c.course_name, sc.score, sc.semester FROM t_score sc JOIN t_student s ON sc.student_id s.id JOIN t_course c ON sc.course_id c.id WHERE c.id ? ORDER BY sc.score DESC;這條 SQL 查出來的結(jié)果能直接映射到 JSP 表格里。在 ScoreQueryServlet 中執(zhí)行查詢遍歷 ResultSet 放到 List再 setAttribute 到 request 轉(zhuǎn)發(fā)給 JSPListMapString, Object list new ArrayList(); while (rs.next()) { MapString, Object row new HashMap(); row.put(student_no, rs.getString(student_no)); row.put(name, rs.getString(name)); row.put(class_name, rs.getString(class_name)); row.put(course_name, rs.getString(course_name)); row.put(score, rs.getBigDecimal(score)); row.put(semester, rs.getString(semester)); list.add(row); } request.setAttribute(scoreList, list);統(tǒng)計報表是課程設計的加分項。我用一條 GROUP BY SQL 算出分數(shù)段分布SELECT SUM(CASE WHEN score 90 THEN 1 ELSE 0 END) AS excellent, SUM(CASE WHEN score 80 AND score 90 THEN 1 ELSE 0 END) AS good, SUM(CASE WHEN score 70 AND score 80 THEN 1 ELSE 0 END) AS medium, SUM(CASE WHEN score 60 AND score 70 THEN 1 ELSE 0 END) AS pass, SUM(CASE WHEN score 60 THEN 1 ELSE 0 END) AS fail, COUNT(*) AS total, ROUND(AVG(score), 2) AS avg_score, MAX(score) AS max_score, MIN(score) AS min_score FROM t_score WHERE course_id ?;CASE WHEN 配合 SUM 的寫法是統(tǒng)計報表的經(jīng)典思路一行 SQL 就能算出所有分段數(shù)據(jù)不用在 Java 里循環(huán)判斷。ROUND 保留兩位小數(shù)讓平均分更美觀。這條 SQL 一寫出來直接在答辯時演示老師一定認可。3.5 成績錄入的冪等處理防止重復提交錄入成績時教師可能手快提交兩次或者同一學生被重復導入。前面我們在表結(jié)構(gòu)上加了聯(lián)合唯一鍵 uk_student_course這里再用INSERT ... ON DUPLICATE KEY UPDATE來兜底INSERT INTO t_score (student_id, course_id, score, semester, exam_type) VALUES (?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE score VALUES(score);這句 SQL 的意思是如果唯一鍵student_id course_id semester exam_type已經(jīng)存在就更新成績不存在就插入。這樣極大簡化了代碼邏輯不用先查一遍判斷是否已存在再決定 insert 還是 update。這個技巧在真實項目中非常常用值得記下來。4. 常見問題與排查技巧實錄4.1 JSP 頁面中文亂碼十個人九個會遇到亂碼問題的根源是編碼不統(tǒng)一。排查思路是順著“請求 → 響應 → 數(shù)據(jù)庫”三層逐一檢查。第一層JSP 頁面編碼。每個 JSP 頂部要寫% page contentTypetext/html;charsetUTF-8 languagejava %第二層Servlet 接收請求的編碼。在 doPost 方法第一行寫request.setCharacterEncoding(UTF-8);第三層數(shù)據(jù)庫連接串前面已經(jīng)提到要帶characterEncodingutf8mb4。只要這三層統(tǒng)一成 UTF-8中文亂碼基本不會出現(xiàn)。如果你發(fā)現(xiàn) JSP 頁面顯示正常但插入數(shù)據(jù)庫后是問號那一定是第三步?jīng)]配置好如果頁面本身出現(xiàn)亂碼那第一步或者第二步的優(yōu)先級搞反了。4.2 數(shù)據(jù)庫連接失敗時區(qū)、驅(qū)動、jar 包三連坑數(shù)據(jù)庫連接失敗是最常見的啟動錯誤我把它整理成了一個排查清單錯誤現(xiàn)象可能原因解決方法ClassNotFoundException驅(qū)動 jar 沒放進 WEB-INF/lib把 mysql-connector-java-x.x.xx.jar 放到 lib 目錄Access denied for user用戶名密碼錯核對 db.propertiesThe server time zone ... unrecognized連接串缺 serverTimezone加上 serverTimezoneAsia/ShanghaiCommunications link failureMySQL 沒啟動或端口不對檢查 MySQL 服務狀態(tài)和 3306 端口檢查端口是否被占用可以用命令netstat -ano | findstr 3306Windows或者lsof -i:3306macOS/Linux。經(jīng)常有同學 MySQL 服務沒啟動就在啟動 Tomcat然后報一堆 Connection refused 的錯先看服務再看代碼。4.3 IDEA 中 Web 項目部署報 404 或 500IDEA 里跑 Web 項目最煩的坑有兩個。第一個是 404。明明代碼沒錯訪問的是/admin/admin_home.jsp卻報 404。八成是 Artifact 配置不對——IDEA 的 Artifact 決定了哪些文件會被打進部署包里。檢查 Project Structure → Artifacts確保Web Resource Directory指向項目的 web 目錄Output Layout里能看到 WEB-INF 和 JSP 文件。修改后一定要 Rebuild 再重啟 Tomcat。第二個是 500 的JasperException或者ClassNotFoundException。這種情況幾乎都是依賴缺失或者編譯輸出目錄不對。確認Project Structure → Modules → Dependencies里是否有 MySQL 驅(qū)動 jar并且 Scope 選擇 Compile。JSP 是在 Tomcat 運行時動態(tài)編譯成 Servlet 的它需要能在 classpath 里找到你的 DAO 和 Entity 類。4.4 成績查詢性能問題幾千條數(shù)據(jù)也卡雖然系統(tǒng)數(shù)據(jù)量不大但我也遇到過查詢變慢的情況原因是 JSP 里嵌套了太多邏輯。舉個例子原本在 score_list.jsp 里為了顯示學生姓名每行都調(diào)用一次 StudentDao 查數(shù)據(jù)庫這就是經(jīng)典的 N1 查詢問題——列表有 50 條成績就要額外執(zhí)行 50 次學生查詢。解決辦法是用 SQL 的 JOIN 一次性把關(guān)聯(lián)數(shù)據(jù)查出來而不是在 JSP 里反復查詢。這也是我前面堅持用 JOIN SQL 的原因。JSP 里只負責遍歷展示絕不在標簽內(nèi)寫 JDBC 代碼。你的 JSP 里如果出現(xiàn)了%加 Java 代碼做數(shù)據(jù)庫操作的痕跡就要注意了——這正是風格老派且難維護的根源。4.5 JSP 導入類失敗或語法高亮不正常有時候 IDEA 里 JSP 文件一片紅色導入的類報錯。這通常是項目沒有正確關(guān)聯(lián) Tomcat 和 JDK。檢查 Project Structure 里是否添加了項目的 SDK并且 Tomcat 的 library 是否引入。IDEA 設置里 JSP 語法高亮也可以手動開啟Settings → Editor → File Types → 確認.jsp文件被識別為 JSP/JSPX。5. 實操過程中的一些體會整個項目做完我自己最大的感受是這種“老技術(shù)?!钡南到y(tǒng)反而能幫你把基礎打得非常牢。寫 JSP Servlet 的過程你會被迫去思考 HTTP 協(xié)議的無狀態(tài)性、Session 的過期機制、JDBC 的資源管理、SQL 的 JOIN 和聚合函數(shù)——這些都是換了任何框架都繞不開的知識點。我在做這個項目的時候最初也犯過“一張大表搞定所有字段”的錯誤把學生、課程、成績?nèi)咳M一張表結(jié)果查詢寫起來非常痛苦。后來拆成五張表邏輯一下就清楚了。這也算是一個經(jīng)驗數(shù)據(jù)庫設計一定先想清楚實體關(guān)系學生和課程是多對多中間要有一張關(guān)聯(lián)表而成績本身就可以作為關(guān)聯(lián)表的屬性存在。最后再分享一個小技巧在答辯或演示之前提前往數(shù)據(jù)庫里插入一批像樣的測試數(shù)據(jù)比如 20 個學生、5 門課、每條成績都有合理的分數(shù)分布這樣統(tǒng)計報表的折線圖、柱狀圖如果做了可視化看起來才會漂亮。如果數(shù)據(jù)全是 100 分或者全是隨機數(shù)老師一眼就覺得是隨便填的。這個項目最大的價值不是那個“成績管理系統(tǒng)”本身而是它訓練了你從需求分析、數(shù)據(jù)庫設計、編碼實現(xiàn)到故障排查的完整思維鏈條。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久国产精品一区二区| 日本岛国黄色网址| 校园春色美腿丝袜 | 97伦乱| 日韩性爱高清免费视频| 精品偷拍13p欧美dodk视频| 女生91网站| 97爱碰| 97视频7| 成人欧美一区二区三区黑人一| 成人精品在线免费视频| 91成人18| 亚洲天堂另类| 国产夫妻性生活视频| 色情亚洲日本成人| 天天干天天日天天射黄色片| 欧美日韩夜夜| 你操综合| 人人手机欧洲亚洲国产人妻| 五月天丁香| 日韩探花精品在线视频| 国产无马视频| 深夜激情无码| 91久久精品中文字幕| 亚洲风情在线观看| 搡老女人老熟女91| 嗯嗯不要视频| 久久97精品久久久久久久不卡| 啊嗯嗯啊好大好爽| 国产妇女精品视频青青草| 欧美少妇熟女| 亚洲城人男人的天堂| 99热18| 日韩在线观看字幕精品| 成人性爱视频在线看| 国内精品嫩模A∨私拍小视频| 久久久涩| 日本欧美不卡| 日韩一级久久毛片| 青椒国产97在线熟女| 久久亚洲中文字幕视频| 青娱乐999| 日本精品网站在线中文| 欧美人人曰人人操人人射射| 成人七区| 国产a级午夜毛片| 久久香蕉综合一本到3atv| 国产粉嫩出水在线播放| 六月婷婷色综合| 亚洲天堂,男人| 爱我干综合| 超碰99在线观看| 亚洲一区二区麻豆影院| 人人爱夜夜爱| 天天舔九色婷婷| av久日| 久久中文字幕人妻熟av女蜜柚| 亚洲自拍青操视频| 欧美一级在线观看成人| 久干9操| 国产做?爰片久久毛片?片美国| 狠狠干狠狠色| 99自拍B亚洲| 日日夜夜噜| 青木玲在线不卡| 伊人在线大香蕉视频久久| 亚洲情色无码一区二区三区| 亚洲成人ab| 亚洲资源站| 91人妻最真实刺激绿帽| 国产 丝袜 欧美中文 另类| 99精品久久| 嗯嗯啊啊操死我| 欧美性暴力猛交XXXX | 99超碰网| 日韩性爱再线视频| 日韩精品高清资源在线| 校园春色美腿丝袜 | 韩日精品四区| 看黑丝美女操逼青青网站| 蜜臀色乳| 国产自制av蜜乳| 色五月激情AV在线| 顶级丝袜熟女一区二区三区| 亚洲成人无码影院| 超碰天天久久79| 青木玲在线不卡| 久久99干一本高清| 国产精品女aA片爽爽视频| 国产av强奸美女| 五月天婷婷综合| 一区,二区,三区网站| 久久动漫精品视频这里只有精品| 欧美不在线| 99性爱视频| 午夜国产综合视频在线观看| 一区二区三区免费岛国片| 日韩一区二区精品视频| 中文字幕视频免费| 91色色网站| 美国一区二区免费视频| 麻豆婷婷成人一二三| 中文字幕第二页| 88xx成人精品视频| 婷婷色香| 国产免费一区在线观看| 亚洲最大网站av| 躁躁日曰躁2020| 色与欲影视| 93人人操人人| 欧美日韩人妻婷婷一区| 翔田千里无码中出中文字幕| 欧美少妇性乱| 国产精品露脸在线观看| 久久熟妇五十路一区| 啊啊啊好想要| 超碰97资源中文字幕| 九久久九九久视频| 久久精品99| 男人的天堂在线| 大香蕉免费3| 欧美激情总合网| 欧美激情精品久久久久久| 26uuu性物| 国产AV天美| 97干97色| 欧美性后入| 欧美操人视频| 久草毛片| 激情婷婷丁香| 夜夜爽夜夜操| 欧美人妻色| 成人性爱AV在线免费观看| 精品久久久九九九孕妇| 亚洲欧美成人网站AAA| 婷婷四五区| 欧美成人黄网色网站| 亚州春色| 免费一级视频特黄色大片| 激情四射婷婷六月天| 日韩一性一交一A片俄罗斯| 性欧美91| 亚洲激情片| 野狼激情网| 男女猛烈无遮掩视频免费软件| 毛片17S| 18禁无码永久免费无限制| 欧美色图偷拍另类| 日韩性爱高清免费视频| 国产女人视频三四五区| 无码视频一区二区| 丁香六月婷婷综合| 国产呦精品系列在线观看| 亚洲av热热色| 亚洲AV成人无码一区二区三区在线观看 | oumeisetu综合| 香伊人在线| 97超碰总站| 色婷婷小说| 日本一区二区三区免费观看| 台湾佬中文娱乐网久久久久久久久久com | 你懂的在线观看区国产| 人人九九精| 麻豆久久视频在线地址| 天堂中文日本在线观看| 91久久青青草原精品| 四虎AV影视国产精品亚洲精品| 亚洲人妻中文高清| 欧美亚洲国产91在线| 大香蕉伊然在亚洲91| 大香交伊人网| 91亚·色| 操逼逼无码| 91情色| 四虎在线播放| 久久久影院| 中文字幕成人理论在线| 日韩性爱免费观看视频| 嗯嗯不要视频| 青青草一区二区三区四| 天天综合香 ld视频| 一区二区娱乐网站| 粉嫩不卡一区二区性爱| av网站国产主播在线| 加勒比在线观看一区二区| 国内精品久9| 天天操天天射青青草| 日本五十路熟女一区二区| 亚洲国产精品无码AV久久| 精品一区99999| 久久久久久91香蕉国产| 91狠婷| 亚洲第2页| 肏逼视频日本| 狼人狠干| 成人性交午夜免费片| 亚州日韩97| 大香蕉欧美伊| 亚洲揄拍网| 欧美性区| 色99999| 午夜亚洲| 欧美第二页| 久久9免费视频| 黑人与人妻| 亚洲AO在线| 久久久久日本视| 日韩乱码Av| julia高潮后不停追击中出| 精品区国产区一区二区三区| 国产亚洲日本精品在线| 风流老熟女一区二区三区l| 韩国黄片aaaa| 国产尤物AV尤物在线观看不卡| 九九九精品成人免费视频小说| 日本一区二区中文字幕久久| 亚洲欧美日韩偷拍色图| 大香蕉伊人网| 天天夜躁日日躁狠狠2002| 国产毛片毛片4p懂色| 9久在线视频只有精品| 超清中文乱码字幕| 久久久久久网址| 在线视频97| 精品九九九九九| 国产精品国产精品国产| 97资源超碰| 久操网无码在线| 青青草原香蕉日本Ap| 日韩欧美天天爽爽爽天天爽爽| 99综合自拍| 青青草成人视频在线观看二区 | 久草色在线观看| 青青草AV色| 丝袜足交视频| 男女日B国产| 国产不卡免费在线视频| 中文字幕一区日韩精| 夂久色| 青青草黑寡妇男人天堂| 大香蕉之青青草原| 精品少妇999| 国产免费操逼| 91精品电影18| 九草九九九| 国产97在线 | 亚洲| 国产白丝精品在线观看| 18禁中文字幕| 人妻少妇久久久| 国产亚洲欧洲在线观看| 欧美日综合| h无码动漫在线观看| 208天天久久九九九| 超碰久超碰久| 九九干| 色色热| 欲射影视| 不卡日本一区二区| 国产区性爱在线视频秋霞豆| 91狠| 欧美色宗合| 五月婷网站| 狠狠色婷婷| 亚洲爱爱视频一区二区| 无码人妻一区二区三区免费九色| 色人久久| 91九九九吃| 麻豆成人AV| 人人潮人人摸| 国产女上位好爽在线| 国产后入清纯| 不卡中文字幕aⅴ在线| 天天综合精品| 亚洲双插| 国产激情在线| 97超碰这里只有精品| a片久久久久久久久久久久 | 偷拍亚洲| 99熟女| 九色 蝌蚪 熟女自| 国产女人极品高潮毛片| 91伊人大香蕉| 亚洲国产一级黄色视频| 神马精品视频| 啊啊啊97视频| 日本道久久综合色色| 91精品人妻一区二区三区蜜桃| 亚洲欧洲视频小说在线观看| 78操B| 日本三级R| 精品一久久久| 国产精品爱欲| 日本999精品视频| 久操免费在线| 97人人爱人人做人人乐| 天堂v无码免费视频| 日韩在线观看中文字幕视频| 亚洲中文sv| 激情五月天丁香社区| 精彩久久中文| 欧美顶级黄片AAAAA在线免费看| 青青草成人视频在线观看二区| 国产精品内射婷婷一级二| 男人的天堂啪啪啪啪啪蜜桃不卡| 草草草视频| 天综合网| 国产精品一二三区18| 97在线欧洲| 亚洲图片激情综合另类| 天堂涩涩| 东京热免费视频| 91亚洲网站| 中文字幕黑人大片| 国产精品一二三区18| 歐美一級亂黃99在綫精品| 国产福利一区二| 国产一级久久久| 国模不卡| 中文字幕福利视频一区二区三区在线观看| 五月综合色| 蜜臀久久99精品久久久电影| 人妻无码久久一区二区三区免费| 中国国国产一级特黄毛片| 本道在线| 亚州操操穴网| 日本999精品视频| 国产女人和拘做爰视频| 超碰色97| 97在线青| 口爆综合网| 成人一道本免费视频| 午夜毛片高清免费不卡| 人妻啊啊人妻啊| 国产成久久综合片| 欧美日本视频一区| 2025亚洲男人天堂| 九九热九九| 综合亚洲欧美精品日韩?v| 欧美色综合图片| 99操| 午夜无码精品免费看性色| 婷婷午夜清品久久久久久久性色视频观| 玖玖人人爱| 精品亚洲国产成人精品| 久久夜夜| 大香蕉性欧美| 国产精品不卡一区二区三区| 亚洲春色激情小说| 福利伊人玖玖国产| 天天狠操| 啪啪视频免费在线观看| 97在线视频网站| h色99999| 国产精品 午夜福利| 九九黄色网| 日韩人妻一二三区视频| 天天看天天日天天操| 国产视频小说| 欧美 亚洲 综合 制服 另类| 天天淫人人妻日日色| 久久久久久AV无码免费网站| 欧美性爱第一区| 久久大黄片| 亚洲欧洲日韩中文字幕一区| 天天躁狠狠躁av| 日韩美女久久一区二区三区| 亚洲人人操| 亚洲蜜乳av| 操国产逼| 婷婷五月综合激情| 日本精品不卡一二三区| 人妻日日干| 中文字幕人成乱码熟女香港| 久青草影院| 中文字幕在线观看第二页| 精品国产乱码久久久久久影片| 日本色色视频网站| 久久久精品网站| 美女久久久久久久久久久| 精品妇操一区二区三区| 熟女网站最新| 超碰九九| 天堂无码| 精品国产Av无码久久久亚洲| 凹凸 69堂 在线播放| 在线一区| av东京热男人的天堂| 欧亚久久偷拍视频| 国产超碰在线一区| 吉川爱美亚洲二区在线| 亚洲黄色网址| 亚洲素人综合| 天天干夜夜鈤| 囯产精品久久久久久久久久二区三区 | 97 视频在线| 欧美一级欧美三级在线观看| 久久婷婷在线观看视频| 色在线69堂| 男女性扦B| 碰人碰碰人人开房人肉| 欧美日韩中文视频播放| 99人妻碰碰碰久久久久禁片| AV和黑人在线播放| 亚洲色图欧美视频| 能看的AV| 欧美乱妇狂野欧美在线视频| 九九九偷拍| 夜夜欧美| 日韩中文字幕国产| jizzjizz欧美| 蜜臀久久久久久999| 亚洲人在线| 久久少妇人妻| 777超碰| 亚洲成人精品在线一区| 国产AV无码AV| 精品超碰中文在线| 综合天天网| 久久风骚城市| 精品欧美不卡在线播放| 久久九九视频九九视频| 亚洲熟妇自偷自拍另欧美| 天天综合欧美综合| 91久| 欧美日韩国产中文精品字幕自在自线| 狠狠操天天干| 天天舔天天日天天射| 91人妻做a观看视频| 日本中文字幕在线电影| 色色99| 加勒比aⅴ| 日婷婷| 激情五月丁香五月| 后入式在线免费观看60秒| 国产精品在线免费| 国产无马视频| wwe 天天干.com| 亚洲天堂另类| 日韩人妻中文视频| 91色综合激情| 91性感在线| 日va操| 中文字幕少妇色| 国产熟女一区二区| 久久激情亚洲精品无码?V| 中文字幕艹艹| 美女91| 粉嫩在线一区二区懂色| 好看的久久不射无码影视影院| 男人精品区| 黄色毛片A片| 色眯眯射| 人人 操人人 操人人| AV色天香在线| 97超碰香蕉| 久久五月份| 精品性爱久久视频| 人人人摸人人| 欧美老妇综合网| 欧美激情专区| av九九| 人妻少妇无码 | 亚洲麻豆av一区二区| 九九精品热| 亚洲性刺激| 亚洲一区二区精品福利| 久久熟女久| 91狠狠综合久久久久久| 骚货人妻偷情自拍在线视频| 日本在线播放不卡一区| 在线中文字幕| 桃花色综合影院| 欧美色爱综合| 狠狠久久手机视频精品| 欧美熟妇亚洲版| 粘花网06av视频| 91黑丝在线播放| 五月婷婷久久综合| 尹人大香蕉视频在线| 日韩 欧美 国产 麻豆| 无码外流操逼视频| 大香蕉中文aV在线| av绯色| 射丝袜大香蕉| 成人综合久久精品色婷婷| 97操综合| 伊人成人中文字幕久久网| 欧美97爱| 97久久久精品| 超碰成人最新最好看| 男人的天堂三级| 狠狠综合网| 亚洲一区二区av| 国产高清1234区| 国产肏逼网站| 久久精品高清无码一区| 99爱视频| 性暴力欧美猛交在线直播| 99精品伊人| 国产亚州日韩欧美看片| 亚洲欧美日韩免费观看| 亚洲熟久久| 影音先锋国产精品| TS人妖另类精品视频系列| 久久久久亚洲精品| 九九无码视频| 人人操人人爽人人操人人| 青草视频人妻在线观看| 在线 制服丝袜中出 人妻| 亚洲欧美综合| 日韩精品一区,二区 九九...老司机| 999岛国大片| 私人尤物在线精品不卡| 日韩亚洲97| 六月婷激情福利天堂69| 国产aⅴ无码片毛片一级网站| 天天日天天干天天摸天天操| 加勒比在线视频| 国语精品内射在线观看| 美女被啪到深处抽搐视频| 97视频在线视频| 另类图片五月| 丁香五月久久| 国产操操日韩三级黄| 火箭成精品视频884必出精品| 久久久∴| 国产高清1234区| 亚洲成?V人片在线观看福利| 一本一道人妻久久一区二区三区| 日韩一级成人毛片免费观看| 国产强奸AV在线| 久久久一二三四区| 久久九精品| 超碰久久中文| 五月天伊人| 日韩性爱再线视频| 中文精品一区二去| 国产自制av蜜乳| 婷婷激情四射| 一本一道久久综合久久| 校园春色家庭伦理欧美激情| 欧美精品双插| 亚洲丝袜天堂| 97人人爱人人做人人乐| 热久久91婷婷| 最新AVzaixian| 色婷婷视频| 亚洲一区二区三区欧美日韩| 欧美东京热精品A∨| 国产偷拍网站| 99视频这有这里有精品| 手机在线免费看的av| 日韩无码极品| 久久超碰日韩精品| 婷婷爽人人婷婷爽视频| 亚洲资源站| 搡老女人老91二区| 伊人麻豆传媒| 久久内射| 99re这里只有精品9| 大香蕉综合网| 91成人18| 久草精品国产99| 国语对白露脸XXXXXX| 粉嫩av在线| 欧美综合自拍| 成人无码在线视频网站| 大香蕉www.超碰| 蜜乳AV一区| 欧美日韩操操操| a在线观看| 欧美拳交在线播放| 精品久久99| 好看的91视频| 91成人久久| 亚洲中文字幕av| 亚洲资源站| 日本人妻丰满熟妇久久久久久| 久久久久亚洲Av无码专区老牛影视| 色牛aV| 变态乱伦伪娘灌肠一区二区| 青青青艹在线视频| 亚洲欧美啪啪| 91天天综合日韩欧美| 天天日天天干天天操| 成人av性爱电影在线观看| 国产日韩欧美中文在线播放| 熟女字幕| 另类综合另类| 国产第11页| 色色97爱| 日日操免费视频| 逼逼逼逼操操操操操操操操操午夜剧场 | 传媒免费一区二区三区| 欧美激情 亚洲色图| 日韩无码极品| 久久免费精品视频免一| 欧美日韩国产传媒在线精品| 好爽免费视频,| 60秒不遮不挡| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 亚洲日韩狠狠撸视频| 欧美天天性| 婷婷午夜成人色中色| 天天爽天天操| 天天操天天看| 边做饭边操逼逼| 亚洲激情av| 国产五码丝袜屁眼| 久久久夜夜夜| 播播亚洲小说亚洲| 国产嫩草精品A88AV在线| 欧美综合网站999| 少妇高潮流水av免费| 99热18| 日韩精品大香蕉伊人在线| 超碰美国| 国产成人自拍视频在线| 伊人伊人LD| 中文字幕在线观| 精品区国产区一区二区三区| 亚洲欧洲久久天堂| 91综合在线| 静品嫩模一区二区| 九九九草| 高清国产成人无码| JuliaAnn丝袜熟女系列| 人妻aa| 热久日综合| 欧美黄页| 欧美第一页性| 女生91网站| 中文激情网| 欧美成人国产精品| 亚欧免费| 五十路二区在线| 五月丁香黄色网| 91在线|亚| 综合 亚洲 欧美| 国产欧美黑人丰满在线| 欧美日韩性爱电影在线| 天天综合香 ld视频| 久久久久9999| 九久久九精品视频| 亚洲欧美高清无码| 婷婷情色综合网| 久久色网| 女一区二区| 一级AV性爱| 精品十三区| 久久黄片国产一区二区| 欧美日韩亚洲天堂网| 性色av大全| 一级黄碟在线看| 伊人久久在线视频观看| 91美女看B| 国产精品成人蜜臀AV在线| 久久9精品网站| 天天添天天干电影| 欧美亚洲高清不卡| 91久久伊人婷婷青青草| 久久精品高清AV| 狠狠操夜夜| 欧美日韩人妻婷婷一区| 亚洲欧美日韩电影网站一区 | 99精品综合久久久久五月天| 国产无套粉嫩白浆在| 国产97/欧美| 欧美大战久久久伊人| 久久99久久99精品天美传媒棢·纸:. | 亚洲成人AB| 人人天天欧洲| 91搞逼视频| 色欧洲97| 九九九九久久久| 无遮挡又黄又刺激的视频| 亚洲美女色图| 激情啪啪拍91| 91中文字幕| 九一精品牛牛一区二区| 美女被艹尤物视频| 97久久网| 99精品丰满人妻无码| 天天插天天插| 日韩免费高清大片在线| 精品欧美日韩在线观看| 男人的天堂2018东京热啪啪啪| 欧美亚洲国产91在线| 五月天人妻综合| 99啪| 亚洲偷拍自拍在线视频| 日韩福利电影网| 亚洲麻豆18发?| 日韩草久视频| 国产强奸超碰AV| av网站免费看| 国产成人啪一区二区| 超碰国产情侣自拍网| 日韩人成网站在线播放| 97色网| 亚洲AV永久无码精品成人调教| 乱理日韩中文| 久久国模av| 九九激情网| 青娱乐欧美激情一区二区| 一本色道熟妇| 骚女高跟AV在线| 97资源超碰| 人人看人人摸人人色| 日韩日本欧美在线观看| 欧日韩一二三f区| 久日综合网| 大香蕉免| 素人美腿视频网站| 99精彩视频| 国产精品一二三在线看| 中文字幕黄片在线| 啊啊啊无码| 青青草这里只有精品| 婷婷九月国产| 日韩精品电影| 日本不卡二三区| 4141514逼喷水三级片| 婷婷六月色| 欧美特大黄一级片片免费| 大香焦A片| 岛国免费视频在线| 毛片一区二区| 一区二区高清视频| 97超碰色情| 久综合国内精品自在自线| 中文字幕丝袜人妻| 九九99精品视频在线观看| 激情抓乳插进去啪啪啪日韩 | 国产免费久久精品99re韩国| 十八禁网站在线| 99热思思| 丁香五月偷拍| 99色视频| 九九热九九热| www.四虎在线| 香一区二区三区| 日韩中字av一区| 亚洲。日韩。欧美| 91丝袜美女| 超碰性爱97| 一区二区三区四区久久视1| 青青草伊人久久| 亚洲 欧美 小说| 91爰爱欧美| 91强在线播放| 色777999综合| 色综合 加勒比| 天天干一干| 九九九九久久久| 97午夜剧场日韩| 欧美日韩222| 亚洲自拍青操视频| 超碰在线日韩一区| 超碰在线一区二区| 人妻二区| 女同性恋久久| 色综合五月天| 99re这里只有精品3| AV老汉| 曰韩少妇无码| 久久午夜神马| 中文?日韩?免费?精品| 午夜激情成人在线观看| 日韩中文字幕在线视频观看| 巨爆乳肉感一区二区三区竹菊影视| 国产精品大香蕉| 精品人妻二区三区| 亚欧美综合网。| 97色操| 豆花视频操逼网址 | 中文字幕在在线观看网站| 夜夜嗷嗷一区二区| 91男女| 国产精品点击进入在线影院高清| 草草影院最新网址| 日本三级韩三级99久久| 亚洲熟妇乱女区二区三区| 伊人991| 玖玖久久久| 新久久AV| 最新AVzaixian| 亚州男人的天堂| 超碰色老头| 97精品熟女少妇一区| 国产玖玖| 欧美激色| 蜜乳成人AV| 狠狠综合网| 一级黄碟在线看| 性色A∨91| 日韩av影片在线观看| 丝袜性亚洲| 成人青青草原伊人| av天堂精品久久| 97舔舔| 欧美97av| 欧美日韩国产中文精品字幕自在自线| 天天操女人| 超碰97日韩| 五月天丁香婷婷综合网站| 69AV女优男人的天堂| 精人妻一区二区三区| 久操凹凸视频| 91中文精品日韩欧美在线| 日韩精品-原创伙伴| 亚洲精美粉嫩嫩泬在线观看| 国产农村妇女精品一| 91亚洲网站| 日本性爱少妇| 成人精品一区二区三区| 超碰97人人cao| 日本特黄f c2| 97ai亚洲| 国产欧美一区激情交| 欧美少妇高潮久久91| 久久日韩精品一区二区| 综合久草| 超碰97中文| 98色网| 殴美性天天| www色色com| 久久久久久人| 日本 欧美 国产一区| 99在线啪| 中国一区二区亚洲人妻| 国产麻豆一区二三区| 影音先锋少妇| 东北女人操比视频| 日韩图区 偷拍| 超碰97最新人妻| 亚洲色系另类精品国产| 最新中文字幕av| 高潮毛片无遮挡高清免费| 18岁禁 茉莉成人久久| 少妇被c 黄 免费观看| 久久发布国产伦子伦精品| 久久69| 人妻精品综合中文字幕在线| 国产精品爆乳懂色蜜乳| 亚洲日韩电影| 无码视频一区二区| 国产成人在线观看综合| 欧美日日操| 五月丁香综合激情| 熟妇精品juliaannAV| 黄色av网站在线播放| 超碰天天操| 国产网红精品| 欧美性五月| 新91视频.cmp| 成年人黄色| 成人八戒网站| 久久久涩| 欧美男女午夜啪啪| 麻豆视频国产一区二区| 伊人991| 欧美日韩岛国大片在线观看| 另类欧美色| 黑丝少妇麻豆| 温婉少妇玩3p| 少妇淫妇久久久久久久| 精精夜夜| 成人三一级一片aaa| 性欧美| 精品久久99| 中文字幕亚洲永久精品| 一本色道久久综合狠狠操| 激情自拍 校园春色| 久久精品久久久久久久久| 精品一区二区三区蜜桃臀www| 欧美视频中文字幕区| 欧美色视| 色综合99999| 久草婷婷| 操逼片国产| 干B网| 久久99精品九九久久久婷婷| 婷婷综合激情| 无码精品久久| 91观看 国产白丝| 久久久久久中文版| 国产一级αv免费看片| J?P?NESEHD熟女熟妇伦| 精品女同一区| 精爱久久| 婷婷五月天av| 日韩激情啪啪啪| 欧美97超碰| 日本中文字幕熟妇| 青青操97| 激情九月婷婷| 中文字幕一二区二三区人妻专区| 亚洲男人在线观看天堂| 久草新免费| 超碰亚洲欧美日韩无| www网站黄| 桃花色综合影院| 啪啪自拍九九综合| 97就爱干| 亚洲免费97免费| 婷婷丁香六月| 日韩中文字幕视频在线观看| 男女猛烈无遮掩视频免费软件| 国产农村妇女毛片精品久久| 69久久久久久久久久久久久| 一二三啪啪专区| 免费视频无码| 久久久国产三级黄色片| 探花熟女,姿勢到位,體驗感也到位| 欧美高清18A片| 美女诱惑一区| 欧美天天综合在线| 精品制服美女中文一区二区三区| 青青草色插素人| 亚洲AV乱码专区国产噜噜亚洲| 日本在线一二| 99热欧美| 色色色五月婷婷| 日韩中文字幕二区| 精品毛片久久久精品毛片| 亚洲最新av无码成人精品区| 亚洲欧美精品国产一区二区| 草草电影院| 99999精品| 乱欲视频| 蜜乳中文字幕a在线| 人妻夜夜爽天天爽三区麻豆AV网站| 欧美色干| 人妻一区二区三区熟女| 99无码| 国产精品99久久久www| 中文操嬖片。| 日韩成人大片一区二区| 日韩av影片在线观看| 操逼网免费无码视频| 91free福利| 丁香六月综合激情| 熟女精品一区二区三区| 大香蕉男女超碰精品在线| 乱精品一区字幕二区| AV 少妇 人妻 偷拍| 九九视品黄色| 磁力99AV| yy少妇精品久久| 偷拍亚洲情色| 東南亚性呦成人伦理资源在线视频| 96国产精品| 97国产超碰| 国产午夜福利专区综合| 91人妻最真实刺激绿帽| 日韩一级成人毛片免费观看| 天天干天天狼在线视频| 久久五月婷| 久久久9视频| 精品一区二区麻豆| 色欧洲97| 久久久久久久久一区二区三区| 香蕉视频欧美一卡二卡| 91综合色噜噜| 久久精品国产99精品亚洲蜜...| 欧美性爱1080p| 立川理惠加勒比无码| 中文字幕在线播放2中文字幕在线观看2| 麻豆久久视频在线地址| 中文字幕乱碼在线| 亚洲一区二区麻豆影院| 亚洲色图殴美色图激情乱伦| 国产成人网址| 色女99一级片在线观看| 午夜无码熟妇丰满人妻| 色九九久九九| 人妻偷拍一区二区三区| 手机看片1024你懂的国产| 人妻久久久| 麻豆国产成人精品| 91观看 国产白丝| 日本成人在线不卡一区二区三区| 日韩亚洲精品一区二区| 天天综合网站| 亚洲综合码| 亚洲交换| 亚洲AV成人无码一二三久久| av无码精品久久久久| 综合熟女| 亚洲综合贴图91| 黄色工厂这里只有精品| 性暴力欧美猛交在线直播| 午夜高清成人在线视频| 欧美男女午夜啪啪| 后入式999| 亚洲日韩精品久久久久一区壹牛| 婷婷视频在线免费观看| 国产四虎在线| 久久婷婷一区| 一起草欧美| 人妻夜夜爽天天爽麻豆三区网站| 久久人妻无码毛片A片麻豆| 狠狠超| 国产视频一区二区免费| 99re8免费高清在线| 九一国产精品| 电家庭影院午夜69久久夜色精品国产69乱| 国产欧美精选激情视频| 五月丁香综合网| 91精品婷婷国产综合久久竹菊| 亚洲色图A| 亚洲中文日韩精品| 裸模AV女优| 男女香蕉一区二区| 影音先锋日本乱伦| 国产精品交换一区二区| 天天插夜夜爽| 999久久久免费精品国产牛牛| 日韩性爱小视频在线观看| 丝袜美腿诱惑亚洲欧美视频在线观看 | 亚洲丝袜二区在线| 日韩欧美aⅴ综合网站发布| 日本天天吊| 精品美女少妇一区二区| 日本护士高潮| 大香蕉欧美国产日韩高潮| 欧美激情一区| 国产日本熟女顶级一区二区三区视频 | 久久久久久久九九九九九九| 久久久久9| 大香蕉欧美| 99激情视频| 十八禁黄色| 久久精品亚洲成a人天堂| 欧美色图成人网一区二区| 久久丁香久草综合网| 久久极品一区二区| 一二区在线观看视频| 免费一级毛片在线视频观看| 久偷拍欧美日韩三区| 色欲Av人妻精品一区二| 97人人爱人人做人人乐| 亚洲伊人成综合成人网| 欧美日韩超碰在线| 91伊人| 五月综合久久| 333kkkk·亚洲com久久| 亚洲超碰AV| 成人黄页| 亚洲色色探花| 中文字幕免费看| 黄色区免费观看中文字幕| 久久亚洲熟妇在线视频| 免费一级特黄特色大片在线观看看| 日本精品人妻少妇一区二区| 美女啊啊啊啊啊| 国产av尤物| 91超碰丝袜制服| 成人无遮挡毛片免费看| 国厂麻豆77q4| 99热这里只有精品地址| 亚洲不卡一| 99久在线精品99re8| 久久啊啊| 老鸭窝亚洲毛片| 日韩精品在线视频,日韩精品……| 欧美有码亚洲中文字幕一区二区三区四区| 91欧洲国产成人久久精品网站| 91丝袜在线观看视频在线观看| 美日韩男女操屄视频| ai欧美亚洲小说| 很黄很色的视频在线观看| 在线中文AV| 狠狠久久亚洲欧美专区| 亚洲欧美综合| 欧美亚男人的天堂| 熟妇乱伦一区二区| 中文字幕十五区| 精品偷拍13p欧美dodk视频| 爱丝福利| 夜夜草网站| 亚洲 欧美综合| 99色色| 亚洲国产丝袜熟女av| 中文字幕伊人| 九月丁香| 国产精品久久久无码aV去| 亚洲自拍欧美色综合| 99色在线视频| 伊人五月天婷婷| 爱啪精品一区| 狠狠色丁香| 影音先锋日本乱伦| 色97欧美| wwe 天天干.com| 五月婷婷六月丁香| 丰满美女一级毛片在线播放| 少妇精品久久久| 欧美一级色| 久久久久亚洲三级电影| 欧美色亚洲色| 超碰97资源大奶| 六月激情网| 小视频玖玖| 人人操人人摸人人骑| 久久久一区二区| 久久国色天香香蕉| 国产高清成人mv在线观看| 欧美毛片在线网| 亚洲自拍欧美色综合| 日日躁狠狠躁天天躁精品| 图色综合网| 国产又色又爽又舒服的三级视频| 日本色色网| 日韩偷拍一区二区三区| 国产精品不卡少妇白| julia ann久久| 男人夜色天堂ss| 亚洲伊人久久综合97| 不卡av免费在线网址| 黑丝少妇| 亚洲最新中文字幕免费 | 欧美啪啪啪91| 国产第二页| 色鬼在线综合| 人妻天堂综合网| 亚洲激情在线| 九九综合久久| 亚洲精品国产熟女久久久久久| 97超碰中文在线| 97这里有精品| 婷婷10月天青娱乐| 日韩三级视频一区二区三区| 国产探花精品在线| 日本成人在线不卡一区二区三区 | 欧美激情高清性猛交| AV九九| 99热这里只有精品地址| 91香蕉国产尤物视频| 日本久久精品| 亚洲丝袜诱惑| 丝袜无码a片| 国产在线76页| 免费操逼视频下载| 天天综合~91| 亚洲97资源| 大香蕉中文aV在线| 色九九九九久| 蜜桃av综合网发布| 五月天久久综合网| 天天日天天干天天摸天天操| 26uuu国产免费观看| 国产精品自在线发布| 美欧老女人97| 青青草自拍视频在线播放| 中文字幕一区二区三区蜜臀| 日本天天人人狠狠在线日美女 | 无码9区| 91丝袜在线观看视频在线观看|