99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

JavaWeb學(xué)生成績(jī)管理系統(tǒng):JSP+Servlet+JDBC實(shí)戰(zhàn)源碼

JavaWeb學(xué)生成績(jī)管理系統(tǒng):JSP+Servlet+JDBC實(shí)戰(zhàn)源碼 簡(jiǎn)介本資源是一套完整可用的JavaWeb學(xué)生成績(jī)管理系統(tǒng)項(xiàng)目源碼專為計(jì)算機(jī)類專業(yè)學(xué)生設(shè)計(jì)適用于課程設(shè)計(jì)、期末大作業(yè)及JavaWeb實(shí)戰(zhàn)能力提升。系統(tǒng)功能覆蓋學(xué)生、教師、管理員三類角色的登錄認(rèn)證、成績(jī)錄入、查詢統(tǒng)計(jì)與報(bào)表導(dǎo)出等核心業(yè)務(wù)代碼結(jié)構(gòu)清晰、注釋規(guī)范經(jīng)導(dǎo)師指導(dǎo)并獲98分高分評(píng)價(jià)。壓縮包共337個(gè)文件含84個(gè)Java源文件、84個(gè)編譯后Class文件、36個(gè)JSP頁(yè)面、61個(gè)JavaScript腳本及28個(gè)CSS樣式文件輔以SQL建表語(yǔ)句、Jar依賴庫(kù)與基礎(chǔ)靜態(tài)資源整體3.32MB開(kāi)箱即用。已有5296人學(xué)習(xí)下載配套數(shù)據(jù)庫(kù)腳本與完整目錄層級(jí)便于快速部署調(diào)試內(nèi)容預(yù)覽顯示包含ScoreDaoImpl、StudentDaoImpl等典型DAO實(shí)現(xiàn)類及ServletUploadFile等關(guān)鍵控制器體現(xiàn)MVC分層設(shè)計(jì)思想與常見(jiàn)Web開(kāi)發(fā)實(shí)踐模式。1. 這不是又一個(gè)“Hello World”式 JavaWeb 項(xiàng)目98 分高分課程設(shè)計(jì)源碼真能跑通增刪改查、文件上傳下載、角色權(quán)限分離的學(xué)生成績(jī)管理系統(tǒng)你手頭正趕著《Java Web 應(yīng)用開(kāi)發(fā)》期末大作業(yè)Deadline 前 72 小時(shí)導(dǎo)師剛在群里甩出一句“系統(tǒng)要有真實(shí)業(yè)務(wù)邏輯不能只做登錄跳轉(zhuǎn)”。你點(diǎn)開(kāi)網(wǎng)上搜到的第 17 個(gè)“學(xué)生成績(jī)管理系統(tǒng)源碼”解壓后發(fā)現(xiàn)——web.xml里連 servlet-mapping 都沒(méi)配全StudentDaoImpl.class編譯報(bào)錯(cuò)數(shù)據(jù)庫(kù)腳本缺字段注釋更別說(shuō)ServletUploadFile.class根本沒(méi)寫文件保存路徑校驗(yàn)……這種“半成品”不是幫你過(guò)關(guān)是給你埋雷。而眼前這份基于 JavaWeb 的學(xué)生成績(jī)管理系統(tǒng)是真實(shí)通過(guò)高校計(jì)算機(jī)專業(yè)課程設(shè)計(jì)評(píng)審、獲 98 分滿分 100的完整項(xiàng)目源碼包。它不是 Demo是帶生產(chǎn)級(jí)結(jié)構(gòu)的實(shí)戰(zhàn)工程含完整 MySQL 數(shù)據(jù)庫(kù)建表語(yǔ)句與初始化數(shù)據(jù)、6 個(gè)核心 DAO 實(shí)現(xiàn)類StudentDaoImpl,ScoreDaoImpl,CourseDaoImpl,TeacherDaoImpl,UserDaoImpl,CourseDaoImpl、4 個(gè)功能明確的 ServletServletUploadFile,ServletDownloadFile,ServletaddTeacher,ServletDownloadFile以及清晰的角色權(quán)限控制學(xué)生查分、教師錄分、管理員維護(hù)課程/教師/學(xué)生信息。它專為兩類人準(zhǔn)備一是正在硬啃 JSPServletJDBC 技術(shù)棧、需要可運(yùn)行、可調(diào)試、可答辯的課程設(shè)計(jì)學(xué)生二是想從零復(fù)現(xiàn)一個(gè)“非玩具級(jí)” JavaWeb 項(xiàng)目的自學(xué)者——這里沒(méi)有 Spring Boot 自動(dòng)裝配的黑匣子所有 JDBC 連接、SQL 拼接、請(qǐng)求參數(shù)解析、文件流處理都裸露在代碼里你能看清每一行request.getParameter(score)是怎么變成數(shù)據(jù)庫(kù)里一條INSERT INTO score的。這不是拿來(lái)即用的“后悔藥”而是你親手搭起第一個(gè) Web 系統(tǒng)的腳手架。2. 從零部署IDEA Tomcat 9 MySQL 8.0 環(huán)境搭建與項(xiàng)目導(dǎo)入全流程2.1 環(huán)境版本選擇依據(jù)為什么必須是 Tomcat 9 而非 10MySQL 8.0 的驅(qū)動(dòng)兼容性陷阱在哪很多同學(xué)卡在第一步IDEA 導(dǎo)入項(xiàng)目后啟動(dòng) Tomcat 報(bào)java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet。這不是你配置錯(cuò)了是版本踩坑。本項(xiàng)目基于 Servlet 4.0 規(guī)范由 Java EE 8 定義而 Tomcat 10 已全面遷移到 Jakarta EE 9所有javax.*包名被替換為jakarta.*。但本項(xiàng)目源碼中所有 import 仍是import javax.servlet.http.*強(qiáng)行用 Tomcat 10 會(huì)導(dǎo)致編譯期找不到類。必須用 Tomcat 9.0.x推薦 9.0.85它同時(shí)支持 Servlet 4.0 和javax.*命名空間。MySQL 方面項(xiàng)目使用mysql-connector-java-5.1.47.jar經(jīng)典 JDBC 驅(qū)動(dòng)它對(duì) MySQL 5.7/8.0 兼容性極好但有一個(gè)關(guān)鍵限制不支持 MySQL 8.0 默認(rèn)的caching_sha2_password認(rèn)證插件。若你本地 MySQL 8.0 是全新安裝默認(rèn)認(rèn)證方式就是這個(gè)直接導(dǎo)致DriverManager.getConnection()拋Access denied for user異常。解決方案不是降級(jí) MySQL而是修改用戶認(rèn)證方式——這是每個(gè)用 MySQL 8.0 跑老項(xiàng)目的人必過(guò)的一關(guān)。2.2 IDEA 中導(dǎo)入項(xiàng)目并配置 Tomcat 的實(shí)操步驟附關(guān)鍵截圖邏輯說(shuō)明提示本項(xiàng)目是標(biāo)準(zhǔn)的 Dynamic Web Project 結(jié)構(gòu)非 Maven 項(xiàng)目因此無(wú)需pom.xml解析直接以“Existing Sources”方式導(dǎo)入。解壓與目錄確認(rèn)將下載的源碼包解壓到無(wú)中文、無(wú)空格路徑如D:\javaweb-score-system。確認(rèn)根目錄下存在src/Java 源碼、WebContent/Web 資源含WEB-INF/web.xml、lib/含mysql-connector-java-5.1.47.jar和servlet-api.jar。IDEA 導(dǎo)入打開(kāi) IDEA →File→New→Project from Existing Sources...→ 選擇解壓后的根目錄 → 選擇Import project from external model→ 選None→ 點(diǎn)擊Next。在后續(xù)向?qū)е袆?wù)必取消勾選Create project from template直接點(diǎn)擊Finish。配置 Project SDK 與 Language LevelFile→Project Structure→Project→Project SDK選擇已安裝的 JDK 1.8本項(xiàng)目編譯級(jí)別為 1.8→Project language level選8 - Lambdas, type annotations etc.。添加 Tomcat ServerRun→Edit Configurations...→→Tomcat Server→Local。在Server選項(xiàng)卡中Application server點(diǎn)擊Configure...→ 選擇你的 Tomcat 9 安裝目錄如D:\apache-tomcat-9.0.85。在Deployment選項(xiàng)卡中點(diǎn)擊→Artifact→ 選擇javaweb-score-system:war explodedIDEA 會(huì)自動(dòng)識(shí)別WebContent為 Web Root。驗(yàn)證 web.xml 配置打開(kāi)WebContent\WEB-INF\web.xml檢查servlet和servlet-mapping是否完整。例如ServletUploadFile的配置應(yīng)為servlet servlet-nameupload/servlet-name servlet-classcom.servlet.ServletUploadFile/servlet-class /servlet servlet-mapping servlet-nameupload/servlet-name url-pattern/upload/url-pattern /servlet-mapping若缺失需手動(dòng)補(bǔ)全否則訪問(wèn)/upload會(huì) 404。2.3 MySQL 數(shù)據(jù)庫(kù)初始化建庫(kù)、建表、授權(quán)、解決caching_sha2_password認(rèn)證問(wèn)題項(xiàng)目數(shù)據(jù)庫(kù)腳本位于sql/目錄或doc/目錄下的.sql文件通常命名為score_system.sql。執(zhí)行前需先創(chuàng)建數(shù)據(jù)庫(kù)并處理認(rèn)證問(wèn)題。創(chuàng)建數(shù)據(jù)庫(kù)用 MySQL 客戶端如 MySQL Workbench 或命令行執(zhí)行CREATE DATABASE IF NOT EXISTS score_system CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;使用utf8mb4是為了完整支持 emoji 和生僻漢字避免插入學(xué)生姓名時(shí)報(bào)錯(cuò)。解決caching_sha2_password認(rèn)證關(guān)鍵執(zhí)行以下 SQL 修改 root 用戶或你項(xiàng)目連接用的用戶的認(rèn)證方式-- 登錄 MySQL 后執(zhí)行假設(shè)用戶名為 root密碼為 123456 ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 123456; FLUSH PRIVILEGES;邏輯說(shuō)明mysql_native_password是 MySQL 5.7 及之前默認(rèn)的認(rèn)證插件mysql-connector-java-5.1.47.jar僅支持此插件。FLUSH PRIVILEGES是強(qiáng)制刷新權(quán)限緩存否則修改不生效。導(dǎo)入數(shù)據(jù)表結(jié)構(gòu)與初始數(shù)據(jù)在 MySQL 客戶端中選中score_system數(shù)據(jù)庫(kù)執(zhí)行score_system.sql腳本。該腳本應(yīng)包含student,teacher,course,score,user等核心表的CREATE TABLE語(yǔ)句及INSERT INTO初始化數(shù)據(jù)如管理員賬號(hào)admin/admin。驗(yàn)證數(shù)據(jù)庫(kù)連接打開(kāi)src/com/util/DBUtil.java或類似名稱的數(shù)據(jù)庫(kù)工具類檢查url,username,password是否與你本地 MySQL 配置一致。典型配置為private static final String URL jdbc:mysql://localhost:3306/score_system?useUnicodetruecharacterEncodingutf8; private static final String USERNAME root; private static final String PASSWORD 123456;注意?useUnicodetruecharacterEncodingutf8參數(shù)確保中文不亂碼。3. 核心功能模塊拆解DAO 層實(shí)現(xiàn)原理與 Servlet 業(yè)務(wù)邏輯鏈路分析3.1ScoreDaoImpl與StudentDaoImplJDBC 手寫 CRUD 的典型范式與事務(wù)邊界本項(xiàng)目未使用 MyBatis 或 Hibernate所有數(shù)據(jù)庫(kù)操作均基于原生 JDBC。理解ScoreDaoImpl成績(jī)管理和StudentDaoImpl學(xué)生管理的實(shí)現(xiàn)是掌握整個(gè)項(xiàng)目數(shù)據(jù)層的關(guān)鍵。ScoreDaoImpl的核心方法addScore(Score score)展示了標(biāo)準(zhǔn) JDBC 流程public boolean addScore(Score score) { String sql INSERT INTO score (student_id, course_id, score_value, term) VALUES (?, ?, ?, ?); Connection conn null; PreparedStatement pstmt null; try { conn DBUtil.getConnection(); // 1. 獲取連接 pstmt conn.prepareStatement(sql); // 2. 預(yù)編譯SQL防SQL注入 pstmt.setString(1, score.getStudentId()); // 3. 設(shè)置參數(shù) pstmt.setString(2, score.getCourseId()); pstmt.setDouble(3, score.getScoreValue()); pstmt.setString(4, score.getTerm()); return pstmt.executeUpdate() 0; // 4. 執(zhí)行返回影響行數(shù) } catch (SQLException e) { e.printStackTrace(); return false; } finally { DBUtil.close(null, pstmt, conn); // 5. 關(guān)閉資源順序ResultSet-Statement-Connection } }參數(shù)說(shuō)明與邏輯說(shuō)明PreparedStatement的setXxx(index, value)方法按?占位符順序設(shè)置參數(shù)index從 1 開(kāi)始。executeUpdate()用于INSERT/UPDATE/DELETE返回受影響行數(shù)。DBUtil.close()是封裝的資源關(guān)閉方法必須按 ResultSet → Statement → Connection 順序關(guān)閉否則可能引發(fā)連接泄漏。Score實(shí)體類的getXXX()方法與數(shù)據(jù)庫(kù)字段一一映射這是典型的 POJOPlain Old Java Object模式。StudentDaoImpl的findStudentById(String id)則展示了查詢流程public Student findStudentById(String id) { String sql SELECT * FROM student WHERE student_id ?; Connection conn null; PreparedStatement pstmt null; ResultSet rs null; try { conn DBUtil.getConnection(); pstmt conn.prepareStatement(sql); pstmt.setString(1, id); rs pstmt.executeQuery(); // 1. executeQuery() 用于 SELECT if (rs.next()) { // 2. rs.next() 移動(dòng)到第一行返回 true 表示有數(shù)據(jù) Student student new Student(); student.setStudentId(rs.getString(student_id)); student.setName(rs.getString(name)); student.setGender(rs.getString(gender)); student.setClassId(rs.getString(class_id)); return student; } return null; } catch (SQLException e) { e.printStackTrace(); return null; } finally { DBUtil.close(rs, pstmt, conn); // 3. ResultSet 必須在此處關(guān)閉 } }關(guān)鍵細(xì)節(jié)ResultSet的next()方法是游標(biāo)移動(dòng)的核心if (rs.next())是判斷是否有結(jié)果的標(biāo)準(zhǔn)寫法。rs.getString(column_name)通過(guò)列名獲取值比rs.getString(1)更安全列順序變化不影響代碼。3.2ServletUploadFile與ServletDownloadFile文件上傳下載的底層實(shí)現(xiàn)與安全校驗(yàn)文件操作是本項(xiàng)目區(qū)別于“Hello World”的重要標(biāo)志。ServletUploadFile處理學(xué)生/教師頭像上傳ServletDownloadFile提供成績(jī)報(bào)表下載。ServletUploadFile的核心在于request.getInputStream()和文件路徑處理protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 1. 獲取上傳的文件名和內(nèi)容 Part filePart request.getPart(file); // 獲取名為 file 的表單字段 String fileName Paths.get(filePart.getSubmittedFileName()).getFileName().toString(); // 獲取原始文件名 InputStream fileContent filePart.getInputStream(); // 2. 安全校驗(yàn)檢查文件類型白名單 String contentType filePart.getContentType(); if (!image/jpeg.equals(contentType) !image/png.equals(contentType)) { request.setAttribute(message, 只允許上傳 JPG 或 PNG 格式圖片); request.getRequestDispatcher(upload.jsp).forward(request, response); return; } // 3. 構(gòu)建安全保存路徑防止路徑遍歷攻擊 String uploadPath request.getServletContext().getRealPath() File.separator uploads; File uploadDir new File(uploadPath); if (!uploadDir.exists()) uploadDir.mkdir(); // 創(chuàng)建 uploads 目錄 String filePath uploadPath File.separator fileName; // 4. 寫入文件 Files.copy(fileContent, Paths.get(filePath), StandardCopyOption.REPLACE_EXISTING); request.setAttribute(message, 文件上傳成功); request.getRequestDispatcher(upload.jsp).forward(request, response); }邏輯說(shuō)明與參數(shù)說(shuō)明request.getPart(file)對(duì)應(yīng) HTML 表單中input typefile namefile的name屬性。Paths.get(filePart.getSubmittedFileName()).getFileName()是安全提取文件名的標(biāo)準(zhǔn)做法避免../../../etc/passwd這類路徑遍歷。contentType校驗(yàn)是前端校驗(yàn)的“后悔藥”必須后端二次驗(yàn)證。getServletContext().getRealPath()獲取 Web 應(yīng)用在服務(wù)器上的絕對(duì)路徑uploads目錄需手動(dòng)在WebContent/下創(chuàng)建。ServletDownloadFile的核心是設(shè)置響應(yīng)頭和輸出流protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String fileName request.getParameter(filename); // 從URL參數(shù)獲取文件名如 /download?filenamereport.pdf String downloadPath request.getServletContext().getRealPath() File.separator downloads File.separator fileName; File file new File(downloadPath); if (file.exists()) { // 1. 設(shè)置響應(yīng)頭告知瀏覽器這是附件且指定文件名 response.setContentType(application/octet-stream); response.setHeader(Content-Disposition, attachment; filename\ fileName \); response.setContentLength((int) file.length()); // 2. 將文件字節(jié)流寫入響應(yīng)輸出流 FileInputStream in new FileInputStream(file); OutputStream out response.getOutputStream(); byte[] buffer new byte[4096]; int length; while ((length in.read(buffer)) 0) { out.write(buffer, 0, length); } in.close(); out.close(); } else { response.sendError(HttpServletResponse.SC_NOT_FOUND, 文件不存在); } }關(guān)鍵點(diǎn)Content-Disposition: attachment強(qiáng)制瀏覽器下載而非在頁(yè)面中打開(kāi)。filename參數(shù)必須經(jīng)過(guò)嚴(yán)格校驗(yàn)如正則匹配^[a-zA-Z0-9._-]$防止惡意文件名注入。3.3ServletaddTeacher與權(quán)限控制如何在 Servlet 中實(shí)現(xiàn)簡(jiǎn)單的角色路由ServletaddTeacher并非僅添加教師它體現(xiàn)了項(xiàng)目的基礎(chǔ)權(quán)限思想只有管理員user_roleadmin才能訪問(wèn)。其doPost方法開(kāi)頭通常有如下校驗(yàn)// 從Session中獲取當(dāng)前登錄用戶 User user (User) request.getSession().getAttribute(user); if (user null || !admin.equals(user.getRole())) { request.setAttribute(message, 權(quán)限不足無(wú)法執(zhí)行此操作); request.getRequestDispatcher(error.jsp).forward(request, response); return; } // ... 后續(xù)執(zhí)行添加教師的業(yè)務(wù)邏輯邏輯說(shuō)明request.getSession().getAttribute(user)是登錄成功后存入 Session 的用戶對(duì)象。user.getRole()返回字符串a(chǎn)dmin或teacher或student。這種基于 Session 的簡(jiǎn)單角色判斷是 JavaWeb 基礎(chǔ)項(xiàng)目最常用的權(quán)限控制方式雖不如 Shiro/Spring Security 嚴(yán)謹(jǐn)?shù)銐蛑握n程設(shè)計(jì)需求。4. 避坑指南90% 的同學(xué)在部署和調(diào)試時(shí)踩過(guò)的 5 個(gè)具體坑4.1 現(xiàn)象啟動(dòng) Tomcat 后訪問(wèn)http://localhost:8080/login.jsp顯示 404原因IDEA 未正確部署WebContent目錄為 Web Root或web.xml中 servlet-mapping 的url-pattern與實(shí)際訪問(wèn)路徑不匹配。例如web.xml中配置url-pattern/login/url-pattern但你直接訪問(wèn)了/login.jsp。解決在 IDEA 的Project Structure→Modules→Web選項(xiàng)卡中確認(rèn)Web resource directories指向WebContent且Web.xml路徑正確。檢查web.xml中所有servlet-mapping的url-pattern確保訪問(wèn)路徑與之完全一致如配置為/login則應(yīng)訪問(wèn)http://localhost:8080/login而非.jsp文件名。4.2 現(xiàn)象登錄時(shí)輸入正確賬號(hào)密碼卻始終跳轉(zhuǎn)到error.jsp或空白頁(yè)原因UserDaoImpl.login(String username, String password)方法中SQL 查詢語(yǔ)句錯(cuò)誤或數(shù)據(jù)庫(kù)連接失敗導(dǎo)致rs.next()返回falselogin()方法返回null后續(xù)if (user ! null)判斷失敗。常見(jiàn)錯(cuò)誤是 SQL 字段名寫錯(cuò)如user_name寫成username或password字段在數(shù)據(jù)庫(kù)中是加密存儲(chǔ)MD5但代碼中直接比較明文。解決在UserDaoImpl.login()方法內(nèi)rs.next()前加日志System.out.println(SQL: sql , username: username);并在數(shù)據(jù)庫(kù)中手動(dòng)執(zhí)行該 SQL 驗(yàn)證。檢查score_system.sql中user表結(jié)構(gòu)確認(rèn)字段名與代碼中rs.getString(xxx)一致。若密碼是 MD5 加密代碼中需用DigestUtils.md5Hex(password)需引入 commons-codec再比較。4.3 現(xiàn)象ServletUploadFile上傳圖片后在 JSP 頁(yè)面顯示為破損圖標(biāo)原因文件保存路徑錯(cuò)誤或 JSP 中img src...的路徑是相對(duì)路徑未指向WebContent/uploads/目錄。例如代碼中保存到WebContent/uploads/1.jpg但 JSP 中寫img srcuploads/1.jpg而該 JSP 本身在WebContent/下路徑正確但如果 JSP 在WebContent/admin/下則應(yīng)寫img src../uploads/1.jpg。解決在ServletUploadFile中打印filePath的絕對(duì)路徑System.out.println(Saved to: filePath);確認(rèn)文件確實(shí)生成。在瀏覽器中直接訪問(wèn)http://localhost:8080/uploads/1.jpg若能顯示圖片則 JSP 中的src路徑需據(jù)此調(diào)整。最佳實(shí)踐是在web.xml中配置一個(gè)context-param定義upload.dir并在 JSP 中用${pageContext.request.contextPath}/uploads/。4.4 現(xiàn)象ScoreDaoImpl.addScore()執(zhí)行后數(shù)據(jù)庫(kù)score表無(wú)新增記錄也無(wú)任何異常日志原因DBUtil.getConnection()返回的Connection對(duì)象未設(shè)置autoCommitfalse且addScore()方法中未顯式調(diào)用conn.commit()。雖然單條 INSERT 通常自動(dòng)提交但若 DAO 方法被其他事務(wù)包裹如未來(lái)擴(kuò)展或數(shù)據(jù)庫(kù)連接池配置了autoCommitfalse則必須手動(dòng)提交。本項(xiàng)目雖未顯式開(kāi)啟事務(wù)但DBUtil類中g(shù)etConnection()方法可能遺漏了conn.setAutoCommit(true)。解決打開(kāi)DBUtil.java找到getConnection()方法在return conn;前添加conn.setAutoCommit(true);。或者在addScore()方法的try塊末尾添加conn.commit();需捕獲SQLException。4.5 現(xiàn)象在 IDEA 中修改了StudentDaoImpl.java重新部署后頁(yè)面行為未改變?cè)騃DEA 的Build→Rebuild Project未觸發(fā)或 Tomcat 的On Update action設(shè)置為Update classes and resources但未勾選Update resources導(dǎo)致 JSP/HTML/CSS 等靜態(tài)資源未更新更常見(jiàn)的是target/classes/或out/production/目錄下的.class文件未被 Tomcat 熱加載需重啟。解決Build→Rebuild Project強(qiáng)制重新編譯所有 Java 文件。在Run→Edit Configurations...→Tomcat Server→On Update action中勾選Update classes and resources和Update resources。若仍無(wú)效點(diǎn)擊 Tomcat 控制臺(tái)的Redeploy按鈕循環(huán)箭頭圖標(biāo)或直接Stop后Start。5. 進(jìn)階技巧三步完成從“能跑”到“能講”的答辯級(jí)優(yōu)化5.1 第一步為所有 Servlet 添加日志輸出讓答辯時(shí)的“過(guò)程演示”有據(jù)可依答辯時(shí)老師常問(wèn)“你如何確認(rèn)數(shù)據(jù)真的插入了數(shù)據(jù)庫(kù)” 光說(shuō)“我看了數(shù)據(jù)庫(kù)”不夠有力。在每個(gè)關(guān)鍵 Servlet 的doGet/doPost開(kāi)頭和結(jié)尾添加System.out.println()日志形成清晰的執(zhí)行鏈路。這不是低級(jí)調(diào)試而是構(gòu)建可追溯的證據(jù)鏈。以ServletaddTeacher為例在doPost開(kāi)頭加入System.out.println([ServletaddTeacher] 開(kāi)始處理添加教師請(qǐng)求參數(shù)name name , gender gender , title title);在teacherDao.addTeacher(teacher)調(diào)用后加入boolean result teacherDao.addTeacher(teacher); System.out.println([ServletaddTeacher] 調(diào)用 TeacherDaoImpl.addTeacher()返回結(jié)果 result); if (result) { System.out.println([ServletaddTeacher] 教師添加成功ID teacher.getId()); } else { System.out.println([ServletaddTeacher] 教師添加失敗請(qǐng)檢查數(shù)據(jù)庫(kù)連接或約束條件); }價(jià)值點(diǎn)答辯時(shí)你可以當(dāng)著老師面啟動(dòng) Tomcat打開(kāi)控制臺(tái)IDEA 下方Run標(biāo)簽頁(yè)然后在瀏覽器操作添加教師。老師立刻能看到控制臺(tái)滾動(dòng)的日志從“開(kāi)始處理”到“添加成功”每一步都實(shí)時(shí)可見(jiàn)、可截圖。這比口頭描述“我寫了 DAO”有力十倍。日志中包含具體參數(shù)值name,gender證明你理解了請(qǐng)求參數(shù)的獲取與傳遞。5.2 第二步用web.xml的welcome-file-list和error-page提升系統(tǒng)健壯性與專業(yè)感一個(gè)“高分項(xiàng)目”必須有基礎(chǔ)的用戶體驗(yàn)兜底。web.xml不只是配置 Servlet更是定義應(yīng)用入口和錯(cuò)誤處理的契約。設(shè)置歡迎頁(yè)在web.xml的web-app標(biāo)簽下添加welcome-file-list welcome-filelogin.jsp/welcome-file /welcome-file-list這樣訪問(wèn)http://localhost:8080/會(huì)自動(dòng)跳轉(zhuǎn)到login.jsp而不是顯示 Tomcat 默認(rèn)的 404 頁(yè)面給老師留下“系統(tǒng)有入口”的第一印象。配置全局錯(cuò)誤頁(yè)添加error-page error-code404/error-code location/error/404.jsp/location /error-page error-page error-code500/error-code location/error/500.jsp/location /error-page并在WebContent/error/下創(chuàng)建404.jsp和500.jsp內(nèi)容可以是友好的提示如“頁(yè)面走丟了請(qǐng)返回首頁(yè)”。這表明你考慮了異常場(chǎng)景不是只關(guān)注 happy path。5.3 第三步用JSTL替換 JSP 中的% %腳本讓代碼更易讀、更符合現(xiàn)代 Web 開(kāi)發(fā)規(guī)范項(xiàng)目源碼中大量使用% %嵌入 Java 代碼如% for(int i0; ilist.size(); i) { %。這在課程設(shè)計(jì)中可接受但答辯時(shí)若被問(wèn)及“如何提升代碼可維護(hù)性”這就是絕佳的加分點(diǎn)。引入 JSTL將jstl-1.2.jar和standard-1.1.2.jar或jstl-api-1.2.jar和jstl-impl-1.2.jar放入WebContent/WEB-INF/lib/。在 JSP 頂部聲明% taglib prefixc urihttp://java.sun.com/jsp/jstl/core %替換循環(huán)將原始 JSP 中的% ListStudent students (ListStudent) request.getAttribute(students); % % for(Student s : students) { % tr td% s.getStudentId() %/td td% s.getName() %/td /tr % } %替換為c:forEach items${students} vars tr td${s.studentId}/td td${s.name}/td /tr /c:forEach參數(shù)說(shuō)明items${students}綁定 request 屬性vars定義循環(huán)變量${s.studentId}是 EL 表達(dá)式自動(dòng)調(diào)用getStudentId()。這消除了% %的混亂使 JSP 更專注于展示邏輯。從那以后我每次準(zhǔn)備課程設(shè)計(jì)答辯都強(qiáng)制走一遍這三步加日志、配 welcome/error、換 JSTL。它不增加核心功能但能讓老師一眼看到你的工程素養(yǎng)——你知道代碼不僅要能跑還要能被看見(jiàn)、能被理解、能被信任。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99热免费观看| 日韩啪啪视频| 成人丁香五月| 婷婷丁香人妻天天久久| 欧美色骚婷婷五月天| 亚洲99热| 国产成人片| 丁香美女主播视频在线观看| 91精品熟女| 丁香五月天激情综合| 五月天激情偷拍| AV大片在线观看| 婷婷黄色| 婷婷五月天在线观看免费| 婷婷五月电影院| av在线免费播放观看| 亚洲综合视频在线| 色色色在线观看| a v色婷婷| 国产91视频| 亲子乱AV-区二区三区| 欧美99热| 久操热| 丁香婷五月| 婷婷五月天色色| 精品婷婷丁香五| 五月综合久久| 亚洲五月婷| 色五月丁香五月| 天天操九九插| 五月婷六月天| 99热国产在| 97精品欧美91久久久久久久| 草榴视频网| 美女婷婷激情亚洲| 河北真实伦对白精彩脏话| 玖玖婷婷色五月| 天天舔天天摸视频| www91精品| av高清无码| 91超级碰碰| 播五月,色五月,开心五月播放器| 开心激情婷婷| 伊人网大香| www,天天干| 五月丁香婷婷三级| 激情五月影院| 五月天婷婷AV| 另类专区在线观看| 五月婷婷丁香| 欧美S码亚洲码精品M码| 丁香五月影| 日本综合久久| 日本三级中国三级99人妇网站| 欧洲色| www.com五月天| 天天舔天天摸视频| 综合九九| 超碰色综合| 大婷婷色呦呦噜噜色呦呦噜噜| 久久九九视频| 亚洲人人操| 五月激情基地| 91人人澡人人爽人人看| 91.com男女操| 久久精彩综合视频| 人妻熟妇国产精品| 日日日,com| 婷婷五月天成人在线视频| 日韩九区| 中文人妻主播久久| 国产VA亚洲VA96| 五月婷婷狠狠干| 就去涩涩丁香五月天| 5月丁香六月婷婷| 精品皮股午夜AV| 亭亭社区五月天| 丁香五月欧美色综合| 深爱五月亚洲| 激情五月婷婷视频一区二区三区| 色色激情| 成人无码免费一区二区中文| 涩五月丝袜婷婷| 色婷婷aV四虎| 久久xxxx| 中文字幕 久久9999| 丁香婷婷色情社区成人小说| 五月丁香久久综合| 国产成人AV不卡| 97超级啪啪在线观看| 中字幕视频在线永久在线观看免费| 五月婷丁香| 国产成人精品亚洲线观看| 成人国产欧美大片一区| 日韩 mm 不卡| 五月丁香日本片| 激情综合婷婷| 伊人婷婷大香蕉| 色色色五月婷婷| 九热在线这里有精品6| 欧美色小说婷婷| 五月婷婷网站| www.夜夜| 色婷婷91| 婷婷激情网五月天| 丁香九月激情| 99啪啪骑| .操區COm| 成人网站免费在线播放| 亚洲久久天堂| 六月丁香婷婷五月天| 婷婷六月激情啪啪| 五月丁香久人妻中文| 色你久久| 五月天婷婷激情六月久久| www.色9| 婷久看人爽| 丁香五月激情婷婷婷婷在线观看| 婷婷伊人| 日韩久热| 第四色婷婷丁香五月| 久热婷婷| 开心深爱激情网| 九九操屄| 美臀自射自家人妻| 婷婷五月激情小说| 五月婷婷欧美| 天天射影院| 五月开心网| 射久久丁香五月| 都市激情五月婷婷综合| 一起草AV| 久久久久亚洲AV无码网影音先锋| 99热久久这里只有精品2010| 99re6在线视频精品免费| 久久五月婷婷视频| 超碰人人操在线| 99热综合| 亚洲色人妻| 亚洲九九99精品视频在线播放| 日本九九九九| 色情综合| 99亚洲天堂| 五月丁香亭亭操逼| 欧美25p| 五月婷婷偷拍| 99热自拍| 天天影视色综合网| 国产女生爱爱AA| 五月丁香婷中文字幕| 97久久视频| 色情五月天小说| 五月天婷婷视频| 日本久久高清| AA片在线观看视频在线播放| 99视频精品全部免费观看| 2018国产大陆天天弄| 99久久这里只有精品免费官网| 人人干av| 日逼免费视频| 日韩日比视频| 国产 码在线成人网站| 欧美噜噜久久久XXX| 久操操| 五月婷婷五月天天| 国产亚洲成AV人片在线| 日本一级一级一级一级| 婷婷激情五月综合在线视频| 久久总和99| 色婷婷久久综合| 91狠狠综合久久| 天天操天天操天天操天天操天天操| 亚洲无码成人网| 97在线精品| 天天干天天干天天干天天干天天干天天 | 五月天婷婷在线AN| 啪啪啪综合网| 九九久久腿| 久机视频这只有精品| 91日韩美女被插视频| 五月天激情视频| 99黄色性生活| 久久天堂色| 亚洲在线综合| 婷婷丁香综合成人| 五月丁香大香蕉| 成人精品一区日本无码网| 26uuu另类| 99婷婷五月天激情| 国产精品久久久爽爽爽麻豆色哟哟| 99热在线观看这里只有精品| 激情网第九色| 人人综合91网| 日韩乱轮AV| 99这里热| 九九色综合九九色| 人人添人人| 婷婷五月激情的图片| 色婷婷五月天偷拍| 婷色五月天| 九热在线这里有精品6| 日韩成人无码片| 色色色9| 五月婷婷无码| 国产丁香五月天婷婷| 热久69| 婷婷六月色| 五月婷婷丁香瑟瑟视频| 大波美女VA网站| 色99无码| 九九成年视频| 丁香五月天91| 国产精品91抖高| 9月色婷婷| 婷婷亚洲五月丁香综合在线 | 久久精品99国产精品日本| 26uuu亚洲| 看黄的网站18禁| 国产精品视频网| 狠狠爱综合网| 色五月天电影| 淫视馆aV二区一区| 97中文在线| 亚洲色激情| 九九九九九无码| 色欲天天综合网| 操逼五月天| 日韩中文欧美| 极品少妇XXXX精品少妇偷拍| 成片免费观看视频大全| 思思热99热| 亚洲熟妇无码乱子AV电影| 五月丁香 啪啪啪| 五月丁香网视频| 亚洲免费观看高清完整版AV线| 五月婷婷很很色| 99爱爱| 欧美精品99| 99精品视频网站| 婷婷色日本| 婷婷五月天AV网| 99综合自拍| 九九精品9| 桃色成人网| 超碰99在线观看| 亚洲欧洲中文日韩久久AV乱码| 人妻videos人妻高清| 99精品在线观看| Www99热| 亚州激情九月| 岛国操B不卡在线| 99视频在线9| 日韩精品无码一区二区| 久久国产一区二区三区| 91紱請| 五月丁香狠狠爱| www.夜夜操| 大香蕉综合| 婷婷激情图片| 人妻熟女一区二区AV| CHINESE熟女老女人HD视频| 97在线精品| 丁香五月Av| 色五月婷婷五月天| 婷婷综合天堂| 欧美在线97| 超碰93在线观看| 成人中文字幕在线| 久久6这里只有精品| 激情婷婷五月女| 午夜九九电影| 天天爱天天狠天天透| 色婷婷中文在线| 97精品综合| 亚洲天天操| 色五月首页| www。久久久久一b。Cc| 婷婷久久图片| 涩综合在线 | 亚洲国产精品成人va在线观看| 九九热这里只有国产精品| 99热在线免费| 久久久婷| www.久操| 99久久国产宗和精品1上映| 五月天色在线| 日本一级黄色电影| 超碰97在线观看免费| 五月婷婷丁香网| 婷婷99中文字幕| 开心六月丁香五月婷婷| 五月天久久91| 亚洲亚洲人成综合网络| 婷婷情色五月天| 天天爽夜夜爽夜夜爽精品| 五月丁香婷婷激情在线| 六月婷婷av| AV中文在线| 五月天婷婷Av| 九九热九九| 欧美VA在线| 五月天啪啪| 狠狠干五月| 狠狠爱婷婷| 日本www五月婷婷| 久久 天天| 婷婷五月综合在线| 97色热| 丁香五月激情六月综合| AV人人操| 激情五月天综合网| 婷婷深爱五月丁香| 超碰在线caop| 五月婷婷内射网| 色婷婷亚洲婷婷| 日本欧美成人片AAAA| 日韩在线一级| 亚洲日日日| 五月天激情婷婷| 婷婷五月综合网| 婷婷激情五月综合在线视频| 六月婷婷综合| 天天操夜夜啊| 婷婷色在线| 五月婷九九草| 五月婷婷视频28| 99热这里只有精品9| 激情久久 婷婷| 欧美婷婷五月激情| 色啪网| 91精品久久久久久久久久久久| 婷婷丁香亚洲五月天| 99热在线观看免费精品| 91久热| 激情图片婷婷| 五月天婷婷激情在线色图| 草AV9999| 在线看的免费网站| www.com操| 激情欧美五月丁香| 18av天堂| 色99在线| 怕怕av| 五月天婷婷色综合| 婷婷月五天在线在线看| 色色色综合| 丁香婷婷六月天| av色色国产| 美女久久天堂| 亚洲色情网站| 久热伊人在91| 91日日日| 99色色爰| 免费观看18视频网站| www久久99com| 95精品区一区二| 狠狠五月天| 色~性~乱~伦~噜| 日韩成人AV在线播放| 91精品视频男人的天堂| 91九色中文字幕女在线观看| 97热视频| 五月天开心网| 天天天日天天天干| 亚洲精品网址| 五月婷婷丁香| 丁香五月婷婷久久久| 五月天激情图片| 日日骑夜夜撸| 久99婷婷色综合| 这里只有精彩亚洲视频推荐| 国产一区18| 久久久久亚洲AV成人无码电影| 婷婷五月天激情电影| 人人综合久| 色综合色五月| 五月天婷婷婷| 色情久久久| 玖玖婷婷五月天| 中文字幕 中文字幕明步| 噜一噜免费视频| 五月丁香啪啪啪| 六月色色婷婷| 五月丁香啪啪综合| 国产成人精品一区二三区熟女在线| 亚洲色vA| 日韩另类| 五月婷九月| 欧美日本国产欧美日本韩国99| 丁香五月性| 欧美韩国日本| 99精品在线观看视频| 综合激情五月丁香| 伍月婷丁香花全集| 欧美久热| 日本在线观看aaa 99| 五月天日日操夜夜操 | 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 国内外色色色色色成人视频| site:minyis.com| 婷婷久久色五月婷婷久久久| 激情久久肏屄视频| 天天舔天天摸天天透| 五月丁香激| 丁香五月天堂网| www.成人婷婷综合| www.国产亚洲69ty.久久久久久久久久久久| 久久99热网| 色天堂A| 色婷婷色久综| 九九aV| 97碰碰免费.视频| 亚洲在线操| 五月丁香色婷| 精品国产va久久久久| 久久久久久久,99精品视频| 色情综合| 五月丁香网站| 丁香六月伊人| 九色亚洲| 亚洲操操| 色五月婷婷在线| 99热骚货| 亚洲 激情 中文| 久久99综合网| WWW、日本色丁香、co m| 五月婷激情| 色婷婷五月中文字幕在线dvd| 丁香五月婷婷啪| 欧美日本高清视频99| 影音先锋女人AA鲁色资源| 色婷五月天| 五月天婷婷色小说| 狠狠人人| 五月婷婷综合热| 六月撸婷婷| 任你干线上免费视频有3吗| 婷婷色婷婷| 99热精品在线在线| 综合色激情| 色。 婷婷婷| 九九黄色网| 九九九九九九毛片| 综合 蜜月 婷婷| 婷婷综合性爱网| 午夜大香蕉| 久久香蕉影院| 五月丁香成人网| 丁香婷婷91在线观看视频| 综合婷婷五月丁香在线观看| 激情综合亚洲色婷婷五月| 亚洲性爱99| 天天色·欧美| 玖玖资源部在线播放| 九月激情网| 欧美日韩成人一区二区| 久9久9久9久9久9久9| 狠狠色噜噜狠狠| 婷婷性爱五月天| 婷婷色网站| 开心五激情网| 六月婷婷网站| 婷婷噜噜| 欧美色色色色色色| 无码啪啪| 玖玖婷婷五月天| 丁香五月色| 五月婷婷丁香| 成人午夜天| 色伦专区97中文字幕| 精品人妻伦九区久久AAA片| 五月天婷婷成人网| 大香蕉久久视频久久视频| av高清无码| chaopeng在线人人| av在线免费网站| 五月丁香六月成人| 亚洲网站在线鸭子av| 熟女乱论网| 开心五月深爱五月婷| 五月丁香激情深爱婷婷| 综合一本道| 991精品在线视频| 色综合丁香| 99热精品在线在线| 以及AA大片看看| 婷婷性爱视频在线| 色色99| 丁香五月天婷婷久久| 久久96热| 五月 激情视频| 五月婷婷在线免费观看| 亚州男人天堂婷婷五月| www.五月天婷婷| 丁香五月网站| 人人草人人视| 99免费| 69色色视频| 婷婷综合网| 久久XX| 无码91中文字幕| 在线超碰91| 日操| 久久九精品| 中文字幕成人| h亚洲| 天天拍夜夜撸| 婷婷成人视频| 强辱丰满人妻HD中文字幕| 色婷婷另类| 开心五月婷婷激情| 久久精品视频在这里有| 九九综合色| 无码人妻一区二区一牛影视| 99re熱| 91精品久久久久久综合五月天| 亚洲超碰在线| 日韩三级视频一区二区| 激情网五夜婷婷| 天天狠狠干| 色婷婷色99国产综合精品| 色婷婷影视99| 丁六月激情| 91丨九色丨熟女丰满| 91男同视频| 亚洲精品99| 天天综合中文| 色综合色香蕉网| 亚洲AV网站| ji'qi'luan'ren'lun| 天天色播| 91蜜桃婷婷狠狠久久综合9色| 这里精品| 99热99艹在线观看| 激情com| 超碰97人人操| 日本一级一片免费视频| 第四色五月天| 色五月婷婷亚洲| 99无码| 亚洲区视频| 久久久精品人妻| 激情 久久 婷婷| www。88热在线视频免费观看| 色碰碰| 亚洲AV永久无码影院黑人| 成人狠狠成人狠狠成人狠狠成人狠狠 | 综合久久六月| 六月丁香久久| 九九精品少妇| 婷婷五月天久久久| av五月丁香| 九九热视频免费的| 久久se 综合网| 五月婷婷六月丁香综合视频在线| 可以免费观看的AV| 久久中文人妻系列| 丁香五月天社区| 色色色99| 啪啪综合网| 六月婷婷深深爱| 色999亚洲人成色| 超碰9| 五月色婷婷中文字幕| 五月婷婷久久久久| 任你搞网站| 婷婷丁香五月91| 无码髙清| 色婷婷狠狠| 激情五月综合| 色婷婷丁香五月丁香| 成 人片 黄 色 大 片| 色综合色综合色综合高潮| 亚洲成av人影院| 9久热这里只有精品视频| 国产精品久久久久久五月天加勒比| 久久激情网| 好吊操这里只有精品| 久久人妻精品| 色播丁香婷婷五月激情| 超碰在线播放免费观看| 9l视频自拍9l九色9l成人| 99婷婷国产最新视频| 婷婷久热| 久久综合网免费视频| 国产又爽又猛又粗的视频A片| 插插五月天| 色欲AVV| 色婷婷亚洲五月天| 丁香五月性爱| 99热在线观看| 丁香五月社区| 久青青久| Av免费网站在线| 日本高清久| 五月天无码| 玖玖色综合色| 九月婷婷久久久| 色播五月天天| 久婷久婷激情肉| www,天天干| 插插五月天| 97婷婷在线视频| 亚洲激情四射| 久草xx性爱视频| 《久久综合九色综合97婷婷| 97人人草| 26uuu欧美| 天天综合亚洲综合网天天αⅴ| 激情综合丁香六| 性爱视频久久| er99免费视频在线| 日本 欧美在线| 97久久人人人干| www、丁香五月天| 精品夜夜澡人妻无码AV| 亚洲乱码w在线观看| 欧美99热| 丁香五月91| 草草色情综合网| 97碰在线视频| 婷婷五月亚洲一本在线丁香| 日本色噜| 久久99精品久久久久久三级| 日本不卡一区二区三区| 亚洲啪啪视频| 深爱激情六月天| 操笔无码| 五月婷婷久久综合| 综合网色综合| 婷婷丁香激情五月天色色色| 99精品综合| 婷婷淫淫狠狠六月| 思思re视频在线| 丁香六月婷婷综合激情欧美| 色色色区| 色婷婷最新域名 | 在线成人网站| 秋霞AV美国| av在线婷婷| 五月激情在线| 色五月播五月| 婷婷五月情| 综合婷婷五月天| 色五月婷婷DVD| 亚洲久久视频| 99热在线爱| 丁香六月激情| 久久看婷婷| 亚洲AV永久无码影院黑人 | 99rewww| 狠狠综合网| 激情九九六月激情免费视频| 六月综合在线| 99免费热视频| 天天操夜夜爽| 婷婷丁香激情| 五月丁香六月婷婷亚洲| 亚洲女婷婷五月基地综合久久久| 色婷婷五月天激情久久| 激情美女五月天| 成久综合视频| 天天弄天天爽| 九九九九九无码| 欧美成性色| 18av天堂| henhencao国产在线| 夜夜夜天天操| 婷婷五月天视| 五月情综合| 狠狠色丁香婷婷基地| 婷婷五月情色| 婷婷色色网| WWW.开心五月天.COM| 思99热精品久久只有精品| 亚洲 在线 性爱| 激情五月婷婷啪啪| 久狠日av| 噜一噜在线| 久久久久久97| 99无码视频| 欧洲毛片基地c区| 中文字幕在线观看视频www| 婷婷色色网| 都市激情蜜桃婷婷五月天| 激情文学天天| 99.色| 婷婷五月激情视频| 9有码中文| 久久久久er热| 麻豆AV一区二区三区| 99操九九网| 免费超碰在线| 99啪啪视频| 欧美大肥婆大肥BBBBB| 国产AV国片偷人妻麻豆| 丁香av网| 亚洲精品成人| 五月天色婷婷视频| 亚洲另类日本| 色屌丝中文字幕| 日本精品人妻无码77777| 色婷婷AV久久| 第四色激情网| 五月丁香六月婷婷玖玖| 播五月开心婷婷欧美综合| 99精品久久| 玩熟女五十AV一二三区| 五月婷婷草| 久久婷婷六月天| 99色看| 婷久久| 亚洲亚洲人成综合网络| 日韩淑女人妻luan伦激情精品一区二| 久久亚洲A| 99热这里只有免费精品| 天天干天天操天天爽| www.91热久久| AV电影在线播放| 欧美激情五月| 五月婷婷在线视频| 日韩精品无码AV| 天天日,天天射,天天插| 久久 天天| 国产3p露脸普通话对白| 国产老熟妇亲子乱对白| 日本九九热| 91Chinese在线| 亚洲无码猫咪| 色综合久久五月| 婷婷综合五月天| 9色91视频| 色色色色色色色色五月先| 五月天色婷婷基地| 亚洲天堂热| 第四色五月婷婷| 婷婷丁香亚洲五月天| 99超级碰免费视频| 色综合香蕉视频| 久久看九九90| www.yw尤物| 免费亚洲婷婷五月| 丁香花综合永久入口| 色综合色婷婷色伊人| 91九色视频在线观看| 色综合激情图区| 丁香六月婷月91婷月| 2025天天日爽| 色色草97| 久8色色| 国产小精品| 99热免费精品热久久66| 大香蕉久艹| 亚洲狠狠婷婷| 舔色婷婷| av一区免费看| 丁香激情婷婷网| 国产欧美日韩综合精品一区二区| 俺也去婷婷五月天第五色| 色老久久| 亚洲色夜| 久久最新色| 婷婷丁香91| 日婷婷久久开心| 99艹精品在线观看| 午夜做爱影院| 青青久久91| 2025年最新亚洲在线欧美| 这里只有精品96| 色综合色欲综合天天免费 | 六月婷婷操逼| 69色色视频| H亚洲| 丁香五月停停av| 激情五月天婷婷播播久久综合91| 伊人婷婷五月| 岛国AAAV| 色五月婷婷影院| www,99色| 色久综合| 久久精品视频99| 欧美日韩一区二区三区四区| 99色色爰| 日本精品久久久久中文字幕 | 久久五月天激情| 久久久免费精彩视频| 丁香九色不卡aaa| AV操操操| 97人人操在线| 99精品免费视频| 色婷婷五月基地在线| 99色爱| 丁香五月婷婷色| 97久操| 婷婷综合精品| 伍月婷婷免费视频| 久久se 综合网 | 亚洲 视频 导航 一区| 97超碰综合| 夜夜骑操AV| 国产婷伊人| 久久久久er热| 激情久久综合| 乱精品一区字幕二区| 人妻VideOssS人妻高清| 久久亚洲无码| 五月花婷婷| 毛片新网地| 97人妻碰碰碰碰碰久久久久久| 狼友超碰| 五月激情综合激情五月| 婷婷丁香五月天操逼| 五月婷婷啪啪网| 一区二区三区四区五区| av电影在线播放| 另类A片| 欧美猛片| 啪啪 综合网| 中字幕视频在线永久在线观看免费| 欧洲亚洲激情五月天在线| 亚洲熟女乱色综合亚洲网站| 91超级碰| 26uuu亚洲| 成人操呦av| 久久一操| 嫩草AV久久伊人妇女超级A| 噜噜久| 日日骑夜夜撸| 天色色综合网| 人妻22p| 五月激情影视| 亚洲激情电影五月天色婷婷丁香一起草 | 婷婷色五月综合丁香| 久久婷婷五月综合色天| 伊人婷婷五月天| 五月激情天天干| 六月丁香激情综合网| 夜色爱爱亚洲| 激情五月综合| 久久92| 99日这里只有精品| 五月六月丁香激情视频| 久久99久久久久久久噜噜| 日本乱子人伦在线视频| 96精品久久久久久久久| 婷婷深爱五月丁香网| 五月丁香啪啪啪综合网| 99啪视频在线观看| 亚洲成av人影院| 成人AV免费观看| 五月婷婷 激情五月| 美妞av| 操逼毛片国语对白| 色吊丝av中文字幕| 91夫妻视频| 狠狠干狠狠干| 丁香婷婷网| 99在线观看精品视频| 极品 少妇 内射| 婷婷久久综合| 日本啪啪网| 超级碰碰碰91| 97超碰色| 亚洲六月色| 熟妇无码乱子成人精品| 色色丁香| 免费亚洲婷婷中文字幕| 噜噜狠狠色综无码久久合欧美| 99热99这里有免费的精品| WWW·天天操·视频?| 在线婷婷| AV在线免费播放| 九九视屏| 中文久久婷婷| 婷婷五月天AV在| 成人国产网| 婷婷5月久久综合网站| 国产精品日本一区二区在线播放| 五月婷婷影院| 久久激情网| 这里只有精品免费视频| 97久久草草超级碰碰碰| 99热免费精品| 婷婷99中文字幕| 色吧五月婷婷| 久久只有精| 色色色999| 婷婷九月色| 九九九这里只有精品| 91丨九色丨大屁股| 青草青草久热这里只有精品| 99精品在线| 五月丁香六月婷婷综合在线| 天天摸.天天mo| 超碰三级秋霞| 另类小说五月天综合| 日日操夜夜爽天天天| www天天干| 欧美97p| 色播五月丁香| 丁香婷婷月| 色综合丁香婷婷| 九九热黄色| 五月婷婷六月天| 国产亚洲成AV人片在线观黄桃| 中字幕视频在线永久在线观看免费| 国产69久久久欧美黑人A片| 免费无码毛片一区二区A片| A片女女女女女女BBBB| 久久婷婷五月天大香蕉| 人妻Av在线| 五月婷婷婷综合网| www.色五月| 综合色天天| 婷婷五月深爱五月| www.五月天| 超碰人人操在线| 日本色婷婷| 色六月 婷婷| 成人免费视频一区| 爱操人妻| 另类图片 五月激情| 五月丁香六月婷婷综合| 99色精品| 亚洲久热| 岛国午夜视频| 色婷婷丁香五月| 丁香五月婷婷88在线| 天天操人人干| 久久99热这里只有精品| 日逼影音先锋男人AV资源站| 亚洲另类毛片| 欧美五月丁香在线| 99热中文字幕久久| 色墦五月丁香| .青娱乐天天操B| 精品久热69| 狠狠狠狠免费| 日本婷色| 日韩一级片| 综合网网欲色| 这里只精品| 久久五月丁香| 九九视频在线观看视频6 | 波多野结衣AV无码Porn| 天天日天天爽夜夜爽| aaaa久久| 99久久九九| 婷婷五月天BBw| 五月天激情亚洲| 日韩精品在线观看9| 在线视频你懂得| 美女美女美女三级色天天天天天| 五月天社区| 国产性爱大片久久| 五月天激情综合网俺也去| 色五月首页| 欧美日韩99| 97久久五月丁香婷婷| 草AV9999| 久久久久er热| 色五月婷婷五月天激情综合| 婷婷五月AA五月在线| 中文资源在线a | 99色在线观看视频| 亚洲色vA| 五月香婷婷| 超碰女人天堂| 天天摸天天透天天舔| 婷婷在线网| 99亚色色色| 五月婷婷AV| 午夜激情四射影院| 秋霞网在线观看理论91| 79精品视频在线观看,| 99色.com| 色五XX| 亚洲情综合五月天| 五月色婷婷亚洲 | 另类视在线| 五月婷导航| 国产美女无遮挡裸体毛片A片| 婷婷在线免费| 99热综合在线| 婷婷综合九月| 婷婷丁香激情综合色情| 人人色人人弄人人操| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 国外亚洲成AV人片在线观看| 青草网在线观看| www.91操| 热99精品视频五月| 五月婷婷六月丁香| www综合久久| 天天日夜夜曹| 人人操91色| 婷婷噜噜| 墨西哥毛片内射精| 这里只有精品网| 丁香婷婷婷| 天天综合网网欲色| 99色嘟嘟精品网站| 99re这里只有精品在线观看| αv中文字幕在线观| 天天色伊人| 免费看欧美成人A片无码| 色之综合网| 五月天婷婷小说| 69堂午夜视频最新地址| 天天爽天天爽| 人人干人人操人人摸人人做| 搡BBBB搡BBB搡五十| 五月丁香六月婷婷亚洲激情综合| 99国产精品久久久久久久久久久| 亚洲色婷婷99一9|| 少妇水多A片太爽了| 丁香五月婷婷乱| 五月综合人妻| 婷婷丁香色五月| 9999热在线观看| 久99久在线观看| 婷婷五月天奸女| 99热国产| 中文人妻主播久久| 国产成人精品一区二三区熟女在线| 四五月婷婷| 丁香婷婷五月天成人| 思思久久精品| 啪啪综合| 超碰人人在线| 第一区久久网站| 丁香九月综合在线| 97超碰人人操| 五月丁香婷婷无码中文| 色色欧美色色色| jizzdr| 欧美在线操| 亚洲激情在线| 伊人久久丁香婷婷六月五月综合| www.com色播五月天| 婷婷视频网| 另类丁香五月天区图| 超碰永久在线| 亚洲99综合| 国产六月婷婷| 欧洲区自拍| 五月激情婷婷丁香| 久久五月婷婷开心网| 一区二区三区XXXXXX| 五月花激情| 五月婷婷色吧!| 99热99极品观看| 天天日天天插| 天天久综合| 99在线观看| 久久婷青青草原| 五月丁香久久网| 丁香五月天欧美| 大香蕉狼人久久| 国产精产国品一二三在观看| 亚洲热视频在线| 99这里只有精品视频免费| 亚洲精品一二三| 狠狠色狠狠| 欧美婷婷五月天综合| 九九热自拍| 亚洲网在线观看| 丁香五月婷婷AV| 婷婷五月天免费| 人人操91| 天堂网操| 人人爱操| 日韩在线99| 久久婷婷五月草视频| 色婷五月天| YW无码| www.婷婷五月天| 亚洲碰碰碰| 色操b| 2014天天爽| 九色无码| 91九色PORNY大屁股| 99爱视频在线观看| 婷婷综合五月| 天天操,夜夜骑| 六月丁香视频网站| 色播播婷婷| 欧美日韩婷婷五月天| 99色视频| 日本高清久| 日屌日日操日日色| 婷婷久久六月天| 久久精品视频99| 天天透天天干| 麻豆AV一区二区三区| 操操啪| 日日夜夜干| 天天婷婷色六月| 无码激情精品色婷婷久久久久| 玖玖国产视频一区| 久大香蕉| 国产美女主播vip| 色涩视频久久| 国产精品久久久久9999小说| 激情五月天综合| PORNY九色9l自拍视频成人| 六月婷婷开心| 激情五月综合网最新 | 九九re视频在线视频| 九九精品9| 人人人操 超碰| 粉嫩AV久久一区二区三区| 99久久6| 国产操碰| 天天操加勒比| 五月狠狠| 亚洲人成色A777777在线观看| 99热中文字幕久久| 日本激情五月| 婷婷色色播五月天| 婷婷五月开心中文字幕色| 噜一噜免费视频| 亚洲人成网亚洲欧洲无码久久| 激情四射网| 九九色欲网| 日本啪啪网| 丁香五月香蕉| 丁香色五月 97干| 激情视频网址| 亚洲婷婷视频| 99re最新地址视频| 九九热亚洲中文在线观看免费| 亚洲激情av| 噜噜噜噜噜在线| 久久久久久xxxxx| 99热99思午夜精品| 天天操夜夜夜拍拍拍| 色婷五月天网站| 日本欧美国产| 亚洲视频图片婷婷五月| 五月婷婷免费在线观看视频| 五月婷婷六月丁香综合| 99热这里只有精品9| 97色啪| 五月婷婷影| 五月丁香激情综合| 丰满少妇乱A片无码| 亚洲av另类在线观看| 香蕉99网| 九九99香蕉在线视频播放| 日本成人综合| 丁香婷最新动态| 在线五月色播| wwwwww.色| 看片视频在线免费日产在线看| 日韩在线视频网站| 五月激情站| 超喷97免费在线视频| 亚洲成人精品三区| 成人婷婷| 婷婷AV丁香| 79色色| 九九热中文| 国自产拍偷拍精品啪啪一区二区| 天堂久久丁香| 婷婷综合在线播放| 亚洲综合网区| 五月天另类小说久久小说网| 久久久久人妻精品| 日本va欧美va国产激情| 久久色大香蕉| 色欲婷婷五月天丁香| 激情六| 五月天久久综合婷婷丁香| 九九热大香蕉| 亚洲精品又粗又大又爽A片| 婷婷五月丁香人妻无码高清| 亚洲第一成人无码A片| 五月婷婷少妇之| 亚洲美女网Va| 久热9| 丁香五月婷婷欧美成人色图| 91狠狠综合久久| 五月丁六月婷| 天天操无码| 久久婷婷青青草| 亚洲小电影在线观看黄999| 久久久久亚洲A∨成人乱码电影| 99精色| 99在线精品观看99| 9 9热这里有精品| 精品色情一区二区三区四区| 婷婷色正月| 久99热| 九九色播五月丁香| 开心五月激情站| 激情综合国产| 超碰婷婷色| 婷婷五月丁香综合| 26uuu亚洲精品国产| 九九综合| 九九热精品99| 婷婷五月噜噜| 亚洲综合另类| 久久久五月婷婷| 思思热久久婷婷五月天| 国产精品大香蕉| 婷婷国产五月天17c| 少妇丁香婷婷 | 成功精品影院| 六月婷色| 99re最新地址| 成人视频网| 96丁香六月婷婷蜜桃综合久久| 婷婷激情五月天小说校园| 五月丁香六月激情综合| 这里只有精品免费视频| 亚洲色婷婷| 成人 视频免费观看网站| 久久久人妻系列| 乱精品一区字幕二区| 秋霞成人毛片一级A片| 欧美xx激情视频在线观看| 99网| 五月婷婷综合网| 182TV大香蕉| 九九热99精品| 开心五月天激情| 99在线精品免费视频| 色噜噜狠狠色综| 久久婷婷国产| 超碰伊人碰婷婷五月| 五月天激情社区| 江苏少妇性BBB搡BBB爽爽爽| 人人色婷婷五月天| 久久xx| 五月婷在线影院| 另类激情五月在线视频欧美| 伊人天堂婷婷| 5月丁香六月情| 午夜69成人做爰视频| 日本激情ⅩXX免费视频| 日韩啪啪视频| 成人av中文字幕| 99久久久久久| 五月停停色色丁香| 久久最新色| 丁香色成人| 九九综合色综合| www一起操| 色婷婷先锋| 大香蕉中文| 14色综合婷婷| www.maotanji.com| 婷婷五月综合网| 天堂久久婷婷| 丁香六月啪啪啪| 中美日韩成人在线| 91性高潮久久久久久久久| 操久久网| 狠狠做婷婷| 激情另类综合| 亚洲视频在线观看| 欧美丁香六月激情视频| 大香伊人久色| 另类五月激情|