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

ARTICLE DETAIL

資訊詳情

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

基于JavaWeb的在線學(xué)習(xí)系統(tǒng)畢設(shè):源碼+數(shù)據(jù)庫(kù)+部署全攻略

基于JavaWeb的在線學(xué)習(xí)系統(tǒng)畢設(shè):源碼+數(shù)據(jù)庫(kù)+部署全攻略 簡(jiǎn)介本資源是一套完整的基于JavaWeb的在線學(xué)習(xí)系統(tǒng)畢設(shè)項(xiàng)目面向計(jì)算機(jī)專業(yè)本科生及Java初學(xué)者解決畢業(yè)設(shè)計(jì)選題難、實(shí)戰(zhàn)項(xiàng)目經(jīng)驗(yàn)不足等實(shí)際問題適用于在線課堂學(xué)習(xí)網(wǎng)站、網(wǎng)上學(xué)習(xí)平臺(tái)等典型教育信息化場(chǎng)景。壓縮包共3個(gè)文件含可直接運(yùn)行的項(xiàng)目源碼ZIP、MySQL數(shù)據(jù)庫(kù)建表與初始化腳本SQL、詳細(xì)部署與功能說明文檔TXT整體大小23.22MB結(jié)構(gòu)清晰、開箱即用。已有6371人學(xué)習(xí)下載驗(yàn)證了其高實(shí)用性與廣泛認(rèn)可度。讀者可獲得經(jīng)嚴(yán)格調(diào)試的B/S架構(gòu)完整系統(tǒng)涵蓋管理員、教師、學(xué)生三角色權(quán)限體系支持專業(yè)/班級(jí)管理、在線自測(cè)、教學(xué)視頻發(fā)布、作業(yè)分發(fā)與下載、公告與留言交互、資料庫(kù)維護(hù)等核心功能模塊配套說明文檔覆蓋環(huán)境配置JDKEclipseTomcat、數(shù)據(jù)庫(kù)導(dǎo)入及常見啟動(dòng)問題排錯(cuò)指引大幅降低部署門檻。1. 項(xiàng)目概述與設(shè)計(jì)思路1.1 為什么選 JavaWeb 做在線學(xué)習(xí)系統(tǒng)在做畢設(shè)選題的時(shí)候很多同學(xué)會(huì)糾結(jié)一個(gè)問題到底是選 Spring Boot 這類主流框架還是老老實(shí)實(shí)用 JavaWeb 的傳統(tǒng)技術(shù)棧。如果你現(xiàn)在正在看這個(gè)標(biāo)題的項(xiàng)目那么恭喜你這條路走對(duì)了。真正的 JavaWeb 項(xiàng)目指的是基于Servlet JSP JDBC MySQL Tomcat這套經(jīng)典組合開發(fā)出的 Web 應(yīng)用不依賴 Spring、SpringMVC、MyBatis 這些框架。很多學(xué)校的畢業(yè)設(shè)計(jì)大綱里明確要求學(xué)生掌握 JavaWeb 基礎(chǔ)知識(shí)甚至部分學(xué)校直接規(guī)定必須使用 JSP Servlet 完成項(xiàng)目禁止使用 Spring Boot。即便學(xué)校沒有硬性規(guī)定我也建議你在畢業(yè)設(shè)計(jì)階段至少完整地做一次傳統(tǒng) JavaWeb 項(xiàng)目。原因很簡(jiǎn)單框架會(huì)幫你屏蔽底層細(xì)節(jié)但畢設(shè)和面試考察的恰恰是你對(duì)底層原理的掌握程度。從標(biāo)題基于JavaWeb的在線學(xué)習(xí)系統(tǒng)【項(xiàng)目源碼數(shù)據(jù)庫(kù)腳本】(畢設(shè))可以看到這份項(xiàng)目的交付物包含了兩塊內(nèi)容完整的項(xiàng)目源碼和數(shù)據(jù)庫(kù)腳本。前者解決了核心業(yè)務(wù)代碼從哪來的問題后者解決了數(shù)據(jù)庫(kù)結(jié)構(gòu)怎么建的問題。這兩個(gè)東西恰好是畢設(shè)項(xiàng)目最容易卡殼的兩關(guān)——很多同學(xué)代碼寫到一半發(fā)現(xiàn)表結(jié)構(gòu)設(shè)計(jì)不合理或者數(shù)據(jù)庫(kù)腳本導(dǎo)不出來導(dǎo)致項(xiàng)目無法在答辯電腦上演示。在功能上這一套在線學(xué)習(xí)系統(tǒng)覆蓋了最常見的業(yè)務(wù)場(chǎng)景學(xué)生注冊(cè)登錄、課程瀏覽、課程詳情查看、在線學(xué)習(xí)進(jìn)度記錄、作業(yè)提交與批改、后臺(tái)管理員對(duì)課程和用戶的管理??梢哉f這正是高校JavaWeb課程設(shè)計(jì)里最典型的標(biāo)準(zhǔn)答案。1.2 系統(tǒng)模塊劃分與功能清單先來梳理幾大核心模塊方便你后續(xù)展開功能設(shè)計(jì)文檔和開題報(bào)告。從角色維度來看系統(tǒng)分兩種用戶身份學(xué)生端注冊(cè)、登錄、查看課程列表、查看課程詳情、報(bào)名課程、觀看視頻/閱讀課件、記錄學(xué)習(xí)進(jìn)度、提交作業(yè)、查看成績(jī)。管理端管理員登錄、學(xué)生信息管理、教師信息管理、課程分類管理、課程信息發(fā)布與上下架、作業(yè)批改與成績(jī)發(fā)布。從功能維度來看系統(tǒng)可以拆分成五大模塊模塊名稱核心功能用戶模塊注冊(cè)、登錄、退出、密碼修改、個(gè)人信息管理課程模塊課程分類瀏覽、課程列表分頁、課程詳情展示、課件上傳與下載在線學(xué)習(xí)模塊課程報(bào)名、學(xué)習(xí)進(jìn)度記錄、視頻課程頁面展示作業(yè)模塊作業(yè)發(fā)布、作業(yè)提交、作業(yè)批改、成績(jī)查看后臺(tái)管理模塊用戶管理、課程管理、作業(yè)管理、系統(tǒng)數(shù)據(jù)統(tǒng)計(jì)之所以把模塊劃分得這么清楚一是為了讓數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì)有據(jù)可依二是因?yàn)閷懏厴I(yè)論文時(shí)系統(tǒng)設(shè)計(jì)章節(jié)必須要有模塊圖。我建議你拿到項(xiàng)目后先對(duì)照這個(gè)功能清單跑一遍系統(tǒng)確認(rèn)每個(gè)功能都是可用的然后照著這個(gè)清單去畫用例圖和模塊圖工作量會(huì)小很多。2. 數(shù)據(jù)庫(kù)設(shè)計(jì)與腳本實(shí)現(xiàn)2.1 核心表結(jié)構(gòu)設(shè)計(jì)詳解數(shù)據(jù)庫(kù)是整個(gè)在線學(xué)習(xí)系統(tǒng)的地基。表關(guān)系設(shè)計(jì)得是否合理直接決定后面寫 SQL 和業(yè)務(wù)代碼的時(shí)候是順手還是想罵人。這一套系統(tǒng)的數(shù)據(jù)庫(kù)腳本我建議你重點(diǎn)分析下面這幾張表的關(guān)聯(lián)關(guān)系用戶表t_user這是整個(gè)系統(tǒng)最基本也是最核心的表同時(shí)支撐學(xué)生和管理員兩種角色。常見的設(shè)計(jì)是加入一個(gè) role 字段值為 1 表示學(xué)生2 表示管理員而不是把學(xué)生和管理員分兩張表存——原因很簡(jiǎn)單兩種角色登錄時(shí)需要校驗(yàn)的信息高度重合分開只會(huì)增加代碼復(fù)雜度。CREATE TABLE t_user ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL UNIQUE, password VARCHAR(100) NOT NULL, real_name VARCHAR(50), role INT DEFAULT 1 COMMENT 1-學(xué)生 2-管理員, phone VARCHAR(20), email VARCHAR(50), create_time DATETIME DEFAULT CURRENT_TIMESTAMP );這里有一個(gè)在畢設(shè)答辯時(shí)容易被問到的問題密碼是否需要加密存儲(chǔ)穩(wěn)妥的做法是使用 MD5 加密后再入庫(kù)雖然 MD5 現(xiàn)在已經(jīng)被認(rèn)為不夠安全但畢業(yè)設(shè)計(jì)里展示的是你對(duì)安全性的認(rèn)知而不是要求你達(dá)到銀行級(jí)別。如果追求更好一點(diǎn)可以用 MD5 Salt 加鹽的方式處理。課程表t_course課程表需要和分類表、發(fā)布課程的教師表如果你擴(kuò)展了教師角色建立外鍵關(guān)聯(lián)。核心字段包括課程名稱、課程封面圖、課程簡(jiǎn)介、所屬分類、發(fā)布狀態(tài)、創(chuàng)建時(shí)間。CREATE TABLE t_course ( id INT PRIMARY KEY AUTO_INCREMENT, course_name VARCHAR(100) NOT NULL, cover VARCHAR(255), category_id INT, teacher_id INT, intro TEXT, status INT DEFAULT 1 COMMENT 1-上架 0-下架, create_time DATETIME DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (category_id) REFERENCES t_category(id), FOREIGN KEY (teacher_id) REFERENCES t_user(id) );課程章節(jié)表和課時(shí)表這里要注意課程內(nèi)容和章節(jié)要分離設(shè)計(jì)。課程是一級(jí)容器課程下面有多個(gè)章節(jié)章節(jié)下面有具體的課時(shí)視頻、文檔這叫三級(jí)目錄結(jié)構(gòu)。如果只建一張表數(shù)據(jù)冗余會(huì)很嚴(yán)重。學(xué)習(xí)記錄表t_study_record這一張表最能體現(xiàn)在線學(xué)習(xí)系統(tǒng)和普通課程展示網(wǎng)站的區(qū)別。它記錄了用戶對(duì)某一課時(shí)的學(xué)習(xí)狀態(tài)包括學(xué)習(xí)進(jìn)度百分比、最后學(xué)習(xí)時(shí)間。做這個(gè)表的時(shí)候可以考慮使用聯(lián)合唯一索引user_id course_id lesson_id來避免重復(fù)記錄。2.2 外鍵約束設(shè)計(jì)與初始化數(shù)據(jù)外鍵關(guān)系是整個(gè)腳本設(shè)計(jì)中需要重點(diǎn)理解的部分。我在最初學(xué)習(xí)的時(shí)候有一段時(shí)間刻意不用外鍵所有表之間都是邏輯關(guān)聯(lián)認(rèn)為這樣查詢更靈活。但在畢業(yè)設(shè)計(jì)這種項(xiàng)目里我強(qiáng)烈建議你使用物理外鍵一分一毫都不要省。原因有三點(diǎn)第一答辯時(shí)老師常常會(huì)檢查你的數(shù)據(jù)庫(kù)設(shè)計(jì)是否符合范式?jīng)]有外鍵的表關(guān)系說不過去。第二物理外鍵能保證數(shù)據(jù)的一致性——比如刪除課程分類時(shí)如果該分類下還有課程系統(tǒng)會(huì)直接報(bào)錯(cuò)而不是留下孤兒數(shù)據(jù)。第三寫數(shù)據(jù)字典文檔時(shí)外鍵關(guān)系是現(xiàn)成的素材你只需要照著畫E-R圖就行。初始化數(shù)據(jù)同樣重要。在數(shù)據(jù)庫(kù)腳本中通常會(huì)預(yù)留一個(gè)管理員賬戶和幾個(gè)測(cè)試學(xué)生賬戶以及一批課程分類和示例課程數(shù)據(jù)。這樣做是為了讓你導(dǎo)入腳本后系統(tǒng)打開就有內(nèi)容可以展示不至于空空如也。拿到項(xiàng)目后強(qiáng)烈建議你先查一下 t_user 表里的默認(rèn)管理員密碼然后用這個(gè)賬號(hào)登錄后臺(tái)。2.3 從 IDEA、Navicat 到命令行三種導(dǎo)入導(dǎo)出數(shù)據(jù)庫(kù)腳本的方式這是本次項(xiàng)目交付里最容易出問題的地方我單獨(dú)拿出來說。方式一IDEA 內(nèi)置數(shù)據(jù)庫(kù)工具導(dǎo)出打開 IDEA 右側(cè)的 Database 面板連接好 MySQL 數(shù)據(jù)庫(kù)后右鍵點(diǎn)擊你要導(dǎo)出的數(shù)據(jù)庫(kù)選擇Export with mysqldump或者SQL Scripts選項(xiàng)。IDEA 會(huì)調(diào)起 mysqldump 命令生成一個(gè) .sql 文件。這里有一個(gè)坑導(dǎo)出時(shí)如果表結(jié)構(gòu)中有中文注釋導(dǎo)出的腳本文件編碼默認(rèn)可能不是 UTF-8輕則注釋亂碼重則整個(gè)腳本都無法導(dǎo)入。建議導(dǎo)出后在 IDEA 右下角確認(rèn)文件編碼是 UTF-8如果不是就手動(dòng)轉(zhuǎn)換一下。方式二Navicat 導(dǎo)入導(dǎo)出Navicat 是最直觀的圖形化工具。右鍵數(shù)據(jù)庫(kù) → 轉(zhuǎn)儲(chǔ) SQL 文件 → 結(jié)構(gòu)和數(shù)據(jù)寫入同一個(gè)文件即可。導(dǎo)入時(shí)同樣右鍵 → 運(yùn)行 SQL 文件。這里要注意Navicat 導(dǎo)出的腳本默認(rèn)帶了 DROP TABLE IF EXISTS 語句導(dǎo)入時(shí)不會(huì)因?yàn)楸碇貜?fù)創(chuàng)建而報(bào)錯(cuò)所以優(yōu)先用這種方式。方式三命令行導(dǎo)入答辯備用方案mysql -u root -p create database online_study default character set utf8; use online_study; source /path/to/online_study.sql;命令行導(dǎo)入方式我建議你一定要學(xué)會(huì)因?yàn)榇疝q現(xiàn)場(chǎng)的電腦未必裝了 Navicat甚至可能沒有 IDEA但很可能會(huì)裝命令行版本的 MySQL。有一點(diǎn)需要特別提醒如果你的 MySQL 是 8.0 及以上版本而項(xiàng)目是基于 MySQL 5.7 或更早版本開發(fā)的導(dǎo)入腳本時(shí)可能會(huì)遇到認(rèn)證插件問題或語法兼容問題。遇到這種情況優(yōu)先檢查項(xiàng)目數(shù)據(jù)庫(kù)驅(qū)動(dòng) JAR 包的版本然后確認(rèn)連接串里是否寫了 UTF-8 編碼參數(shù)。鏈接后面一定要加?useUnicodetruecharacterEncodingutf8useSSLfalse不加的話中文大概率會(huì)亂碼。3. 核心功能代碼實(shí)現(xiàn)與實(shí)操要點(diǎn)3.1 項(xiàng)目目錄結(jié)構(gòu)與前置準(zhǔn)備拿到源碼以后第一步不是急著運(yùn)行而是先把目錄結(jié)構(gòu)搞清楚。一個(gè)標(biāo)準(zhǔn)的 JavaWeb 項(xiàng)目非 Maven 方式長(zhǎng)這樣src ├── com.example.dao // 數(shù)據(jù)訪問層 ├── com.example.entity // 實(shí)體類 ├── com.example.service // 業(yè)務(wù)邏輯層 ├── com.example.servlet // 控制層 ├── com.example.util // 工具類 │ └── JDBCUtil.java └── com.example.filter // 過濾器 web ├── admin // 后臺(tái)頁面 ├── css / js / images // 靜態(tài)資源 ├── index.jsp ├── login.jsp └── WEB-INF ├── web.xml └── lib // 依賴JAR包如果你拿到的項(xiàng)目是 Maven 結(jié)構(gòu)目錄會(huì)多出src/main/java、src/main/resources、src/main/webapp三層本質(zhì)是一樣的只是目錄約定不同。在開始閱讀代碼之前我建議你先打開web/WEB-INF/web.xml文件這里面配置了 Servlet 的映射路徑、過濾器、歡迎頁面等關(guān)鍵信息??炊?web.xml你就知道用戶請(qǐng)求是怎么被分發(fā)到各個(gè) Servlet 的。3.2 登錄鑒權(quán)模塊的實(shí)現(xiàn)思路登錄是 JavaWeb 項(xiàng)目的第一課幾乎每個(gè)在線學(xué)習(xí)系統(tǒng)都會(huì)把登錄功能放在最前面。這個(gè)系統(tǒng)的登錄模塊核心代碼與常規(guī)實(shí)現(xiàn)方式基本一致大致包含三層第一層JSP 頁面提交表單。login.jsp 里的 form 表單通過 POST 方式提交用戶名和密碼到 LoginServlet。第二層Servlet 接收請(qǐng)求并調(diào)用業(yè)務(wù)方法。LoginServlet 在 doPost 方法中獲取請(qǐng)求參數(shù)調(diào)用 UserService 的 login 方法如果校驗(yàn)成功就把當(dāng)前用戶對(duì)象放到 Session 中然后重定向到首頁校驗(yàn)失敗就返回錯(cuò)誤提示。第三層DAO 層查詢數(shù)據(jù)庫(kù)。UserDao 的 findByUsernameAndPassword 方法拼接 SQL 語句通過 PreparedStatement 執(zhí)行查詢。這里要特別強(qiáng)調(diào)一個(gè)點(diǎn)為什么代碼里用的是 PreparedStatement而不是直接拼接字符串這是面試和答辯時(shí)的高頻問題。PreparedStatement 是預(yù)編譯的有兩個(gè)好處一是能防止 SQL 注入攻擊二是在循環(huán)執(zhí)行大量相同結(jié)構(gòu)的 SQL 時(shí)性能更高。用 Statement 直接拼接字符串一旦用戶輸入的內(nèi)容里含有單引號(hào)或 SQL 關(guān)鍵字你的數(shù)據(jù)庫(kù)就可能出大事。項(xiàng)目源碼里如果存在拼接 SQL 的地方建議你自己動(dòng)手改成 PreparedStatement這也是一個(gè)很好的代碼優(yōu)化亮點(diǎn)答辯的時(shí)候可以主動(dòng)提。關(guān)于 Session 和 Cookie 的分工邏輯登錄成功之后用戶狀態(tài)實(shí)際上存在了服務(wù)端的 Session 中瀏覽器端只是保存了一個(gè) JSESSIONID 的 Cookie 用于標(biāo)識(shí)哪個(gè) Session 屬于你。所以當(dāng)你關(guān)閉瀏覽器再打開Session 消失了用戶就掉線了。如果項(xiàng)目里實(shí)現(xiàn)了記住我功能邏輯就是額外在 Cookie 中保存用戶 ID并設(shè)置七天有效時(shí)間下次訪問時(shí)通過過濾器自動(dòng)恢復(fù)登錄狀態(tài)。3.3 過濾器的應(yīng)用如何實(shí)現(xiàn)登錄攔截JavaWeb 里最容易被問到的知識(shí)點(diǎn)之一就是 Filter過濾器。在這個(gè)在線學(xué)習(xí)系統(tǒng)中過濾器主要用于兩件事一個(gè)是統(tǒng)一設(shè)置請(qǐng)求編碼CharacterEncodingFilter另一個(gè)是登錄狀態(tài)攔截LoginFilter。登錄攔截的邏輯很好理解用戶請(qǐng)求一個(gè)需要登錄才能訪問的頁面比如個(gè)人中心、在線學(xué)習(xí)頁面過濾器會(huì)先檢查 Session 中有沒有用戶對(duì)象沒有就跳轉(zhuǎn)到登錄頁。這個(gè)功能如果不用過濾器就得在每個(gè) Servlet 開頭寫一堆重復(fù)的 if 判斷代碼冗余不說還容易漏。我建議你重點(diǎn)研讀源碼里的過濾器因?yàn)檫@東西在面試中屬于必問題。你要能做到說出過濾器在請(qǐng)求鏈路中的執(zhí)行順序知道如何通過 web.xml 里的url-pattern配置攔截范圍還能說出多個(gè)過濾器通過WebFilter注解或filter-mapping配置順序時(shí)的調(diào)用規(guī)則。把這些理解了這一部分基本就沒問題了。3.4 課程學(xué)習(xí)模塊從列表頁到詳情頁的關(guān)鍵代碼邏輯課程模塊是系統(tǒng)的門面功能拆下來其實(shí)是一個(gè)列表 → 詳情的經(jīng)典流程。課程列表頁首頁通過查詢所有上架狀態(tài)的課程用 JSTL 的 c:forEach 標(biāo)簽循環(huán)展示課程卡片。這里要注意分頁的實(shí)現(xiàn)方式傳統(tǒng) JavaWeb 項(xiàng)目里常用 Manual 分頁即通過 LIMIT 關(guān)鍵字裁剪查詢結(jié)果配合 PageBean 封裝當(dāng)前頁碼、總頁數(shù)、總記錄數(shù)等信息。你可以重點(diǎn)看下 PageBean 的源碼查一查各個(gè)字段怎么計(jì)算的因?yàn)楫呍O(shè)答辯時(shí)老師往往喜歡讓空手套白狼地問一句如果你的課程有十萬條全部查詢出來會(huì)有什么問題課程詳情頁點(diǎn)擊某門課程后請(qǐng)求跳轉(zhuǎn)到 CourseDetailServlet攜帶 courseId 參數(shù)Servlet 根據(jù)這個(gè) ID 查詢課程基本信息、章節(jié)信息、課時(shí)信息然后渲染到課程詳情 JSP 頁面上。用戶點(diǎn)擊報(bào)名后系統(tǒng)會(huì)往選課關(guān)系表里插入一條記錄這時(shí)候在線學(xué)習(xí)的進(jìn)度記錄功能才開始生效。在線學(xué)習(xí)進(jìn)度跟蹤學(xué)生每打開一個(gè)課時(shí)前端 JS 會(huì)發(fā)起一個(gè) Ajax 請(qǐng)求把當(dāng)前課時(shí) ID 和用戶 ID 傳到后臺(tái)更新 t_study_record 表里的最后學(xué)習(xí)時(shí)間。刷新頁面時(shí)當(dāng)前課時(shí)之前的所有課時(shí)會(huì)標(biāo)記為已學(xué)完。這個(gè)功能乍一看不復(fù)雜但它把在線學(xué)習(xí)系統(tǒng)和靜態(tài)課程網(wǎng)站區(qū)分開了屬于一個(gè)可以寫進(jìn)論文里的功能亮點(diǎn)。3.5 后臺(tái)管理模塊數(shù)據(jù)如何增刪改查后臺(tái)管理模塊的代碼套路是最固定的就是標(biāo)準(zhǔn)的 CRUD增刪改查四件套。以課程管理為例查詢課程列表 → 調(diào)用 CourseService.findByPage() → CourseDao 執(zhí)行 SELECT 語句并封裝成 List添加課程 → 提交課程信息表單 → CourseServlet 接收請(qǐng)求參數(shù) → CourseDao 執(zhí)行 INSERT修改課程 → 根據(jù) id 查詢?cè)瓟?shù)據(jù)回顯到編輯表單 → 修改后提交 → CourseDao 執(zhí)行 UPDATE刪除課程 → 攜帶 id 請(qǐng)求 DeleteCourseServlet → CourseDao 執(zhí)行 DELETE這套增刪改查邏輯本質(zhì)上是一樣的變量只有表名和字段名。所以我給你一個(gè)建議代碼不用每一行都讀懂但至少要把從 Service 到 DAO 再到 SQL這條鏈路完整梳理一遍同時(shí)在筆記本上畫一遍調(diào)用關(guān)系圖畫完之后你會(huì)發(fā)現(xiàn)自己對(duì)整個(gè)項(xiàng)目的理解完全不一樣了。有一點(diǎn)務(wù)必要注意刪除操作一般都采用邏輯刪除而不是物理刪除。具體來說就是在課程表里加一個(gè) status 字段用戶點(diǎn)擊刪除時(shí)只是把 status 從 1 改為 0這樣后臺(tái)數(shù)據(jù)還在只是前臺(tái)不再展示。這樣做的好處是萬一誤刪了還能恢復(fù)也能保留歷史數(shù)據(jù)。如果源碼里直接執(zhí)行 DELETE建議你改成邏輯刪除然后在論文里專門寫一段數(shù)據(jù)安全設(shè)計(jì)屬于加分項(xiàng)。4. 本地部署運(yùn)行全流程4.1 環(huán)境準(zhǔn)備與版本匹配在動(dòng)手之前把環(huán)境統(tǒng)一一下。我測(cè)試起來最順的版本組合是這樣組件版本建議說明JDK1.8 或 11不建議直接用 JDK 17 以上跑老項(xiàng)目可能出現(xiàn)兼容問題Tomcat8.5 或 9.0與 JDK 8 匹配最穩(wěn)妥MySQL5.7 或 8.0如果用的 8.0注意驅(qū)動(dòng) JAR 要換成 8.xIDEA2021 版之后都可以主要是照顧界面熟悉度以上版本組合如果你自己本地已經(jīng)有別的版本也不必強(qiáng)求一模一樣。但我建議你別用太新的比如 JDK 21 Tomcat 10可能會(huì)有很多莫名其妙的不兼容問題本末倒置。4.2 IDEA 導(dǎo)入項(xiàng)目?jī)煞N方式方式一非 Maven 項(xiàng)目導(dǎo)入File → New → Project from Existing Sources選擇項(xiàng)目根目錄。關(guān)鍵是下一步選擇 Import project from external model 時(shí)選 Eclipse 或直接選 Create project from existing sources因?yàn)楹芏嗬?JavaWeb 項(xiàng)目是用 Eclipse 開發(fā)的IDEA 直接打開可能識(shí)別不了。導(dǎo)入后記得配置 Project Structure把 JDK 設(shè)為 1.8并添加 Tomcat 的依賴庫(kù)。如果發(fā)現(xiàn) JSP 文件里的紅色報(bào)錯(cuò)多半是缺少 Tomcat 庫(kù)的引用在 Project Structure → Libraries 里點(diǎn)擊 → Java選擇本機(jī) Tomcat 安裝目錄下的 lib 文件夾。方式二Maven 項(xiàng)目導(dǎo)入如果是 Maven 項(xiàng)目就簡(jiǎn)單了直接 File → Open選擇 pom.xml 文件。IDEA 會(huì)自動(dòng)下載依賴首次下載可能需要幾分鐘時(shí)間取決于你的網(wǎng)速。導(dǎo)入完成后再在 Edit Configurations 里新增一個(gè) Tomcat Server → Local選好 Tomcat 目錄Deployment 選項(xiàng)卡里點(diǎn) → Artifact → war exploded這一步操作非常容易漏。注意選擇 Artifact 時(shí)選帶:war exploded后綴的那個(gè)不要選:war前者是解壓目錄部署開發(fā)時(shí)免去反復(fù)打包的麻煩。4.3 配置數(shù)據(jù)庫(kù)連接三步搞定打開項(xiàng)目的 JDBC 配置文件通常在 src 目錄下的 jdbc.properties或直接寫在 DBUtil.java 里重點(diǎn)改三個(gè)參數(shù)jdbc.drivercom.mysql.jdbc.Driver jdbc.urljdbc:mysql://localhost:3306/online_study?useUnicodetruecharacterEncodingutf8useSSLfalse jdbc.usernameroot jdbc.password你的數(shù)據(jù)庫(kù)密碼第一行驅(qū)動(dòng)類全名要根據(jù) MySQL 版本調(diào)整MySQL 5.x 用com.mysql.jdbc.DriverMySQL 8.x 用com.mysql.cj.jdbc.Driver。第二行 URL 中online_study是數(shù)據(jù)庫(kù)名要和導(dǎo)入腳本時(shí)創(chuàng)建的庫(kù)名完全一致后面那一長(zhǎng)串參數(shù)務(wù)必保留尤其是 characterEncodingutf8不帶它中文必亂碼。4.4 完整運(yùn)行流程清單首次運(yùn)行建議嚴(yán)格走一遍以下流程避免調(diào)試時(shí)像無頭蒼蠅一樣到處碰壁用 Navicat 或命令行創(chuàng)建數(shù)據(jù)庫(kù)CREATE DATABASE online_study DEFAULT CHARACTER SET utf8;導(dǎo)入在線學(xué)習(xí)系統(tǒng)的 SQL 腳本確認(rèn)表格數(shù)量與數(shù)據(jù)條數(shù)。確認(rèn) MySQL 服務(wù)已啟動(dòng)命令行執(zhí)行netstat -ano | findstr 3306查看端口是否被占用。啟動(dòng) IDEA配置好 Tomcat 后點(diǎn)擊運(yùn)行。瀏覽器訪問http://localhost:8080/項(xiàng)目名/項(xiàng)目名要和你部署的 Context Path 保持一致。用管理員賬戶登錄后臺(tái)驗(yàn)證課程管理、用戶管理等模塊是否正常。這幾步如果都通了你的項(xiàng)目部署就成功了。整個(gè)過程中最見鬼的地方往往是第三步以后所以下面專門開一節(jié)說說常見問題怎么排查。5. 常見問題與排查技巧實(shí)錄5.1 高頻報(bào)錯(cuò)速查表每次在部署 JavaWeb 項(xiàng)目時(shí)總會(huì)有人遇到差不多的問題我把最常見的整理成一張表你直接對(duì)照著查就行報(bào)錯(cuò)信息可能原因解決方案ClassNotFoundException: com.mysql.jdbc.Driver缺 MySQL 驅(qū)動(dòng) JAR把 mysql-connector-java-5.x.jar 放到 web/WEB-INF/lib 下Access denied for user rootlocalhost數(shù)據(jù)庫(kù)密碼錯(cuò)誤檢查 jdbc.properties 中的密碼Can not connect to MySQL ServerMySQL 服務(wù)未啟動(dòng)命令行執(zhí)行 net start mysql或到服務(wù)列表啟動(dòng)Table online_study.t_user doesnt exist沒有導(dǎo)入數(shù)據(jù)庫(kù)腳本執(zhí)行 source 命令導(dǎo)入 SQLThe server time zone value XXX is unrecognizedMySQL 8.0 時(shí)區(qū)問題URL 添加serverTimezoneAsia/ShanghaiHTTP Status 404訪問路徑或部署名不對(duì)檢查 web.xml 的 Servlet 映射和 URL 地址中文亂碼編碼不統(tǒng)一JSP 頁面、數(shù)據(jù)庫(kù)連接串、數(shù)據(jù)庫(kù)字符集全部設(shè)為 UTF-8Port 8080 was already in use端口被占用殺掉占用進(jìn)程或修改 Tomcat 端口5.2 部署過程中最坑的三個(gè)細(xì)節(jié)第一個(gè)坑JAR 包放錯(cuò)位置。很多人把 mysql-connector-java.jar 放到了項(xiàng)目的普通目錄里IDEA 編譯不報(bào)錯(cuò)運(yùn)行就報(bào) ClassNotFoundException。記住傳統(tǒng) JavaWeb 項(xiàng)目里所有第三方 JAR 都要放在web/WEB-INF/lib目錄下這是 Servlet 容器的類加載規(guī)則。如果是 Maven 項(xiàng)目則要確認(rèn) pom.xml 里依賴是scopecompile/scope且沒有 marked as provided 之類的影響。第二個(gè)坑數(shù)據(jù)庫(kù)腳本中的中文注釋導(dǎo)致導(dǎo)入中斷。用命令行 source 導(dǎo)入腳本時(shí)如果腳本文件不是 UTF-8 編碼或者數(shù)據(jù)庫(kù)連接字符集不對(duì)會(huì)出現(xiàn)中文亂碼報(bào)錯(cuò)導(dǎo)入到一半就停掉。解決方式是導(dǎo)入前先執(zhí)行SET NAMES utf8;然后確認(rèn) .sql 文件保存的編碼是 UTF-8用 Notepad 或 VS Code 轉(zhuǎn)換。第三個(gè)坑IDEA 熱部署導(dǎo)致 Session 丟失。開發(fā)中你改了 JSP 文件Tomcat 自動(dòng)重載后之前登錄的 Session 可能會(huì)失效。這不是項(xiàng)目 Bug而是熱部署機(jī)制的問題。建議在 Edit Configurations → Deployment 里把 On frame deactivation 設(shè)為 Update resources而不是 Restart server減少這種困擾。5.3 答辯前必須準(zhǔn)備的問題方向到了答辯環(huán)節(jié)老師大概率會(huì)圍繞這些問題提問提前準(zhǔn)備一下可以避免現(xiàn)場(chǎng)卡殼為什么選擇 Servlet JSP而不用 Spring Boot建議回答畢設(shè)側(cè)重考察 JavaWeb 底層原理Servlet JSP 能更清晰地展示請(qǐng)求處理流程同時(shí)項(xiàng)目采用分層架構(gòu)為后續(xù)遷移到 Spring Boot 保留了擴(kuò)展能力數(shù)據(jù)庫(kù)表之間有哪些關(guān)系需要你熟練說出 t_course 和 t_category、t_user 和 t_study_record 之間的關(guān)系Session 和 Cookie 有什么區(qū)別這是 JavaWeb 必問題要從存儲(chǔ)位置、生命周期、安全性三個(gè)角度回答項(xiàng)目如何防止 SQL 注入答案是使用 PreparedStatement最好能現(xiàn)場(chǎng)指出代碼中的使用位置順便建議不要用 Statement 拼串分頁查詢是怎么實(shí)現(xiàn)的從 SQL 層的 LIMIT 到 PageBean 的封裝全鏈路講清楚如果用戶量增大項(xiàng)目性能如何優(yōu)化可以從數(shù)據(jù)庫(kù)索引、連接池、Redis 緩存、Nginx 靜態(tài)資源分離等角度展開5.4 讓項(xiàng)目從能跑到優(yōu)秀的幾個(gè)改進(jìn)點(diǎn)最后分享幾個(gè)可以讓你在眾多畢設(shè)中稍微出彩一點(diǎn)的小改動(dòng)成本不高但效果拔群。第一個(gè)統(tǒng)一異常處理。在某些老代碼里你可能會(huì)看到 DAO 層的 SQLException 直接向上拋甚至在頁面顯示。你也可以拿舊項(xiàng)目改造一下思路寫一個(gè)全局異常處理 Servlet 或過濾器捕獲未處理異常后跳轉(zhuǎn)到友好的錯(cuò)誤頁面既避免信息泄露又顯得專業(yè)。第二個(gè)使用連接池替換原始的 DriverManager 獲取連接。原始的 JDBCUtil 里面如果每次請(qǐng)求都 DriverManager.getConnection()性能比較慢答辯時(shí)被問性能優(yōu)化會(huì)比較尷尬??梢杂?Druid 或 C3P0 連接池重寫。改動(dòng)量不大只要引入一個(gè) JAR然后在 JDBCUtil 里用 DataSource 獲取連接即可。第三個(gè)引入 AJAX 提升交互體驗(yàn)。比如課程收藏按鈕原本提交表單頁面刷新改成 AJAX 請(qǐng)求局部更新用戶體驗(yàn)立刻就不一樣。這個(gè)改動(dòng)涉及到的知識(shí)點(diǎn)在后端依然是 Servlet前端只是加了一段 JavaScript 而已不復(fù)雜但很加分。第四個(gè)增加簡(jiǎn)單的數(shù)據(jù)統(tǒng)計(jì)圖表。在管理員首頁顯示注冊(cè)用戶數(shù)、課程數(shù)量、學(xué)習(xí)記錄總數(shù)甚至可以用 ECharts 渲染一個(gè)簡(jiǎn)單的柱狀圖。這類可視化內(nèi)容很容易給評(píng)委留下好印象而且實(shí)現(xiàn)成本不高只需要寫一個(gè)統(tǒng)計(jì) SQL 再在 JSP 里引一下 ECharts 的 CDN 即可。我自己帶過的學(xué)生里凡是認(rèn)真把這些點(diǎn)改過一遍的答辯成績(jī)基本都比原樣提交的高一步。原因不是功能本身有多強(qiáng)而是這個(gè)動(dòng)作向評(píng)委傳達(dá)了你真正理解了這個(gè)項(xiàng)目并能動(dòng)手改進(jìn)這比任何包裝都管用?,F(xiàn)在你已經(jīng)拿到了完整的源碼和數(shù)據(jù)庫(kù)腳本接下來的路只有一條打開 IDEA把項(xiàng)目跑起來然后一行一行去看核心代碼再把這些改進(jìn)點(diǎn)動(dòng)手過一遍。等你自己動(dòng)手寫完這些代碼你就不再是下載了一個(gè)畢設(shè)的人而是獨(dú)立完成了一個(gè)在線學(xué)習(xí)系統(tǒng)的人了。這個(gè)轉(zhuǎn)變答辯老師在五分鐘內(nèi)就能看出來。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
夜夜做夜夜愛| 婷婷五月天在线综合导航| 最新日本A片| 五月婷网| 日韩在线成人电影| 久久综合丁香五月| 婷婷五月丁香青青草在线| 亚洲综合视频一下| 国产综合81p| 免费看欧美成人A片无码| WWW.色婷婷.COM| 99噜噜噜| 97色婷婷| 99热只有| 天天爽夜夜爽夜夜爽精| 996re热精品视频| 秋霞AV淫| 六月婷婷国产| 丁香色五月 97干| 激情综合五月激情| 超碰国产av| 丁香五月社区| 丁香五月婷老师| 五月天亚洲色| 色情五月天导航| 色婷婷五月综合网| 五月天婷婷婷| 五月天综合婷婷| 亚洲天堂婷婷| 五月婷婷中字在线| 丁香五月婷婷综合激情啪啪啪| 丁香六月婷婷久久高清| 久久人操| 综合激情网五月激情| 无码AV久久久久久久久| 狠狠五月天激情| 天堂美国久久| 超碰大香蕉网| 久久激情五月天| 国产人人操| 久热A| 丁香婷婷五月天成人| 亚洲六月色婷婷| 婷婷色在线播放| 色噜噜狠狠色综合网| 成人国产综合| 99精彩视频| 欧美激情综合色丁香婷婷五月天| 欧美日韩91| 成人 在线 日韩| 99热这里只有在线播放| 精品无码片| 丁香五月综合AV在线| 人操91在线| 久色资源| 天天色域综合网| 91偷拍视频| 丁香狠狠干| 深爱激情综合网| 婷婷色五月噜噜| 久久精品凹凸分类| 99在线观看| 亚洲精99| 欧美色宗和激情| www.激情五月| 婷婷激情5月| 9人人操人人看| 成人综合网站| 久久综合影院| 日本ww亚洲| 久久婷婷五月综合色和| 草婷婷在线| 激情五月天啪啪| 五月激情久久综合| 欧美99视频| 色噜噜狠狠一区二区三区| 99热最新网址| 五月天丁香综合| 一级黄色尤物综合视频手机在线观看| 色五月五月天| 婷婷成人综合免费视频| 99色婷婷视频| 九九99热精品| 99视频免费播放 | 91精品久久久久久久| 射久久丁香五月| 国产成人综合网| 激情影院69| 天天日日综合| 5月色婷婷| 五月婷婷深深爱| av免费在线观看0| 五月丁香六月激情| 国产无套精品一区二区| 日韩色色视频www| 五月天丁香啪啪综合| 狼人婷婷综合| 午夜激情四射影院| 四色五月婷婷| 国产成人片| 五月丁香婷婷啪啪| 丁香情色五月| 久操婷婷| 79精品视频在线观看,| 五月丁香 久久久| 婷婷五月激情热播| 激情精品久久| 五月天堂婷婷| 99久在线精品99re8热| 超碰人人在线| www.五月天婷婷姐姐| 超碰免费观看| 婷婷五月丁香综合桃花色网| 丁香五月天婷婷91| 玖玖99免费视频| 婷婷五月色情| 九月丁香亭亭| 久久婷婷五月天| 任你爽在线视频| 色色色免费视频| 99热日韩| 五月天丁香网| 九月丁香婷婷| 97天堂| 日韩人妻在线观看| 婷婷五月精品中文字幕| 黄网免费看| 97操碰视频| 91丨九色丨白浆秘| 婷婷伊人五月天| 97天堂| 人妻内射视频| AA片在线观看视频在线播放| 狠狠色噜噜狠狠| 成 久久| 色五月激情基地| 亚洲婷婷丁香五月在线| 久久婷婷五月综合色播| 亚洲视频色婷婷| 丁香欧美| AV操操操| 99re99热| 色五月婷婷自拍| 九色视频91| 超PEN精品在线| 九九草草逼| 婷婷五月综合基地| 久久久久亚洲AV无码网影音先锋| 五月久久网| xx久久| 超碰成人免费| 婷婷五月天视频在线观看| 色婷婷AV久久久久久久| 欧洲亚洲免费视频9| 99精品久久| 九九Av| 99热传媒| 色综合久久44| 天天草天天日| 亚洲乱码在线观看| 婷婷丁香五月色| 婷婷五月天网| 久久92| 欧美婷婷综合| 久久久久97| 久综合九| 人妻肉射免费观看| 亚洲丁香五月在线观看| 4399在线日本A片| 人妻久热| 97在线观视频免费观看| 97sese婷婷| 丁香五月 无码| 久久婷婷草| 97精品自拍视频| 亚洲av无码精品色午夜| 五月亚洲激情| 碰超99| 天堂成人A片永久免费网站| 91chinese在线| 99色综合久久| 久久只有这里精品免费| 九九热最新| 久久女婷| 丁香五月婷婷99| 婷婷色导航| 久久这里只有欧美| a在线观看| 久久99网| 青柠影视免费高清电视剧| 亚洲视频另类| 国产99精品免费视频| www.minyis.com【JT】实力收量可预付QQ2101460746 | 丁香五月成人丝袜| 婷婷涩涩五月天| 激情五月天久久丁香| 就要去操亚洲成人精品五月天丁香婷婷| 五月婷婷手机在线| 成人日韩欧美| 亚洲精品成人| 丁香五月激情网| 六月丁香婷| 精品视频二级九九| 丁六月激情| 婷婷久久丁香五月| 久久丁香网| 激情综合自拍五月婷婷色五月| 亚洲热热视频| 欧美人人草草| 亚洲精品性色| 天天五月天综合网址| 五月婷婷第四色| 五月婷婷视频在线观看| 欧洲色色| www,五月天com| 婷婷六月激情| 91美女啪啪| 欧美激情 日韩无码 婷婷 五月天| 婷婷丁香18| 超碰av在线| 久久久久视剧HD| 亚洲色色在线| 99热伊人| 五月噜噜噜色综合| 五月丁香综合在线| 五月天婷婷av| 五月丁香六月婷婷亚洲综合| 九九综合影音先锋| www.狠狠狠狠| 高清无码网址| 日本www五月婷婷| 色色色色网站| 超级碰91| 天天爽天天日人人爱 | 久久99看免费| 99热这里只有精品5| 新激情婷婷| 99热在这里只有免费精品| 色999五月色| 最新日韩久热免费视频看看| 五月天婷婷在线播放| 久久97久久99久久综合欧美| 五月色色网| 激情六月色| 亚洲av另类在线观看| 激情五月综合ì香亚洲| 99精品视频在线观看| 色情·com| 综合色播| 一夜福利不卡| 无码激情AAAAA片-区区| 91久操| 伊人碰碰碰| 天天综合网~91综合网| 久久婷婷内射| 色区久久| 大香蕉520| 精品无码色| 欧美久热| 综合深爱五月| www亚洲无码| 激情五月丁香六月| 人妻激情视频| 亚洲成人在线免费| 五月综合视频在线| XX色综合| 亚洲欧美999| 香蕉久久国产AV一区二区| 九九Y精品热播| 九九婷婷五月天影视| 色色色综合| 亚洲成人色五月婷婷综合| 这里只有精彩视频| http://www.lingjunshare.com/| 五月激情啪啪啪| 99热欧美偷拍| AV九九| 婷婷五月天成人动漫 | 丁香婷婷五月天色播| 91日韩在线| 丁香5月综合啪啪| 婷婷久久免费看| 情趣视频66| 五月丁香花激情啪啪网| 9|无码久久久久久| 高清激情av在线观看| 91色呦哟| 激情五月天综合图片小说网站| 99热个人在线| 丁香五月在线观看| 色色综合无码| 97亚洲婷婷| 久99久在线| 色婷婷狠狠| 色五月天网| 亭亭丁香97| 色婷婷免费视频| 色色婷婷五月| 国产99久| 色5月婷婷| 日韩三级片一区二区| 香蕉久久av一区二区三区| 淫荡家庭AV| XX色综合| 九九热自拍| 日韩免费乱轮网站| 天天视频精品9| 99精品小视频| 人人操99| 激情五月婷婷伊人| 成人啪啪色婷婷久| www激情| 一区二区三区四区无码| 青青草tp| 五月婷婷丁香日韩在线| 蜜臀av在线成人电影| 香蕉五月婷婷| 久99热| WWW,五月| 激情综合网激情五月丁香五月俺也去| 九九大香视频| 天天爽天天透天天爱| 亚洲碰碰碰| 涩五月婷婷| 久久精品亚洲一级牲爱综合| 蜜桃婷婷五月| 在线观看996精品| 久久精彩视频| 五月婷婷五月天| 色久婷婷网| 久久伦乱| 久色视频| 99网99热| 综合五月激情| 99 r热| www.99热| 啪啪 综合网| 亚洲综合色丁香婷婷六月| 欧美日韩123| 五月婷A V在线| 综合久久97| 丁香婷五月| 伊人色综合影院视频| 玖玖爱伊人网| 婷婷色网| 婷婷五月丁香基地| 五月婷婷丁香大陆免费| 丁香六月色婷婷| 99亚洲综合| 久久最新色| 五月婷婷黄色网址| 四色AVwww| 亚洲综合激情五月天婷婷 | 久久成人天| 色情五月丁香| 精品亚洲国产成AV人片传媒 | 激情色情五月天| 色综合久久久久| 青青操avbb| 九月婷婷激情| www.久操| 91日在线视频| 国产亚洲精品AAAAAAA片 | 六月婷久久| 日本婷婷色| 激情99| 中美日韩成人在线| 91色噜噜狠狠狠狠色综合| 天天视频亚洲| 人人色人人摸人人看| 中日韩狠狠色| 九九色插| 婷婷丁香18| 亚洲精品无码一区二区| 久久丁香五月天| 4399人妻无码久久久| 五月丁香婷婷激情视频| 色综合色综合色综合| 人人爽人人爽人人爽人人爽| 激情五月天开心网丁香无码| 色五月婷婷激情综合网| site:pzdcoin.com| 華人性愛AV在線| 日韩色色视频www| 这里只有精品视频222| 中文字幕丰满人妻无码专区| 《久久综合九色综合97婷婷| 国产成人亚洲综合亚洲| 婷婷丁香综合| 国产精品汇聚精彩第二页 - 高清完整版在线 - 青蛙AV | 日本久久超碰| 日本系列_4页_777FP| 丁香五月天堂网AV| 九月丁香| 亚洲妇女熟BBW| 五月丁香| 丁香8月手机综合| 极品人妻VIDEOSSS人妻| 国产成人综合亚洲| 婷婷丁香18| 丁香六月婷婷姐网| www.99热| 99精品久久久久久久婷婷| 婷婷射丁香| 99色干| 久婷| 国产精品一区在线观看你懂的| 精品夜夜澡人妻无码AV| 久久R激情| 九月婷婷人人操人人舔人人爱| 激情玖玖综合网| 九九精品婷| 亚洲婷婷综合视频| 综合久久97| 日本99视频| 婷婷丁香视频在线观看免费| 色婷婷九月综合| 婷婷五月激情在线视频| 超碰资源在线| 久久女婷| 人人操碰| 日本人妻A片成人免费看片| 午夜婷婷| 99热这里只有精品33| 激情五月婷婷综合色播小说| 天天综合精品| 亚洲中文字幕av| 九九久久99精品免费观看www| 五月天激情图片| 97色色视频| 五月天六月天| 人妻精品久久久久久| 天天草天天摸| 亚洲第一第二网站| www.五月婷婷| 日韩精品成人在线| 狠狠色狠狠干| 天天爽,夜夜爽| 亚洲精品国产成人AV在线| 国产成人+综合亚洲+天堂| 99热久久这里只有精品| 天天干天天插| 99干在线视频| 欧美大道不卡| 99热这| 亚洲最大在线| 超碰在线50| 色婷婷成人做爰A片免费看网站| 婷婷综合性爱网| 青青草网武则天| 色婷婷激情四射视频| 操97| 婷婷丁香五月天狠狠| 久久性爱视频网站| 久久综合激情| 熟女国产在线一区二区三区四区| 五月丁香在线视频观看| 天天摸天天日天天舔| 狠狠色噜噜狠狠| 五月丁香亭亭| a色婷婷| 99色这里| 婷婷五月天影院| 婷婷五月av| 婷婷婷婷色| 色爱综合网| 91精品久久久久久| 国产干逼片| 日本啪啪天堂| 伊人AV五月婷| www.狠狠操| 成人午夜天| 九九色院| 这里只有免费的精品| 婷婷五月色播| 色九九综合色| 五月天婷婷xxx| 丁香五月开心五月激情| 中文字幕 码精品视频网站| 婷婷基地成人五月天| 五月激情丁香五月| www,色婷婷| 六月成人网| 九九这里是免费的视频5| 色五月婷婷啪啪五月| 97人人看| 热久91| 五月婷婷色色色| 六月丁香激情婷婷| 五月婷婷激情综合| 婷婷色在线播放| 婷婷亚洲五月| 伊人婷婷五月天| 91黄色五月天视频| www.99热最新视频8| 超碰97免费在线| 久久婷婷五月天大香蕉| 人人玩人人橾| 99免费在线| 一区二区三区XXXXXX| www.久久五月天.com| 丁香九月激情| 另类亚洲视频| 99精在线| 婷婷综合玖玖五月| 五月丁香在线国产 | 色五月天在线观看| 一级黄在线| 综合亚洲五月天| 夜夜爱伊人| 婷婷综合天堂| 日韩抽插操逼| 色五月丁香五月| 最新av在线观看| 《诡秘之主》在线观看 | 五月丁香狠狠爱婷婷综合| 777久久综合视频| 99啪| 91久久综合亚洲噜噜成人在线| 婷婷天天舔| 色色五月天激情| 性色婷婷| 夜夜躁婷婷AV| 日本一级| 色婷婷97| 男女免费视频999| 婷婷国产成人| 亭亭丁香97| 中文字幕 久久9999| 成人超碰网| tingting五月天亚洲| 婷婷五月天网| 丁香六月色情| 欧美顶级少妇做爰HD| 色五月成人婷婷| 天天色视频| 337p大胆噜噜噜噜噜91Av| 日韩在线视频中文字幕| 人妻性操逼中文字幕 国产| 99热这里只有精品1025| 国产 亚洲 在线| 欧美成人A片AAA片在线播放| 任你艹| 欧美婷婷| 色五月在线| 国产亚洲精品久久久久久郑州| 亚洲性天天| 丁香激情网| 日本www五月婷婷| 少妇2做爰HD韩国电影| 婷婷五月精品在线| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 婷婷九九色| 激情五月天色婷婷| 亚洲AV另类| 激情综合99| 亚洲精品国产setv| 天天草天天爽| 丁香五月婷婷成人网| www,99视频| 五月婷婷啪啪啪啪| 国产综合色婷婷精品久久| www.久久久久| 久久这里在精品视频| A片试看120分钟做受图片| 天天射射夜| 丁香五月瑟瑟| 思思99久久| 免费九九热| 久99| 六月婷婷在线| 久久久久激情| 五月天社区| 婷激情五月| 91人人妻人人操人人爽| 免费国产视频| 婷婷六月开心网| 在线视频九色97| 欧美综合五月丁香五月天| 色色色色色色色色色色色色色五月天| 超碰99在线| 九九熱最新視頻| 五月综合激情啪啪啪啪啪| 五月婷婷69| 亚洲无码成人| 3p九色在线| 思思99热| 午夜精品777| 色色婷婷婷丁香五月天| 亚洲这里只有精品| 久热在线中文字幕色999舞| 婷婷五月情天| 五月综合激情| 丁香激情网| 成人精品99| 噜噜操操| 性做久久久久久久免费看| 天天五月情| 99碰超| 国产精品扒开腿做爽爽爽A片唱戏 亚洲爆乳无码精品AAA片蜜桃 | 超碰免费人人肏| 色婷婷AⅤ| 色无码| 国产精品久久在线观看技巧| 激情五月天色色色| 久热99热| 2w在线视频| 五月天天堂久久| 丁香五月久久| 丁香婷婷五月| 久久这里只有精品07| 涩涩婷婷五月| 婷婷99狠狠躁天天久久久九九九| 99干日本| 五月天激情网开心网| 大香蕉综合在线| 久久人妻人人| 婷婷五月天色网久| 99久热在线精品| 久久六月婷婷| www.婷婷| 日本九九视频| 五月天另类小说| 久久久久久天天日天天爱| 久久婷婷六月综合综合| 久久久中文| 中文不卡一二区| AV在线免费播放| 精品国产乱码久久久久久免费| 色综合区| 五月丁香综合激情网| 99久久国产成人精品| 久re热视频| 婷婷五月丁香亚洲| 久久er99热精品一区二区| 96精品久久久久久久久| 色99热| 久久A热| 五月色在线| 东北熟女高潮99综合99| 日韩欧美不卡| 日韩无码专区| 一本色道久久综合狠狠躁小说| 婷婷五月天天天| 九九视频精品在线免费| 琪琪理论片| 爽极品色| 亚洲激情| 婷婷五月色花丁香社区| av一级棒av| 五月丁香影视| 色欲一区二区三区精品A片| 能看的AV| 九九无码| 婷婷亚洲综合| 免费观看欧美成人AA片爱我多深| 色五月婷婷DVD| 婷婷另类开心| 五月花婷婷在线精品视频| 99精品热| 丁香婷婷六月天| 99A级片| 婷婷色吧| 五月亭亭欧美女人| www.yw色| 国产肏屄大片| 综合五月婷婷| 综合色久| 99色免费观看全部| 亭亭玉月丁香| 99在线免费观看| 久久99精品久久久久久三级| 俺去也综合| 26uuu国产| 亚洲天天| 色停停五月,在线观看| 五月婷婷六月丁香综合在线| 99热6精品| 五月婷婷亚洲色视频| 欧美成人性爱网| 五月成人天| 亚洲精品婷婷| 天天爱天天狠天天透| 六月丁香婷婷综合狠狠爱夜夜爱| 91免费看片| 97操碰碰无码视频| 激情六月综合| 久久九九99| 精品人妻一区| 欧美精品XXXXBBBB| 丁香婷婷欧美综合| 久久月天堂| 99免费在线视频| 日韩精品一品二区三区的使用体验| 99久久精彩视频| 丁香五月另类色婷婷麻豆| 另类图片色五月| 这里只有精品在线视频精品| 天天日人人| 狠狠狠五月婷婷六月丁香| 韩国天天婷婷| 婷婷五月综合色拍| 久操大香蕉| 强辱丰满人妻HD中文字幕| 4438亚洲欧美| 天天操五月天| 欧美色五月| 激情色情五月天| 五月天丁香婷婷社区| 欧美综合五月丁香六月婷| 97色色色色| 丁香五月综合图片在线观看| 这里只有精品网| 少妇人妻人伦A片| 丁香婷婷性爱| 无码人妻丰满熟妇奶水区码| 五月色综合| 色色五月婷婷| 天天日天天久久青青| 日韩色色视频| 色五月激情| 日本一级黄色片。| 91亚洲视频| 天天色五月| 开心五月丁香啪| 久久性爱视频网站| 国产婷婷综合在线免费视频| 99视频只有精品| 欧美又粗又大一区二区在线观看| 五月综合亚洲| 欧美五月丁香| 人人爽天天爽| 五月天小说激情| 五月色婷婷中文字幕| 婷婷五月天亚洲激情戏精品| 99爱精品| www.婷婷六月天| AV在线不卡网站| 成人 在线 日韩| 先锋五月婷婷丁香草草| 狠狠干青青草| 五月丁香网站| 欧美性生交XXXXX无码小说| 久久午夜丁香| 熟女重口味αV| 26uuu国产| 91狠狠色丁香婷婷综合久久精品| 色色色五月天激情资源| 九九国产精视频| 五月天亭亭俺也| 欧美激情综合色综合啪啪五月| 丁香婷婷久久五月天| 五月婷婷在线丁香| 欧美成人网99网| 在线不卡视频| 97五月婷婷| 人妻狠狠操| 日本欧美在线| 很很干五月天| 亚洲日日日| 婷婷五月日本| 天天色综合色| 91超碰在线观看| 超碰cap| 丁香婷婷综合精品六月初| 狠狠做深爱婷婷久久综合一区| 国产毛片精品一区二区色欲黄A片| 日本毛片内射| www.夜夜操.con| 亚洲欧州色情在线观看| 色色色色色综合| 中文字幕黄色电影网址| 99re在线观看视频| 色域五月婷婷丁香| 日韩久久欧亚| 狠狠色婷婷丁香六月| 色色激情| 亚洲精品中文字幕成人片| 人妻尝试久久久久久久久久久久| 激情六月综合| 九九热10| 精品乱码久久久久| 欧美情色一区| 国产六月婷婷| 成片免费观看视频大全| 五月婷婷婷综合网| www天天爽| 激情婷婷丁香| 久久亚洲色导航| 天天肏天天肏天天肏| 奇米色大香蕉| 午夜丁香六月婷| 日韩有码一区| 涩五月丁香| 深爱激情五月网| 婷婷色丁香五月| 色综合天天综合成人网| 99综合色色色| 日本怕怕视频| www色色com| 色情婷婷。| 五月婷婷m| 99热在线播放| 久久性操| 免费国产视频| 色99欧洲色19| 不卡影院午夜理论片| 狠狠干五月丁香| 99精品久久久久| 亚洲日比视频| 美英法精品无码免费视频| 青草青草视频2免费观看| 99这里有精品久久97| 久久天堂加勒比| 亚洲国产精品成人免费一区久久久在线观看AAAA | 最新色色五月天| 9精品视频在线观看| 亚洲日日日| 伊人久久丁香五月91| 久久网思思| 国产婷婷婷| 五月WWW| 婷婷色色亚洲| 狠狠插日日干撸| 在线观看视频1区| 国产精品香蕉| 色婷婷另类| www.色婷婷| 婷婷五月天网址| 另类五月激情| 五月婷婷综合影院| 人人爱人人草| 好看的国产精品| 色情综合| 思思热闹这里只有精品| 九九色色| 四色女婷婷| 激情综合视频| 第五色婷婷| 激情文学第四色婷婷丁香五月| 播五月,色五月,开心五月播放器| 黑人无码一区| 欧美日朝成人| 丁香狠狠| 丁香五月天堂婷婷| www天天色天天射| 日韩高清久久| 日本天天色| 色婷婷丁香五月观看| 岛囯综合激情网| 久热免费| 狠狠色婷婷| 亚洲日韩一页精品发布| 丁香五月婷婷欧美成人色图| 激情五月天婷婷丁香| 婷婷五月天奸女| 五月丁香六月色婷| 激情丁香五月| 色五月丁香网| 综合色影| 狠狠干婷婷| 操操操操操电影网| 色一情一乱一乱一区9| 色综合久久综合中文综合网| 免费99情趣网视频| 级人人91| www.久久久久久久| 天天爽夜夜爽夜夜爽精| 日韩国产AV播放| 玖玖婷婷色五月| 九九这里有精品视频| 91人妻九色大屁股| 91久久| 久久视频婷婷视频| 久xxxx| 五月天com| 婷婷五月天人妻| 婷婷狠狠97| 可以免费观看的av| 色色色免费视频| 天天射美女| 99婷五月| 操日视频| 丁香五月天欧美在线| 色原狠狠综合| 99久久99久久综合| www99热| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 色久综合| 91视频精品99| 日韩在线观看网址| 99这里只有精品| 婷婷舔| 天天色99| 亚洲黄色网址| 久久婷婷色综合| 色五月婷婷DVD| 久9热视频在线观看| 久久性爱网| 日本超碰在线| 色五月婷婷激情| 极品色丁香| 伊人大蕉香| 丁香五月成人| 色婷婷综合影院| 岛国av网| 婷色五月| 碰超在线九色| 97在线观看| 成人在线不卡| 99热这里只有精彩| 激情99。| 日韩欧美一级大黄网站| 99久久婷婷综合| 久久激情综合| 久久99热免费最新版| 五月婷婷插一插| 日韩成人AV在线| 色吊丝av中文字幕| 超碰v| 九九热视频精品| 夜夜夜夜夜骑撸| 色情五月天婷婷| 久久欧洲久久| 欧美在线97| 一片AV片免费播放| 色综合激情| 日本色五月| 天天做 天天爱| 人人草成人视频| 日本久久婷婷| 婷婷香蕉视频| 新激情五月天| 桃色五月天| 99re思思热久久| 丁香五月av| 天天婷婷色六月| 婷婷久久国产视频| 久久婷婷六月| 色综合久久99色| 久久色9| 九九爱精品网站| 免费看欧美成人A片无码| 日日干天天爽| 日本久久精品| www热久久yy9| 99热综合网| 都市激情小说婷婷| 丁香涩涩五月天| 久久一热免费视频| a网站免费观看| 日韩性爱无码| 六六久久黄色| 影音先锋男人女人| 亚洲精品又粗又大又爽A片| www夜夜操| 欧美色色色| 五月婷啪啪| 色九九九九| 丁香午夜天| 天天爽天天摸天天爱| 亚洲激情免费视频| 丁香婷婷视频一区二区| 九九视频精品在线免费| 婷婷丁香一月| 国产婷婷五月中文字幕高清| 九九免费精品在线视频| 这里有精品99| 精品国产人人爱人人| 五月色综合网欧美网| 色欲人妻综合aaaaaaaa网| 99ri视频在线播放| 国产激情在线| 五月婷啪| 天天操B| 婷婷99| 婷婷啪啪| 九九热再线九九视频免费在线观看| 亚州精品色情无码A片| 久久这里只有精彩| 婷婷五月天激情四射五月天激情| 激情综合五月激情| 亚洲精品乱码久久久久久综合| 日日色五月天| 婷婷丁香人妻| 99热这里只有精品一区| 日本在线免费中文com.| 丁香五月在线观看综合| 亚洲综合色棒| 99精品免费欧美小视频| 天天操婷婷| 中文久久婷婷| 91九色国产| 伊人五月天在线| 国产乱妇无乱码大黄AA片| 人妻丰满精品一区二区A片| 激情五月婷婷视频| 中文字幕综合色| 99热销国产这里有精品| 99啪啪骑| 99福利导航| 99热这里只有99| 五月丁香va| 我要射综合| 亚洲中文乱字字幕线在永久| 婷婷 月 丁香| 欧美啪啪9| 色五月五月婷婷| 国产精品人成A片一区二区| 91热久88| 中文字幕五月久久婷婷| 婷婷九月丁香| 婷婷久久久久久久| 亚洲色 视频| 99在线免费观看| 色综合激情| 亚洲黄网AV| 超碰京东热av男人的天堂| 日日噜噜夜夜狠狠久久丁香六月| 人妻久久久久久久久妻久久久久久久久 | 丁香六月啪啪| 婷婷在线五月天观看| 色色哒五月婷婷六月丁香| 欧美va在线观看| 色婷婷在线视频| 婷婷色情 | 婷婷色在线播放| 全亚洲最大的婷婷五月天网站COM| 中文字幕簧片| 激情五月天开心| 丁香五月天啪啪| 665566 无码| 激情爱爱网站| 狠狠狠激情网| 激情六月色| 婷婷久久久| 色欲色香,www,com| 伊人久久艹| 99热在线观看免费| 久久婷婷色色| 婷婷综合中文字幕| 久久Xx| 狠狠va| 国产婷婷综合在线免费视频| AV九九| 伊人久久中文网| 思思热国产视频| 成人精品亚洲性爱| 亚洲热热视频| 免费V片在线| 五月婷婷开心深| 国产玖玖资源| 欧美一级色| 免费看片在线观看| 99丁香五月婷| 精品色| 荡乳尤物3HP1V5| 亚洲久久日| 天天噜天天爱| 婷婷久久99| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 99无码超碰| 五月婷六月丁| 五月亭亭六月天| 五月丁香色色色| 六月丁香五月婷婷首页| 五月天久久婷婷| 国产午夜精品一区二区三区四区| 丁香五月手机在线| 人妻尝试久久久久久久久久久久| 1024人妻| 92久操视频| 99色色最新视频| 婷婷丁香五月色| 久久国产一区二区三区| 免费亚洲婷婷中文字幕| 丁香六月色婷婷综合| 99精品视频在线观看| 精品99视频| 性生活久久朋友人妻| 久热99| 手机在线日韩视频中文字幕| 五月婷婷开心丁香| 天天拍久久| 亚洲这里只有精品| 精品一二三区久久AAA片| 伊人狠狠丁香婷婷综合尤物| 婷婷丁香激情五月天色色| 久久99网站| 色丁香五月天| 五月婷婷六月丁香综合| 97夫妻超碰| 热99这里只是精品| 丁香婷婷91在线观看视频| 在线日韩av| www.色窝| 久综合网| 婷综合| 五月丁香婷草| 色婷婷色| 婷婷视频在线| 日韩AV免费看| 九九热这里只有精品556| 五月丁香婷婷色色色| 无码动漫AV| 五月丁香六月情亚洲| 中文字幕日产A片在线看| 青青.com| 色5月婷婷| 日本nghangse中文字幕| 亚洲尤物在线| 激情六月天| 五月丁香好婷婷A片网| 色婷婷激情| 五月丁香久久激情综合| 九九色99| 91919191919久久成人视频| 久久五月丁香伊人青草| 亚洲热视频| 操碰99| 婷婷九九| 夜夜 操无码| 69久久99精品久久久久婷婷| 中文字幕av亚洲| 丁香五月天社区| 97久操| 婷婷五月天播播| 色婷婷第四色| 伊人五月天在线| 色婷九九九| 人人干人人操人人摸| 婷婷五月色花丁香社区| 停停五月丁香| 国产原创视频91九色| 五月婷婷在线综合| 日韩五月婷婷久久| 色婷婷五月天不卡| 超级碰碰碰久久网站视频| 色狠狠色噜噜噜a天堂一区| 99婷五月| 。久久久久久久久久久久久久人妻| 九色成人AV在线| 97婷婷五月天| 婷婷日本在线| 婷婷婷婷婷婷婷婷| 色九月国产| 狠狠爱五月婷婷| 美女黄频aⅴ视频| 五月婷婷丁香婷婷| 五月丁香色婷婷色| 五月婷婷性爱| 日本色频| 婷婷精品| 夜夜操狠狠操天天操| 五月丁香综合色婷婷| 天天激情| 伊人五月综合网| www.久久综合| 91久久久久久| 另类图片色五月| 91Chinese在线| 亚洲天堂热| 天天插轮理| 欧美成人AAA片一区国产精品| 同性gv国产精品一区二区| 99干日日干| 亚洲亚洲永久无码777777| 亚洲在线播放| 亚洲精品国产setv| 天天日夜夜B久久| 亚洲深喉aV| 色五月在线观看| 97影院一级片| 亚洲精品大片| Jh7Uf088VHafNm| 日本三日本三级少妇三级66| 99啪99| 都市激情久久| 激情综合色婷婷啪啪五月天| 99热免费看| 五月婷婷激情| 乱岳熟女50岁| 99视频网| 久久超级碰碰| www.精品99| 五月情四婷婷| 久久一级免费黄色片| 五月丁香 啪啪| 五月综合激情图片| xxxx五月天色色| 碰97久久| www,欧美干干干干干干| 丁香五月久久社区| 日韩欧美成人片| 五月天婷婷色紫薇阁| 五月天色欧美| 九九精品99| 99这里只有精品在线观看| 大香蕉 伊人夜| 六月婷婷五月天| 六月久久狠狠| 五月婷婷AV| 夜夜嗨一区二区三区直播内容 | 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 色久激情在线| 久久婷婷六月综合综合| 亚洲成人在线综合| 婷婷激情五月天天天开心| 99视频免费播放| 婷婷丁香五月婷婷| 97干97色| 开心五月婷婷激情| 五月天色婷婷成人| 婷婷亚洲综合| 五月天丁香婷婷视频网址| 婷婷噜噜| 天天爽夜夜爽夜夜爽精品| 五月丁香婷婷六月| 激婷网| 七七色色综合| AV 3P| 色99在线观看| 九九亚洲天堂| 久草天堂| 丁香六月在线| 婷婷免费精品视频| 99九精品| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品| 丁香五月婷婷激情蜜桃| 亚洲五月婷婷| 青青草Avb在线| 怡红院AV亚洲一区二区三区H| 婷婷激情六月视频| 思思综合热| 日本综合色图| 丁香九色不卡aaa| 噼里啪啦在线观看免费完整版视频 | 日韩五月婷婷| 日本乱子人伦在线视频| 色伊人婷婷| 亚洲色爱综合| 一區四區歐美日韓| 丁香色五月 97干| 色99无码| 久久久国产精品黄毛片| 色一情一乱一乱一区91Av| 欧美黄色韩日网| 操嫩逼电影| 亚洲国产精品成人免费一区久久久在线观看AAAA | 久久色五月| 五月婷婷视频28| 草美女在线观看视频在线播放| 六月99天天婷婷激情综合| 色婷婷综合在线| 国产无套精品一区二区| 综合久久99| 亚洲AV网址| 综合色激情| 色高清无码视频| 再綫Av免费視品| 激情综合99| 婷婷丁香综合在线| 久久视9精| 97精品人人A片免费看| 婷婷六月激情| 五月丁香福利|