欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

Java Web育兒助手系統(tǒng):JSP+MySQL+Tomcat畢設(shè)實(shí)戰(zhàn)項(xiàng)目

Java Web育兒助手系統(tǒng):JSP+MySQL+Tomcat畢設(shè)實(shí)戰(zhàn)項(xiàng)目 簡(jiǎn)介本資源是一份面向計(jì)算機(jī)專(zhuān)業(yè)本科生的Java Web畢業(yè)設(shè)計(jì)項(xiàng)目文檔聚焦現(xiàn)代育兒場(chǎng)景下的信息化服務(wù)需求為初學(xué)者提供可運(yùn)行、易理解的完整系統(tǒng)實(shí)現(xiàn)方案。文檔詳細(xì)闡述了基于JSPJavaMySQL技術(shù)棧構(gòu)建的育兒助手系統(tǒng)涵蓋用戶端育兒知識(shí)瀏覽、資訊獲取、論壇互動(dòng)、智能問(wèn)答、個(gè)人中心與管理端資訊/輪播/用戶/知識(shí)/論壇/問(wèn)答等全維度后臺(tái)管理雙模塊設(shè)計(jì)邏輯與功能實(shí)現(xiàn)要點(diǎn)。資源為1個(gè)3.82MB的Word文檔.doc格式內(nèi)容包含開(kāi)題背景、系統(tǒng)分析、數(shù)據(jù)庫(kù)設(shè)計(jì)、核心代碼說(shuō)明、界面截圖及中英文摘要等典型畢設(shè)要素結(jié)構(gòu)規(guī)范、排版清晰適合作為課程設(shè)計(jì)參考、答辯材料模板或二次開(kāi)發(fā)基礎(chǔ)。目前已有200人學(xué)習(xí)下載對(duì)掌握J(rèn)SP動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)、MySQL數(shù)據(jù)建模及Java后端業(yè)務(wù)整合具有較強(qiáng)實(shí)踐指導(dǎo)價(jià)值。1. 基于Web育兒助手系統(tǒng)一個(gè)能跑通、能部署、能答辯的Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)項(xiàng)目這不是一個(gè)“概念演示”或“PPT系統(tǒng)”。它是一套真實(shí)可運(yùn)行、帶完整前后端交互、含管理員后臺(tái)與用戶前臺(tái)、數(shù)據(jù)庫(kù)表結(jié)構(gòu)清晰、JSP頁(yè)面邏輯閉環(huán)、連Tomcat啟動(dòng)報(bào)錯(cuò)都能定位到具體行號(hào)的本科級(jí)Java Web畢業(yè)設(shè)計(jì)落地包。我去年幫3個(gè)同學(xué)調(diào)試過(guò)這個(gè)項(xiàng)目——有人卡在MySQL中文亂碼有人死在JSP EL表達(dá)式語(yǔ)法錯(cuò)誤還有人把web.xml里servlet-mapping路徑寫(xiě)成/login.jsp而不是/login導(dǎo)致404刷屏。它解決的不是“有沒(méi)有”而是“能不能上線”首頁(yè)輪播圖能換、育兒知識(shí)能增刪、論壇帖子能發(fā)、智能問(wèn)答能查庫(kù)返回、投訴建議能存進(jìn)MySQL并被管理員看到。技術(shù)棧干凈利落JSP非Servlet裸寫(xiě)有MVC雛形、JavaJDBC直連無(wú)Spring Boot遮掩適合答辯講清流程、MySQL 5.7建表含外鍵、索引、中文字段、B/S架構(gòu)Chrome/Firefox直輸http://localhost:8080/baby/即進(jìn)首頁(yè)。適合兩類(lèi)人一是大四趕畢設(shè) deadline 的同學(xué)需要一份不踩坑、不翻車(chē)、能本地跑通、能導(dǎo)出war包、能應(yīng)對(duì)老師現(xiàn)場(chǎng)提問(wèn)的實(shí)操資源二是剛學(xué)完JDBC和JSP想練手的初學(xué)者它比“學(xué)生選課系統(tǒng)”更貼近生活場(chǎng)景比“圖書(shū)管理系統(tǒng)”多出論壇、問(wèn)答、輪播等真實(shí)模塊代碼量適中核心JSP頁(yè)28個(gè)Java類(lèi)19個(gè)SQL腳本1份改起來(lái)不暈講起來(lái)有料。2. 技術(shù)選型與環(huán)境搭建為什么是JSPMySQLTomcat而不是Spring Boot2.1 JSP不是過(guò)時(shí)技術(shù)而是畢業(yè)設(shè)計(jì)的“可控性錨點(diǎn)”很多人看到JSP第一反應(yīng)是“淘汰了”。但對(duì)本科畢設(shè)而言JSP恰恰是最可控的技術(shù)選擇。原因有三調(diào)試鏈路極短JSP修改 → 保存 → 刷新瀏覽器錯(cuò)誤直接打在頁(yè)面上如org.apache.jasper.JasperException: Unable to compile class for JSP你能立刻看到哪行EL表達(dá)式寫(xiě)錯(cuò)、哪個(gè)JavaBean沒(méi)import而Spring Boot改個(gè)Controller要重啟、看日志、查端口沖突新手容易陷入“改了但沒(méi)生效”的玄學(xué)狀態(tài)。MVC邊界清晰本項(xiàng)目雖未用Struts但已自然分層——JSP負(fù)責(zé)展示% %取值、c:forEach遍歷、JavaBean封裝數(shù)據(jù)User.java,Post.java、Servlet處理請(qǐng)求LoginServlet.java,AddPostServlet.java、DAO操作數(shù)據(jù)庫(kù)UserDAO.java。答辯時(shí)老師問(wèn)“怎么實(shí)現(xiàn)登錄驗(yàn)證”你指著LoginServlet.doPost()里userDAO.findByUsernameAndPassword()這行代碼再講JDBC連接池配置邏輯扎實(shí)不空洞。教學(xué)資源豐富Eclipse Tomcat MySQL組合B站搜“JSP學(xué)生管理系統(tǒng)”有上千個(gè)帶語(yǔ)音的實(shí)操視頻遇到ClassNotFoundException: com.mysql.cj.jdbc.Driver你知道該去WEB-INF/lib下放mysql-connector-java-8.0.33.jar而Spring Boot的application.yml配錯(cuò)新手常卡在YAML縮進(jìn)或spring.datasource.url里時(shí)區(qū)參數(shù)漏寫(xiě)。提示本項(xiàng)目JSP使用JSTL 1.2c:if、c:forEach需在WEB-INF/lib中放入jstl-1.2.jar和standard-1.1.2.jar。若用Tomcat 9注意JSTL版本兼容性——Tomcat 9默認(rèn)支持JSP 2.3JSTL 1.2完全可用無(wú)需升級(jí)到JSTL 1.3。2.2 MySQL 5.7選它不是因?yàn)椤靶隆倍且驗(yàn)椤胺€(wěn)”和“好教”項(xiàng)目摘要里寫(xiě)“MySQL數(shù)據(jù)庫(kù)”但沒(méi)指定版本。實(shí)測(cè)發(fā)現(xiàn)MySQL 5.7.44 是本項(xiàng)目的黃金版本。原因如下字符集開(kāi)箱即用安裝時(shí)勾選utf8mb4而非舊版utf8建庫(kù)語(yǔ)句CREATE DATABASE baby CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;后續(xù)所有表自動(dòng)繼承徹底規(guī)避“育兒知識(shí)”四個(gè)字存進(jìn)數(shù)據(jù)庫(kù)變????的血淚問(wèn)題。權(quán)限管理夠用不復(fù)雜畢設(shè)只需一個(gè)baby_user賬號(hào)賦予baby.*庫(kù)的SELECT,INSERT,UPDATE,DELETE權(quán)限即可。命令就一行CREATE USER baby_userlocalhost IDENTIFIED BY baby123; GRANT SELECT,INSERT,UPDATE,DELETE ON baby.* TO baby_userlocalhost; FLUSH PRIVILEGES;不像MySQL 8.0強(qiáng)制caching_sha2_password插件新手配JDBC URL時(shí)得加?serverTimezoneAsia/ShanghaiuseSSLfalseallowPublicKeyRetrievaltrue一長(zhǎng)串參數(shù)極易出錯(cuò)。工具鏈成熟Navicat for MySQL 15、MySQL Workbench 8.0、甚至DOS下的mysql -u root -p都能無(wú)縫連接。導(dǎo)入SQL腳本時(shí)Navicat右鍵“運(yùn)行SQL文件”比命令行source baby.sql更直觀適合答辯前快速重裝數(shù)據(jù)庫(kù)。2.3 Tomcat 8.5畢業(yè)設(shè)計(jì)的“安全區(qū)”服務(wù)器為什么不用Tomcat 10因?yàn)門(mén)omcat 10全面轉(zhuǎn)向Jakarta EE 9所有javax.*包名改為jakarta.*如javax.servlet.http.HttpServlet→jakarta.servlet.http.HttpServlet而本項(xiàng)目所有Servlet仍用javax——這是JSP規(guī)范在Java EE 8時(shí)代的標(biāo)準(zhǔn)寫(xiě)法。Tomcat 8.5.94最新8.5.x版完美兼容支持JSP 2.3、Servlet 3.1、EL 3.0覆蓋項(xiàng)目全部語(yǔ)法內(nèi)存占用低Win10下啟動(dòng)僅占300MB內(nèi)存老筆記本也能跑conf/server.xml里Connector port8080直接暴露端口無(wú)需反向代理本地測(cè)試零配置。部署時(shí)將項(xiàng)目根目錄含WEB-INF文件夾整個(gè)拖進(jìn)webapps/下重命名為baby啟動(dòng)Tomcat后訪問(wèn)http://localhost:8080/baby/index.jsp即進(jìn)首頁(yè)。若遇404先檢查webapps/baby/WEB-INF/web.xml是否存在再確認(rèn)welcome-file-list里是否為welcome-fileindex.jsp/welcome-file。2.4 B/S架構(gòu)不是“為了用而用”而是解決真實(shí)部署痛點(diǎn)本項(xiàng)目堅(jiān)持B/SBrowser/Server而非C/SClient/Server核心動(dòng)因是降低交付與演示門(mén)檻學(xué)生交畢設(shè)老師不想裝客戶端答辯現(xiàn)場(chǎng)換電腦只要瀏覽器就能打開(kāi)管理員后臺(tái)/admin/路徑無(wú)需額外登錄態(tài)維護(hù)全靠Sessionrequest.getSession().setAttribute(admin, admin)關(guān)瀏覽器即退出安全又省事所有靜態(tài)資源CSS/JS/圖片放在webapps/baby/static/下路徑硬編碼為/baby/static/css/style.css避免相對(duì)路徑../css/style.css在不同層級(jí)JSP中失效。注意B/S意味著所有業(yè)務(wù)邏輯在服務(wù)端。例如“智能問(wèn)答”模塊用戶輸入關(guān)鍵詞JSP提交到SearchServletServlet調(diào)KnowledgeDAO.searchByKeyword(keyword)查MySQL再把結(jié)果List傳回JSP用c:forEach展示——沒(méi)有前端JavaScript發(fā)AJAX沒(méi)有Vue響應(yīng)式純服務(wù)端渲染。這正是答辯時(shí)老師想聽(tīng)的“數(shù)據(jù)從哪來(lái)怎么查怎么傳怎么顯”3. 核心功能實(shí)現(xiàn)從注冊(cè)登錄到智能問(wèn)答每一步都附可運(yùn)行代碼3.1 用戶注冊(cè)與登錄Session JDBC 密碼MD5三步閉環(huán)注冊(cè)流程不是簡(jiǎn)單存表而是包含數(shù)據(jù)校驗(yàn)、密碼加密、唯一性約束三重保障。關(guān)鍵代碼在RegisterServlet.java// RegisterServlet.java protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username request.getParameter(username).trim(); String password request.getParameter(password); String email request.getParameter(email).trim(); // 1. 前端校驗(yàn)JSP中已有onsubmitreturn validateForm()此處二次校驗(yàn) if (username.length() 3 || username.length() 16) { request.setAttribute(error, 用戶名長(zhǎng)度3-16位); request.getRequestDispatcher(register.jsp).forward(request, response); return; } if (!email.matches(^[a-zA-Z0-9._%-][a-zA-Z0-9.-]\\.[a-zA-Z]{2,}$)) { request.setAttribute(error, 郵箱格式不正確); request.getRequestDispatcher(register.jsp).forward(request, response); return; } // 2. 密碼MD5加密使用commons-codec-1.15.jar String encryptedPassword DigestUtils.md5Hex(password); // 3. 調(diào)用DAO檢查用戶名是否已存在 UserDAO userDAO new UserDAO(); if (userDAO.findByUsername(username) ! null) { request.setAttribute(error, 用戶名已被注冊(cè)); request.getRequestDispatcher(register.jsp).forward(request, response); return; } // 4. 創(chuàng)建User對(duì)象并插入 User user new User(); user.setUsername(username); user.setPassword(encryptedPassword); user.setEmail(email); user.setRegTime(new Date()); userDAO.insert(user); // 執(zhí)行INSERT INTO user VALUES(...) request.setAttribute(msg, 注冊(cè)成功請(qǐng)登錄); request.getRequestDispatcher(login.jsp).forward(request, response); }邏輯說(shuō)明與參數(shù)說(shuō)明DigestUtils.md5Hex(password)使用Apache Commons Codec庫(kù)比手寫(xiě)MessageDigest簡(jiǎn)潔且commons-codec-1.15.jar已放入WEB-INF/libuserDAO.findByUsername(username)DAO層執(zhí)行SELECT * FROM user WHERE username ?查到記錄即返回User對(duì)象否則返回nullrequest.getRequestDispatcher(xxx.jsp).forward()服務(wù)端跳轉(zhuǎn)URL不變r(jià)equest域中屬性如error、msg可被目標(biāo)JSP獲取關(guān)鍵避坑點(diǎn)username.trim()防止用戶輸空格注冊(cè)email.matches(...)正則確保郵箱基礎(chǔ)格式數(shù)據(jù)庫(kù)user.username字段設(shè)為UNIQUE索引雙重防重。登錄邏輯在LoginServlet.java核心是比對(duì)MD5密碼// LoginServlet.java User user userDAO.findByUsernameAndPassword(username, DigestUtils.md5Hex(password)); if (user ! null) { // 登錄成功存入Session HttpSession session request.getSession(); session.setAttribute(user, user); // 后續(xù)所有頁(yè)面可通過(guò)${sessionScope.user.username}取值 response.sendRedirect(index.jsp); // 重定向避免F5刷新重復(fù)提交 } else { request.setAttribute(error, 用戶名或密碼錯(cuò)誤); request.getRequestDispatcher(login.jsp).forward(request, response); }提示response.sendRedirect()是重定向URL變?yōu)?baby/index.jsprequest.getRequestDispatcher().forward()是轉(zhuǎn)發(fā)URL保持/baby/login。登錄成功必須用重定向否則用戶刷新login.jsp會(huì)再次提交表單。3.2 育兒知識(shí)管理CRUD全鏈路含分頁(yè)與分類(lèi)管理員后臺(tái)的“育兒知識(shí)管理”是典型CRUD模塊但增加了按分類(lèi)篩選、按發(fā)布時(shí)間倒序、分頁(yè)顯示三個(gè)實(shí)用功能。KnowledgeListServlet.java負(fù)責(zé)列表頁(yè)// KnowledgeListServlet.java protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int page 1; int pageSize 10; String currentPage request.getParameter(page); if (currentPage ! null !currentPage.isEmpty()) { page Integer.parseInt(currentPage); } String category request.getParameter(category); // 分類(lèi)篩選如新生兒 KnowledgeDAO knowledgeDAO new KnowledgeDAO(); // 1. 查詢總記錄數(shù)用于分頁(yè)計(jì)算 int totalCount knowledgeDAO.getTotalCount(category); // 2. 查詢當(dāng)前頁(yè)數(shù)據(jù) ListKnowledge knowledgeList knowledgeDAO.findByPage(category, (page-1)*pageSize, pageSize); // 3. 計(jì)算總頁(yè)數(shù) int totalPage (int) Math.ceil((double) totalCount / pageSize); // 4. 將數(shù)據(jù)存入request域 request.setAttribute(knowledgeList, knowledgeList); request.setAttribute(page, page); request.setAttribute(totalPage, totalPage); request.setAttribute(totalCount, totalCount); request.setAttribute(category, category); request.getRequestDispatcher(/admin/knowledge_list.jsp).forward(request, response); }DAO層關(guān)鍵SQLKnowledgeDAO.java// 查詢總數(shù)帶分類(lèi)條件 public int getTotalCount(String category) { String sql SELECT COUNT(*) FROM knowledge WHERE 11; if (category ! null !category.isEmpty()) { sql AND category ?; } try (Connection conn DBUtil.getConnection(); PreparedStatement ps conn.prepareStatement(sql)) { if (category ! null !category.isEmpty()) { ps.setString(1, category); } ResultSet rs ps.executeQuery(); if (rs.next()) { return rs.getInt(1); } } catch (SQLException e) { e.printStackTrace(); } return 0; } // 分頁(yè)查詢MySQL寫(xiě)法 public ListKnowledge findByPage(String category, int offset, int limit) { String sql SELECT * FROM knowledge WHERE 11 ORDER BY create_time DESC LIMIT ?, ?; if (category ! null !category.isEmpty()) { sql SELECT * FROM knowledge WHERE category ? ORDER BY create_time DESC LIMIT ?, ?; } // ... 執(zhí)行查詢封裝為L(zhǎng)istKnowledge }JSP分頁(yè)HTMLknowledge_list.jsp!-- 分頁(yè)導(dǎo)航 -- div classpagination c:if test${page 1} a hrefknowledge_list?page${page-1}${empty param.category ? : categoryparam.category}laquo; 上一頁(yè)/a /c:if c:forEach begin1 end${totalPage} vari c:choose c:when test${i page} span classcurrent${i}/span /c:when c:otherwise a hrefknowledge_list?page${i}${empty param.category ? : categoryparam.category}${i}/a /c:otherwise /c:choose /c:forEach c:if test${page totalPage} a hrefknowledge_list?page${page1}${empty param.category ? : categoryparam.category}下一頁(yè) raquo;/a /c:if /div參數(shù)說(shuō)明offset (page-1)*pageSizeMySQL分頁(yè)起點(diǎn)第1頁(yè)從0開(kāi)始第2頁(yè)從10開(kāi)始LIMIT ?, ?預(yù)編譯占位符防SQL注入${empty param.category ? : categoryparam.category}JSTL三元運(yùn)算保留分類(lèi)篩選參數(shù)點(diǎn)擊頁(yè)碼不丟失篩選條件classcurrentCSS高亮當(dāng)前頁(yè)提升管理體驗(yàn)。3.3 智能問(wèn)答模塊不是AI而是關(guān)鍵詞模糊匹配的輕量級(jí)實(shí)現(xiàn)標(biāo)題叫“智能問(wèn)答”實(shí)際是基于MySQL全文索引的LIKE模糊搜索符合本科畢設(shè)定位——不吹噓大模型但功能真實(shí)可用。SearchServlet.java核心邏輯// SearchServlet.java String keyword request.getParameter(keyword).trim(); if (keyword.isEmpty()) { request.setAttribute(error, 請(qǐng)輸入搜索關(guān)鍵詞); request.getRequestDispatcher(search.jsp).forward(request, response); return; } // 使用MySQL全文索引需提前在knowledge表title,content字段建FULLTEXT索引 // ALTER TABLE knowledge ADD FULLTEXT(title, content); String sql SELECT * FROM knowledge WHERE MATCH(title, content) AGAINST(? IN NATURAL LANGUAGE MODE) ORDER BY MATCH(title, content) AGAINST(?) DESC; // 若未建全文索引則降級(jí)為L(zhǎng)IKE // String sql SELECT * FROM knowledge WHERE title LIKE ? OR content LIKE ? ORDER BY create_time DESC; ListKnowledge results new ArrayList(); try (Connection conn DBUtil.getConnection(); PreparedStatement ps conn.prepareStatement(sql)) { ps.setString(1, keyword); ps.setString(2, keyword); ResultSet rs ps.executeQuery(); while (rs.next()) { Knowledge k new Knowledge(); k.setId(rs.getInt(id)); k.setTitle(rs.getString(title)); k.setContent(rs.getString(content).substring(0, Math.min(200, rs.getString(content).length())) ...); k.setCategory(rs.getString(category)); results.add(k); } } catch (SQLException e) { // 降級(jí)處理若全文索引報(bào)錯(cuò)改用LIKE sql SELECT * FROM knowledge WHERE title LIKE ? OR content LIKE ? ORDER BY create_time DESC; // ... 重新執(zhí)行 } request.setAttribute(results, results); request.setAttribute(keyword, keyword); request.getRequestDispatcher(search_result.jsp).forward(request, response);建全文索引SQL執(zhí)行一次即可ALTER TABLE knowledge ADD FULLTEXT(title, content); -- 驗(yàn)證是否生效SHOW INDEX FROM knowledge;優(yōu)勢(shì)與邊界MATCH...AGAINST比LIKE %keyword%快10倍以上尤其數(shù)據(jù)量超千條時(shí)IN NATURAL LANGUAGE MODE支持相關(guān)性排序搜索“發(fā)燒”時(shí)“寶寶發(fā)燒怎么辦”排在“兒童發(fā)燒物理降溫”前面不依賴(lài)外部API純數(shù)據(jù)庫(kù)能力答辯時(shí)可演示EXPLAIN SELECT ...證明性能若老師問(wèn)“為什么不是真正AI”可答“本模塊聚焦信息檢索效率全文索引是MySQL原生高性能方案避免引入Python或調(diào)用第三方API帶來(lái)的部署復(fù)雜度符合B/S架構(gòu)輕量級(jí)原則?!?.4 論壇發(fā)帖與回復(fù)一對(duì)多關(guān)系的JSP實(shí)現(xiàn)論壇模塊體現(xiàn)數(shù)據(jù)庫(kù)設(shè)計(jì)功底。post表主貼與reply表回復(fù)是典型一對(duì)多外鍵reply.post_id指向post.id。發(fā)帖JSPadd_post.jsp提交到AddPostServlet// AddPostServlet.java String title request.getParameter(title); String content request.getParameter(content); int userId ((User) request.getSession().getAttribute(user)).getId(); Post post new Post(); post.setTitle(title); post.setContent(content); post.setUserId(userId); post.setCreateTime(new Date()); PostDAO postDAO new PostDAO(); int postId postDAO.insert(post); // 返回自增ID // 發(fā)帖成功后重定向到該貼詳情頁(yè) response.sendRedirect(post_detail.jsp?id postId);post_detail.jsp同時(shí)加載主貼和所有回復(fù)!-- 主貼 -- div classpost-detail h2${post.title}/h2 p classpost-meta作者${post.userName} | 發(fā)布時(shí)間${post.createTime}/p div classpost-content${post.content}/div /div !-- 回復(fù)列表 -- div classreplies h3共 ${fn:length(replies)} 條回復(fù)/h3 c:forEach items${replies} varreply div classreply-item pstrong${reply.userName}/strong${reply.content}/p p classreply-time${reply.createTime}/p /div /c:forEach /div !-- 回復(fù)表單 -- form actionAddReplyServlet methodpost input typehidden namepostId value${param.id} textarea namecontent placeholder寫(xiě)下你的回復(fù)... required/textarea button typesubmit提交回復(fù)/button /formDAO層關(guān)聯(lián)查詢PostDAO.java// 查詢主貼及所有回復(fù)一次SQL避免N1 public Post findWithReplies(int postId) { String sql SELECT p.*, u.username as userName, r.id as reply_id, r.content as reply_content, r.create_time as reply_time, ru.username as reply_user_name FROM post p LEFT JOIN user u ON p.user_id u.id LEFT JOIN reply r ON p.id r.post_id LEFT JOIN user ru ON r.user_id ru.id WHERE p.id ? ORDER BY r.create_time ASC; // ... 執(zhí)行手動(dòng)組裝Post對(duì)象及ListReply }注意LEFT JOIN確保無(wú)回復(fù)的帖子也能顯示ORDER BY r.create_time ASC讓回復(fù)按時(shí)間正序排列最早回復(fù)在最前JSP中${fn:length(replies)}需在頁(yè)面頂部聲明% taglib prefixfn urihttp://java.sun.com/jsp/jstl/functions %。4. 避坑指南那些讓答辯前夜崩潰的12個(gè)真實(shí)問(wèn)題與解法4.1 中文亂碼從數(shù)據(jù)庫(kù)到JSP五層防線全解析現(xiàn)象MySQL里存的是“新生兒護(hù)理”網(wǎng)頁(yè)顯示“?–°?”或表單提交“張三”數(shù)據(jù)庫(kù)存成“?? ??‰”。原因亂碼是字符集傳遞鏈斷裂涉及5個(gè)環(huán)節(jié)MySQL服務(wù)器默認(rèn)字符集character_set_server數(shù)據(jù)庫(kù)/表字符集CREATE DATABASE ... CHARACTER SET utf8mb4JDBC連接URL參數(shù)?characterEncodingutf8mb4Tomcatserver.xmlConnector的URIEncodingUTF-8JSP頁(yè)面編碼聲明% page contentTypetext/html;charsetUTF-8 %解決步驟1MySQL命令行執(zhí)行SHOW VARIABLES LIKE character_set_%;確保character_set_serverutf8mb4步驟2建庫(kù)時(shí)明確指定CREATE DATABASE baby CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;步驟3DBUtil.java中JDBC URL寫(xiě)全private static final String URL jdbc:mysql://localhost:3306/baby?useUnicodetruecharacterEncodingutf8mb4serverTimezoneAsia/Shanghai;步驟4conf/server.xml中Connector標(biāo)簽加屬性Connector port8080 protocolHTTP/1.1 URIEncodingUTF-8 ... /步驟5每個(gè)JSP頂部第一行必須是% page languagejava contentTypetext/html; charsetUTF-8 pageEncodingUTF-8%缺一不可。曾有同學(xué)只改了JSP忘了改server.xml導(dǎo)致GET請(qǐng)求URL參數(shù)仍亂碼。4.2 JSP EL表達(dá)式不解析不是語(yǔ)法錯(cuò)是web.xml版本惹的禍現(xiàn)象JSP里寫(xiě)% user.username %能顯示但c:out value${user.username}/或${user.username}直接原樣輸出字符串。原因EL表達(dá)式默認(rèn)在JSP 2.0啟用但若web.xml頭聲明為Servlet 2.3舊版EL會(huì)被禁用。解決檢查webapps/baby/WEB-INF/web.xml頂部聲明!-- ? 正確Servlet 3.0EL默認(rèn)開(kāi)啟 -- web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd version3.1若看到version2.3或http://java.sun.com/dtd/web-app_2_3.dtd立即替換為上方3.1版本聲明。Tomcat 8.5完全兼容。4.3 Tomcat啟動(dòng)失敗端口被占、JAR沖突、JDK版本三殺現(xiàn)象雙擊startup.bat無(wú)反應(yīng)或命令行報(bào)Address already in use: JVM_Bind、java.lang.UnsupportedClassVersionError。排查三步法端口沖突netstat -ano | findstr :8080Windows或lsof -i :8080Mac/Linux找到PID后taskkill /PID PID /FJAR沖突WEB-INF/lib下若有多個(gè)mysql-connector-java-*.jar如5.1和8.0混存刪掉舊版只留mysql-connector-java-8.0.33.jarJDK版本錯(cuò)配本項(xiàng)目編譯為Java 8javac -source 1.8 -target 1.8若系統(tǒng)裝了JDK 17Tomcat會(huì)報(bào)UnsupportedClassVersionError。解決方案下載JDK 8u202長(zhǎng)期支持版設(shè)置JAVA_HOME指向JDK 8echo %JAVA_HOME%Windows或echo $JAVA_HOMEMac/Linux確認(rèn)重啟命令行再啟Tomcat。4.4 管理員登錄404路徑大小寫(xiě)與web.xml映射的隱形殺手現(xiàn)象訪問(wèn)http://localhost:8080/baby/admin/提示404但/baby/index.jsp正常。原因文件路徑大小寫(xiě)錯(cuò)誤webapps/baby/admin/文件夾名寫(xiě)成AdminWindows不敏感Linux敏感web.xml中Servlet映射路徑錯(cuò)誤url-pattern/admin/login/url-pattern寫(xiě)成url-pattern/Admin/Login/url-patternJSP中鏈接寫(xiě)死a href/admin/index.jsp應(yīng)為a href${pageContext.request.contextPath}/admin/index.jsp。解決統(tǒng)一用小寫(xiě)命名所有文件夾和JSPweb.xml中url-pattern全部小寫(xiě)所有JSP內(nèi)鏈接用${pageContext.request.contextPath}動(dòng)態(tài)獲取上下文路徑避免硬編碼/baby。4.5 數(shù)據(jù)庫(kù)連接失敗驅(qū)動(dòng)、URL、權(quán)限的鐵三角驗(yàn)證現(xiàn)象java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver或Communications link failure。驗(yàn)證清單項(xiàng)目正確值檢查方式驅(qū)動(dòng)JARmysql-connector-java-8.0.33.jar確認(rèn)在WEB-INF/lib/下且無(wú)其他版本JDBC URLjdbc:mysql://localhost:3306/baby?useUnicodetruecharacterEncodingutf8mb4serverTimezoneAsia/Shanghai復(fù)制到Navicat測(cè)試能否連MySQL賬號(hào)權(quán)限baby_user對(duì)baby庫(kù)有SELECT,INSERT,UPDATE,DELETESHOW GRANTS FOR baby_userlocalhost;MySQL服務(wù)狀態(tài)正在運(yùn)行services.msc中檢查“MySQL80”服務(wù)是否啟動(dòng)血淚經(jīng)驗(yàn)曾有同學(xué)MySQL服務(wù)名為“MySql57”JDBC URL卻寫(xiě)localhost:3306實(shí)際端口是3307。務(wù)必用netstat -ano | findstr :330確認(rèn)MySQL監(jiān)聽(tīng)端口。5. 進(jìn)階技巧讓項(xiàng)目從“能跑”升級(jí)為“值得講”的3個(gè)硬核操作5.1 用Log4j2替代System.out.println讓調(diào)試痕跡變成答辯加分項(xiàng)畢業(yè)設(shè)計(jì)答辯時(shí)老師常問(wèn)“登錄失敗時(shí)你怎么知道是密碼錯(cuò)還是用戶不存在” 如果回答“我看控制臺(tái)打印”顯得粗糙。換成Log4j2就能說(shuō)“我配置了日志級(jí)別ERROR日志記錄異常堆棧WARN日志標(biāo)記業(yè)務(wù)異常INFO日志追蹤關(guān)鍵流程所有日志按日期滾動(dòng)歸檔。”操作步驟下載log4j-api-2.20.0.jar和log4j-core-2.20.0.jar放入WEB-INF/lib/在src/下新建log4j2.xml?xml version1.0 encodingUTF-8? Configuration statusWARN Appenders RollingFile nameFileOut fileNamelogs/baby.log filePatternlogs/baby-%d{yyyy-MM-dd}-%i.log.gz PatternLayout pattern%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n/ Policies TimeBasedTriggeringPolicy / SizeBasedTriggeringPolicy size10 MB/ /Policies DefaultRolloverStrategy max30/ /RollingFile /Appenders Loggers Root levelinfo AppenderRef refFileOut/ /Root /Loggers /Configuration在LoginServlet.java中添加日志private static final Logger logger LogManager.getLogger(LoginServlet.class); // 登錄失敗時(shí) logger.warn(登錄失敗用戶名[{}]不存在或密碼錯(cuò)誤, username); // 登錄成功時(shí) logger.info(用戶[{}]登錄成功IP{}, username, request.getRemoteAddr());效果項(xiàng)目根目錄生成logs/baby.log內(nèi)容如14:22:31.882 [http-nio-8080-exec-2] INFO c.b.s.LoginServlet - 用戶[zhangsan]登錄成功IP127.0.0.1答辯時(shí)打開(kāi)日志文件老師一眼看到“INFO”“WARN”分級(jí)立刻感知工程規(guī)范性。5.2 為首頁(yè)輪播圖增加JSON接口暴露RESTful能力應(yīng)對(duì)“你會(huì)前端嗎”靈魂拷問(wèn)管理員后臺(tái)可上傳輪播圖但前臺(tái)JSP是靜態(tài)寫(xiě)死img srcstatic/img/banner1.jpg。升級(jí)為動(dòng)態(tài)新建BannerServlet.javadoGet()返回JSONprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { BannerDAO bannerDAO new BannerDAO(); ListBanner banners bannerDAO.findAll(); // 查詢status1的輪播圖 response.setContentType(application/json;charsetUTF-8); PrintWriter out response.getWriter(); out.print(new Gson().toJson(banners)); // 用Gson轉(zhuǎn)JSON out.flush(); }index.jsp中用JavaScript調(diào)用script fetch(${pageContext.request.contextPath}/banner) .then(response response.json()) .then(data { const carousel document.getElementById(carousel); data.forEach(banner { const item div classcarousel-itemimg src${banner.imageUrl} alt${banner.title}/div; carousel.innerHTML item; }); }); /script價(jià)值證明你理解前后端分離思想即使沒(méi)用Vue也用fetch調(diào)接口展示JSON數(shù)據(jù)交換能力為未來(lái)學(xué)Ajax打基礎(chǔ)接口URL/banner符合RESTful風(fēng)格比getBannerList.jsp更專(zhuān)業(yè)。5.3 用Druid連接池替換DBUtil從“能連”到“高并發(fā)”的認(rèn)知躍遷DBUtil.getConnection()每次創(chuàng)建新連接高并發(fā)時(shí)會(huì)耗盡MySQL連接數(shù)。換成Druid能監(jiān)控連接池狀態(tài)、自動(dòng)回收泄漏連接、防止SQL注入。操作WEB-INF/lib/加入druid-1.2.16.jarsrc/druid.propertiesdriverClassNamecom.mysql.cj.jdbc.Driver urljdbc:mysql://localhost:3306/baby?useUnicodetruecharacterEncodingutf8mb4 usernamebaby_user passwordbaby123 initialSize5 maxActive20 minIdle5 maxWait60000 timeBetweenEvictionRunsMillis60000 minEvictableIdleTimeMillis300000 validationQuerySELECT 1 testWhileIdletrue testOnBorrowfalse testOnReturnfalse poolPreparedStatementstrue maxPoolPreparedStatementPerConnectionSize20 filtersstat,wallDBUtil.java重構(gòu)為單例Druidpublic class DBUtil { private static DruidDataSource dataSource; static { Properties props new Properties(); props.load(DBUtil.class.getClassLoader().getResourceAsStream(druid.properties)); dataSource (DruidDataSource) DruidDataSourceFactory.createDataSource(props); } public static Connection getConnection() throws SQLException { return dataSource.getConnection(); } }答辯話術(shù)“我用了Druid連接池它能自動(dòng)管理數(shù)據(jù)庫(kù)連接比如設(shè)置maxActive20保證最多20個(gè)并發(fā)查詢超出的請(qǐng)求排隊(duì)等待避免MySQL因連接數(shù)爆滿而拒絕服務(wù)。還開(kāi)啟了wall防火墻過(guò)濾器能攔截SELECT * FROM user WHERE 11 OR 11本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
丁香五月天激情视频| 婷婷另类小说| 青青草蜜臀| 夜色五月天| 五月天成人综合| 在线99热| 日本在线视频播放91| 亚洲成av人影院| 色五月婷婷大香蕉| 丁香五月天论坛| 亚洲人成网亚洲欧洲无码久久| 7777国产盗摄农村女人| 极品人妻VIDEOSSS人妻| 五月天社区| 79精品视频在线观看,| 久久xx| 91 影音先锋| 久久婷婷五月综合激情国产 | 精品国产乱码久久久久夜深人妻| 人人操日| 色综合com| 五月婷婷我| 99热婷婷| 丁香五月天在线视频| 9999热在线免费观看| 亚洲综合色成丁香五月色| 天天草天天摸| 丁香六月无码播放| 天天爽综合| 中文字幕,综合,91| 深夜婷婷 丁香| 九九久久精品| 亚洲精品视频在线播放| 色色五月天丁香婷婷| 五月天亚洲最大成人| 成人在线综合| 99热费观看| 白人荫道BBWBBB大荫道| 五月天色综合| 国产真实乱了老女人视频| 五月丁香六月成人| 五月天激情久久| 色色综合色| 色婷婷五月天激情久久| 人妻内射麻豆视频| 丁香五月网络网络| 性 色 婷婷| 综合久久97| 亚洲色区17| 五月天天丁香婷婷| 成片免费观看大全| 98热精品| 丁香五月电影院在线观看| 五月成人丁香av91| 丁香色情五月综合激情| 丁香六月综合激| 色婷婷五月综合激情中文字幕| 久久99热这里只频精品6学生| 91人操| 人。妻久久| 99亚洲色| 激情五月婷| 久久久精品人妻录| 婷婷五月天小说| 欧美黄色AA片哗啦啦啦| 九九久久99| 婷婷网影院| AV变态另类一区二区| 操逼五月婷婷| 91人人超碰在线| 亚洲av无码精品色午夜| 免费AAAAA网| 思思久久99热| 五月花丁香婷婷| 97好吊操| 婷婷情色五月天| 丁香五月影视| 风流少妇A片一区二区蜜桃| 99精品免费| 色情婷婷| 九九精品热播| 插插插色综合网| 美女100%露全身无挡网站| 五月天色婷好好| 六月五月久久丁香| 26uuu国产| 精品99在线观看| 欧美日韩123| 久久婷婷精品| 91丁香婷婷综合久久欧美| 久久久久久18| 99久久a线观| 五月丁香狠狠爱婷婷综合| 欧美成人精品一区二区| 青青草激情网| 久久一伦| 五月丁香综合网色欲| 碰碰人人人| 影院久久久| 日韩AV在线免费观看| 狠狠久久婷五月| 婷婷丁香人妻天久久| 99久久国产宗和精品1上映| 五月涩涩网| 99爱精品| 色婷婷aV四虎| 婷婷伊人激情婷婷| 久热 91| 婷婷亚洲天堂| 成人短视频在线| 综合在线丁香五月| 思思热在线播放| 日本黄色三级片内射| 久久玖玖99| 丁香五月色色| 99视频在线精品| 九九热在线精品| 99热在线极品极品| 激情五月激情综合网一级丸片| 激情小说之五月| 婷婷综合亚洲| 五月婷婷激情网| 色狠狠色综合久久久绯色AⅤ影视| 色情五月天视频网| 99免费在线视频| 婷婷色婷婷| 激情婷婷黄色五月 | 五月丁香色婷婷| 国产精品久久久久9999小说| 亚洲视频a| 开心深爱激情网| 天天色播| 色婷婷影视| 丁香五月综合AV在线| 久草热在线视频| 婷婷丁香社区| 婷婷免费视频| 欧美熟妇一区二区三区| 热99热9| 99热综合网| 日日操夜夜操无码免费| 九九爱激情| 99性爱视频| 婷婷综合色图| 日本三级韩三级99久久| 久99综合婷婷| 色九月婷婷综合| 9 大屁股在线视频精品| 久久精品只有这| 国产亚洲精品久久久久久久久动漫 | 丁香花五月天婷婷成人社区| 五月婷婷涩涩爱| 日本九九九九| 99爱视频免费| 丁香色六月婷婷| 午夜丁香婷婷| 综合激情五月四射婷婷| 79精品视频在线观看,| 五月婷免费视频| 五月天三级| 99久久综合| 丁香五月先锋| 久久9视频欧美| 激情骚五月| 色婷婷色人人射| www.99视频| h亚洲| 四色五月婷婷| 91久久精品无码一区二区三区| 九九这里都是精品| 99爽视频| 永久精品| 激情五月亚洲综合网| 亚洲操逼网| 99re99热| 五月婷婷很很色| 丁香五月23111| 国产婷婷婷| 九九综合影音先锋| 噜噜久| 九九久久偷拍| 91美女被操| 99a级片| 色情婷婷| 丁香婷婷六月在线资源观看| 99男人天堂| 97干在线播放| 第二色AⅤ| 91人人人人人| 婷婷五月综合网| 婷婷五月天激情网| 182.t午在线观看| 五月天婷婷丁香社区| 天色综合网| 五月婷在线播放| 五月婷九九草| 可以看的av| 五月天开心色情网| 婷婷五月综合色拍| 亚洲V国产V欧美V久久久久久| 99色一| 九热电影av| 色婷五月| 天天干天天操天天拍| 婷婷五月丁香花综合| 九九色影视| 日韩一级片| 丁香五月激情视频在线| 亚洲av网站在线观看| 日本婷婷| 五月天激情小说| 六月丁香婷| 亚洲五月六月婷婷| 99超在线| 99人妻碰碰久久久禁片| 激情六月丁香| 91精品久久久久久综合五月天| 激情综合网激情五月天| 九九精品9| 黄色片区子| 五月丁香六月婷婷玖玖| 欧美日本国产| 欧美槡BBBB槡BBB少妇| 97福利视频| 国产激情在线| 操骚货在线| 九九视频精品在线免费| 伊人超碰| 伊人五月综合网| 天天干天天干天天| 丁香五月中文字幕| 五月丁香六月婷婷在线| Jh7Uf088VHafNm| av在线免费网站| 99网| www.婷婷五月天.com| 人人爽网| 久热伊人| 狠狠人人婷婷| 婷婷五月天首页| 人人97碰| 色色色婷婷五月天| 99在线热视频| 大香蕉Av在线| 超碰在线观看成人视| 99精品国产在热久久| 爽极品色| 婷婷无码视频| 丁香五月欧美激情| 人人操人人干AV| 丁香五月停停av| 婷婷爱综合| 99热在线精品播放| 我爱大香蕉| 亚洲无码黄色| 亚洲无码成人网| 久久看九九90| 日本韩国视频在线观看社区免费的9| 日日夜夜天天综合| 天天色色天天| A久久| 五月丁香婷婷中文| 九九成人精品免费视频| 4399人妻无码久久久| 啪啪五月综合| 69色婷婷| 精品婷婷| 日本九九视频| 色视频2025| 亚洲综合字幕色色| 色婷婷视频| 天天摸天天舔天天爽| 思思热闹这里只有精品| 立川无码av| 亚洲综人色综网| 久久婷婷五月综合| 婷婷六月激情啪啪| 久狠日av| 播五月开心婷婷欧美综合| 99re视频精品| 色老久久| 综合色播| 人妻视频一区而且二区| 伊人九九热| 丁香五月激情综合婷综| 青青草tp| 5月婷婷六月丁香| 激情五月婷婷在线| 久久98热re| 8区视频在线| pom538精品视频| 久久思思99| 久9热视频| 玖玖综合网| 色婷婷五月天亚洲| 岛国AV网站| 99色在线视频| 色区久久| 成人一区在线观看| 丁香五月网站| 五月丁查人人| 天天日天天插| 99操网站| 婷婷色五月噜噜| 五月丁香亚洲综合网| 这里只有久久精99| 婷婷久久五月天| 婷婷五月欧美综合| 激情久久婷婷| 婷婷六月中文字幕| 九九亚洲综合| 欧美日韩色色| 丁香色六月| 激情综合色婷婷啪啪六月天| 日韩性视频| 成人精品视频99在线观看免费| 91人妻人人操| 色色色色色级无码| a久久| 这里只有精品视频| 亚洲AV永久无码影院黑人| 97九色| 日本成人噜噜噜噜噜| 激情婷婷久久| 天天综合永久| 激情五月小说婷婷| 啪啪操操| 色丁香五月婷婷在线| 91视频一起草| 国产精品A片在线| 大香蕉久久| 色丁香影院| 三级三久久线久久99久目本WW| 久久婷婷原创视频| 人人色AV| 久久99综合| 97碰人人操| 亚洲性爱日韩无码| 久久人妻熟女一区二区| 欧美天天爽| 激情五月天网站| 成人国产网站在线免费看| 九九色综合网| 亚洲综合另类| 婷婷激情五月天激情小说| 色五月天天在线观看资源站| 亚洲无码另类| 亚洲在线操| 无月播播激情在线观看视频| 国产欧美精品AAAAAA片| 99久久99久久| 欧美成人日韩| 亚洲小视频免费观看| 高清视频一区| 九九精品综合| 亚洲AV人人操| 手机旧版看人妻1025| 午夜色丁香| 噼里啪啦完整版中文在线观看| 啪啪激情综合| 色婷婷综合网站| 三级毛片7979| 99亚洲视频| 狠狠综合久久综合| 婷婷丁香五月婷婷| 综合 蜜月 婷婷| 嫩草AV久久伊人妇女超级A| 99爱视频在线| 九九在线91| 另类视频丁香五月| 日韩有码一区| 五月婷婷啪啪综合网| 二区成人视频| 国产精品爽爽久久久久久| 亚洲精品另类| 99只有这里有精品在线视频| 久婷婷婷| 免费视频无码| 99热这里只有精品一| 亚洲妇女熟BBW| 超碰免费人| 五月丁香婷婷六月天| 疯狂做受XXXX高潮A片| 开心深爱五月天| 激情五月综合网| 丁香五月天AV在线| 日本人妻伦在线中文字幕| 天天日夜夜B久久| 五月丁香色婷婷| 色综合久久88色综合天天人守婷| www,setingting| 激情五月丁香六月综合AVXXXX| 免费成人中文字幕| 中文字幕av在线| 欧美99| 欧美交换配乱吟粗大25P| 美女100%露全身无挡网站| 影音先锋91在线资源站| 99热免费在线| 丁香五月花婷婷开心| 欧美久热| 天天婷婷色六月| 六月丁香停| 激情五月婷婷五月丁香五月开心五月| 成年AAAA色情| 天堂亚洲 在线| 久久久久9| 婷婷在线五月天观看| 亚洲中文AV| 激情综合网激情五月天| 久操大香蕉| AAA亚洲AV| 99内射视频| 色五月丁香五月| 亚洲激情视频网| 亚洲电影中文字幕| 99热97| 激情五月天www| 五月丁香激情综合网官网| 五月天伊人网| 激情开心五月婷婷| 九九精品热播| 久久中文网| 日本WWW九九九| 99'无码| 五月婷婷9| 啪啪一区| 久久精品99| 五月开心激情网| 久久大香蕉同僚| 亚洲欧洲中文日韩久久AV乱码| 五月激情综合美女久久| 激情五月天开心网丁香无码| 亚洲激情视频在线观看| 69人人操人人爽| 欧美精品999| 色噜噜狠狠插综合| 天天做天天干天天综合网| 久久9999| 中文av网站| 五月六月丁香激情视频| 成人版视频在线观看| 亚洲亚洲人成综合网络| 五月天激情图片| 天天日,天天干,天天操| 激情久久四色| 久久视频66| 丁香五月色网| 九九久久精品國產| 色色图五月天| 怎么样可以看免费的一级av| 婷婷色色五月天| 99啪| 99精品视频偷拍| 亚洲六月色| 五月天全国最大成人网| 婷婷在线五月天观看| 综合久久五月天| 超级碰91| 97人人操人人操人人操人人| 日日夜夜九九| 99五丁香月| www.91av.com| 91无码色色| 国产美女无遮挡裸体毛片A片 | 9色视频在线| 丁香婷婷深情五月亚洲| 99er精品视频| 五月六月婷| 五月丁香龟婷婷| 久久99最新地址| 996er热| 色婷婷成人| 五月婷婷熟女| 在线观看的av| 久久婷婷成人综合色怡春院| 亚洲a色| 国产午夜一区二区三区| 婷婷五月天小说网| 婷婷成人视频| 99ER热精品视频| 涩五月婷婷| 成人视频网| 五月婷婷六月丁香| 少妇搡BBBB搡BBB搡毛茸茸| 丁香六月啪啪| 九九九九九九热| 午夜在线成人网站免费观看| 91丨九色熟女丨首页| 九九九午夜视频| 五月婷婷六月丁香首页| 猫咪伊人久久| 欧美五月丁香在线| 丁香五月在线视频| 天天成人综合视频| 五月婷婷激情综合av| 亚洲婷婷基地| 思思热在线观看| 大香蕉av在线| 狠狠久久婷五月综合色| 欧美五月婷婷| 久操操| www.色婷婷| 欧美大片免费播放器| 成人精品视频99在线观看免费| 中文字幕无码人妻少妇免费视频| .肏屄视频一区二区| 日韩精品无码AV| 99玖玖在线视频| 五月天激情四射| 激情丁香五月婷| 亚洲综合色五月| 天天爱天天秀天天做| 99久久久免费| 伊人久久婷婷五月综合97色| 超碰91人人操| 六月婷婷激情小说网| 另类激情中文| 激情五月婷婷综合| 五月婷婷之综合激情在线| 久久狠婷婷| 六月丁香激情综合网| 色婷婷六月综合| 久久激情网| 日韩啪啪视频| 色综啪啪网| 欧日韩成人| 国产热精品| 97视频.干com| 色婷婷狠狠18yy| 99ri在线观看视频| 精品五月天| 激情綜合W W W,激情五月天| 激情婷婷99| 欧美又粗又大一区二区在线观看| 亚洲色热| 丁香五月之久操视频| 内射综合网| 五月婷婷伊人久久| 丁香六月五月天| 综合久久综合五月天婷婷| se99高清无码| 91大神操美女| 久热AⅤ| 天天爽天天日人人爱 | 五月激情在线| 超碰色碰碰| 超碰在线99| 五月婷六月| 做爰丰满少妇1313| jiujiu热在线视频| 五月丁香六月色| 狠狠色综合图片| 操笔无码| 99色视频在线| 九九九日本熟女| 色偷偷色婷婷| 超碰一区二区| 激情五月伊人婷婷| 激情五月天视频| 激情综合五| 五月天综合视频| 日日躁夜夜躁狠狠久久AV| 欧洲亚洲免费视频9| 五月天亭亭俺也| 深夜婷婷 丁香| 99成人网站| 色九月| 91视频精品99| 色色色色色色色色五月先| av操一操| 激情小说五月天| 免费观看2018www黄色操逼网站| 天天色天天噜| 丰满少妇猛烈A片免费看观看| 综合激情啪啪| 成人做爰高潮A片免费视频| 99re免费精品视频| 天天精品视频免费观看| 五月婷五月婷伊人伊人五月婷| 中文资源在线a | 六月撸婷婷| 一操久久| 亚洲激情综| 九九大香蕉黄色影院| 天天色噜| 天堂A∨在线| 婷色五月| 亚洲 综合中文| 久热9| 色99亚洲| 国产精品成人网址| 五月天狠狠| 99精品超在线播放| 高清视频一区| 五月丁香婷婷无码中文| 男同91 | 五月丁香人人婷婷在线观看| 91丨九色丨首页| 五月天激情av| 五月丁香色综合| 丝袜人妻| 五月丁香六月激情网| www.久99| 久久久性爱视频| 丁香五月天婷婷在线视频| 天天综合网站| 亚洲综合热| 综合性爱网| 婷婷俺去也| 色综合色综合色综合高潮| 香蕉97碰碰碰欧美| 熟女激情五月天 | 欧美超级视频97| 五月丁香婷婷啪啪| 日本熟妇人妻在线| 伊人大蕉香| 中文无码婷婷| 青青草深爱激情网| 色五月激情五月| 色99在线视频| 激情五月第四色| 百度一下国产精品A| 亚洲天堂色色| 26uuu四色| 欲色人妻| 天天色播| 五月天伊人| 色色色在线播放| 一婬一伦一区二区三区| 激情综合五月丁香| 天天干夜晚夜操| 婷婷色导航| 久久这里都是精品| 亚洲激情97五月天| 亚洲中文AV| 丁香狠狠色婷婷| 色色色色色色综合| www.婷婷五月天| 丁香婷婷六月天| 婷婷婷婷色| 国产,欧美,学生妹,视频| 色婷婷影院| 天堂综合久| 日噜噜色| 色综合综合网| 无码激情AAAAA片-区区| 天天摸.天天mo| 99色综合网| 日韩一级网站| 激情亚洲网| 色五天综合| 欧美综合婷婷欧美综| 99九九视频| 色五月琪琪| 久久久久亚洲AV无码网影音先锋| 东北黄色一级| 五月激情六月丁香| www.夜夜爱.com| 五月天激情无码高清| 亚洲精品久久久久久久久久吃药| 美女丁香五月天| 色色亚洲视频| 五月婷婷色播视频| 五月婷色| 狠狠人人| 亚洲成人影视在线| 天天射天天射一道本日本社区| 欧美搡BBBBB摔BBBBB| 激情丁香婷婷六月天| 人人操AV| 丁香花社区av| 久久精品亚洲热| 影音先锋男人AV资源站| 色婷婷久综合久久一本国产AV| 九九艹女| 婷婷五月草| 欧美色偷拍| 桃色五月天| 色婷另类| 思思热这里只有精品| 伊人五月天综合网| 天天爽天天操| 日日肏夜夜干| 久久五月天免费网站| 九九在线视频| 人妻中文在线| 国产精品18久久久| 激情婷婷丁香色五月| 人人操婷婷| 五月丁香综合激情| 丁香婷婷啪啪| 青青草免费公开视频| 热热久久精品视频| 熟妇内谢69XXXXXA片| 五月综合精品| 激情綜合網址| 婷婷久久网| 综合久久五月| 噜噜狠狠色综合久| 婷婷五月激情小说| 久久这里有精品99| 激情五月天色婷婷综合| 激情小说在线视频| 色噜噜在线| 亚洲色色五月天| 丁香六月婷婷久久综合| 婷婷六月色丁香视频在线观看| 99国产精品白浆在线观看免费| 五月丁香久人妻中文| 色综合综合综合| 激情六月天| 五月天天天综合| 久久99草五月婷婷| 丁香五月婷久久| 99视频精品全部免费观看| 日本视频欧美观看免费| 久久九九综合| 天天日综合| 他改变了拜占庭| 婷婷婷久久| 五月婷色| 天天插AV丝袜中| 丁香五月综合激情久久潮喷| 婷婷色一二三区波多野结衣| 玖玖婷婷五月天| 精品五月天| 色狠狠五月天| 久婷自拍视频| 中文字幕日产A片在线看| 婷婷六月激情| 亚洲狠狠狠色婷婷综合激情久久久| 五月丁香最新| 欧美顶级少妇做爰HD| 婷婷久久五月天| 涩涩五| 涩综合网| 激情综合丁香| 青草青草视频2免费观看| 色色色综合网| www开心激情网| 天天性视频| 99ri国产精品| 午夜不卡久久精品无码免费| 久久人人九九| 五月丁香亚洲婷婷| 丁香六月亚洲| 超碰在线人妻| 99综合熟女| 色和综合网| 婷婷五月天在线观看| 亚洲色色色| 丁香六月狠狠| 欧洲不卡视频| 婷婷五月丁香色综合| 天天草女人| 六月天婷婷| 97色女人在线| 五月成人天| 久久五月婷婷开心网| 狠狠干婷婷| 91超级碰在线| 另类国产欧美视频| 激情五月婷婷老师| 成人做爰A片免费看视频| 亚洲中文字幕AV| 五月天播播| 天天色,天天日,天天做| 日日操日日射| 五月色情网| WWW五月婷婷| 国产在线中文字幕| 丁香婷婷五月六月久久| 婷婷五月网图片区| 操b视频在线观看一区二区| 97夫妻超碰| 精品亚洲国产成人A片在线鸭王| 色婷五月| 亚洲超碰在线| 久久综合五月天| 欧美乱码国产一级A片| 79精品视频| 五月丁婷婷| 日日操日日射| 久久久精久人妻| 亚洲激情视频网| 丁香五月婷婷亚洲综合精品在线| 九九成人高清视频| 激情婷婷五六月天| 99热在线99| 日本黄色一级| 97超碰,人人舔,人人操,人人摸 | 色五月婷婷丁香五月| 丁香五月天网友自拍啪啪啪视频| 五月涩涩网| 伊人网色婷婷五月天| 亚洲激情色色| 性生活久久人妻| 婷婷五月天亚洲综合| 色婷婷五月天不卡| 五月综合婷婷五月| 九九热视频在线观看| 婷婷五月天AV在线| 五月婷网| 亚洲中文字幕av| 99色综合| 五月成人丁香av91| 久久久久久久,99精品视频| 亚洲成人综合网在线免费观看| 野外99热| 中文字幕,综合,91| 久久伦乱| 丁香五月天导航| 超黄亚洲瑟瑟网站| 色宗合久久五月婷婷| www激情五月天| 99性爱视频| 99热最新| 少妇性按摩无码中文A片| 无码成人AAAAA毛片AI换脸| 久久丁香综合香蕉| 婷婷丁香五月天大香蕉| 久久网日本| 这里只有精品视频在线观看免费| 九九综合色| 99色播| 综合久久五月天| 五月色丁香| 综合色99| 婷婷丁香精品视频在线观看| 99色日本| 欧美丁香婷婷天天操| 五月天婷婷深深爱| 色噜噜五月天| AV九九| 国产女18毛片多18精品| 综合一区二区三区| 99超级碰免费视频| 日本 @ va 免费| 日韩成人电影在线播放| 久久久婷婷| 日本操B片| 亚洲中文av| 1995年关宝慧版蜘蛛女| 婷婷五月天AV在线| 亚洲精品久久久久AV无码| 久久99激情五月天| 中文字幕在线日亚洲9| 日日射天天射| 9999三级片| 国产XXXX搡XXXXX搡麻豆| 激情综合网激情五月丁香五月俺也去| 碰碰碰91| 九九九九九无码| 五月天婷婷无码| 在线播放成人网站| 夫妻超碰在线| 日本va网站| 五月天婷婷AV| 中国女人做爰A片| 色综合中文色综合网| caopeng97日韩| 综合另类视频| 北条麻妃伊人| 日本99视频| 欧美日韩一区二区三区四区| 色99在线| 六月丁香婷婷色狠狠久久| 六月婷婷狠狠色在线观看| 天天日夜夜| 成人五月丁香花| 人妻人人操| 天天插AV丝袜中| 99热超碰| 色欲色天天香综合| 色五月婷婷激情| 狠狠操狠狠操AV| 色天堂97| 伊人五月婷婷国产视频| 热的国产,热的综合,热的有码 | 激情文学 综合 色| 久久久久久人妻| 色婷婷丁香五月| 99在线视频精品| 婷婷五月天高清无码| 丰满老熟妇BBBBB搡BBB| WWW99热| 日日操夜夜骑| 激情网 久久| 久久综合激情五月天| 五月天丁香成人| 久久亭亭电影| 69激情小说| 激情久久久| 久久综合伊人77777蜜臀| 五月激情六月宗合| AⅤ网站在线看| 国产xxxxx在线观看| 超碰99久久| 九九精品re免费视频| 欧美婷| 99热国产| 四色永久成人网站| 一区二区免费看| 久久婷婷色综合老司机| wwwC0maV五月花| 成人无码髙潮喷水A片| 婷婷玖玖五月天| 丁香成人色情五月天| 国产又爽又猛又粗的视频A片| 六月99天天婷婷激情综合| 操97免费超级视频| 91婷婷五月丁香碰| 亚洲成人五月天| 亚洲99一级无嗎特制在线| 色五月色综合| 中字幕视频在线永久在线观看免费| 天天拍夜夜撸| 色99视频| eeuus五月婷| 99综合免费视频| 色色五月天丁香| 婷婷99狠狠躁天天| 中文字幕AV在线| 五月天综合久久| 丁香五月婷婷激情网| 人妻熟妇国产精品| 大香蕉手机视频| 直接看的AV| 久久99这里只有精品| 色色色色色综合| 亚洲碰碰碰| 婷婷成人AV| 日韩在线9| 久久伊人大香蕉| 狠狠干五月天婷婷网| 综合色99| 婷婷五月天Av| 天天日天天肏天天奸| www.色擼擼.com| 91碰操| 婷婷五月天在线视频网站| Av在线资源| 丁香九月综合| 亚洲激情综合| 日日夜夜干| 热99这里只有精品视频| 婷婷激情97| 亚洲成人无码网站| 五月丁香六月婷综合成人综合| 激情五月综合网| 色久在| 丁香婷婷啪啪| 天天爽日日爽夜夜爽| 婷婷娌伦网| 四色永久成人网站| 婷婷在线五月天观看| 日韩av变天就操逼不卡区| 99re视频精品| 狼人狠狠操| 99热这里只有精品8| 狠狠狠激情网| 丁香婷婷五月人体| 亚洲色热| 色情免费视频播放| 色婷婷影| 久久婷婷亚洲| 青青草原福利在线| 在线资源av-超碰中文在线-成人AV| 亚洲色碰| 日韩无码人妻一区二区三区综合| 日韩精品无码一区二区| 九九精品亚洲| 另类五月婷婷| 精品九九久久| 色激情综合| 开心五月婷婷在线视频免费观看| 亚洲五月天色色| 五月丁香亚洲综合| 丁香五月天啪啪激情综合网| 伊人综合色干| 九九色热| 思思国产99| 99熟女| 中文超碰视在线| 亚洲AV成人在线| 日日肏天天操| 玖玖综合网| 色婷丁香91| 日本美女上人| 我爱宗和色| 久久色9| 亚洲妇女熟BBW| 色婷婷国产精品综合在线观看| 国产色婷婷亚洲| 激情五月色综合网| 亚洲精品字幕| 色色五月天丁香| 五月婷婷啪啪网| 九九99九九99偷拍视频免费看| 国产真实乱对白精彩| 九九99九九99| 久久久久人妻中文| 99热福利| 丁香久久九九99| 可以看的av| 91热视频色网站| 激情都市五月天| 婷婷六月天天| 久久婷婷五月综合一| 国产精产国品一二三在观看 | 日韩成人中文| 久久婷五月天| 五月天另类图片| 综合五月天亚洲婷婷| 最新AV在线观看| 777精品久无码人妻蜜桃| 丁香久久综合| 色情五月停停丁香| 熟女五月天久久综合| 亚洲综合视频在线| 色色综合热| 丁香五月性爱| 五月丁香| 五月开心网| 99热成人在线观看| 狠狠人人| 激情五月婷婷| 色吊丝永久访问网址| 亚洲综合五月天婷婷| 久久综合九九| 欧洲色色| 国产成人综合网| 国产婷婷综合| 婷婷99狠狠躁| 玖久精品视频9| 99re久热只有精品6在线直播| 五月伊人网| Www.se.久久| 久久视9精| 青草视频在线播放| 六月丁香啪啪| 五月天色丁香| 97资源碰碰| 丁香婷婷色九月| 噜噜狠狠色| 免费观看的AV| 丁香五月丁香伊人| 2025最新亚洲激情在线| 99热这里只有99| 狠狠干狠狠色| 亚洲第一黄网| 亚洲熟女色| 欧美在线看| 久久99综合网| 色婷婷操逼| 亚洲激情婷婷| 亚洲综合草草| 综合激情在线视频| 婷婷综合色图| 热99精品视频五月| 日本色色网站| 日本丁香久在线| 丁香五月欧美激情| 色噜噜狠狠色综合成人99| 色丁香五月| 亚洲成人超碰| 成人av在线电影| 99综合视频一体| 这里有精品99| 五月婷婷av| 丁香亭亭久久| 色婷婷丁香五月高清在线| 管管補管管紱| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 婷婷99| 五月天精品| 久草A片| 五月丁香婷婷基地| 狠狠干狠狠色| 无码激情AAAAA片-区区| 亚洲成人AV高清字幕| 丁香五月婷婷国产av| 婷婷丁香五月综合久久| 996热re视频在线观看视频| 1囯产午夜仑鲁鲁| 丁香五月电影院在线观看| 91精品91久久久中77777久久玖玖九九| 成人综合AV| 亚洲人妻av| 国产精品五月丁香| 综合视频五月| 久久五月天色| 色色色9| 九九黄色网| 大学生高潮无套内谢视频| 亚洲狠狠色丁香婷婷综合久久| 99操网站| WWW,五月| 日本女天天爽| 性爱在线播放av| 婷婷五月花丁香| 婷婷五月AV| 久久久GOGO无码啪啪艺术| 婷婷五月丁香青青草在线| 国产第99页| 日韩成人电影AV| 丁香五月综合在线| 五月色情婷婷开心五月色情| 婷婷香五月天| 中文字幕在线免费观看视频| 色综合五月天| 日本一区二区三区精品视频| 五月天丁香婷| 丁香婷婷免费| 五月色色激情网| EEUSS鲁片一区二区三区| 丁香九月激情| 91在线人| 婷婷五月激情综合| 五月丁香久久久| 激情av在线| 狠狠狠狠狠| www.AV在线| 五月丁香直播| 色婷婷六月| 97人人操人人干| 影音先锋91视频| 日韩成人电影AV| 婷婷六月色播| 日本综合色图| 自拍视频99| 欧美va亚洲va| 99在线精品视频在线观看| 91九九| 色综合久久无码| 五月天婷婷色| 99久久99热这里只有精品| 亚洲成人高清在线| 久久中文网| 九月丁香亭亭| 日日舔夜夜操| 九九视频在线| 婷婷五月激情五月丁香五月| 综合丁香婷婷五月天| 五月丁香六月成人| 99九九久久| 亚洲有码在线视频| 成人五月天在线视频在线观看| 播五月开心婷婷欧美综合| 成人精品视频99在线观看免费| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 色99在线视频| 精品一二三区久久AAA片| 99狠狠操一| 五月天激情网页| 人妻少妇色综合| 久久婷婷五月天激情| 丁香五月天五码婷婷| 久久激情五月| WWW.HENHENL.| 丁香五月婷婷久久久| 五月婷婷深深爱| 久久月天堂| 97丁香五月天| 91丨九色丨大屁股| 99热精品网| 99热这里有精品24| 99色综合| 99碰碰中文| 97韩国久久电影院| 99性爱| 久久99操| 狠狠色五月天| 亚洲热久| 激情婷婷综合五月少妇| 国产日韩欧美| 六月色婷婷色| 亚洲成人在线五月天| 精品亚洲国产成AV人片传媒| 日韩一级网站| 久色欧美| 成人五月丁香花| 色欲五月天| 99久久婷婷| 五月色在线| 色域五月婷婷丁香| 激情五月综合久久| 色五月开心开心五月激情五月| 亚洲欧洲另类| 婷婷六月丁香在线| 色播丁香| 婷香五月| 黄网免费看| 久久资源综合| 六月激情久久| 亚洲欧美国产A片免费观看| 涩涩涩.com| 综合色、色综合| 婷婷丁香五月天小说| 色五月婷婷在线| 这里只有精品视频在线观看免费| 激情综合5月| 9 1超碰九色| 五月色婷婷影院| www99久久| 色婷婷先锋| 中文超碰视在线| 色婷婷内射| 丁香五月激情网| 婷婷在线播放av| 九九热这里只有精品6| 99热日本| 天天综合在线网| 激情美女五月天| 婷婷色综合| 色五月丁香激情视频| BBWCUCKOLD精品熟妇| 六月丁香婷婷色综合| 色伊人91在线视频| 天天天天天天天操| 婷婷五月天丁香综合网| 激情五月天色爱| 亚洲精品V天堂中文字幕| 韩国婷婷丁香五月| AV片一区在线观看| 婷婷五月天综合中文| 久久日婷婷| 六九色综合婷婷五月天| 婷婷色啪| 五月丁香婷婷色| 色八月婷婷| 大地9中文在线观看免费高清| 午夜九九电影| ztEJj| 五月婷婷五月天激情网| 91呦呦呦| 视频一二区| 99色激| 日本乱子人伦在线视频| 色噜噜狠狠狠综合曰曰曰| 卡视频1区2区| 国产密乳av一区二区三区四区| 色丁香五月天| 超碰av在线| 婷婷丁香激情| 婷婷五月天大香蕉| 啊V视频在线观看| www.国产亚洲69ty.久久久久久久久久久久| 国产高清av黄色看片| 五月婷婷之综合激情| 日韩啪| 九九热最新| 成人综合伍月天| 久久大香蕉同僚| 免费观看全黄做爰的视频| 开心激情网在线| 色五月成人| 国产黄大片在线观看画质优化| 另类视频五月天| 再次出发二| 9热久久| 强壮的公次次弄得我高潮A片日本 | 丁香五月天啪啪a日本| 亚洲va日| www.99热精品|