欧美成人午夜精品久久久,国产?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
返回資訊列表
国产综合A片| 午夜av网| 欧美Va婷色| 另类的婷婷| 婷婷伊人综合| 色婷婷影视| 日本va欧美va欧美va| www.婷婷,com| 狠狠爱婷婷五月天| www.超碰97| 九九这里只有精品| 亚洲bt丁香五月天婷婷激情小说| 激情五月激情综合网一级丸片 | 就99这里只有精品| 久久性刺激| 99热综合| 日韩在线99| 26uuuu精品一区二区| 伊人久热91| 丁香五月天啪啪| 色婷婷婷婷五月天| 美国天天日天天操| 婷婷五月天激情综合婷婷五月天激情综合| 久久青草国| 99这里有精品视频| 99在线观看视频| 婷婷五月天堂一本在线| 第2色五月婷| 97热在线精品| 久久婷婷综合国产| 丁香五月综合无码趴趴| 国产亚洲99久久精品熟女| 亚洲激情婷婷| 91丨九色丨东北熟女| 四色AVwww| 六月丁香成人| 777久久综合视频| 久久3p| 欧美97超碰| 激情五月婷婷| 色伦专区97中文字幕| 九九色图| 五月大香蕉| 欧美α√| 五月丁香色| 深爱丁香激情| 五月婷婷狠狠干| 国产Va视频| 97在线综合| 亚洲热久| 亚洲六月色婷婷| 九九美女视频| 激情性爱五月| 色综合久久888| 99爱爱网| 九九热这里只有精品7| 99视频在线啪| 丁香五月人妻| 亚洲丁香花色| 五月视频日本免费观看| 99热99免费| 九九视频这里是精品五月| 婷婷亚洲天堂| 99热国产这里只有| 日本欧美国产| 色天五月天在线观看视频| 天堂草在线观| 亭亭五月丁香五月天激情| 丁香激情六月天婷婷| 五月婷免费视频久久久| 这里只有精品久| 丁香婷婷人妻| 色婷婷六月开心中文字| 日韩爱操视频| 婷婷狠狠色| 久久精品系列| 婷婷综合| 免费无码毛片一区二区A片| 少妇人妻人伦A片| 202丰满熟女妇大| 婷婷五月花| 色婷婷成人做爰A片免费看网站| 91丨九色丨东北熟女| 在线99热| 丁香五月激情啪啪啪| 野外99热| 丁香婷婷久久| 开心五月激情婷婷| 婷婷色婷婷| 人人摸人人| 欧美顶级少妇做爰HD| WwW色婷婷| 最新婷婷五月丁香| 丁香五月天啪啪| 亭亭丁香aV| 五月激情综合五月| 九九无码| 国产AV一区二区三区最新精品| 色综合激情图区| 久久九九经典| 激情五月综合色| 色情·com| 五月婷婷欲色| 色情五月婷婷| 久久九九亚洲| 秋霞学生妹一二级| 婷婷月综合| 色色射| 国产日产亚系列精品版优势| 久久久久网站| 色情免费视频播放| 色五月天婷婷| 一级黄色操B| 久久九九@| 天堂AV三级| 思思热99在线| 婷婷另类小说| 婷婷99狠狠躁天天躁中文| 99色6爱9热| 五月涩涩网| 色五月婷婷大香蕉| 无码字幕中文| 开心五月丁香综合久久| 久99久在线| 亚洲国产精品二二三三区 | 婷婷丁香人妻天久久| 九九热思思热| 五月成人网站| 成人丁香色| 国产26uuu视频| 天天日综合| 五月丁香婷婷色| 婷婷狠狠爱| 色噜噜狠狠色综合日日| 天天日夜夜拍| 五月丁香大香蕉| 麻豆精品| 五月天精品视频| 色色色色综合| 无码人妻电影| 人妻久久久久久| 国产成人精品亚洲线观看| 69色婷婷| 99这里都是精品6| 五月丁香亭亭| 激情文学 综合 色| 久色视频| 久久色吧| 蜜桃五月天| 五月丁香综合| 久久这里只有精彩| 超碰99在线观看| 九月丁香欧美综合| 国产成人亚洲综合A∨婷婷| 八戒青柠影视剧在线观看| 久超超碰| 另类图片色五月| 五月丁香花成人社区| 噜噜噜狠狠色综合| 4399在线观看免费毛片| 人人播| 97在线观看| 色私五月婷婷| 亚洲精品成人| 97碰| 97福利视频| 91大屁股精品| 婷婷色在线播放| 亚洲无码影音| 狠狠干总合| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 99视频地址| 人妻视频在线| www.婷婷五月| 狠狠色婷婷丁香六月| 婷婷激情人妻| 久久九九精彩| 激情五月天色播| 日本在线观看91| 五月婷婷六月婷| 99国产在线精品视频| 久久久久久草黄色片AV在线观看| 丁香婷婷大香蕉| 99热久| 亚洲成人在线播放| 凹凸7777操操操| 五月婷婷六月激情| 久热这里只有精品99re,久热这里只有精品7| AV操操操| 久热最新视频| 久久天堂精品| 秋霞性爱AV| 欧美久久婷婷| 激情五月天综合网| 婷婷播播五月天| 亚洲乱码日产精品BD在线观看 | 亚洲亚洲人成综合网络| 北京熟妇搡BBBB搡BBBB| 国产精品人人做人人爽人人添| 嫩草AV久久伊人妇女超级A| 思思热视频| 婷婷丁香视频在线观看免费| 五月丁香婷婷色啪| 亭亭玉月丁香| 婷婷五月激情网站| 婷婷丁香无码专区| 亚洲成人中心| 包操45分钟网站| 内射爽无广熟女亚洲| 啪啪五月天啪啪| 97久久婷婷色| 婷婷综合视频| 色七色九九| 国产99久久久国产精品免费看 | 九九热这里| 夜色综合网| 五月色色网| 午夜丁香婷婷| 99丁香五月| 饮料下药迷倒漂亮女同事强干| 91人人超碰在线| 99九色视频在线观看| 亚洲精品网站色视频| 少妇人妻人伦A片| 狠狠狠夜夜夜| 99色综合网| 538在线精品| 色综合久久88色综合天天| 五月天婷婷亚洲| 婷婷丁香97| 99热20| 九月性爱网| 婷婷午夜精品久久久| 国产99美少妇| 色九月国产| 婷婷六月天| 人人舔天天| 97五月久久丁香婷婷| 高清无码网址| 久久久久久人妻| 国产亚洲色婷婷99精品| 色五月97| 播丁香五月婷婷欧美| 婷婷丁香六月| 武汉美女啪啪视频免费一级片| 色激情五月| 噼里啪啦在线观看免费完整版视频| 国产精品日韩十五区| 色九月婷婷综合| 欧洲MV日韩MV国产| 另类天堂| 热99在线精品| 色五月丁香五月婷婷五月成人网| 天天 青草 制服丝袜 在线| 激情九月丁香婷婷| 在线日韩视频| 欧美综合123区| 人人干人人操人人摸人人做| 大香蕉五月天婷婷| 婷婷99丁香| 婷婷久久久| 婷婷开心激情五月激情网| 丁香五月自拍| 久久精品99久久| 影音先锋自拍网| 五月婷婷五月天| 婷婷五月天成人网站| WWW五月婷婷| 涩涩婷婷五月| 91精品久| 精品热九九| 日本色色色| 这里只有精彩亚洲视频推荐| 先锋资源996| 五月婷婷草| 国产婷伊人| 思思精品视频| 丁香五月天啪啪| 婷婷亚洲欧美丁香五月| 激情婷婷丁香色五月| 99er这里只有精品| 激情丁香久久| 色色色在线播放| a在线观看| 婷婷欧美激情| 91日韩美女被插视频| 99九九这里有免费视频| 亚洲五月婷婷| 国产午夜精品AV一区二区麻豆| 天天日天天舔| 五月丁香婷婷综合视频| 五月天狠狠色| 五月丁香另类图片| www.狠狠艹| www.五月天婷婷姐姐| 久热91精品| 亚洲人妻电影| 26.uuu丁香五月婷婷| 99热很操老逼| 热热99爱爱| 精品综合网在线| 成人婷婷色综合| 超碰99在线观看| 操人无码| 婷婷色网| 丁香五月天久久| 一级AV片| 久久五月天丁香花| 国产a视频| 五月婷婷精品视频| 97人妻碰碰碰久久久久-最近国语高清| 久久加勤综合| www亚洲无码| 丁香五月天堂网AV| 99热大香蕉| 色99热| 国产成人av在线播放| 9久久婷婷国产综合精品性色| 亚洲婷婷91丁香| 色色五月天丁香| 99re视频在线播放| 思思久久精品视频| 色五月丁香激情视频| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 乱精品一区字幕二区| 婷婷五月天AV| 成人无码精品1区2区3区免费看| 日日噜噜夜夜狠狠久久丁香五月| 五月婷婷97| 丁香五月人妻| 色97综合婷婷天天色| 五月丁香综合啪啪対白| 人人草开心五月天| 五月色婷婷综合| 99自拍视频在线观看| 天天干 夜夜爽| 全部老头和老太XXXXX| 婷婷六月激情综合| 日韩在线99| 国产精品汇聚精彩第二页 - 高清完整版在线 - 青蛙AV | 很很色丁香久久停停| 99久久精彩视频| 人人操日| 丁香五月冃欧美| 天天天天天天天操| www色五月| 婷婷久热| 天天爽天天| 综合AV网| 丁香色综合| 激情综合女人网五月播播| 艹| 99这里只有精品|v| 色婷婷电影| 九九精品丁香花| 婷婷综合亚洲| VA婷婷亚洲| 色五月偷偷| 五月天啪啪| 9色免费网| 亚洲激情亚洲激情 | 亚洲网视屏| 97婷婷丁香五月天激情图片| 色五月激情五月开心五月| 色五月天综合网| 国产毛片操B| 26UUU欧美激情一区二区| 99日精品视频| 久99热| 婷婷综合五月| 丁香五月开心七月| 婷婷五月天AV网| 婷婷五月天久久久| 国产69精品久久久久999小说| 久草九九| 五月天婷婷五月| 在线成人网站| 欧美超碰亚洲| 五月综合激情综合久| 欧美三级欧美一级| 香蕉久久av一区二区三区| 99啪啪网| 亚洲视色| 91se视频| 天天肏天天插| 人妻啪啪啪| 成人免费网站免费看| 婷婷色五月激情| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 久久XX| 婷婷日欧美在线观看| 久99视频| 九九五月天| 《蜘蛛女》梁铮1995| 亚洲精品白浆高清久久久久久| 久久伊人9| 5月婷婷激情网| 激情五月天婷婷| 成人av在线网站| 99热这里只有精品免费观看| 激情综合色五月丁香| 丁香五月六月久久综合| 九九99免费视频| 国产jd1024基地手机看国产| 爱的综合网| 色欲一区二区三区精品A片| 66色在线日韩| 99色免费| 天天天天色天天天天天干| 99热精品免费| 99热99极品观看| 99免费在线| 五月天婷婷婷| 五月欧美色色五月| 97精品人人A片免费看| 91婷婷丁香| 婷婷五月色色| AV在线观看网站| 97在线刺激| 91 原创 在线 九色| 丁香五月婷婷色偷偷| 深爱五月婷婷| www.天天干.com| 99这里| 色五月综合网| 九九色影院| 俺也去婷婷五月天第五色| 五月婷网| 激情综合播播| 五月婷婷综合在线| 国产五月天激情小说| 亚洲精品99| 国产欧美婷婷五月| 99久热| 九九免费视频在线| 综合色在线| WWW.夜夜| 91oumei| 美国十月色婷婷在线观看| 九色激情网| 久草大| 婷婷丁香综合| 五月停亭六月,六月停亭的英语| 97色97干| 亚洲久热| 3www激情| 操97在线观看| 五月丁香激情综合| 99色激| 中文字幕永久在线| 亚州AV超碰人人操| 青青草色在线视频观看| 综合婷婷| 深爱五月婷| 超碰人人妻| www.99热这里精品| 欧美性二区| 欧洲MV日韩MV国产| 色五月五月婷婷| 亚洲成人一区| 久草婷婷网| jizzdr| 久久婷婷五月综合色奶水99啪| 久热九九| 婷婷伊人五月| 婷婷99丁香| 激情综合五月| 午夜激情五月| 日本久热| 香蕉影院色| 久草a片| 538午夜激情| www五月婷婷| 丁香 亚洲 久久| 大香蕉精品视频| 69精品人人人人| 伊人五月成人| 日本女天天爽| 青996青| 五月色综合| 伊人五月成人| 天天天久久久| 婷婷丁香视频| 九九热精品99| 五月丁香激情综合网官网| 丰滿爆乳一区二区三区| 狠狠色色| 色99在线观看| 丁香五月AV综合激情| 九九中文字幕九| www久| 六月激情久久| 丁香激情六月天婷婷| 九九人人看| 亚洲热热视频| 日本va视频| 91久久久久久| 99热免费精品| 色原狠狠综合| 91狼友视频在线观看| 丁香六月色婷婷| 精品人妻伦一二三区久久| 激情99。| 久久视频婷婷视频| 超碰色女| 色婷婷精品视频在线播放| 婷婷免费视频| 五月丁香好婷婷A片网| 色五月婷激情| 综合网狠狠| 婷婷丁香社区| 丁香五月激情网| 激情婷婷五月天| www.久久| 五月天婷婷av| 久99久精品| 在线不卡的视频| 中文成人在线| 久久婷婷五月天蜜桃| 婷婷综合网伊人| 久久九九99| 9久久精品视频| 六月激情婷婷| 五月天激情图片| 丁香婷婷五月六月天| 天天色综和网| 91丨九色丨大屁股| 色啪综合| 五月婷婷色影院| 九热视频精品| 综合九九日本| 狠狠干五月| 国外亚洲成AV人片在线观看 | 91N 一起草| 一点色成人网| 欧美大片| 国产精品色情AAAAA片软件| 五月天激情婷婷| 亚洲精品视频在线播放| 婷婷丁香花五月天| 97影院一级片| 超碰激情网| 久久与婷婷| 色五月激情婷婷| 青青草护士中出内射-欧美电影在线天堂新版 | 五月丁香六月色| 婷婷狠狠干| 午夜五月天| 人妻videos人妻高清| 天天更新天天亚洲| 伊人婷婷色激情丁香| 伊人日日干| 亚洲五月天天| 中文字幕 久久9999| 99视频精品全部免费 在线| 天干天天干天天天天天| 九九在线免费观看| 婷婷五月天日本无码| 婷婷五月天综合中文| 激情婷婷综合| 五月婷婷丁香在线视频| 色狠狠婷婷| 伊人婷婷五月天| 99亚洲色| 看片视频在线免费日产在线看| 亚洲色色色| 玖玖色综合网| 99精品视频免费观看| 性色天| 亲子乱AV一区二区三区下载| 色婷婷丁香| 六月成人网| 伊人在线另类| 久久狠狠干| 婷婷五月播| 五月天婷婷午夜丁香| henhencao国产在线| 丁香婷婷啪啪啪| 色色色色五月| 91狠狠综合久久| 五月综合视频| 亚洲视频在线观看区| 久久久久久9热不雅视频| 婷婷九九色| 日本97在线视频| 快乐婷婷五月天| 婷婷五月天亚洲精品| 色五月婷婷色五月婷婷色五月婷婷| a久久| 色综合99| 伊人五月天| 五月丁香色色色| 丁香婷婷久| 亚洲另类毛片| 丁香五月婷婷日本| 欧洲免费视频色| 婷婷色五月激情强奸四射| 伊人激情| 婷婷丁香www视频日本韩国| 色播婷婷大香蕉| 丁香五月AV综合激情| 天天五月天综合网址| 91色久| 日韩欧美成人网| 久久停停超碰| 久久这里只有国产视频| 婷婷欧美| 十区AV| 婷婷久久夜| 97资源欧美日韩大香蕉超碰一区| XX色综合| 久久久久久久久久8888| 日日插日日干| 最近中文字幕2019视频1| 日本WWW九九九| 97色色色色色色色色色色色色色| 色五月丁香五月天| 婷婷在线网| 婷婷五月天影院| 玖玖资源站蜜臀| av国产精品| 超碰97干| 女高怪谈在线观看| 无码免费人妻A片AAA毛片西瓜| 91碰在线| 噜噜视频| 日本三级第一页| 五月久久噜噜| 大香蕉久| 99久re热| 天天日,天天插| 影音先锋日本三级资源| 久久精品性爱视频,| 色五月激情五月开心五月| 五月丁香婷婷伊人日韩| 日 日干 日日做| www.99在线| 亚洲天堂无码| 亚洲激情综合| www.九月婷婷丁香.com| 第四色婷婷五月| 亚洲欧洲中文日韩久久AV乱码| 色玖玖综合网| 99资源在线视频| www.九九婷婷| 夜夜爱网站| 丁香狠狠色婷婷久久无码视频| 日日色五月天| 少妇人妻丰满做爰XXX| 亚洲另类婷婷五月丁香在线播放| 影音先锋色婷婷| 97人人操人人拍| 婷婷色五月色妇| 色综合五月天| 免费色色色| 99亚洲天堂| 久久婷婷成人视频| 网站免费一站二站| 女人天堂av| 狠狠色综合网| 安息电影在线观看完整版| 久久人妻精品| 婷婷激情五月天综合| 99re这里| 五月丁香六月激情综合啪啪| 天天日天天色| 婷婷六月丁香久| 人人摸人人干| 极品五月天| 色欲五月丁香| 天天操电影院色狼性av| 91一道本| 亚洲婷婷91丁香| 久久婷婷五月综合伊人| 操骚货在线| 888精品福利地址| 色色色网站| 亚洲天天免费| 成人免费黄色短视频| 色婷婷丁香五月天激情综合网| 91夫妻视频| 久久99性爱视频| 丁香五月久久社区| 99男人的天堂| 伦乱美欧| 久久5 9视频免费观看| 激情婷婷色五月| 亚洲 视频 导航 一区| 欧美熟女99| site:pzdcoin.com| 八戒青柠影视剧在线观看| http://www.lingjunshare.com/| 亭亭五月色男人| 久久九九九九| 亚洲最大在线| 丁香五月婷婷少妇| 夜色热久| 五月天天天天天天天天天天天婷婷婷| 五月婷婷综合久久| 亚洲无AV在线中文字幕| 五月激情婷婷六月| 九色91国产| 欧美成人精品三区综合A片| 丁香五月亚洲综合| 久久久久久久8| 日本狠狠色| www.亚洲激情| 国产精典视频在线观看| 人人摸人人操人人爱| 另类激情中文| 九九热视频精品2| 日本97人人| 亚洲第一黄网| 99精品在| 久久精彩视频99| 久久综合中文| 五月WWW| 六月色 亚洲| 日日杆天天| 人人视频色| 激情五月综合久久| 五月天久久婷| 九月丁香亭亭| 亚洲综合网激情小说| h亚洲| 国产成人一区二区三区在线观看| 99爽视频| 婷婷色av| 六月五月丁香五月欧美| 人操人| 婷婷五月天激情网| 色在线99| 国产高清精品色| 99热婷婷| 碰97久久| 一本久久婷婷| 婷婷五月天成人网| 九九九九综合| 91精品综合久久久久久五月丁香 | 激情碰碰碰| 国产欧美日韩综合精品一区二区| www.久久综合| 婷婷六月花| 国产阿姨日皮艹逼内射视频| 六月丁香停| 中文字幕无码AV| 久热这里只有| 99热综合色图| 99视频这里有精品免费观看| 美女要搞搞天天搞搞搞网站| 国产激情AV| 超级97碰碰| 国模九区| 久久小说网| 99精色| 九九热中文| 丁香五月Av| 五月天婷婷导航| 少妇激情五月婷婷| 激情五月天婷婷| 色婷婷五月影院| 天天综合网色欲香| 六月成人网| 五月丁香六月婷| 超碰在线99| 九九色播五月丁香| 色五月婷婷影院| 丁香五月婷婷色播艳门照| 五月婷婷伊人网| 欧亚色色| 《诡秘之主》在线观看| 99热都是精品| 亚洲天堂啪啪| 99热播放| 一级性感黄色内射视频| 国产亚洲AV人片在线| 激情婷婷五月丁香啪啪啪| 99热免费| 成人看片网站| 色播五月婷婷| 五月丁香六月色| 97香蕉碰碰人妻国产欧美| 欧美精品999| 色呦呦美女| 五月天综合激情网| 日韩啪| 99热资源在线| 成人网址在线观看| 日本精品99| 91seav| 六月激情婷婷| 国产婷婷色综合AV蜜臀AV| 99综合| 亚洲亚洲人成综合网络 | 成人电影一区| 伊人久久大香线蕉av一区| 91九色国产在线| 五月婷亚洲精品AV天堂| 婷婷五月天成人| 99色在线视频| 国产欧美精品AAAAAA片| 五婷婷综合网| 99啪视频在线观看| 婷婷五月色综合| 综合色图区| 天天干,天天舔| www.久久五月天.com| 激情五月婷婷啪啪| 99热这里只有精品一区| 五月天偷拍| 色欲天天综合| 91热在线| 青草青草视频2免费观看| www.金莲av| 麻豆雪千夏| 国产亚洲99久久精品| 综合激情啪啪| 五月婷婷六月丁香在线视频| 思思热这里只有精品| 第四色激情网| 亚洲爆乳无码精品AAA片蜜桃| 牛牛热这里只有jingpin| AV免费在线网站| 丁香五月手机在线| 色的色综合| 激情婷婷五月天日本系列| 久热免费| 久久婷色| 欧美一级毛卡片无码| 97操碰免费视频| 久9热| 97五月天婷婷| 中文字幕,综合,91| 日本猛少妇色XXXXX猛叫| 激情五月婷婷综合秋霞| 男人天堂99| 婷婷区日本| 天天日夜夜曹| 丁香五月婷婷基地| 九九热99精品| 丁香婷婷综合精品六月初| 国产熟女日日骚五月丁香爱| 久热免费视频| 免费无码毛片一区二区A片| 激情AV中文| 99在线观看视频免费| 天天干天天干天天干天天干天| 五月婷婷中文字幕| 精品国产AV色一区二区深夜久久| 91狠狠色色丁香婷婷综合久久| 国产伊人五月天| 日本色五月婷婷| 成人精品在线观看| 18久久| www天天干| www,com,五月色色| 亚洲三A| 五月丁香激情四射| 99色播| 九九碰九九爱97| 5Www色5夜| 开心深爱五月天| 五月天婷网| 五月婷婷丁香在线| 五月天基地| 婷婷综合网在线| 色色COm| 亚洲成人网站在线观看| 9超碰在线| 5月婷婷六月丁香| 色五月综合激情| 在线超碰91| 九九热在线观看视频网站| 亚洲AV人人操| 玖玖激情网| 亚洲综合干| 激情九九六月激情免费视频| 在线看片h站| 开心五月六月婷婷| 综合激情在线视频| 午夜福利成人AV91| 综合深爱五月| www久久久| www.婷婷亚洲基地| 丁香婷婷激情| 色播激情| 99热最新网址| 五月天色综合| 91超碰在线观看| 色色综合激情| 丁香花五月天婷婷成人社区| 五月婷久久| 激情五月小说婷婷| 色色色色五月天| 五月婷婷在线观看黄| 无码AV大香线蕉伊人| 激情五月网站| 婷婷五月色| 亚洲精品乱码久久久久久按摩观| 日本啪啪网| 色爱综合五月| 色五月综合在线| 操91综合网| 色播丁香婷婷五月激情| 中字幕视频在线永久在线观看免费| 免费AV在线| 日婷婷| 欧美人人草草| 婷婷久久亚洲| 国内精品免费一区二区2009| 五月丁香六月婷综合成人综合| 午夜成人片400| 碰碰91| 五月天精品视频| 99久久亚洲精品视频| 亚洲视色| 伊人九九综合| www激情五月天| 99啪视频在线观看| 五月婷婷综合在线视频小说| 99热99在线精品| 天天干天天干天天操| 丁香久久九九99| 丁香五月天啪啪| 激情五月天99色| 久久久性爱视频| 九九热10| 亚洲最大视频| 99热免费精品热久久66| 欧美激情综合色综合啪啪五月| 丁香六月婷婷开心| 一起草AV入口| 日韩欧美骚货| 婷婷六月色情| 激情五月婷| 久久久人妻人伦| 日本色婷婷| 日操五月婷| 久久免费高| 毛片色五月| 色婷婷88| 色色射| 激情影院免费视频婷婷五月天| www,黄色在线,con| 激情五月综合网最新 | 狠狠色丁香婷婷基地| 超碰在线免费观看日韩| 综合六月激情婷婷| 亚洲AV无码一区二| 成人视频一区| 日韩av干| 亚洲成人综合网在线免费观看| 激情综合色婷婷啪啪六月天| 婷婷丁香97| 亚洲五月婷| 五月久久丁香| 91久久久久久久久久| 九九热最新视频| 96性爱视频| 婷婷va| 丁香五月播播| 色婷婷色五月色丁香| 久cao香蕉影院| 麻豆雪千夏| 丁香婷婷五月天亚洲| 激情五月丁香五月色| 五月欧美丁香在线观看| 五月天激情小说| 丁香五月婷婷国产av| 六月丁香五月婷婷| 九热在线这里有精品6| 91色综合网站在线| 色婷婷先锋| 亚洲人人干| 99热超| 欧美交换配乱吟粗大25P| 久狠日av| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 国产裸舞表演WWWW| 色婷婷WWW| 亚洲日比视频| 综合色五月| 丁香色情五月综合网站| 丁香五月婷婷AV| 男同91 | 热九九在线| 色护士综合| 天天操天天干天天日| 五月婷婷激情综合网 | 丁香六月综合激| 五月丁香色色网| 五月丁香婷婷深深爱| 六月欧美综合色情| 丁香五月天.com| 国产亚洲精品久久久久久久久动漫| 六月婷婷久久| 五月丁香婷中文字幕 | 停停色综合伊人| 婷婷狠狠操| 中文字幕操比影片| 色色色色色色网| 99热只有| 99久久99热这里只有精品| 伊人久久大香蕉网| 精品久久久中文字幕大豆网推荐理由| 欧美色色色色色色色色色色| 九九久久视频| 天天开心天天色| 婷婷婷久久久| 色色欧美。| 婷婷五月天影院| 色日本综合| 欧美日韩AAA| 婷婷色五月激情| 91碰视频| 免费看片在线观看| 久久久一级AAA| 色婷婷五月天偷拍| 婷婷综合视频| 26uuu精品国产| 激情二色月| 久久永久网址| 蜜桃婷婷狠狠久久综合| 色婷婷伊人激情在线观看| 亭亭玉月丁香| 97av在线视频| 深爱综合网| 婷婷久久综合久色| renrencaoav| 怡红院院在线导航网| 丁香激情网| 强伦轩人妻一区二区电影| 九一牛视频探花| 色99久草在线| 99视频| 成人做爰A片免费看网站找不到了 国产露脸150部国语对白 | 丁香五月天啪啪| 丁香五月婷婷五月| 九九综合影音先锋| 亚洲成人在线在线| 色色丁香| 日本一级一级一级一级| 在线日韩视频| 这里只有精品免费视频| 成人av在线网站| 日本色99| 夜夜爱伊人| 伊人五月婷婷| 天天射影院| 精品爆操| 五月天婷婷成人网| 97碰人人操| 五月天综合色| 人人草人人舔| 九九热最新视频| 婷婷久久五月天| 婷婷狠狠操| 91九色视频在线观看| 天天操天天操天天操天天操天天操 | 午夜理论片最新午夜理论剧| 婷婷在线观看五月天在线视频| 爱操人妻| 丁香蜜臀黄色婷婷五月天| AV九九| 亚洲性爱99| 深爱激情小说五月婷婷| 天天操夜夜玩!| 婷婷五月精品在线| va亚洲中文在线| 狠狠色婷婷六月激情网| 色色色图| 九九在线精品| 99精品自拍| 婷婷午夜| JAPANRCEP老熟妇乱子伦视频 | 狠狠久久婷五月| 综合色色婷婷| 丁香婷婷六月激情文学 | 激情五月天啪啪| 五月天激情图片| 欧美久热| 日日躁夜夜躁狠狠久久AV| 亚洲日比视频| 亚洲四色五月| 黄色AV日韩| 第四色色六月色综合| 婷婷丁香激情五月| 九九激情视频| 超碰国产在线观看| 亚洲欧美婷婷五月色综合| caop在线| A片试看50分钟做受视频| 丁香婷婷欧美综合| 九九色院| 永久的网站AAAA | 国产精品人人做人人爽人人添| 狠狠精品干练久久久无码中文字幕| 丁香深五月婷婷| 91互操| 亚洲第一色网站| 五月停停丁香| 久热一本| 天天弄天天操| 天综合日日夜综合7799| 人妻在线网站| 99热情这里只有精品在线播放| 五月丁香六月婷婷手机无线| 天天草天天摸| 激情小说在线视频| 六月丁花香啪啪激情欧美| 丁香五月色网| 精品一区二区三区四区五区六区介绍| 婷婷五月18永久免费视频| www.婷婷,com| XX色综合| 天天综合网~91| 色99视| 5月婷婷激情在线| 天天干一干| 操碰99在线视频观看| www.99热| 九九热这里有精品视频| 九九九九这里只有精品| 激情六月婷婷| 色五月激情问网站| 天天操夜夜啊| 婷婷干五月综合在线播放| 丁香五月成人社区| www.色欲丁香婷婷| 热九九在线| 色色色免费视频| 99操| 婷婷久久18| 26UUU亚洲欧美| 五月成人天| 久久这里只有精品8| 亚洲第一av| 久久99激情| 碰超99| W色综合| 性爱网久久| 亚洲六月色| 俺去也五月| 国产婷婷五月天| xfplayav在线| 久久久婷婷婷| 在线视频激情网站| 思思热久久婷婷五月天| 亚洲成人网站在线观看| 大香蕉人人网| 色天天综合色| 丁香成人五月天| 欧美在线视频免费播放| 丁香花五月天| www.99热| 97色色综合| 婷婷五月天在线综合| 五月婷色| 精品乱码视频| 五月丁香六月婷婷综合网站 | XX色综合| 六月丁花香啪啪激情欧美| 五月天色婷伊人| 日本三级中国三级99| 欧美婷婷丁香五月| 婷婷五月天性| 精品影院| 9久热| 91色在线/日韩| 一级二级色大片| 久久人妻人人槡| 色级停停| 开心久久xxx色| 99精品久久| 五月婷婷色色网址| 九九热视频免费的| 国产乱妇乱子在线播视频播放网站| 综合啪啪| 婷婷天堂综合| 婷婷五月天久久综合88| 久热这里只有精品6| 色级婷婷| 极品五月天| 五月停性愛| 日本五月丁香| 国产伦亲子伦亲子视频观看| 热热久久精品视频| 丁香六月在线| 日韩欧美一级大黄网站| 激情五月综合网| 天天色99| 色五月在线播放| 月色色综合婷婷网| 99九九视频| 久久九九亚洲| 99热这里只有精品在线观看| 午夜微拍福利| 成年人看Va免费视频| 亚洲不卡123| 玖玖资源站蜜臀| 996黄色片| 丁香五月五月婷婷五月天激情四射| 91无码一起草| 五月伊人婷婷| 91人人人人人人人| 热99国产精品| 久久性爱视频| 丁香六月综合激情| 91精品久久久久久久久久久久| 天天色天天日天天舔| 大香蕉人在线65| 五月婷婷六月情| 久草视频一,二三四| 色五月婷婷色五月| 五月婷婷六月丁香首页| 丁香五月区| 四虎成人精品永久免费AV九九| 婷婷五月天精品| 日韩九九视频| 国产毛片欧美毛片久久久| 婷婷五月天激情综合深爱| 无码成人AAAAA毛片AI换脸| www.亚洲激情| 中国操逼99| 亚美欧色影院| 久99久精品| AV九九| 成人小说 五月天 婷婷| 99精品视频播放| www,色色色网站| 九九99九九99| 婷婷激情图片| 欧美婷| 一本色道久久综合狠狠躁小说| 九九视屏| 《诡秘之主》在线观看| 丁香五月天啪啪| 播五月丁香六月| 久久久久亚洲AV无码网影音先锋| 亚洲色碰| 日操五月婷| 国产婷婷五月| 国产综合色婷婷精品久久| 激情五月综合网| 亚洲乱码日产精品BD| 婷婷丁香五月天中文字幕| 人人叉久| 五月天激情网站| 九九激情视频| 婷婷色五月开心五月| 综合久久婷婷| 国产无套精品一区二区| 亚洲综合99| 亚洲国产精品成人午夜| 几激情五月婷婷色五月色天堂| 日本久久99| 亚洲岛国电影| 久色网址| 热久久国产视频| 亚洲av午夜精品一区二区| www.夜夜| 人人草开心五月天| 九九色逼| 91啦丨九色丨刺激中文| 99网| 丁香六月无码播放|