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色综合| 97艹| 久九色| 熟女激情网| 婷婷97狠狠成人网站| 亚洲色婷婷婷婷人人爽| 色天堂97| 婷婷色情 | 五月婷婷 激情五月| 色婷婷狠狠| 色婷婷aV四虎| 99热只有| 五月婷婷六月丁香综合| 激情五月色播五月| 色播五月婷婷综合| 久久九九爽| 亚洲 在线 另类| 天天做天天摸| 五月丁香五月激情综合色综合| 丁香五月瑟瑟| 搡BBBB搡BBB搡18| 日韩综合大黄| 综合五月丁香久久| 日本一级一片免费视频| 超碰无码老师| 97亚洲视频在线| 99视频只有精品| 精品视频这里只有精品| 久9无码视频| 超碰在线caop| 久久9精品| 婷婷色香六月综合激情| 色原狠狠综合| 丁香五月激情五月| 婷色影院| 亚洲第一成人无码A片| 99精品视频网| 亚洲色五月天| 色播播婷婷| 99热这里只有精品一| 超碰不卡在线| www.97干视频| WWW·色色色·COM| 99啪在线| 五月天丁香婷婷社区| 九九精品9| 激情久久久| 91操在线视频| 殴美日比视频| 国产99久久久| 丁香六月啪啪| 五月婷色| 激情都市另类| 操97在线观看| 久久九九一區| 狠狠久久婷| 久操欧美在线观看97| 久久伊人五月天| 亚州操操| 99操视频| 丁香五月五月婷婷| 99成人| 综合大香蕉| 26uuu国产| 六月丁AV| 久久99精品久久久久久噜噜| 色九区| 99热66| 性爱视频99| 日本五月视频| 婷婷开心激情| 国产精品人成A片一区二区| 天天色天天色天天色天天色天天色| 久久婷婷五月天激情| 狠色狠色综合久久| 五月婷婷免费看| 丁香五月骚喷水视频| 丁香五月婷婷性爱| 婷婷五月婷婷五月| 激情五月婷婷视频一区二区三区| 色婷婷操逼| 操操自拍| 色色色热| 五月天婷婷网站| 国模狼狼| 99久久色| www.五月婷婷| 五月综合婷婷开心网| 欧洲激情网站| 激情网五月婷婷| 天天干com| 天天舔天天插天天干| 伊人色综在线| 91碰| 伊人综合网站| 五月婷婷综合影院| 久久九九爽| 五月丁香六月综合情在线观看 | 色五月av| 99热网站| 碰碰碰97国产| 色久女| 丁香婷婷啪啪| 岛国av电影网站| 欧美成人性爱网| 五月丁香六月婷婷激情网| 日韩成人av在线| 婷婷伊人| 91色色色视频| 久久婷婷五月天激情新地址| 丁香婷婷色| 99九九在线观看免费| 91碰碰| 最近免费中文字幕大全高清大全1| 91黄色五月天视频| 六月丁香啪啪| 欧美色爱五月天| 天天操婷婷| 九九在线视频| 91久久九久久九久久九久久九久久| 婷婷亚洲天堂| 夜夜骑夜夜撸| 九九热在线视频| 国产亚洲AV人片在线| 日韩 中文 欧美| 第2色五月婷| 色婷婷亚洲在线| 丁香五月欧美午夜视频| 免费黄网不卡AV| 久久女伦| 五月婷婷久久爱| 激情综合网激情五月天| 99热在线极品极品| 久久精品爱爱| 亚洲网站999| 亚洲经典三级| 草一草avb| 婷婷五月天堂网| 亚洲婷婷月丁香五月| 久久人妻乱| 99爱视频在线| 国产操逼网站| 国产一级婬片毛片| 国产FREESEXVIDEOS性中国| 97精品综合久久内射| 日韩婷婷五月| 变态另类9| 图片区 小说区 区 亚洲五月 | 任你爽精品免费视频6| 五月丁香亚洲综合| 五月婷婷婷| 操逼123网| 超碰九色| 婷婷五月天堂| 色99自拍| 激情 婷婷| 丁香五月激情澎湃一区| 国产毛多水多女人A片| 激情综合网激情五月天| 欧美va在线观看| 亚洲视频在线网站| 丁香花五月天| h在线看免费版在线看| 黄网在线观看免费| 激情久久丁香| 丁香五月AV| 久久婷婷五月天亚洲欧美| 99色热| 久久无意婷婷| 色小说五月天| 91精产一区三区免费观看| 婷婷五月天性| 色色亚洲| 婷婷婷五月天最新综合你懂的| 狠狠干在线| 婷婷中文无码| 五月天婷婷影院| 婷婷色影音天| 丁香五月开心五月激情| 色九月丁香婷婷蜜桃在线观看| 天天爽天天弄| 亚洲中文字幕在线观看| 91婷婷五月天综合视频| 最近免费中文字幕大全高清大全1| 色色丁香| 日本色色色| www久久久| 91热爆在线| 亭亭色网| 女人天堂AV| 色情婷| 色色亚洲五月天| 雪千夏麻豆| va婷婷在线免费观看| 国产精品久久久久久久久久免费 | 男女啪啪做爰高潮无遮挡 | 九九热a| 日本综合久久| 99高级会所久久| 99色综合网| 激情五月丁香社区| 无码少妇高潮喷水A片免费| 久久丁香五月婷婷激情综合网| 五月婷中文字幕| 婷婷99狠狠躁天天躁中| 色噜噜综合网| 婷婷五月天人妻| 久久桃花网色婷婷| 大香蕉婷婷丁香视频在线| 色综合激情| 六月色色| 亚洲色在线观看| 五月婷婷影院| 久久五月天激情婷婷| 六月天婷婷| 欧美毛片www| 色情综合网| 六月香五月婷| 99热费观看| 99热国内精品| 综合狠狠五月婷婷| 色五月,婷婷大香蕉| 伊人玖玖网| 成人电影AV在线观看| 99久在线精品99re8热| 熟女色专区| 色五月丁香网| 热99热9| 婷婷色中文| 夜夜操天天干| 99国产这里只有精品| 五月婷婷婷| 91免费看片| 99精品热视频只有精品10| 嫩草AV久久伊人妇女超级A| 丁香五月婷婷少妇| 8050一级网| 色播五月综合网| 人人爽人人射-美女久久久久久久久久-成人AV | 大香蕉久热| 91丨九色丨东北熟女| 色综合色色| 包操45分钟网站| 免费在线观看av网站| 婷婷精品性性性性性性性| 五月开心啪啪| 婷婷五月电影院| 国产91资源在线| 五月综合丁香婷婷| 激情婷婷五月社区| 五月丁香激情欧洲啪啪| 五月丁香激情啪啪| 国产亚洲色婷婷久久99精品91| 亚洲色无码| 色情综合网| 超级97碰碰| 嫩草AV久久伊人妇女超级A| 婷婷五月在线视频| 欧美人妻一区二区| 婷婷色网站| 99久久久国产大片| 五月丁香啪啪| 色情综合| 伊人久久婷婷| 丁香五月婷婷啪| 五月婷婷久久网| 激情五月婷婷| 丁香五月在线播放| 国产 码在线成人网站| 五月天成人网在线观看| 五月色天情| 久久这有这里精品| Av性爱网站| 日本在线视频播放91| 色444综合网| 国产AV一区二区三区最新精品| 狠狠丁香| 人妻AV在线| 182TV大香蕉| 深爱激情婷| 蜜臀九九九九| 我要射综合| 天干干夜夜操| 五月丁香六月色婷婷| 亚洲综合网激情小说| 噜噜色五月| www色色com| 97色啪| 激情五月九九九| 五月久久丁香| 色九月丁香婷婷蜜桃在线观看| 色婷青青| 伊人大蕉香| 久久久久久久久久久jjjj| 国产精品91抖高| 国产精品天天狠天天看| 色色综合网。| 99热资源在线| 六月丁香久久| 色宗合,宗合网| 精品一区二区三区四区五区六区介绍| 婷婷丁香五月天综合网| 99热这里只有精品无码| 精品色| 五月丁香激情婷婷综合| 激情五月天网| 久久久久久9| 五月丁香成人| 伊人婷婷色| 中文字幕成人影视| 超碰人人在线| 女人高潮内射99精品| 国产日韩欧美| 另类丁香综合| 另类天堂| 深爱激情五月天婷婷网| 26uuu| 天天综合五月| 日韩一级片| 99热91| 欧美大肥婆大肥BBBBB| 最近韩国日本免费高清观看| 人妻久久久久久| 色婷婷五月天| 97干在线免费| 五月婷婷偷拍| 色婷婷五月基地在线| 天天情色五月天| 美国色五月天婷婷资源站| 舔色婷婷| 亚洲欧美成人在线| 五月婷婷黄网站大全| 99伊人婷婷在线| 久久久久久久8| 亚洲天堂爱爱| 婷婷综合在线观看视频| 色婷婷19| 五月天久久www| 婷婷金品综合视频| 久久婷婷影院| 久777| 亚洲激情五月| 色欲Av五月天| 五月丁香婷婷基地| 婷婷五月天av| 第四色五月婷婷| 婷婷综合另类小说| 五月天综合激情网| 狠狠操天天干| 色婷婷丁香社综合| 激情啪啪五月天| 激情5月天天天| 十一月婷婷激情四射| 99热这里全都是精品| 精品成人无码A片观看香草视频| 婷婷五月乱交换| 日韩成人无码人妻| 噜噜色婷婷| www久久99| 婷婷综合中文| aⅤ79成人片| 精品皮股午夜AV| 91干| WWW、日本色丁香、co m| 97九色| 激情综合色| 色情综合网| 91无码一起草| 婷婷六月丁香在线| 丁香五月激情综合| 碰碰碰97国产| 伊人超碰| 亚洲操B| 成人午夜在线视频| 九六五月天婷婷| 五月丁香啪啪综合| 亚洲一级色电影| 色青五月天| 亚洲色综合| 成功精品影院| 久cao香蕉影院| 久久久ww| 欧洲色| 亚洲深喉aV| 婷婷激情小说网| 俺去也综合| 国产精产国品一二三在观看| 99激情网| 婷婷综合色色| 五月丁香激情四射综合| 激情五月丁香婷婷| 国产高清视频91九九九久久久| 99人妻碰碰碰久久久久视| www狠狠| 日韩九九| 九九久久99精品免费观看www| 99视频一区| 亚洲视频一区| 精品婷婷五月天| 成人午夜无码视频| 色色色色色色色色色色色色色97| 久机视频这只有精品| 久婷婷视平| 国产夫妻操逼内射视频| 五月天久久久| 狠色综合网| 99自拍视频在线观看| 久久久噜噜噜www成人| 天天干天天干天天干天天干天天干天天干天天| 另类小说色婷婷| 异能之下短剧免费观看全集| 免费视频无码| 国产中文亚洲欧美日韩性交| www99热| www.激情五月天。com| 亚洲成人中心| 日韩av在线电影| 五月天激情久久| 日本久久9| 婷婷丁香色情五月天| 丁香婷婷欧美综合| 999影院成人在线影院| 嫩草免费视频| 女高怪谈在线观看| 色色九九五月天 | 婷婷五月综合啪| 久热这里只有精品99re | 五月天婷婷在看| www.色婷婷.com| 熟女色专区| 9久热| 色五月婷婷婷婷婷婷婷婷婷婷| 爱操人妻| 激情六月丁香综合| 青青草婷婷五月天| 狠狠五月天| 欧美日韩国产日本精品四虎网网站物| 玖玖午夜视频| 亚洲欧洲另类| 97精品人人A片免费看| 爱草视频在线| 国产综合丁香五月天| 美女五月狠狠| 色婷婷小说| 99视频只有精品| 久久精品在线| 日韩AV在线免费| 五月婷婷六月激情| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 久99热在线观看| 熟女激情五月天| 久久五月天激情婷婷| 荫道BBWBBB高潮潮喷| 五月天狠狠干| 99久久网站| 人妻少妇色综合| 丁香五月丁香伊人| 九九十99视频| 国产午夜成人AV在线播放| 另类图片婷婷五月天| 99人人干人人操| 五月综合激情| 狠狠狠狠狠草| 久久综合丁香| 九九婷| 成人丁香五月| 99这里只有免费的精品| 91av无码| 狠狠穞A片一區二區三區| 五月丁综合在线观看| 国产美女主播vip| 精品成人久久久久久久_一二三四视| 99色在线观看免费| 五月激情久久| 亚洲成人网站在线观看| 色婷狠狠| 丁香五月六月婷婷自拍| 怡春院久操| 六月婷婷激情| 99热综合在线| 丁香五月婷婷俺也要去| 成人五月天在线观看| 日韩熟女啪啪视频| 六月丁香激情网| 色爱终和网| www.jiujiujiu| 欧美成人精品三区综合A片 | 精品无码人妻一区| 区美毛片子| 中文字幕精品无码一区二区| 六月婷婷综合激情| 丁香婷婷视频| 亚洲狠狠狠色婷婷综合激情久久久| 九九久久免费视频44| 激情婷婷丁香| 九九碰九九爱97超碰| 99思思热只有在这里看| 播五月婷婷开心| 久久 中文 日本| 性欧美大战久久久久久久83| 99热网站| 色女人久久| 九九精品视频在线6| 久久久人妻不卡| 免费成片在线观看| 日本婷婷综合精品| 艹| 9久久久久久久久久久| 丁香婷婷AV| 亚洲综合激情五月久久| 激情丁香婷婷| 色爱综合网| 五月天在线视频尤物视频在线看| 四五月婷婷| 丁香大香蕉| 久操大屁股女人av| 九九婷| 国产成人精品亚洲线观看| 日韩在线视频中文字幕| 九九热手机在线视频| 99re这里只有精品9| 五月丁香少妇| 九九激情视频| 成人网丁香五月| 91综合视频丁香| 日本乱子人伦在线视频| 超碰人人色| 99久久久99久久91熟女| 丁香六月啪| 亚洲婷婷基地| 天天爽夜夜爽天天爽夜夜爽| 久久这里99| 五月婷婷综合激情| 五月停停直播| 99在线看片| 亚洲丁香五月天在线视频| 91丨九色丨大屁股| 成人噜噜网| 婷婷色色五月| 99re99热| 日本va网站| 伊人婷婷激情| 色情久久久| 中出内射的人妻视频| 九九99在线免费在线观看视频| 色欲婷婷五月天| 五月天成人综合| 国产av影片| 中文字幕在线不卡| 五月综合视频在线| 无码中文一区二区三区| 久久99久久99精品免观看软件| 五月丁香六月综合激情网| 99re这里有精品手机在线| 狠狠人妻久久久久久综合丁香| 人伦30P| 婷婷五月天堂| 婷婷六月丁香综合| 亚洲瑟瑟精品在线| 天天日夜夜曹| 日本久久婷婷| 伊人五月天在线| 99激情网| 国产古装妇女野外A片| 精品人妻在线免费观看| 大香蕉懂9| 婷婷五月综合久久中文字幕| 人妻操逼视频。| 精品色情一区二区三区四区| 综合xx网| 激情五月天婷婷在线网址发给我| 国产免费一区二区三州老师F1F1| 婷婷五月天网| 级人人91| 亚洲国产成人在线| 丁香婷婷五月天色播| 99色色色色| 美欧成人视频| 日本三级中国三级99人妇网站| 日韩av变天就操逼不卡区| 91日综合欧美| 99热超碰| 亚洲欧美另类在线23p| 99九无网码| 久久香蕉网| 婷婷色资源| www.久久爱.com| 六月婷婷六月天天在线免费| 免费播放99性爱视频| 殴美综合激情五月天免费视频| 99亚州综合精品成人网| 9九九久久精品无码专区| 玖玖五月丁香| 99热日韩这里只有精品| 香蕉人在线香蕉人在线 | 久久婷婷影院| 91亚洲免费片| 狠狠干五月丁香| 五月婷婷六月丁香在线视频免费在线观看| 99精品在这里| 9 1大香蕉| 五月婷婷新网站| 99热在线精品观看| 亚洲激情网| 情一色一乱一伦一91A| 六月丁香婷婷拍拍| 天天日天天草| 丁香五月花影院| 丁香五月区| 先锋av性爱成人电影| 综合网五月| 激情五月天丁香| 九月激情综合婷婷| 人人爽人人爽人人爽人人爽| 九九99精品视频在线观看| 人妻免费网站| 天天舔天天摸天天射| 99riAv1国产在线观看| 最新无毒无码AV| √天堂资源在线人妻熟女| 五月天婷婷无码视频| 99在线免费观看| 性色av大香综合| 色五月婷婷激情五月| 99精品热| 久久网日本| 婷婷亚洲欧美丁香五月| 婷婷五月,综合伊人| 久99热| 夜夜谢天天干| 国产免费av网站| 99久热这里有精品| 五月天激情四射| 激情九月天天天天婷婷| 欧美α√| 北条麻妃伊人 | 超碰人妻在线| 一区二区成人电影| 综合XX网| 色婷九九九| 国语精品探花| 91精品激情9| 国产日韩欧美性生活| 色婷久久| 99九九精品视频| AV性爱网| 神马欧美精| 99免费热视频在线| 九九精品系列| 亚洲欧美一区二区三区四区爱爱动图| 色综色网| 色久免费| 91久久18| 五月婷婷中文字幕| 亚洲国产黄色电影| 五月婷婷丁香瑟瑟视频| 日韩精品在线观看9| 色情一区二区播放| 婷婷婷久久| 日日夜夜综合| 久久33视频| 婷婷 月 丁香| 色色综合热| 五月婷天天搞视频| 97人妻碰碰碰久久| 激情AV在线| 综合性爱网| 大香蕉婷婷丁香视频在线| 91精品人妻少妇无码影院| 五月婷婷深深爱| 禁片二区| 久久hd| 先锋资源婷婷| 丁香婷婷性爱| 久久99热免费| 日本操B视频在线观看| 狠狠插日日干撸| 国产三级在线播放| 69色婷婷| 日韩xx在线| 日韩成人AV在线| 综合天天综合| 成人免费120分钟啪啪| www五月天激情com| 人人操人人看97干| 亚州操人在线视频| 九洲一级A片| 俺去也五月天婷婷| 免费亚洲婷婷中文字幕| 丁香五月婷婷基地| 97五月天婷婷| 五月天综合在线网| 日本成人噜噜噜| 久久婷婷网| 99精品久久久| 四色 爱 婷婷 精品 亚洲 五月天| seav天堂| 久久亚洲激情五码| 色综合综合色| 欧美经典片免费观看大全| 亚洲综合激情五月天婷婷| 婷婷丁香成人色综合| 人妻久久久久久久| 91丨九色丨熟女高潮| 97色五月婷婷在线| 91热网址| 免費亭亭成人| 99人妻碰碰碰久久久久视| 99热在这里只有精品| 亚洲99激情| yirenjiqingshiping| 丁香 久久| 色人五月婷婷| 先锋男人91资源| 九九这里都是精品| 人妻操逼视频| 天天肏屄夜夜爽| 欧美一级a | 五月天伊人| 蜜臀嫩草| 日韩综合网络男女香蕉a片| 综合久久五| 欧美97色| 婷婷开心激情五月激情网| 丁香九月综合| 99色视| 五月婷色| av色婷婷| 久热A| 五月丁香激情啪啪| 欧美婷婷精品激| 天天综合精品| 色婷婷在线播放| 久久人妻在线| 亚洲国产精品成人免费一区久久久在线观看AAAA | 激情五月婷婷| 操日视频| 久99热| 色黑鬼导航| 日熟女| 99在线精品免费视频| 婷婷激情性爱| 亚洲成人五月天| 综合五月亭亭9| 天堂久久精品| 婷婷激情综合色五月久久91| 亚洲精品又粗又大又爽A片 | 色色五月婷| 玖玖资源在线视频| 国产片色| 六月婷婷网| 狠狠爱婷婷爱| 一起草av在线观看| 五月激情综合美女久久| 丁香婷婷六月激情文学 | 色色婷| 日本片日本片祼观看网站在线看中文版网页在线看 | 亚洲五月丁香六月婷婷| 婷婷开心激情五月激情网| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 色五月激情婷婷| 日本婷婷色日| 人人草人人爱手机视频看看| 超碰AAAAAAV| 天天日天天添| 日韩不卡DvD| 综合色影| 久久五月婷婷视频| 激情婷婷五月天丁香| 日本WwW色偷偷丁香花久久久京东热| 深爱激情五月天| 激情五月六月婷婷| 超碰成人电影| 97视频.干com| 五月丁香成人| 久久九九@| 五月激情婷婷播播开心| 婷婷爱五月天| 国产视频婷婷| 六月婷婷网站| 丁香五月天BBw| 全亚洲最大的婷婷五月天网站COM| 棕合影院色色| 久久久久亚洲AV成人无码电影| 久久婷五月综合| 亚洲综合另类| 97色视频网| 综合色婷婷| 色天堂操| 欧美图片丁香五月天| 91啪啪网| 女操碰| 婷婷五月亚洲综合| 丁香五月自拍| 六月色日韩| 欧美激情丁香五月天久久婷婷一区| 色五月xxx| 五月丁香少妇网| 九九九午夜影院成人| 这里只有精品99www| A久网| 深情五月天| 玖玖婷婷综合| 99色婷婷视频| 成片免费播放| 成人.在线日韩| 碰超亚洲| 五月婷婷综合性爱噜噜| 免费观看亚洲AV片| 丁香六月婷婷一区| 99热精国产这里只有精品| 婷婷五月天BBw| 天天婷婷| 九月婷婷| 欧美大肥婆大肥BBBBB| 日本三级第一页| 久久一品区| 九九热欧美| 99综合婷婷五月| 丁香5月婷婷| 丁香社区婷婷五月| 色婷久九| 久久9视频| 天天肏天天舔AV| 9999热在线观看| 狠狠色综合网| 青青草婷婷综合五月| 国产精品色婷婷AV综合色色| 婷婷综合色色| 欧类av怡春院| 亚洲最大视频网站| 久热超碰| 91人妻视频| 天堂综合久久 | 天天摸天天肏| 日本成人噜噜噜噜噜| 丁香六月婷婷综合缴| 91丨九色丨国产打屁股| 婷婷色情 | www.久久综合| 99热久久这里只有精品| 五月花在线观看视频| 超碰碰碰碰| 婷婷五月天99综合网站| 综合久久五月天| 国产精品噜噜在线视频| 99国产精品久久久久久久久久久| 亚洲高清在线| 亚州激情九月| 精品国产va久久久久久久| 欧美五月婷婷| 福利视频在线播放| 伊人9在线| 思思99热热热99| 5月婷婷激情网| 99热这里全是精品| a片在线免费观看一区| 亚洲色9| 婷婷五月激情丁香| 最近中文字幕大全免费版在线| 婷婷丁香www视频日本韩国| 婷婷97狠狠干| 亚洲va综合va国产va中文| 99精品在线下载| 欧美人人操| 337久久| 五月天婷婷一起草| 婷婷香五月天| 婷婷99视频在线| 婷婷综合五月| 日日干夜夜撸夜夜骑| 色色五月婷| 99啪在线视频| 久久机只有这里精品| 在线婷婷| 五月婷婷六月丁香玖玖玫瑰91| 丁香五月天婷婷久久综合| 激情久久久久久| 亚洲久艹| 五月欧美色色五月| 91九九| 亚欧州精品视频| 密乳视频| 久久精品国产一区二区三区四区| 成年人夜夜喷水| 五月六月婷| 丁香五月天操B| 梁铮版《蜘蛛女侠》在线| 日韩综合天堂| 国产综合丁香五月天| 亚洲va在线| 韩国真做片在线观看| 婷婷中文字幕| 国产9色在线/日韩| 天堂综合久久| 五月丁香黄色视频| 国产成人综合亚洲| 丁香婷婷六月天| 日本va欧美va国产激情| 九九AV在线| 99在线精品视频| www.久9| 深夜A片| 五月婷婷色在线| AV美美午夜| 五月丁香啪啪| 激情五月天黄色小说| 色五月天激情| 五月天开心色情网| 任你操精品免费| 亚洲色图日韩网址| 久久久久人妻精品| 久久久九九九 99| se影音资源在线观看| 热久综合| 日韩在线婷婷五月天综合| 99精品丁香五月| 五月天婷网| 校园春色亚洲色| 狠狠五月天婷婷激情网。| 波多野结衣不卡AV| 天天射夜夜骑| 4438全国最大视频成人网站在线观看| 五月丁香六月婷婷亚洲| 五月桃花网综合| 久99久热只有精品国产99| 久久人人妻| 久久性爱视频免费| 五月丁香啪啪啪| 色婷婷五月婷婷五月婷婷五月| 五月婷婷色吧!| 国产精品第一国产精品| 这里只有精品视频看看| 丁香五月婷婷社区| 26uuuuuuuu国产| 97色综合视频| 五月天婷婷AV| 色啪综合| 黑人糟蹋人妻HD中文字幕| 婷婷五月激情片| 青青草青青草五月天| 免费播放99性爱视频| 91亚洲免费片| 91人人操人人爱| 九九色人| 亚洲成av人影院| 伊人午夜综合色啪| 九九性爱网| 九九久久五月天| 日本色噜| 久久九九激情五月天 | 婷婷网五月天| 亚洲 无码 中文字幕 中出| 婷婷丁香大香蕉| 夜夜操狠狠操| 亚洲精品99| 日韩黄色影院| 99re6久热只有精品6在线直播| 日本综合色色| 国产毛多水多女人A片| 色婷婷五月天激情综合| 婷婷六月丁综合| 日本一级| 玖玖精品视频99| 91窝窝| 婷婷激情六月| 色色色色色色97| 91九色小视频| 色婷婷久久| 激情丁香五月天图片| 亚洲婷婷91丁香| 影音先锋高清无码资源网| 五月婷激情| 丁香色情五月天| 丁香婷婷浪潮AV久久综合| 亚洲综合久| 五月丁香六月婷婷色| 操人精品| 九九这里只有精品| 99热在这里只有精品| 99久久网站| 精品国婬伦V无码久久久| www.色色五月天.com| 丁香五月天婷婷久久| 9久久AV| 五月综合视频| 九月色婷婷综合| 怕怕av| 九九九九大香蕉| 国外亚洲成AV人片在线观看| 色色五月婷婷久久| 亚洲丁香五月美女| 激情久久五月天| 九九99精品免费播放| 色色99| 五月丁查人人| 日日干综合| 婷婷色啪| 九97免费视频| 婷婷亚洲综合| 久热黄色| 国产色五月| bbwcuckold精品熟妇| 99久久久久久久| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 99亚洲色| 日日日,com| 玖色色综合| 疯狂做受XXXX高潮A片| 91人操人人人操人| 深爱激情网五月天| 色情五月丁香婷婷网| 秋霞成人毛片一级A片| 超碰免费人人肏| 欧美电影在线播放| 日本精品99网站| 综合激情视频| 亚洲六月婷| 五月天天天操天天爽夜夜操| 色色色地址| 婷婷色基地在线看 | 国产99热在线看| 91婷婷五月丁香碰| 亚洲无码影片| 五月婷婷色| www.激情五月| 97人人操| 色婷婷国产精品综合在线观看| 另类视频丁香五月| 五月天激情婷婷五月天久久| 91精品91久久久中77777| 99热综合网| 亚洲色图在线视频| 综合久久综合五月天婷婷| 免费看欧美成人A片无码| www.99热| 色婷网| 人妻AV在线观看| 伊人激情影院| 五月天亚洲色| www,av好吊操| www,五月天激情| 人人色AV| 三十路磁力链接| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 色五月天成人| 丁香五月婷婷俺也要去| 五月四色婷婷| www.日日日.com| 婷婷五月天激情偷拍| 色五月婷色彩免播放器| 丁香婷婷五月人体| 婷婷五月超碰| 狠狠狠狠青草| 91n啪啪| 狠狠狠狠草草| 亚洲无码性爱| 激情五月瑟瑟| 日本偷拍九九九| 亚洲国产网站| 欧美色色日韩| 久久99久久久久久久噜噜| 一级黄色操B| 3p久久| 婷婷午夜综合| 九九黄色网| 久热这里只有精品性色AV| 婷婷八月激情| 婷婷五月天深爱| 色婷婷五月天成人网| 激情五月婷婷啪啪| 丁香久久五月天视频在线观看| 激情小说之五月| 伍月婷丁香花全集| 五月丁香婷婷成人综合网| 六月丁香VA| 开心激情站| 婷婷丁香花五月天| 99精品热| 丁香五月综合| 大香蕉在九| 五月丁香久久激情综合| 超碰爱爱爱| 99riAV国产精品视频| 思思热久久阴99| 快乐激情五月色婷婷| 欧美大香蕉视频| 国产激情综合| 开心 五月 综合| 丁香五月第四色88| 色婷婷视频在线| 色99视频| 成人无码精品1区2区3区免费看| 不卡在线中文字幕无| 9 9热这里有精品| 色五月首页| 久久丁香五月天| 26uuu亚洲色| 蜜臀九九九九| 日本色爽| 99色免费观看全部| 99在线精品免费视频| 亚洲人成网站999久久久综合| 色噜噜五月天| 小视频在线亚洲| 成人电影丁香六月天| 99色在线观看视频| 欧美色婷婷| 久久探花91swag| 成人五月天。COM| 久99久视频免费观看| 六月五月丁香五月欧美| 婷婷色激情五月天| 99这里有精品视频| 疯狂做受XXXX高潮A片动画| 激情婷婷网| 久久丁香五月综合六月激情红杏视频| 亚洲人妻一区二区| 超碰在线综合| 激情五月婷婷| 久久久久久久久久久44| 玖玖伦理电影| 五月综合激情网| 国产激情视频在线观看| 六月丁香成人| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 激情五月综合网| 欧美日韩成人在线| 麻豆精品| 综合99在线| 99九九玖玖| 人妻丰满精品一区二区A片| 日韩精品一区二区亚洲AV观看| 九九精品这里只有| 97操碰在线视频| 丁香综合日产精品久久| 超碰免费99| 日日日日操| 色婷婷色99国产综合精品| 丁香五月婷婷综合激情啪啪啪啪啪啪啪| 色综合激情| 这里只有精品免费视频| 婷婷性爱影院| 九九精品丁香花| 天天搞夜夜六| 久久精彩免费视频| 丁香伍月婷电影全集| 久久久91| 激情五月天小说| 丁香五月在线播放| 99福利视频导航| 天天爽天天日人人爱 | 天天日婷婷| 五月综合视频| 综合久久高清| 天天摸天天日天天舔| 精品婷婷| 婷婷伊人綜合中文| 五月丁香天堂网婷婷| 婷婷五月天成人网| 超碰99资源站| 久久婷婷五月综合色和| 激情五月婷婷| 五月天社区| 丁香五月AV| 五月婷狠狠| 夜夜做天天爽| 精品色| 色情婷| 五月人妻婷婷| www.99色| 久久综合婷婷| 成人网在线视频| 久久九九re热| ...婷婷国产成人亚洲日韩| 婷婷中文在线| 97久久精品| 色色色色色网| 婷婷色情五月| 色五月综合激情| 啪啪五月综合| 久久精品一区二区三区四区| 婷婷久久图片| 亚洲精品性色| 99网| 九九热99免费视频| 亚洲精品大片| 1级欧美日韩| 狠狠干2007| 色婷婷丁香五月天| 色五月天.con| 超碰人人在线| 天天色情站| 丁香女人五月天| 久久精品性爱| 九九热99视频| 亚欧州精品视频| 久久婷婷东京热| 极品人妻VideOssS人妻| 中文在线成人| 色播播婷婷| 一起操 91N.com| 婷婷五月天激情网站| 免看黄大片AA | 色噜噜狠狠色综合AV兰草影视| 97资源碰碰| 性爱综合网| 99欧美| 夜夜夜天天操| 99色婷婷| 婷婷五月天 偷拍| 影音先锋91在线资源站| 婷婷六月久久| 丁香婷婷综合影院| 亚洲天天| 亚洲Av成人在线观看| 激情综合激情综合| 99热综合在线观看| 五月婷婷激情综合网 | www色五月天| 久久蜜臀婷婷| 狠狠干夜夜干| 久久久久亚洲AV无码网影音先锋| 五月在线| 久久东京热婷婷五月| 丁香五月天激情综合| 操人妻90p| 国产精品色情AAAAA片软件| 久狠日av| 久艹伊| www久久久| WWW五月婷婷| 欧美情色电影一区二区| 九九热在线视频观看| 五月婷婷综合影院| www,超碰| caop在线| 26uuu国产| 婷婷五月天干干| 丁香熟女乱| 久99综合婷婷| 婷婷六月爽| 万月丁香狠狠爱| 丁五月激情视频免费| 久久精品9| 九九热精品| 人人人舔人人人操人人人摸人人人97| 久久久精品免费啪啪国| 南京搡BBBB搡BBBB| 99热在线看| 99久久综合网| 人妻肉射免费观看| 国产一区18| 99综合视频| 色欲AV导航| 成人av免费观看| 激情综合网激情五月天| 五月天五月色| 新激情综合| 久/久精品99看9| 色色色.COM| 狠狠色婷婷777| 99热 精品在线| www.婷婷五月天| 天天成人五月天|