免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

Java+HTML5綠色環(huán)保網(wǎng)站課設(shè)實(shí)戰(zhàn):從架構(gòu)到部署避坑指南

Java+HTML5綠色環(huán)保網(wǎng)站課設(shè)實(shí)戰(zhàn):從架構(gòu)到部署避坑指南 簡介這套基于JavaHTML5的綠色環(huán)保網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)項(xiàng)目面向高校畢業(yè)設(shè)計(jì)或課程設(shè)計(jì)場景采用管理員與普通用戶雙角色設(shè)計(jì)。系統(tǒng)覆蓋首頁、環(huán)保資訊、環(huán)保課堂、環(huán)?;顒?dòng)、環(huán)保科普、環(huán)保培訓(xùn)及信息交流等模塊支持登錄注冊(cè)、資訊維護(hù)、用戶管理、知識(shí)評(píng)論等典型Web功能適合用作Java Web開發(fā)練習(xí)或論文配套項(xiàng)目。資源包為zip格式共2000個(gè)文件壓縮包大小約37.32MB文件類型以png、js、css、java、jsp、xml、jpg為主png等圖片構(gòu)成頁面視覺素材js/css負(fù)責(zé)前端交互與樣式j(luò)ava/jsp完成后臺(tái)業(yè)務(wù)邏輯xml/properties用于配置文件sql腳本可初始化數(shù)據(jù)庫此外還包含PSD設(shè)計(jì)稿等項(xiàng)目輔助文件。目前已有147人學(xué)習(xí)下載可參考其頁面布局、功能分層與交互邏輯快速搭建一套具備完整業(yè)務(wù)鏈的環(huán)保主題網(wǎng)站也可在此基礎(chǔ)上擴(kuò)展低碳出行、綠色校園等專題模塊提升畢業(yè)設(shè)計(jì)的完整度和演示效果。1. 拿到一套 javaHTML5 綠色環(huán)保網(wǎng)站別急著寫代碼先看它值不值得當(dāng)課設(shè)每年到這個(gè)時(shí)間點(diǎn)總有人被畢業(yè)設(shè)計(jì)或課程設(shè)計(jì)卡在選題上——要 java、要網(wǎng)頁、還得有點(diǎn)現(xiàn)實(shí)意義。綠色環(huán)保網(wǎng)站就是那種看著不起眼、實(shí)際上把「前端展示 后端管理 數(shù)據(jù)庫存取」全串起來的典型項(xiàng)目。我拆過不少同類資源這套基于 java HTML5 的綠色環(huán)保網(wǎng)站設(shè)計(jì)實(shí)現(xiàn)核心功能是前臺(tái)環(huán)保資訊展示、用戶注冊(cè)登錄、留言互動(dòng)外加后臺(tái)對(duì)內(nèi)容和用戶的管理技術(shù)上覆蓋 Servlet、JSP、MySQL前端用 HTML5 語義化標(biāo)簽和表單校驗(yàn)。它的定位是「能跑通、能演示、能答辯」的完整課設(shè)項(xiàng)目適合 java 基礎(chǔ)尚可但缺一個(gè)全流程實(shí)戰(zhàn)的學(xué)生也適合想快速搭一個(gè)信息展示類網(wǎng)站的非科班開發(fā)者。資源里帶演示意味著你可以先看效果再?zèng)Q定要不要?jiǎng)邮指摹@比從空項(xiàng)目開始攢要省事得多。2. 項(xiàng)目拆開看架構(gòu)MVC 分層與 JSP/Servlet 的選型邏輯2.1 先摸目錄結(jié)構(gòu)別一上來就雙擊 index.html很多新手拿到項(xiàng)目壓縮包第一反應(yīng)是找 index 頁面然后雙擊打開結(jié)果看到滿屏標(biāo)簽樣式全亂。這是不對(duì)的。java HTML5 的綠色環(huán)保網(wǎng)站本質(zhì)是動(dòng)態(tài)站點(diǎn)頁面上的環(huán)保新聞、用戶留言都是從數(shù)據(jù)庫實(shí)時(shí)讀取的純靜態(tài)打開只有空殼。正確姿勢是先看目錄結(jié)構(gòu)確認(rèn)它是不是標(biāo)準(zhǔn) JavaWeb 工程。常見做法是 eclipse 或 IDEA 的 Web 項(xiàng)目結(jié)構(gòu)WebContent 下放 JSP、CSS、JSsrc 下放 java 包分為 servlet、dao、entity、util 幾層。先記住一個(gè)判斷標(biāo)準(zhǔn)如果 resources 或 src 目錄里有大量 .java 文件那這就是需要部署到 Tomcat 才能跑的項(xiàng)目不是純靜態(tài)網(wǎng)頁??匆幌碌湫湍夸洸季謳缀跛械恼n設(shè)項(xiàng)目都是這么拆的GreenWebsite/ ├── src/ │ ├── com.ep.controller/ # Servlet 控制器層 │ │ ├── LoginServlet.java │ │ ├── RegisterServlet.java │ │ └── NewsServlet.java │ ├── com.ep.dao/ # 數(shù)據(jù)庫操作層 │ │ └── NewsDao.java │ ├── com.ep.entity/ # 實(shí)體類 │ │ ├── User.java │ │ └── News.java │ └── com.ep.util/ # 工具類數(shù)據(jù)庫連接、字符串處理 │ └── DBUtil.java ├── WebContent/ │ ├── index.jsp # 前臺(tái)首頁 │ ├── newsList.jsp # 環(huán)保資訊列表 │ ├── newsDetail.jsp # 資訊詳情 │ ├── register.jsp # 用戶注冊(cè)頁 │ ├── login.jsp # 登錄頁 │ ├── admin/ # 后臺(tái)管理頁面 │ │ ├── adminIndex.jsp │ │ └── newsManage.jsp │ ├── css/style.css │ ├── js/main.js │ └── WEB-INF/web.xml # 核心配置把 Controller、Dao、Entity、Util 分開放好處是出了問題能快速定位。比如登錄報(bào)錯(cuò)先去 LoginServlet 看請(qǐng)求參數(shù)接收再去 UserDao 看 SQL 條件不用把整個(gè)項(xiàng)目翻一遍。這個(gè)分層看起來笨但課設(shè)答辯時(shí)老師喜歡問「你分層了嗎」有這一層結(jié)構(gòu)能少費(fèi)很多口舌。資源里如果還提供 sql 文件通常放在項(xiàng)目根目錄或 db 文件夾導(dǎo)入 MySQL 時(shí)注意字符集選 utf8不然中文容易變問號(hào)。2.2 為什么課設(shè)項(xiàng)目還在用 JSP/Servlet而不是 Spring Boot打開這個(gè)項(xiàng)目你會(huì)發(fā)現(xiàn)它沒有 pom.xml也沒有 application.yml就是純 JSP Servlet JDBC。第一次看到的人容易疑惑現(xiàn)在企業(yè)里不都 Spring Boot 了嗎為什么課設(shè)還在用這套答案很簡單這跟「用對(duì)工具」無關(guān)跟「課程要求」有關(guān)。大部分學(xué)校的 java Web 課程設(shè)計(jì)大綱里明確要求體現(xiàn) Servlet 和 JSP 的使用目的是考察你對(duì) HTTP 請(qǐng)求處理、會(huì)話跟蹤、JDBC 連接這些基礎(chǔ)原理的理解Spring Boot 封裝掉的東西反而沒法在答辯時(shí)講清楚。從個(gè)人角度我建議你按原有技術(shù)棧做完再私下補(bǔ)一個(gè) Spring Boot 版本面試時(shí)能證明你不是只會(huì)課設(shè)那套。技術(shù)選型這件事別追求「新」追求「老師看得懂、你能講明白」。Servlet 的生命周期、doGet 和 doPost 的區(qū)別、request 和 response 的作用范圍這些是答辯必問的而 Spring Boot 里一個(gè) RestController 注解就把所有細(xì)節(jié)蓋住了。如果資源本身是 SSM 或 Spring Boot 寫的另當(dāng)別論可這套項(xiàng)目定位就是課設(shè)那遵循課設(shè)邏輯就是最優(yōu)解。數(shù)據(jù)庫連接用 JDBC 直連配置在 DBUtil.java 里換數(shù)據(jù)庫或換密碼改這一個(gè)文件就行。這種「把變化收斂到一個(gè)點(diǎn)」的設(shè)計(jì)恰恰是答辯時(shí)能講出彩的地方。2.3 數(shù)據(jù)庫連接與 web.xml先把基礎(chǔ)設(shè)施配好再談頁面凡是 JavaWeb 項(xiàng)目第一步永遠(yuǎn)是確認(rèn)數(shù)據(jù)庫連接是對(duì)的。綠色環(huán)保網(wǎng)站這種項(xiàng)目數(shù)據(jù)庫無非三張表撐全場用戶表、環(huán)保資訊表、留言表偶爾加個(gè)管理員表。你先看資源里的 SQL 腳本把表結(jié)構(gòu)導(dǎo)到 MySQL 里。然后打開 DBUtil.java改數(shù)據(jù)庫地址、用戶名、密碼。這一步如果漏了后面所有頁面訪問都會(huì)報(bào) 500 或連接超時(shí)。最常見的坑是 MySQL 版本差異導(dǎo)致驅(qū)動(dòng)類名不一致5.x 用 com.mysql.jdbc.Driver8.0 以上要換成 com.mysql.cj.jdbc.DriverURL 還要帶 serverTimezoneAsia/Shanghai否則驅(qū)動(dòng)直接拋時(shí)區(qū)異常。web.xml 是這個(gè)項(xiàng)目的命脈文件Servlet 映射、歡迎頁面、字符集過濾器全在這配。不少資源會(huì)漏掉編碼過濾器導(dǎo)致表單提交中文變亂碼。我一般拿到項(xiàng)目第一件事是檢查 web.xml 里有沒有這行配置filter filter-nameencodingFilter/filter-name filter-classorg.apache.catalina.filters.SetCharacterEncodingFilter/filter-class init-param param-nameencoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameencodingFilter/filter-name url-pattern/*/url-pattern /filter-mapping這段配置的作用是讓 Tomcat 對(duì)所有經(jīng)過的請(qǐng)求和響應(yīng)統(tǒng)一按 UTF-8 處理。有人問我頁面里寫了meta charsetutf-8還不夠嗎真不夠。頁面 meta 只決定瀏覽器怎么解析響應(yīng)體而 POST 請(qǐng)求提交的參數(shù)在到達(dá) Servlet 之前由 Tomcat 用默認(rèn)的 ISO-8859-1 解碼不裝過濾器中文必亂。URL 里帶 serverTimezoneAsia/Shanghai 是另一個(gè)常見補(bǔ)丁MySQL 8.x 默認(rèn)時(shí)區(qū)是美國不指定會(huì)報(bào)The server time zone value ?D1ú±ê×?ê±?? is unrecognized這行配置就是后半句的后悔藥。配完這兩處項(xiàng)目才能算「能跑」再往下才是頁面邏輯。3. 前端 HTML5 部分實(shí)戰(zhàn)從靜態(tài)頁面到動(dòng)態(tài)渲染的完整鏈路3.1 首頁布局與 HTML5 語義化標(biāo)簽的使用綠色環(huán)保網(wǎng)站的首頁一般是這個(gè)套路頂部導(dǎo)航欄帶 logo 和菜單中間是環(huán)保資訊輪播圖往下是新聞列表和環(huán)保小貼士底部是版權(quán)信息。HTML5 帶來的變化是布局標(biāo)簽從滿屏 div 變成 header、nav、main、article、section、footer 這些語義化標(biāo)簽。這套資源的首頁如果寫得規(guī)范你應(yīng)該能看到成體系的語義化結(jié)構(gòu)。語義化標(biāo)簽的價(jià)值不在視覺效果而在三點(diǎn)第一對(duì)搜索引擎友好爬蟲能分清哪塊是導(dǎo)航哪塊是正文第二對(duì)屏幕閱讀器友好殘障用戶能跳過導(dǎo)航直接讀內(nèi)容第三代碼可讀性強(qiáng)你半年后回頭改自己寫的頁面一眼能找到功能區(qū)。下面是從這類首頁中抽出來的典型結(jié)構(gòu)去掉具體樣式后的骨架header classsite-header h1 classlogo綠色環(huán)保在線/h1 nav classmain-nav ul lia hrefindex.jsp首頁/a/li lia hrefnewsList.jsp環(huán)保資訊/a/li lia hrefknowledge.jsp環(huán)保知識(shí)/a/li lia hrefmessage.jsp留言板/a/li lia hrefadmin/adminIndex.jsp后臺(tái)/a/li /ul /nav /header main section classbanner div classbanner-item active保護(hù)地球從我做起/div div classbanner-item垃圾分類資源循環(huán)/div /section article classnews-list h2最新環(huán)保動(dòng)態(tài)/h2 !-- 此處由 Java 代碼循環(huán)輸出新聞項(xiàng) -- /article /main footer classsite-footer p? 2024 綠色環(huán)保網(wǎng)站設(shè)計(jì)項(xiàng)目/p /footer這段結(jié)構(gòu)里輪播圖區(qū)域banner-item默認(rèn)隱藏只有帶 active 類的顯示通過 js/main.js 里定時(shí)器切換 active 類來實(shí)現(xiàn)輪播。想換文案或圖片直接在 HTML 里改文本和背景圖路徑即可。news-list這個(gè) article 在純靜態(tài)階段是空殼實(shí)際運(yùn)行時(shí)由 JSP 的c:forEach標(biāo)簽或% %表達(dá)式循環(huán)輸出數(shù)據(jù)庫里的環(huán)保新聞標(biāo)題和摘要。這也是資源演示里最亮眼的部分前臺(tái)不是死的用戶每發(fā)一條環(huán)保知識(shí)評(píng)論頁面刷新后就能看到新內(nèi)容。3.2 HTML5 表單校驗(yàn)注冊(cè)登錄頁的前端防線注冊(cè)頁和登錄頁是 HTML5 特性用得最集中、也最容易翻車的地方。HTML5 原生表單校驗(yàn)用起來完全不需要 JavaScript直接在 input 標(biāo)簽上寫 required、type、pattern、minlength 這些屬性瀏覽器就會(huì)在提交時(shí)自動(dòng)攔截空值、格式錯(cuò)誤、長度不足。這套資源里注冊(cè)頁如果用了這些屬性是有東西可以講的。比如郵箱輸入框?qū)懗蓆ypeemail瀏覽器會(huì)自動(dòng)校驗(yàn)是否包含 符號(hào)手機(jī)號(hào)輸入框用pattern1[3-9]\d{9}限制 11 位且首位為 1密碼框加minlength6要求最短長度。這些屬性全部是聲明式的不需要額外引入任何庫。看一個(gè)典型的注冊(cè)表單實(shí)現(xiàn)form actionregister methodpost idregForm label forusername用戶名/label input typetext idusername nameusername required placeholder4-16位字母或數(shù)字 pattern[a-zA-Z0-9]{4,16} label foremail郵箱/label input typeemail idemail nameemail required label forpassword密碼/label input typepassword idpassword namepassword required minlength6 maxlength20 label forconfirmPwd確認(rèn)密碼/label input typepassword idconfirmPwd nameconfirmPwd required button typesubmit注冊(cè)/button /formusername 輸入框的 pattern 是正則校驗(yàn)[a-zA-Z0-9]{4,16}表示只允許大小寫字母和數(shù)字長度 4 到 16 位不滿足時(shí)瀏覽器彈出提示且不發(fā)請(qǐng)求。密碼和確認(rèn)密碼的一致性檢查純 HTML5 屬性做不了這個(gè)要交給 js/main.js 里的 submit 事件。監(jiān)聽表單提交比對(duì)兩個(gè) password 框的值不一致則event.preventDefault()阻止提交并彈出警告。前端校驗(yàn)只是提升用戶體驗(yàn)后端 Servlet 里必須再做一次同樣的判斷因?yàn)橛脩艨梢岳@過瀏覽器直接 POST 數(shù)據(jù)。這是課設(shè)答辯時(shí)一個(gè)非常好的加分提問點(diǎn)前端校驗(yàn)與后端校驗(yàn)各自解決什么問題。3.3 CSS3 動(dòng)效與響應(yīng)式讓頁面看起來不是「原生課設(shè)臉」很多 java 課設(shè)網(wǎng)站一眼就能被認(rèn)出來因?yàn)轫撁媸?2008 年的風(fēng)格表格布局、彩色字體、沒有圓角按鈕點(diǎn)下去毫無反饋。這套資源里如果帶了 style.css通常會(huì)用 CSS3 的圓角、陰影、漸變、過渡動(dòng)畫來緩解這個(gè)問題。常見做法是給導(dǎo)航菜單加 hover 變色過渡——鼠標(biāo)移上去背景色在 0.3 秒內(nèi)平滑變化而項(xiàng)目答辯時(shí)老師路過看一眼會(huì)覺得這頁面「下過功夫」。CSS3 動(dòng)效的實(shí)現(xiàn)方式非常簡單復(fù)雜度控制在「看代碼能懂、改參數(shù)就能調(diào)」這個(gè)級(jí)別不需要引入第三方框架。響應(yīng)式是另一個(gè)能打動(dòng)人心的點(diǎn)。用媒體查詢?cè)谄聊粚挾刃∮?768px 時(shí)把導(dǎo)航菜單改為上下堆疊、把多列布局改單列就能當(dāng)「適配移動(dòng)端」的賣點(diǎn)寫進(jìn)報(bào)告。代碼如下media (max-width: 768px) { .main-nav ul { flex-direction: column; } .news-grid { grid-template-columns: 1fr; } .site-header { text-align: center; } }媒體查詢的原理是瀏覽器根據(jù)當(dāng)前視口寬度選擇匹配的樣式塊。max-width: 768px意味著視口小于等于 768px 時(shí)生效常見手機(jī)豎屏都在這個(gè)范圍內(nèi)。flex-direction: column把原來橫向排列的導(dǎo)航項(xiàng)改為縱向堆疊避免手機(jī)上字?jǐn)D成一團(tuán)。grid-template-columns: 1fr把資訊列表從三列改為一列保證每張卡片在窄屏上不被壓縮到看不清。這些改動(dòng)不影響原來 PC 端的樣式因?yàn)榇笥?768px 的屏幕走的是默認(rèn)規(guī)則。做這套東西的微信小程序版或手機(jī)版要留出這個(gè)發(fā)展規(guī)劃后端接口按 JSON 輸出前端另做適配即可。4. 后端 Java 核心代碼解讀登錄鑒權(quán)、環(huán)保資訊管理與留言交互4.1 LoginServlet從請(qǐng)求參數(shù)接收到 Session 會(huì)話保持后端部分首先要盯的是登錄邏輯。用戶在 login.jsp 輸入賬號(hào)密碼提交表單 action 指向 LoginServletTomcat 根據(jù) web.xml 里的映射找到對(duì)應(yīng)類并調(diào)用 doPost 方法。整個(gè)處理鏈路是固定的四步接收參數(shù)、校驗(yàn)參數(shù)、查詢數(shù)據(jù)庫、返回結(jié)果。拿這個(gè) Servlet 講清楚一個(gè) HTTP 請(qǐng)求在后端的生命周期是答辯時(shí)最出彩的橋段。看一段典型的登錄實(shí)現(xiàn)代碼protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding(UTF-8); String username request.getParameter(username); String password request.getParameter(password); if (username null || password null || username.isEmpty() || password.isEmpty()) { response.sendRedirect(login.jsp?errorempty); return; } UserDao dao new UserDao(); User user dao.findByUsernameAndPassword(username, password); if (user ! null) { HttpSession session request.getSession(); session.setAttribute(loginUser, user); response.sendRedirect(index.jsp); } else { response.sendRedirect(login.jsp?errorfailed); } }這段代碼干了四件事也是后續(xù)所有功能的模板。第一行 setCharacterEncoding 是解決中文亂碼的保底手段雖然前面 web.xml 里配了過濾器但 Servlet 里再寫一遍不虧。getParameter從請(qǐng)求體里取出 userName 文本框的值如果沒傳或傳了空串就跳回登錄頁并帶 errorempty 參數(shù)。查詢走 UserDaoSQL 是select * from user where username? and password?用的是 PreparedStatement 參數(shù)占位而不是字符串拼接這是防 SQL 注入的基礎(chǔ)寫法。查到了用戶就創(chuàng)建 Session 對(duì)象把 User 塞進(jìn)去后續(xù)頁面用session.getAttribute(loginUser)判斷是否已登錄。沒查到就帶著 errorfailed 回登錄頁頁面頂部用 JSP 判斷 error 參數(shù)并顯示不同提示。誰能說出「為什么密碼不能直接明文存數(shù)據(jù)庫應(yīng)該存 MD5 或 BCrypt 哈希值」誰就能在答辯時(shí)把老師帶進(jìn)自己的節(jié)奏。4.2 環(huán)保資訊列表的 DAO 查詢JDBC 手動(dòng)寫也不難資訊列表頁是前臺(tái)內(nèi)容最密集的地方新聞標(biāo)題、發(fā)布時(shí)間、摘要被渲染成卡片列表。這背后是 NewsDao 的一個(gè)查詢方法從 news 表查出狀態(tài)為已發(fā)布的記錄按發(fā)布時(shí)間倒序排列返回一個(gè) ArrayListJSP 頁面拿到這個(gè)集合用 JSTL 標(biāo)簽循環(huán)輸出。這套邏輯在 Spring Boot 里被 ORM 框架封裝了但在課設(shè)項(xiàng)目里每一步都是顯式代碼每一個(gè)結(jié)果集轉(zhuǎn)換都看得見。遇到網(wǎng)絡(luò)慢或數(shù)據(jù)庫沒數(shù)據(jù)時(shí)頁面顯示空列表而不是報(bào)錯(cuò)靠的就是對(duì)這個(gè) DAO 方法返回空集合的理解??匆幌碌湫筒樵兎椒╬ublic ListNews findAllPublishedNews() { ListNews newsList new ArrayList(); String sql SELECT id, title, summary, publish_time, cover_url FROM news WHERE status 1 ORDER BY publish_time DESC; try (Connection conn DBUtil.getConnection(); PreparedStatement ps conn.prepareStatement(sql); ResultSet rs ps.executeQuery()) { while (rs.next()) { News news new News(); news.setId(rs.getInt(id)); news.setTitle(rs.getString(title)); news.setSummary(rs.getString(summary)); news.setPublishTime(rs.getTimestamp(publish_time)); news.setCoverUrl(rs.getString(cover_url)); newsList.add(news); } } catch (SQLException e) { e.printStackTrace(); } return newsList; }注意 JDK 7 以來的 try-with-resources 寫法Connection、PreparedStatement、ResultSet 三個(gè)資源在后半個(gè)括號(hào)里依次聲明方法結(jié)束自動(dòng)關(guān)閉不用手動(dòng)寫 finally 去 close。這套簡寫能幫你少寫五六行樣板代碼也讓代碼更像生產(chǎn)級(jí)寫法。如果這個(gè)資源里的 DAO 還在手動(dòng) close你可以當(dāng)個(gè)改進(jìn)點(diǎn)提出來寫進(jìn)課設(shè)報(bào)告的「項(xiàng)目改進(jìn)說明」里。分頁是另一個(gè)值得深挖的腦洞把 LIMIT 換成LIMIT ?, ?方法簽名里加 pageNum 和 pageSize 參數(shù)就能實(shí)現(xiàn)不用改數(shù)據(jù)庫表結(jié)構(gòu)。答辯時(shí)老師說「你這個(gè)新聞越攢越多頁面會(huì)很慢」你答一句「加一個(gè)分頁查詢即可把 LIMIT 和當(dāng)前頁參數(shù)綁定」比夸頁面好看有用得多。4.3 留言板與用戶注冊(cè)POST 請(qǐng)求的寫入鏈路留言板是綠色環(huán)保網(wǎng)站這類項(xiàng)目里互動(dòng)功能的擔(dān)當(dāng)用戶在頁面底部輸入留言內(nèi)容和聯(lián)系方式提交后由 MessageServlet 接收、校驗(yàn)、寫入數(shù)據(jù)庫再重定向回留言頁面。這個(gè)過程和登錄、注冊(cè)的鏈路一樣但有一個(gè)關(guān)鍵差異登錄和查詢是讀操作留言是寫操作。寫操作必須做兩件事內(nèi)容非空校驗(yàn)和預(yù)防 XSS。非空校驗(yàn)和登錄時(shí)一樣用 isEmpty 判斷XSS 防護(hù)則是把script這類標(biāo)簽轉(zhuǎn)義成lt;scriptgt;否則用戶留言里塞一段 JS 就能在別人瀏覽器里執(zhí)行。寫操作后的跳轉(zhuǎn)用重定向而不用轉(zhuǎn)發(fā)也是細(xì)節(jié)——防止用戶刷新頁面時(shí)表單重復(fù)提交。注冊(cè)功能的寫入鏈路更長先查用戶名是否已存在不存在才插入新記錄存在就跳回注冊(cè)頁提示換一個(gè)用戶名。這個(gè)「先查再插」的邏輯有并發(fā)問題兩個(gè)請(qǐng)求同時(shí)查到用戶名不存在同時(shí)執(zhí)行 insert數(shù)據(jù)庫里就會(huì)出現(xiàn)兩條同名記錄。解決辦法有兩個(gè)方向一是給 user 表的 username 字段加唯一索引插入時(shí)拋 DuplicateKeyException 再提示用戶換名字二是把查詢和插入合并成一條INSERT INTO user (username, password) SELECT ?, ? FROM dual WHERE NOT EXISTS (SELECT id FROM user WHERE username ?)。第二個(gè)方案里的FROM dual是 MySQL 的一個(gè)特殊單行表主要用來構(gòu)造沒有實(shí)際表的查詢結(jié)構(gòu)。這個(gè)并發(fā)場景在課設(shè)里不會(huì)真的發(fā)生但把這個(gè)思考寫進(jìn)報(bào)告的「設(shè)計(jì)亮點(diǎn)」里能讓方案設(shè)計(jì)的深度往上提半檔。4.4 后臺(tái)管理的迷你權(quán)限系統(tǒng)為什么 admin 目錄要單獨(dú)放后臺(tái)管理是綠色環(huán)保網(wǎng)站的隱藏板塊普通用戶在前臺(tái)看不到入口只有登錄賬號(hào)是 admin 或用戶表里 role 字段等于 1 的人才允許訪問。這個(gè)權(quán)限控制在課設(shè)版本里不會(huì)做得太重最常見的是兩層判斷頁面頂部加代碼塊里判斷 Session 里的用戶對(duì)象是否為空且 role 是否為管理員后端的 AdminServlet 在 doGet 和 doPost 里重復(fù)一遍同樣的判斷不信頁面那層——因?yàn)橛脩艨梢岳@過前臺(tái)頁面直接用 URL 訪問 Servlet。如果資源里只有第一層判斷那你改起來也不難在每個(gè)后臺(tái) Servlet 的方法第一行加個(gè)判斷不滿足就response.sendError(403)等于給后臺(tái)加了第二道門。這個(gè)改進(jìn)的價(jià)值在于講管理后臺(tái)時(shí)可以用「雙重認(rèn)證」這個(gè)詞。5. 從下載到上線的坑部署避坑指南與四項(xiàng)典型翻車記錄5.1 坑一Tomcat 啟動(dòng)報(bào)了 Port 8080 被占用頁面永遠(yuǎn)打不開現(xiàn)象雙擊 startup.bat 后控制臺(tái)還沒刷出日志就停了或者瀏覽器訪問 localhost:8080 直接拒絕連接。翻日志看到Port 8080 required by Tomcat v9.0 Server at localhost is already in use。原因電腦上某個(gè)進(jìn)程已經(jīng)占用了 8080 端口通常是之前殘留的 Tomcat 實(shí)例、Oracle 的 HTTP 服務(wù)或者某個(gè)開發(fā)工具的調(diào)試端口。解決打開命令行執(zhí)行netstat -ano找端口 8080 對(duì)應(yīng)的 PID然后taskkill /PID pid /F。如果該端口上有其他想保留的程序就改 Tomcat 的端口配置在 server.xml 里找到Connector port8080那一行改成 8081 或 9090然后訪問時(shí)用新端口。改端口后注意如果項(xiàng)目里有代碼寫死了重定向地址那也得跟著改JSP 頁面里response.sendRedirect(http://localhost:8080/...)的絕對(duì)路徑是最容易漏網(wǎng)的地方建議所有重定向都用相對(duì)路徑或request.getContextPath()拼出來的動(dòng)態(tài)路徑。5.2 坑二MySQL 連接失敗報(bào)錯(cuò)指向ClassNotFoundException或Communications link failure現(xiàn)象項(xiàng)目跑起來訪問任何需要查數(shù)據(jù)庫的頁面都報(bào) 500Tomcat 控制臺(tái)打出一長串異常要么是ClassNotFoundException: com.mysql.jdbc.Driver要么是Communications link failure。原因前者是驅(qū)動(dòng) JAR 沒用對(duì)——MySQL 5.x 的驅(qū)動(dòng)類名是 com.mysql.jdbc.DriverMySQL 8.x 換成了 com.mysql.cj.jdbc.Driver如果項(xiàng)目的 Java 工程里引入的是老驅(qū)動(dòng)包連新數(shù)據(jù)庫必然掉鏈子后者是數(shù)據(jù)庫地址或端口寫錯(cuò)比如本機(jī) MySQL 改了端口到 3307而 DBUtil 里還寫著 3306。解決驅(qū)動(dòng)類名改掉后還需要把 mysql-connector-java 的 JAR 包放進(jìn)項(xiàng)目的 WEB-INF/lib 目錄或者如果用的 IDEA在 Project Structure 里把 JAR 添加到 Libraries。連接 URL 的規(guī)范形如jdbc:mysql://localhost:3306/green_db?useSSLfalseserverTimezoneAsia/ShanghaiuseSSLfalse是關(guān)掉加密連接避免 MySQL 8 默認(rèn)開啟 SSL 帶來的告警serverTimezone是指定時(shí)區(qū)少一個(gè)都不行。5.3 坑三注冊(cè)和登錄功能正常但留言內(nèi)容一提交就變問號(hào)現(xiàn)象前臺(tái)所有頁面都是正常中文注冊(cè)用戶名也能正常入庫唯獨(dú)在留言板輸入的中文提交后數(shù)據(jù)庫里存的是????刷新頁面顯示的內(nèi)容全是問號(hào)。原因數(shù)據(jù)庫連接 URL 里沒帶characterEncodingutf8JDBC 驅(qū)動(dòng)用了默認(rèn)的 latin1 字符集去編碼中文字符存進(jìn)數(shù)據(jù)庫就已經(jīng)損壞了不是顯示層的問題。解決分兩步——第一步在 DBUtil.java 的連接 URL 末尾加characterEncodingutf8第二步確認(rèn)數(shù)據(jù)庫表本身的字符集是 utf8mb4登錄 MySQL 執(zhí)行ALTER TABLE message CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;。這兩步分別管的是「傳輸時(shí)的編碼」和「存儲(chǔ)時(shí)的編碼」缺一個(gè)都不行。這里有一個(gè)人容易忽略的細(xì)節(jié)MySQL 的 utf8 最多支持 3 字節(jié)字符而 emoji 表情需要 4 字節(jié)得用 utf8mb4 才存得下如果表里只想存純中文utf8 也夠用但統(tǒng)一用 utf8mb4 可以減少很多后顧之憂。5.4 坑四本地好好的一部署到別的電腦上就 404 或圖片全裂現(xiàn)象在自己電腦上跑項(xiàng)目沒任何毛病拷到舍友電腦或答辯老師電腦上首頁能打開但 CSS、JS、圖片完全不加載F12 看網(wǎng)絡(luò)請(qǐng)求全是 404。原因JSP 頁面里引用了本機(jī)項(xiàng)目部署后的絕對(duì)路徑比如link relstylesheet href/GreenWebsite/css/style.css換電腦部署時(shí)項(xiàng)目名變了路徑自然就廢了。解決所有靜態(tài)資源引用都改成由 JSP 動(dòng)態(tài)生成項(xiàng)目上下文路徑標(biāo)準(zhǔn)寫法是%request.getContextPath()%/css/style.css或者用 JSTL 的c:url標(biāo)簽生成。普通做法是每次部署換機(jī)器都用 IDEA 重新配置一個(gè) Tomcat這個(gè)操作本身不復(fù)雜但你要留神別在 web.xml 里寫死了context-root否則路徑永遠(yuǎn)對(duì)不上。直接改 JSP 里的路徑引用是最省事的方式項(xiàng)目換名字也不怕因?yàn)?request.getContextPath() 拿到的就是當(dāng)前部署真實(shí)名稱。6. 把演示做到能直接答辯的程度打包部署與驗(yàn)收自查清單項(xiàng)目跑通只是第一步想讓它在答辯現(xiàn)場不出丑還得提前演練。建議把打包部署到 Tomcat 的路徑完整走一遍。用 IDEA 的情況在菜單里點(diǎn) Build → Build Artifacts → 選擇綠色環(huán)保網(wǎng)站的 war 包編譯后輸出到 target 目錄用 eclipse 則是右鍵項(xiàng)目 → Export → WAR file勾選導(dǎo)出源文件和部署描述符輸出到一個(gè)干凈目錄。然后把 war 包復(fù)制到 Tomcat 的 webapps 目錄啟動(dòng) Tomcat 后它會(huì)自動(dòng)解壓部署訪問路徑是http://localhost:8080/GreenWebsite/。這里有個(gè)技巧解壓出來的目錄名就是項(xiàng)目上下文路徑如果你想讓訪問路徑短一點(diǎn)直接把目錄改成 ROOT訪問http://localhost:8080/就能直接進(jìn)首頁。部署到云服務(wù)器是進(jìn)階而且必問的問題。最少操作路徑是一臺(tái)系統(tǒng)為 CentOS 或 Ubuntu 的云主機(jī)遠(yuǎn)程安裝 JDK 8課設(shè)項(xiàng)目一般用 1.8 版本兼容性最好下載 Tomcat 9 的 tar.gz 包并解壓到 /opt/tomcat把 war 包用 scp 傳上去放進(jìn) webapps然后改防火墻規(guī)則確認(rèn) 8080 端口開放。數(shù)據(jù)庫部分要把本地的 sql 文件導(dǎo)入云服務(wù)器上的 MySQL記得把 DBUtil.java 里的 localhost 改成云數(shù)據(jù)庫的內(nèi)網(wǎng)或公網(wǎng)地址。如果公網(wǎng) IP 被防火墻禁了 3306別為省事開全端口改成用 SSH 隧道連數(shù)據(jù)庫。答辯現(xiàn)場最實(shí)用的附件是「驗(yàn)收清單」。出發(fā)前在本地電腦把項(xiàng)目從頭到尾跑一遍照著這個(gè)清單打勾訪客能不能打開首頁并瀏覽環(huán)保資訊點(diǎn)擊資訊詳情能不能看到完整內(nèi)容訪客能不能注冊(cè)新賬號(hào)注冊(cè)后能不能正常登錄并看到自己的登錄狀態(tài)未登錄時(shí)訪問后臺(tái)地址會(huì)不會(huì)被攔回來管理員賬號(hào)能不能登錄后臺(tái)后臺(tái)能不能新增一條環(huán)保資訊并且前臺(tái)刷新后能看到這條新內(nèi)容留言板提交留言后管理員在后臺(tái)能看到退出登錄后再次訪問需要登錄的頁面會(huì)不會(huì)被重定向到登錄頁。這九條全部打勾項(xiàng)目才具備「演示」的基本資格否則答辯現(xiàn)場現(xiàn)場翻車就難看了。我自己的習(xí)慣是每次拿到一個(gè)新的課設(shè)項(xiàng)目落地之后不急著改功能先用「登錄 → 增刪改查 → 權(quán)限攔截 → 編碼轉(zhuǎn)換」的順序把全鏈路跑一遍每跑通一環(huán)記一個(gè)截圖。這些截圖后面排版成演示文稿時(shí)一張圖配一句講解比現(xiàn)場臨場演示穩(wěn)定得多。尤其是「未登錄用戶訪問后臺(tái)被攔截」這種截圖在答辯時(shí)能講三分鐘是一個(gè)白送的加分項(xiàng)。希望這套基于 javaHTML5 的綠色環(huán)保網(wǎng)站能幫到你少走幾個(gè)彎路特別是部署環(huán)節(jié)把上面的巡查落實(shí)了再談改代碼能省下大把時(shí)間。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91色呦哟| 九九在线精点品| 激情综合啪啪| 99久久精| 深爱丁香激情| 97超级碰碰碰久久久| 丁香六月激情蜜桃| 国产性爱一级| 婷婷五月天成人网| 五月婷婷综合在线视频小说| 99九九在线视频| 色99在线观看| 欧美综合丁香网| 超碰操日| 激情综合啪啪| 丁香五月Av| 日韩精品无码AV| 久久九九热视频| 亚洲午夜av| 五月丁香偷拍| 五月丁香六月| 久久久精久人妻| 成人精品网站在线观看| 香蕉婷婷| 影音先锋91| 六月婷婷香蕉| 婷婷五月天丁香激情| 五月天婷婷色色网| 亚洲精品色| 日韩九九视频| 久久综合爱| 99热伊人综合| 少妇性BBB搡BBB爽爽爽视頻| 久9精品视频| 九九人妻福利| 天天干天天曰天天射| 亚洲人人操| 色狠狠色狠狠| 天天日夜夜爽。| 婷婷五月情| 九九无码AV| 激情五月婷婷网| 中文字幕 久久9999| 五月丁香六月欧美综合| 日韩无码专区| 99热99热在线观看| 光棍影院日韩精品| 草榴视频黄色网| 99精品久久| 五月激情网综合| 99自拍视频| 97碰碰草| 亚洲黄色操逼| 色情终和网| 国产亚洲99久久精品| 婷婷五月天堂一本在线| 丁香五月大片| WWW.桔色成人.COM入口| 66精品成人免费网站在线观看| 99 热国产在| 五月天激情综合在线| 91亚洲免费片| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 九九自拍网| 日本欧美成人片AAAA| 在线成人网站| 99re在线观看| 成人中文网| 日日色综合| 九九 激情 网| 丁香激情网| 成人 在线 日韩| 激情色色| 任你爽视频| 久久艹99| 国产亚洲精品AAAAAAA片| 亭亭玉月丁香| 婷婷中文无码| 五月婷婷综合网| 99视频久久| 丁香五月婷婷啪啪| 狠狠狠狠狠狠草| 中文字幕不卡视频| WWW夜夜| 九热...av| 久久精品五月| 97人人操人人干| 超碰在线人人| 狠狠狠人妻| 丁香色啪综合| 五月婷婷丁香综合| 一点色成人网| 激情超碰网| 五月丁香啪啪综合网| 婷婷放心五日爱| 激情纯色婷婷五月天在线不卡视频| 丁香婷婷色五月天| 天天爽天天干| 九九色影视| 色插综合网| 婷婷五月天在线视频网站| 五月天伊人综合| 五月天精品综合| 久久99激情丁香婷婷小说网| www.99色| 婷婷综合97| 久久久久久久97| 五月天堂婷婷| www.minyis.com【JT】实力收量可预付QQ2101460746 | 婷婷色网站| 五月天色图| 久久亭亭电影| 五月婷AV| 国产乱妇无乱码大黄AA片| 亚洲色五月婷婷| 国产精品成人网站| 999热成人在线综合网| 丁香九九九九| 99人人干人人| 激情综合激情综合| 青青久久大香蕉| 手机在线日韩视频中文字幕| www.婷婷五月| 青青草视频免费观看| 91碰免费视频| 79色色免费| 日本婷婷| 五月丁香久久综合色| 男女久久婷婷五月天| 九九成人视频| 国产色色网址网站| 六月撸婷婷| 久久婷五月| 色99日韩| 久久久99久久| 日韩成人精品中文字幕| 夜夜 操无码| 激情色情五月天| 婷婷五月色| 日本3级片一区2区| 丁香婷婷五月激情四射网| 五月天婷婷色在线视频免费观看| 99热久| 狠狠草网| 91九色在线| 天天干,天天操,天天射| 五月丁香无码| 天天噜日日噜综合无码| 天天色天天日天天舔| 成人AV播放| AV美美午夜| 26uuu最新地址| 91夫妻网站九色| 丁香五月自拍| 综合网激情| 中文字幕在线播放视频| 日本欧美成人片AAAA| 九九热这里只有精品5| 日本在线视频www色| 9精品在线| 婷婷丁香五月综合| 99小视频在线| 亚洲激情四射色| 五月天激情社区| 丁香五月婷婷综合激情哟哟哟| 六月婷婷狠狠做| 无码激情AAAAA片-区区| 99综合色| 综合色播| 亚洲天堂色色| 日本欧美国产| 2016日日夜夜操| yellow视频在线观看91| 91狠狠色色丁香婷婷综合久久| 日日噜噜夜夜狠狠久久丁香五月| 久久婷婷视频| 九九操屄| 美女精品一级不卡视频| 欧美色播综合在线观看| 少妇高潮呻吟A片免费看软件| 九九久久五月天综合伊人| 久99久视频精品| 思思久久精品| 丁香五月图片| 中文字幕无线久必| 六月婷婷啪啪| 丁香婷婷五月六月天| 99热有精品在线观看| 久久婷婷五月天蜜桃| 丁香五月五月婷婷欧美大香蕉| 99爱这里只有精品| 大香蕉五月| 欧美激情综合| 青草少妇激情| 欧美韩日AAA网站| 在线亚洲综合网| 久久伦乱| 婷婷丁香在线播放| 99热这里只有精品亚洲| 久久婷视频| 天天狠天天叉| 亚洲激情综合| 亚洲小视频| 中文字幕精品在线观看| 1024成人免费看| 色色吧综合| 九九热视频免费观看| 超碰亚洲欧美| 色色激情| 老司机日日夜夜青草| 激情五月五月五月婷婷| 超碰99在线| 色五月美女| 久久久婷婷婷| 精品久久这里热66| 99热日韩| 婷婷丁香五月欧美人| 成人版视频在线观看| 亚洲精品久久久久久久久久吃药| 免费婷婷| 99亚洲视频| 久久在线人妻| 婷婷五月丁香综合激情小说| 久久婷婷青草五月天| 超碰免费人人肏| 人人干人人看| 日本欧美成人片AAAA| jiZZdr| 日韩黄黄| 婷婷午夜丁香| 五月天婷婷爱| 久99久视频精品| 色色A| 九九色播五月丁香| 色婷婷亚洲五月天| 天天天综合网| 色婷婷AV久久久久久久| 97色色色视屏| 色五月久久成人婷婷| 五月天堂婷婷| 性生活视频98791| 91干网| 99精品免费视频| 亚洲热视频| 亚洲中文乱字字幕线在永久| www久热com| 热99热| www.超碰| 天天爽天天弄| 久久五月天激情视频| 華人性愛AV在線| www.91久久| 大香蕉Av在线| 九热免费视频| 99惹在线精品免费观看| 婷婷五月香蕉| 激情五月天啪啪视频| 五月天色色色| 精品久久人妻热| 精热在线综合网| 丁香五月激情六月欧亚激情综合导航| 婷婷五月天受日本法律保护| 丁香五月婷婷无码AV| 丁香五月天导航| AV色五月婷婷| 玖玖色综合| 久久曰曰| 婷婷五月俺要去| peg 2区三区四区的| 婷婷五月天伊人在线| 九九这里有精品视频| 激情综合网五月天天| 激情5月婷婷狠狠干| 天天摸,天天爽| 欧美综合激情五月丁香| A网在线欧洲| 五月网在线| 吉澤明步Av一區二區| 来吧亚洲综合网| 97操碰在线视频| 91九色国产在线| www.婷婷五月| 99热每日| 久久婷婷综合基地| 五月丁激情| 天天爽天天摸| 人人摸人人搞| 任你爽在线视频| 亚洲成片在线观看| 新99思思视频| 伊人综合网站| 色婷婷五月天天天天天天天天天| 久久色五月天综合网| 四色99久久| 强伦轩人妻一区二区电影| 91婷婷| site:pnnrt.com| 99精品视频在线观看| 99人人干人人操| 久久免费操| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 狠狠婷婷日韩| 久热久色| 久狠狠狠| 风流少妇A片一区二区蜜桃 | 久/久精品99看9| 色五月婷婷在线观看第一页舔| 精品影院| 三级三久久线久久99久目本WW| 色五月婷婷激情五月| 天天干天天干天天干天天干天天干天天| www.成人婷婷综合| 狼人久草| 久青草大香蕉| 99热骚货| 天天做天天爱天天高潮| 亚洲啪啪视频| 狠狠干狠狠干| 五月丁香六月婷婷激情四射| 五月婷婷影视| 99热18| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 五月婷婷六月奇米网丁香| 操逼巨乳91| 日韩成人中文| 色综合色欲综合天天免费| 激情综合激情综合| 九九精品少妇| 天天色激情| www.激情| 激情五月图| 五月丁香啪| 丁香婷婷欧美综合| 人妻videos人妻高清| 久激情网| www色婷婷| 亚州操人在线视频| 五月婷婷精品视频| 久久婷婷综合五月趴| 精品一二三区久久AAA片| 成人网站在线观看视频| 91操熟女| 97超碰综合| www.激情五月| 激情图片久久| 97视频.干com| 啊v视频在线观看| 色色无码| 99自拍视频网站| 国产午夜精品一区二区| 九九热大香蕉| 亚洲国产成人在线| 色五月综合激情| 91久久综合亚洲鲁鲁五月天| 欧美综合五月丁香六月婷| 六月丁香激情综合网| 99无码精品| 六月丁香激情| 久久久999精品| 色五月婷婷91| 亚洲激情婷婷| 婷婷五月丁香欧洲| 婷婷五月色激情欧美激情| 久久久五月天婷婷成人网| 五月丁香六月婷婷婷婷| 精品视频网| www激情五月天| 五月婷婷黄色网址| 狠狠做深爱婷婷久久综合一区| 日日操夜夜操中国无码| 久久婷婷丁香六月天| 666555。COm毛片| 五月丁香六月婷婷综合伊人| 亚洲成人精品三区| yellow视频在线观看91| 色狠狠五月天| 天天狠狠综合精区| 日本久久人| 丁香五月激情啪| 丝袜人妻| 五月天婷婷伊人| 九色亚洲| 久久婷婷色综合| 性色播| 中文字幕人成乱码在线观看| 天天日,天天干,天天操| 二色AV| 丰满少妇乱A片无码| 色区域网站视频| 综合网狠狠| 亚洲综合在线视频| 五月丁香婷婷综合网色欲| 黄色aa观看aaguochan| 天堂中文国产| 开心五月色婷| 久久五月激情| 思思久久久婷婷| 99热这里是精品| 天天色图| 996黄色片| 91丨九色丨国产打屁股| 久热精品视频| 99在线精品视频观看免费下载| 国产成人AV| 色欲一区二区三区精品A片| 国产免费一区二区在线A片视频| 色色色色欧美| 噜噜在线| 色五月色图| site:jszngf.com| 中文字幕综合色| 婷婷丁香色五月| 九九九色综合| 热久久婷婷| 五月婷婷六月丁香在线| 婷婷五月天国产在线播放| 成人五月天综合网| 婷婷伊人75| 被强行糟蹋的女人A片| 色婷婷www| 亚洲综合网激情五月天| 日本三级韩三级99久久| 99热热热国产超碰| 欧美日韩国产一二区| 91五月天| 99精品在线观看视频| 青青热久久综合| 色99在线看| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 丁香六月啪| 激情网色五月| 狠狠五月婷婷| 农村熟妇高潮精品A片| 玖玖99免费视频| 蜜乳国产网站| 亚洲九九99精品视频在线播放| 久操热| 97超级操操| 尤物一区二区| 99人妻碰碰久久久禁片| 青草视频在线观看视频| 五月综合视频| 色激情五月天| 久久激情网| 91丨九色丨熟女|老版| 夜丁香五月婷婷| 五月综合在线婷婷图片| 综合99在线| 99五月丁香丁| 99开心五月五月丁香激情| 午夜九九九九九九九九九九九九九| 区欧美日韩成人| 九九热123| 青青草国产亚洲精品久久| 五月综合久久| 五月丁香在线观看| 可以免费观看的av| 激情丁香五月| www.99热国产| 丁香六月婷婷缴情欧美| 九九热狼人| 被强行糟蹋的女人A片| 天天狠狠夜夜狠狠2023| 丁香五月性爱| 岛国在线观看91| 曰韩少妇内射免费播放| 999热在线观看视频| 蜜臀综合久草| 久久五月天丁香花| 玖玖婷婷色五月| 另类国产区| AV成人在线播放| 91九色小视频| 五月色综合网欧美网| 五月婷丁香| 丁香五月天激情网址| 噜综合| 99热无码精品| 伊人五月天婷婷| 天天操夜夜爽歪歪| 99精品一二三四视频| 99热在线中文字幕| www.99热| 99久久综合网| 亚洲九九99精品视频在线播放| 久久久婷丁香五月| 成人精品免费在线观看| 亚洲午夜一区二区| 久久黄色网扯| 色五XX| 久久98热re| 久久女婷| WWW色五月| 99人人看| 五月天婷亚洲综合在线嫩草网| 亚洲日韩26uuu| 天天摸天天做天天爱天天爽| 天天日,天天插| 亚洲欧洲中文日韩久久AV乱码| 91伦| 久久99热只有精品| 婷婷五月天激情文学| 久久99婷婷| 天天色情站| 97操男人的天堂| 欧美性爱五月天| 五月丁香久久久| 超碰三级片| 熟妇人妻中文字幕无码老熟妇 | 永久精品| 五月丁香亭亭| 久久久五月五丁香| 岛国av电影网站| 情色五月天网站| 不卡在线视频| 日本99视频| 久久一热| 青青草免费公开视频| 亚洲人妻电影| 欧美亚洲操逼| 激情九月婷婷| 99精品久久久久| 婷婷丁香五月激情图片| 精品五月天| 丁香深五月婷婷| 婷婷五月天成人五月天| 九九99热久久精品66中文字幕| 日本色婷婷| 色婷婷免费视频| 大地资源色婷婷视频在线| 大香蕉伊人久久| 丁香九月色| 婷婷五月中文在线| 久久艹99| 91视频综合网| 99视频只有这里精品| 亚洲综合另类| 五月婷在线观看| 六月丁香社区| 亚洲AV影片在线观看| 久久天天天| 色婷婷综合影院| 伊人香大香蕉视频| www 五月天 com| 可以看的AV| 婷婷五月丁香欧洲| 第五色婷婷| 99国产99| 毛片新网地| 色狠狠五月天| 91碰| 激情婷婷在线中文字幕| 日本爆乳片手机在线播放| 久久综合婷婷激情| 五月丁香婷婷人体| 亚洲A片成人无码久久精品青桔| 香蕉久久国产AV一区二区| 色九月婷婷丁香| 艹色18p| 伊人五月网| 中文字幕无码人妻少妇免费视频 | 性做爰1一7伦| 九九婷婷五月天影视| 婷婷六月天| 狠狠做五月| 丁香五月天堂网| 亚洲啪视频| 久久久五月天| 成人五月天婷婷| 久草热在线视频| 婷婷激情五月吧| 亚洲精品视频在线播放| 丁香五月第九色| 亚州美女| 天天射天天射一道本日本社区 | 色色色婷| 国产VA播放| 五月丁香狠狠爱| 米奇激情婷婷| 精品热青草| 天天精品视频在线观看视频| 红桃91人妻爽人妻爽| 婷婷五月天开心激情网| 99视频网址| 色色色色色色色色五月先| 国产日比| 1024亚洲无码| 色婷婷五月天在线观看| 97久久超碰| 色婷婷丁香五月| 婷婷五月综合在线视频| 888久久久| 五月丁香福利| 天天操夜夜夜拍拍拍| 欧美黄色一级| 久久东京热婷婷五月| 久久九九国产精品怡红院| 99网址在线看| 开心激情站| 99热这里只有精品最新地址获取| 丁香久月| 极品人妻XXXXOOOO| 几激情五月婷婷色五月色天堂| 六月丁香六月婷婷欧美| 丁香六月婷婷| 成年人丁香五月| 伊人99热| 中文字幕av久久爽| 九九热只有精品| 美女主播野战视步页| 丁香五月婷婷欧美成人色图| 涩五月婷婷| 亚洲激情97五月天| 久操婷婷| 九九精品系列| 婷婷丁香18| 99热中国| 丁香六月天婷婷在线| 久久婷婷原创视频| 久热这里| 伊人五月综合网| 激情五月六月婷婷综合啪啪| 色私五月婷婷| 大香蕉久久综合网| 激情九月婷婷| 色噜噜97视频在线观看| 亚洲性色XXXXX| 在线资源av-超碰中文在线-成人AV| 激情四射五月天| 青青草成人网| 五月天五月婷五月激情网| 欧洲不卡视频| AVV黄| 不卡在线中文字幕无| 91viP在线看| 色综合天天天天做夜夜| 国产精自产拍久久久久久蜜| 99操免费视频| 999影院成人在线影院| 丁香五月激情天AV无码| 任你爽精品免费视频6| 婷婷五月天 丁香五月天 裸体| 婷婷五月天精品| 丁香六月婷婷色XXXXX| 五月婷婷就去色| Av九九| 欧美啪啪网| 天天干人人奸97| 91久久久久久| 五月天色五月| 玖玖综合网| 狠狠狠狠狠干| 五月丁香另类图片| 婷婷中文字暮| 亭亭五月天成人| 九热视频这里只有精品| 婷婷亚洲丁香五月| 色人五月婷婷| 日 日干 日日做| 丁香五月天欧洲在线| 99激情在线| 色七七九九| 六月婷婷网| 激情综合在线播放| 久久大香免费| 超碰爱爱爱| 亚洲有码在线视频| 色情婷婷。| 五月天婷婷伊人| 欧美WW在线网| 91久久精品无码一区二区三区| 久久九九re热| 九九色院| AV成人在线播放| 久久九九@| 色色色地址| 99精品一二三四视频| 射琪琪| 精品亚洲国产成AV人片传媒 | http://www.com久久久精品一区| 东京热五月婷婷| 噢美99| 91丁香色五月| av线电影| 九九Av| 亚洲综合久| 婷婷成人视频| 人与禽A片啪啪| 色综合激情图区| 中文婷婷狠狠| 成人永久免费视频在线观看| 99操逼视频| 新久久五月天激情| 深爱五月亚洲| 人人摸人人| 99色热| 成人做爰A片免费看视频| AV网在线| 五月天基地| 日本久久99| 九九热99精品| 天天干,天天日| 久热99| 中文成人在线| 99综合熟女| 99re99热| 天天综合中文| 激情网五月| 天天综合天综合久久网| 久久婷婷国产| 777精品成人a v久久| 99精色| 丁香色五月天| 超碰A V在线| 9999久久久久| 毛片毛片毛片毛片| 99热这里只有精品3| 色色婷婷综合| 五月丁香啪啪激情| 婷婷成人小说综合| 色五月激情| 日比网免费国产| 久久看婷婷| 婷婷亚洲五月丁香综合在线| 丁香五月在线播放| 亚洲精品无AMM毛片| 综合网啪| 99精品爱| 久久婷婷视频| 精品爆操| 丁香六月天婷婷开心综合| 大香蕉中文| Aaa久久| 婷婷综合欧美| www.狠狠操| 秋霞av吧| 99综合色色色| 超碰高清在线| 欧美色97| 久久亚洲色导航| 五月婷婷色五月| 色婷婷亚洲婷婷| 丁香五月激情网| 综合六月激情婷婷| 九九无码| 久操干| 亚艹艹| 欧美成人AAA片一区国产精品 | 99热久久这里只有精品| 五月天激情图片| 九热视频免费观看| 亚洲A片成人无码久久精品青桔| 天堂网色色| wwwwww.色| 538在线精品| 综合五月草| 99九无网码| 激情五月婷婷啪啪| 玖玖资源站蜜臀| 五月天激情美女久久| 亚洲 25P| 丁香婷婷久久 | 夜夜涩涩涩| 99ri视频| 色5月婷婷色| 99这里都是精品| 日本人妻操| 性生活视频98791| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 深爱激清网| 九九精品9| 色五月婷激情| 黄色激情网站在线观看| 婷婷五月天第四色| 丁香综合日产精品久久| 久久成人综合五月天| 熟妇无码乱子成人精品| 蜜臀A∨在线水帘洞| 九九热在线视频观看| 婷香五月| 99亚洲视频| www。狠狠干。com| 色一情一乱一伦一区二区三区| 思思热在线视频观看精品| 91chinese在线| bbwcuckold精品熟妇| 国产激情久久久| 亚洲色爽| 丁香狠狠干| 五月天操逼激情| 婷婷五月天AV激情| 伊久大香蕉| 常久最新免费的色吊丝| 久久九九亚洲| 久久伦乱| AV堂狠狠干| 色色综合网站| 99性感视频| 五月激情婷婷四射| 99色精品| www.婷婷网| 91 欧美| 婷婷五月图片小说网| 久久9RE热视频精品98| 国产免费一区二区三区三州老师F1F1.CC| 9久热在线视频精品| 婷婷久草| 99只有这里是精品| 四季AV综合网| 深爱婷婷网| 丁香五月丁香伊人| 久久艹网| 五月天另类视频| 久热最新视频 | 五月婷婷色播| 激情影院内射| 久热精彩视频98| 六月婷婷视频| 五月婷婷开心爱| 91久久精品视频| 老司机日日夜夜青草| 天天添天天摸天天天天做| 五月婷婷色色网址| 噜噜噜久久| 激情深爱五月| 99热综合在线| 久久综合香蕉国产国产蜜臀AV| 超碰人人超碰| 亚洲十月婷婷综合| 丁香六月婷婷久久高清| 免费无码毛片一区二区A片| 久久综合五月| 婷婷六月婷婷| 婷婷五月丁香花综合| 在线观看国产高清视频免费网站| 婷婷丁香五月色| 99热99日…..| 亚洲无码成人网| 日产精品久久久久久久蜜臀| 综合婷婷都市激情| 亚洲丁香五月美女| 狠狠久久婷五月| 五月婷婷 婷婷五月 一区二区 久久久 | 操B无码视频国语| 91超级碰在线视频| 亚洲久久婷婷| 婷婷天堂综合| 丁香五月婷婷激情中文| 亚洲精品字幕在线观看| 午夜丁香综合婷婷| 操一操| 综合久久婷婷五月丁香| 天天色99| 9热在线| www激情| 91九色国产在线| 日日爽日日爽| 色五月婷婷视频| 综合狠狠伊人| 99精品在线观看视频| 五月天操逼激情| 婷婷久久五月天| 五月天婷婷av| 另类小说五月天| 午夜婷婷六月天| 五月丁香成人| 五月天综合缴情网网站0| 久久综合丁香| 97色啪| 四川操逼站| 日韩在线视频9色| 九月婷婷综合| 色欲天天综合网| 中文AV在线观看| 桔色成人在线| 丁香五月天啪啪激情综和网| 第四色婷婷最爱| 美女天天久久| 婷婷成人网五月天| 久久婷婷六月综合| 五月丁香婷婷综合网| 婷婷情色五月天| 黑人无码一区| 色五月大| 91精品无码久久久久久五月天| 丁香97综合| 超级碰碰碰久久网站视频| 久久婷婷六月综合国际| 人人人操 超碰| 在线18av | 精品影院| 一级AV片| 丁香五月天91| 性爱五月婷| 色97啪啪| 爆乳熟女一区二区三区爆乳| 婷婷五月天毛片| 99人妻碰碰碰久久久久| 五月婷婷六月综合| 成人毛片在线免费观看| 色婷婷久久综| 激情六月丁香| 开心五月六月婷婷| 婷婷五月天视| 亚洲 无码 中文字幕 中出| 99热这里只是精品| 亚洲视频伍月婷婷| 四月婷婷五月丁香| 久久WW| 丁香婷婷网| 99热精在线九九久久保| 久久丁香五月综合六月激情红杏视频| 狠色狠色狠狠色综合网| 天天天天天色| 激情五月狠狠| 久久在线大香蕉| 操97| 欧美大片免费播放器| 五月婷婷香蕉| 色婷av| 激情综合久久| 婷婷丁香五月久久| 丁香五月激情啪啪| 婷婷激情九月| 天天干一干| 成人五月天。COM| 密乳Va| 亚洲精品网站色视频| 另类国产综合| 99热97| 99爱视频在线| 91黄色五月天视频| 五月丁香激| 激情播丁香| 日韩无码色色| 五月丁香啪| 激情四射亚洲| 成人一级片| 丁香婷婷六月天| 人人摸人人搞| 五月亭亭开心网| 天堂久久丁香| 成人一级片| 色婷婷五月综合在线| 色在线99| 久久97久久99久久综合欧美| 国产成人AV在线播放| 翔田千里aV中文字幕| 丁香五月成人av| 丁香五月欧美| 色很久综合| 99色最新在线视频| 五月天婷婷综合免费| 亚洲九九视频| 性爱网六月丁香| 玖玖伦理电影| 激情 婷婷| 操操操B| 久久综合爱| 五月丁香六月婷婷视频| 狠狠色狠狠操| 狠狠综合区| 亚洲五月婷天天操| 色婷婷A| 五月丁香六月停停停| 婷婷丁香五月综合| www.五月天婷婷| 精品影院| 九玖视频这里只有精品| 激情第四色| 99久久综合狠狠综合久久| 婷婷五月天在线看| 九九99香蕉在线视频播放| 久久人妻少妇嫩草AV| 久热欧美| 99热在这里只有精品| 超pen个人视频97| 亚洲中文字幕AV| 五月天.com| 91人久| 五月婷婷综合热| 五月 成人 婷婷| 欧美三级视频| 精品无码人妻一区| 丁香五月电影| 大天天伊人| 激情小说视频图片网| WWW.国产| 華人性愛AV在線| 色综合久久久久| 亚洲婷婷欧美婷婷| 99热亚州综合| 99精品在线下载| 成人国产欧美大片一区| 激情五月天婷婷图| 九九久久99精品免费观看www| 婷婷国产五月天17c| 99视频热| 丁香五月亚洲综合| 丁香六月视频免费观看| 蜜乳av一级av| 天天综合天天玩夜夜玩天天玩夜夜玩 | 九热视频这里只有精品| 激情五月综合| 日本激情ⅩXX免费视频| 激情欧美五月丁香| 丁香九月久久| 婷婷久久五月| 天天射美女| 东京热免费视频| 超碰免费成人| 噜噜噜狠狠色综合| 日韩色色网| www色婷婷| 色综久久AV| 九九无码| 99热99这里有免费的精品| 久热一区| 五月之婷婷| 性爱五月婷| 天天操综合网| 婷婷久久99| 色色99| 六月色日韩| 欧美顶级少妇做爰HD| 久久网思思| 热99热久| 婷婷婷久久久| 噜噜噜噜噜在线| 国产av天堂| 丁香婷婷六月激情综合| 97久久精品视频| 丁香五月六月| 色色色干| 五月天婷婷色| 五月激情五月婷婷五月天在线| 大香人妻| 婷婷性爱影院| 欧美激情 日韩无码 婷婷 五月天| 极品少妇XXXX精品少妇偷拍| 婷婷亚洲在线| 婷婷五月中文字幕| 九九热只有精品| 亚洲综合五月天综合| 肏日网在线看| Av大香蕉| 啪啪啪五月天| 超碰9在| 99视频只有精品| 婷婷深爱五月丁香网| jiuse91在线| 久久久中文| www.日韩艹| 色99无码| www.99色| 色婷婷色五月天| 日韩成人AV在线| 99燥99日| 五月天婷婷伊人| 丁香狠狠| 久久精品噜噜噜成人A∨色欲| 激情九月婷婷| www.五月天。com| 色婷婷综合成人| 国产精品人成A片一区二区| 婷婷五月天欧美| 婷婷五月69| 超碰成人在线免费观看| 99色免费观看全部| 99热在线免费| 综合五月草| 99热在线爱| 亚洲1区| 俺去也综合| 色色色在线免费视频| 99热国产婷婷| 亚洲亚洲人成综合网络| 九九自拍网| 五月天婷婷视频30| 激情五月婷婷丁香六月| 婷婷五月激情综合网| 大香蕉啪啪啪| 开心激情综合| 99热这里精| 色五月综合网| 六月丁香天堂| 伊人高清无码| 丁香五月天婷婷激情| 五月天播播中文字幕| 五月的丁香六月的婷婷| 婷婷五月天激情网| 亚洲免费视频网站| 国产看真人毛片爱做A片| 9热视频在线观看| 天天操夜夜爽歪歪| 美女要搞搞天天搞搞搞网站| 久久多色| 玖玖爱导航| 色涩视频久久| 亚洲亚洲人成综合网络| 9色在线| 中文成人在线| 五月婷婷影| 色小说五月婷婷| 婷婷第六色| 中文字幕不卡+婷婷五月| 在线日韩av| 97一区二区| 国产精品扒开腿做爽爽爽A片唱戏| 丁香大香蕉| 欧美啪啪9| 天天爽天天操| 五月色色激情网| 日本不卡五月婷婷丁香| 婷婷天天插天天爱| 欧美成性色| 丁香5月激情网| 丁香花五月天激情| 超碰在线免费9| 色婷婷91| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 91网站黄| 色吊丝永久访问网址| 丁香五月黄色| 成人丁香五月婷| 99热一本| 日本少妇AA一级特黄大片| 九九在线91| 久久九九思思| 一级内射毛片| 丁香色色五月| 久久久久视剧HD| 另类图片五月天婷婷| 91N 一起草| 一区二区三区四区牛| 六月色婷婷综合影视| 色综合av超碰| 综合激情肏逼网| 超碰在线9| 久久精典| 激情五月天噢美| 日日干综合| 欧美va| 人人噜天天上| 精品丁香五月天在线播放| 日韩在线观看亚洲| 色欲天天综合| 色婷五月天| 嫩草AV久久伊人妇女超级A| 99精品偷自拍| #NAME?| 九色激情网| 婷婷伊人网| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 久久精品A片777777| 99年操人人爽| 欧美婷婷综合| 中文字幕97超级碰| 99在线精品观看99| 色婷婷婷婷成人网| 丁香五月天激情网| 丁香五月欧美午夜视频| 9色在线| 国产精品18久久久| 大大香蕉综合在线| 九九这里是免费的视频5| 国产精品久久久99视频| 秋霞电影理论| 色五月丁香婷婷| 亚洲五月婷| 国产精品久久久久久久久久| 五月天社区婷婷| 国产视频福利| 九九视频这里只有精品在线播放 | 最近韩国日本免费高清观看| 99热在线极品极品| 亚洲无码11| 天天草天天爱| 激情综合网五月激情网| 久久久婷| 天天日日| 九九激情网| 99热只有精| 91狠狠色| 免费黄网不卡AV| 国产婷婷综合在线免费视频| 狠狠色五月激情| 丁香六月情| 97香蕉碰碰人妻国产欧美| 五月天激情亚洲| 色婷婷影院| 五月婷婷综合久久| 九九热99热| 五月丁香狠狠爱婷婷综合| 大香蕉久| 日本激情综合| 99色色网| 丁香激情五月少妇| 色激情综合狠狠婷婷| 六月婷婷开心| 亚洲日韩一页精品发布| 超碰免费人人肏| 97丁香五月| 国产成人精品一区二三区熟女在线| WWW久久99久久99久久| 99啪啪| 丁香五月天网友自拍啪啪啪视频| 丁香六月五月天| 五月婷婷国产| 亚洲AAAA网| 五月天综合视频| av最新在线| 综合五月天婷婷色| 五月丁香影视| 狠狠99| 激情网综合| 亚洲精品视频在线| 亚洲小电影在线观看黄999| 亚洲综合婷婷六月丁香五月| 久久九九免费视频| 狠狠干在线| a久久免费视频| 成人国产欧美大片一区| 亚洲综合99| 六月份天丁香婷婷| 任我干视频在线观看| 久久AAAA片一区二区| 在线婷婷| 99久久视频| 直接看的AV| 九月丁香网婷婷| 五月丁香综合网色欲| 另类专区在线观看| 91九色欧美| 婷婷五月天亚洲| 久久91久久精品久久| 深爱婷婷色| 婷婷性爱| 色八月婷婷| 五月天伊人网| 少妇高潮一区二区三区99欧美| 亚洲人人操| 人人妻人人澡人人爽| 丁香五月六月婷婷殴美综合| 青青草大香| 五月丁香六月激情综合在线| 国产毛多水多女人A片| www.av视频xx999.com| 夜夜操天天干| 五月激情视频| 中文字幕在线不卡| 色呦呦美女| 九九热视频在线观看| 怡红院91a√| 婷婷十月激情综合网| 丁香av网| 激情五月六月婷婷| 97性高潮久久久| 五月天综合影院| 丁香花五月天婷婷成人社区| 色婷綜合网| 成人国产欧美大片一区| 婷婷丁香五月天小说| 婷婷丁香成人色综合| 极品五月天| 色色色1网址|