日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

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

基于JavaWeb的在線學(xué)習(xí)系統(tǒng)畢設(shè):源碼+數(shù)據(jù)庫+部署全攻略 簡(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ù)庫建表與初始化腳本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ā)與下載、公告與留言交互、資料庫維護(hù)等核心功能模塊配套說明文檔覆蓋環(huán)境配置JDKEclipseTomcat、數(shù)據(jù)庫導(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ù)庫腳本】(畢設(shè))可以看到這份項(xiàng)目的交付物包含了兩塊內(nèi)容完整的項(xiàng)目源碼和數(shù)據(jù)庫腳本。前者解決了核心業(yè)務(wù)代碼從哪來的問題后者解決了數(shù)據(jù)庫結(jié)構(gòu)怎么建的問題。這兩個(gè)東西恰好是畢設(shè)項(xiàng)目最容易卡殼的兩關(guān)——很多同學(xué)代碼寫到一半發(fā)現(xiàn)表結(jié)構(gòu)設(shè)計(jì)不合理或者數(shù)據(jù)庫腳本導(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ù)庫表結(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ù)庫設(shè)計(jì)與腳本實(shí)現(xiàn)2.1 核心表結(jié)構(gòu)設(shè)計(jì)詳解數(shù)據(jù)庫是整個(gè)在線學(xué)習(xí)系統(tǒng)的地基。表關(guān)系設(shè)計(jì)得是否合理直接決定后面寫 SQL 和業(yè)務(wù)代碼的時(shí)候是順手還是想罵人。這一套系統(tǒng)的數(shù)據(jù)庫腳本我建議你重點(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 加密后再入庫雖然 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ù)庫設(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ù)庫腳本中通常會(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ù)庫腳本的方式這是本次項(xiàng)目交付里最容易出問題的地方我單獨(dú)拿出來說。方式一IDEA 內(nèi)置數(shù)據(jù)庫工具導(dǎo)出打開 IDEA 右側(cè)的 Database 面板連接好 MySQL 數(shù)據(jù)庫后右鍵點(diǎn)擊你要導(dǎo)出的數(shù)據(jù)庫選擇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ù)庫 → 轉(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ù)庫驅(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ù)庫。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ù)庫就可能出大事。項(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 的依賴庫。如果發(fā)現(xiàn) JSP 文件里的紅色報(bào)錯(cuò)多半是缺少 Tomcat 庫的引用在 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ù)庫連接三步搞定打開項(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ù)庫密碼第一行驅(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ù)庫名要和導(dǎo)入腳本時(shí)創(chuàng)建的庫名完全一致后面那一長(zhǎng)串參數(shù)務(wù)必保留尤其是 characterEncodingutf8不帶它中文必亂碼。4.4 完整運(yùn)行流程清單首次運(yùn)行建議嚴(yán)格走一遍以下流程避免調(diào)試時(shí)像無頭蒼蠅一樣到處碰壁用 Navicat 或命令行創(chuàng)建數(shù)據(jù)庫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ù)庫密碼錯(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ù)庫腳本執(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ù)庫連接串、數(shù)據(jù)庫字符集全部設(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ù)庫腳本中的中文注釋導(dǎo)致導(dǎo)入中斷。用命令行 source 導(dǎo)入腳本時(shí)如果腳本文件不是 UTF-8 編碼或者數(shù)據(jù)庫連接字符集不對(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ù)庫表之間有哪些關(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ù)庫索引、連接池、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ù)庫腳本接下來的路只有一條打開 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
返回資訊列表
69精品人人人人| av婷婷色网| 亚洲欧美天| 99亚亚热| 精品久久久久久中文字幕视频免费| 久久手机视直播| 秋霞久久亚洲精品成人| 97在线免费视频观看| 97av在线视频| 亚洲中文日韩精品| 国产第12页| 亚洲怡春院| 日韩AV熟女乱伦| 日韩中文字幕视频| 久久啊啊啊| 欧美暴力猛交| 亚洲色图久久成人| 国产尹人在线视频免费| 欧美天天综合| 欧美亚洲特P| 蜜桃精品一区二区三区ww| 国产精品精品系列在线观看| 日欧毛片久久| 五月婷婷深深爱| 超碰一区二区| 色偷偷2020免费视频播放| 中文字幕日韩国产传媒欧美精品| 白嫩国模丰满一二三区| 欧美少妇人妻| 九九热三级片| 男人天堂毛片| 91精品免费| 欧美日韩m| 夂久色| 丝袜熟女一区二区三区| 在线观看精品国产免费| 综合久久少妇中文字幕| 9久精品| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 欧美97免费| 一区| 欧美日韩大陆黑人少妇99| 欧洲综合视频| 国内精品不卡无毒99999| 婷婷久久久| av国产无码| 激情小说成人日本无码一| 被男人添B超爽视频| 国模私拍一区二区三区神乳| 熟女五十路一区二区三| 视频国产精品未满十八禁止在线观看| 美女操逼A A| av激情亚洲五月天| 日本中文熟女视频| 九九碰九九爱97超| 一级片视频啪啪| 国产女大学生AV| 秋霞网无码| 欧美一级A一级a爱片久久| 91丝袜| 91热色| 精品国产乱码久久久久久久久久毛片 | 女人综合网| 懂色av一区二区三区天美传媒| 亚洲资源吧| 国产suv精品一区二六| 国产熟女自拍| 97操b| 91爱啪| 91少妇| 日本色色视频网站| 在线观看中文av字幕| 激情综合二| 亚洲精品aa久久伊人 | 狠狠色综合网| 97视频观看| 性欧美体内射精| 欧美精品丝袜久久久中文字幕| 97国产天堂岛| 日韩欧美蜜桃精品久久中文字幕久久 | 色婷婷六月| 九九热免费国产视频婷婷伊人| 人人色人人射人人妻| 久久九七| 中文字幕av片| 亚洲男人综合| 中文字幕狠狠玩| 欧美刺激色黄片免费看| 久久大精品乱码视频人妻熟女| 久久嫩草国产成人一区| 97精品视频在线播放| 鸥美中出| 精品国产www久久| 激情久久久| 素人美腿视频网站| 91熟女丨老女人| 人妻另类 专区 欧美 制服| 欧美性爱日韩高清| 欧美视频在线第3页| 中文字幕版| 18+91网站| 人妻性爱一区二区| 精品国产丝袜一区二区三区乱码| 桃色五月天| juliaann丝袜大战黑鬼| 伊人久久综合影院精品久久久| 亚洲最大AV网| 高跟伊人julia ann| 99热在线播放| 久久五十路熟女人妻| 可以在线观看AV的网站| 婷婷激情一区二区三区俺也去| 天堂亚洲精品久久老牛| 欧美视频边做饭边橾| 中文字幕乱碼在线| 精品妇操一区二区三区| 精品丝袜无码一区二区三APP| 免费啪啪啪网站18岁| 国产欧美后入| 丰满人妻一区二区三区四区| 欧美综合娱乐久久| 91大胆欧美| 青操影院| 久热久| 五月天人妻综合| 亚洲中字幕日本一区二区三区| 强奸乱伦Av网| 91爱做| 国产精品懂色tv影视免费观看| 亚洲最大网站av| 久草精品一区 | 伊人91| 不卡av在线中文字幕| 国产欧美一区二区| 97国产伦理| 亚洲天堂五月天国产| 天美精品av| 98超碰欧美| 91熟女熟妇视频网站| 龙兴卡官方查询| 嗯啊抽插大香蕉网页| 欧色综合| 99久久精品无码一区二区毛片免费| 欧美超碰9798| 亚洲另类欧美精品| 久久久久久亚洲精品中文字幕人妻| 人人操人人射人人干| 一类av片在线看| 伊人操操| 婷婷操逼| 清纯唯美亚洲另类| 中文字幕精品资源在线| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 91爰爱欧美| TS人妖另类精品视频系列| 久久久成人国产精品无码| 婷婷五月天AV| 九九九九精品在线| 99精品久久| 欧美日韩久久精品爱爱| 国产超碰国产97| 日本操逼视频在线| 亚洲区小说| 99re视频在线观看这里只有精品| 97干在线| 亚洲视频一二区| WWW黄片COM| 九t超碰| 国产精品大香蕉| 中文字幕第2页| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 国产午夜福利电影免费在线观看 | 逼逼逼逼操操操操操操操操操午夜剧场| 黄色不卡视频| 五月色网| 中文字幕一区二区三区字幕| 男女香蕉一区二区| 少妇 综合| 亚洲成人在线高清| juliaann丝袜| 97超碰色中文字幕| 91少妇香蕉久久精品| 日本岛国黄色网址| 成人五级久久| 久久久无码视频| 亚洲熟久久| 乱色视频中文字幕| 日本熟女免费視颖| 国产黄色剧情影片麻豆免费播放| 老鸭窝黄色视频网站| 9久热| 久久riav中文精品| 2020中文字幕在线观看| 久久色一区二区| 日本99久久| 吖在线不卡一区二区国产剧情| 久久精品操| 伊人久久久日韩一区| 婷婷激情综合网| 人妻丰满熟妇一区二区三| 九热久| 夜夜爽夜夜摸夜夜操免费视频| 国产女人高潮视频| 人妻碰碰碰碰碰碰| 啊啊啊啊一区| 午夜丁香| 婷婷亚洲综合| 99久久网站| 欧美大香蕉专区网| www.大香| 日韩欧美操逼xxx| 性一级黄色录像片网站导航| 国产AV天美传媒一区二区三区 | 成人熟女区| 伊人久久亚洲中文字幕| 福利伊人玖玖国产| 人人 操人人 操人人| 尤物网站91| 久久东京热成人| 97超碰总站| 欧美久久婷婷| 男人的天堂成人的社区| 综合久草| 精精夜夜| 免费97视频| 久久人妻少妇| 精品少妇一区二区三区| 亚洲AV人人澡人人爱| 农村妇女精品一区二区| 爱妻综合网| 久热69九色熟妇97| av操操不卡| yazhousetuoumei| 有码人妻系列| 日韩午夜国产| 欧美美女自慰一区二区三区| 国产激情片在线观看| 欧美日韩操操操| 亚洲一本色道中文无码aV天美| 福利操逼| 丁香五月天堂| 操操啪| 国产这里只有精品| 欧美丝袜激情| 综合久欧洲| 狠狠亚洲| 九热中文字幕| 乱伦熟女专区| 日韩无码三级影院| 人人插人人搞人人操| 亚洲国产精品无码AV久久久| 亚洲熟女精品| 中文自拍欧美影视| 成人久久无码www| 91欧美性| 中文字幕乱码在线| 日韩美女操b| 思思热免费视频观看| 精品人妻一区| 91国产丝袜足交精品视频| 九热大香蕉| 天天天堂影视日韩亚洲91| 91路www| 欧美亚洲综合高清在线| 国产精品久久99日日| 日韩一级片在线看| 91丝袜美腿网站| 视频二区熟女人妻| 日本一级真人黄色性爱视频| 无遮挡猛进视频免费无限观看| 亚洲男人天堂Av| 成人久久无码www| 玖玖超碰熟| 女性91网站| 強姦亂倫a| 婷婷伊人| 色九九综合AV| 十八岁啪啪视频免费看| 日本东京热大香蕉a片| 久操免费观看| 中文字幕精品一区二| 亚卅熟女乱色| 福利天堂| 亚洲美女av无码| 97最新在线播放视频| 久久久精品日本一道| 97爱啪| 摸奶性爱视频网站在线免费播放| 东京热男人的天堂网| 第45页一区二区| 91亚洲图片| 欧美人人曰人人操人人射射| 97超碰碰碰| 国产精品乱码久久久久久| 在线免费观看高清无码视频| 精品久久99| 91老熟女91老女人| 无码高清国产AV| 18精品一区| 国产搭汕a级片| 99精品欧美一区二区三区桃色| 国产精品亚洲免费| 999熟女精品| 思思视频免费看网站| 91久久国产综合久久| a片亚洲一本通视频| 久久透逼视频| 中文字幕视频免费| 超碰97人妻免费在线| 天天操天天插| 国产老太乱伦一区| 亚洲国成人情色好看电影| 一区二区无码视频| 国产精品一区av在线| 欧美日本久久精品一区| 欧美一级AAAAAAA| 男人天堂日日夜夜| 99无码| 嗯啊不要在线观看嗯啊| 女人天堂网| 草莓精品视频| 日韩三级av片| 91校园春色长篇| 91性网| 玖玖人人爱| 亚洲第一页第二页激情| 久久av网| 一区二区三区美女超清| 国产日韩中文字幕欧美| 免费看一级a性色生活片久久无| 尤物视频偷拍免费| 激情五月天视频| 狠狠入| 日本免费一区二| 果冻传媒A片麻豆熟妇人妻| 九九热精品| 中文字幕第7页| 五月丁香网站| 日韩无码操逼片| 91N综合网在线| 99热自拍| 国产91会所女技师在线观看| 日韩特一级久久| 黑人黄片在线免费观看| 五十路成人在线视频二区三区| 日本福利二区视频| 欧美成熟性爱精品| AV色女综合| 天色综合网| 国产精品久久久久久久毛片1| 97亚洲综合在线| 女同性恋一区二区三区精品视频| 亚洲欧美在线观看免费| 99re99在线视频| 99re69| 18禁无码永久免费无限制| 欧美在线亚洲| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 高清无码久操视频| 欲香欲色综合天天伊人| 99re在线视频| 蜜伊人色综合97| 全球成人中文在线| 成 人片 黄色大片| 97香蕉网| 东京热,男人的天堂| 天天操女人| 国产AV久久久蜜爱影集| 以及麻豆国产入口在线观看免费| 97精品一区二区视频在线观看| 亚洲AV免费在线观看| 韩国一级婬片A片AAAAA| www.99中文字幕| 亚洲色图欧美| 就去色综合| 人人操人人射人人干| 久久黄色网址| 开心激情婷婷| 天天看,天天做| 久久国产乱子伦精品免费女人| 久久久久久久久999| 色婷婷一区二区三区久久午夜成人不| 97干在线看| 人妻加勒比东京热| 在线国产探花| 欧美性爱另类综合| 国产成人自拍视频在线| 国产精品无码久久久久2025| 国产精品懂色tv影视免费观看| 国产农村妇女毛片精品久久| 曰本特级特黄特色黄色A级网站高清在线免费看| 久久伊人网视频一区二区三区| 亚洲综合五月天婷婷丁香| 日本人人操人人操| 粉嫩av在线一区二区| 欧美性爱1080p| 亚洲欧美在线观看无码| 午夜.DJ高清在线观看免费7| 国产精品白丝在线播放| 亚洲久久久| 亚洲黄色电影| 精品一区二区三区18| 欧美日韩中文亚洲v在线综合| 国产精品情侣啪啪| 嗯嗯不要视频| 青青草在线视频人人想人人上| 国产精品久久久啊| 91天天综合| 国产成人五月天丁香花| 视频不卡中文字幕| 日韩综合无码色欲vv| 国内偷自视频区视频综合| 日韩免费高清大片在线| 午夜无遮挡男女啪啪视频| 国产成人精品必看 | 久9九综合在线| 农村妇女精品一二区| 综合夜夜| 少妇无码av专区线| 中文字幕在线高清男人的天堂| 久久五月综合| 91视频观看网站| 国产亚洲日本| 亚洲黄色电影| 伊人热综合| 日韩免费大片一级播放| 99久久99九九99九九九| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 欧美操逼一二三区| 亚洲中文字幕乱码无码一区二区| 色五月AV在线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 国产激情在线| 啊啊啊啊啊在线| 美日韩男女操屄视频| 操迟操逼在巾线Fre看| 熟妇操花| 大香蕉综合| 亚洲影视第一页| 亚洲图片第一页| 精品少妇人妻av久久免费| 99热自拍| 色拍偷亚洲| 精品久久久久久久| 浪人综合网| 亚洲夜色在线| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 600国产精品视频| 乱伦色图网址是多少| 亚洲精品三| 性色高清在线| 少妇的嫩逼图片| 国产性爱在线视频一区二区| 激情五月综合| 天天干人妻| 97精品一区二区三区免费| 美国人人操人人操| 欧美熟妇视频| 青草伊人网| 国产女人与拘做受视频免费| 男人天堂一区二区| 欧美色图亚洲色,麻豆| 中文字幕,人妻,日韩| 婷婷综合| 好湿好紧视频| 日韩免费性爱视频在线观看| 久久日本熟女精品一区| 黄骗免费网站| 激情丁香五月| 茄子社区国产精品| 欧美成人一级免费电影| 亚洲熟久久| 黑人精品XXX一区一二区| 久久久久13| 快灬快灬 一下爽蜜桃在线观看| av绯色| 久久有碼| 岛国在线免费视频| 欧美|91色综合| 色九九久九九| 色区久久| 亚洲男人的天堂va亚洲男人社| 综合久久欧美| 青青久日| 五月丁香综合激情| 亚洲人久久久久日| 天天日少妇逼AV| 亚洲天天操| 国产日本熟女顶级一区二区三区视频| 亚洲男人天堂2017| 夜夜中出国产| 日韩免费簧片| 97超碰免费人人性爱| 午夜视频好爽啊| 青女在线| 国产亚洲日本精品在线| 东京热,男人的天堂| 天天爽天天爽| 囯产精品久久久久久久久久梁医生 | 男人的天堂2018东京热啪啪啪| 哈哈操电影| 欧美熟女少妇| 欧美成人免费在线观看| 97公开久久| 操逼视频亚洲| a啊啊啊啊啊啊啊啊一区二区| 国产综合永久精品日韩鬼片| 熟女熟妇一区二区三四区| 91校园春色长篇| 97香蕉网| 骚女高跟AV在线| 亚洲精品人妻吞精av| 女生看匆91网站| 97天天爽| 日韩精品亚洲专区在线影视| 96国产精品| 日韩乱码Av| 免费一级黄色录像影片| 欧美图片校园春色| 玖玖蜜臀资源网| 亚洲αv一区二区三区| 一本大道久| 夜夜嗨AV蜜臀av| 久久国产免费激情视频| 亚洲资源一区| 97欧美色资源| 欧日韩不卡视.频| 岛国在线国产| 熟人人妻少妇精品久久| 亚洲影院小综合| JULIA一区二区三区在线播放| 东京热天堂网| 亚州欧美综合| 99热精品青草在线 | 国产色呦呦| 91老熟女视频| 九九九草| 天天干天天日天天射黄色片| 成人在线日韩| 一本一道vs波多野结衣| 青青五月天| 动漫区日韩区欧美区| 夜夜高潮夜夜爽国产伦精品| 久久↗↗| 亚洲天堂东京热| 一个人免费HD91视频| 91亚州| 欧美精品亚洲精品日韩传电影| 91熟女熟妇视频网站| 久久一区二区高清免费| 成 人 A V免费视频在线观看| 日韩中文9| 区一二区日韩亚洲乱码av电影| 国产日韩欧美三级片| 人妻中文字幕精品无码| 26uuu最新| 欧美的精品的视频| 91N综合网| 色与欲影视天天看综合网| 碰人碰碰人人开房人肉| 2019男人的天堂| 日本一卡二区在线| 欧美熟妇精品黑人巨大91| 九t超碰| 老熟妇一区二区三区| 999综合色| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 国产高清成人mv在线观看| 婷婷av在线中文字幕| 国产黄色剧情影片麻豆免费播放| 国产强奸乱伦无码视频| 亚洲āv网址在线观看| 亚洲日韩精品久久久久一区壹牛| 国产亚洲日韩欧| 18禁精品网站在线看| 国语精品内射在线观看| 九热视频| 伊人青青一区成人视频在线观看区| 亚洲熟妇乱女区二区三区| 宗合情欲网| 日本好吊色视频| 亚洲天在线| 九九无码| 国产91精品福利在线| 国产99 中文字幕日韩小视频| 欧美成人都市人妻| 精品国产99| 蜜桃臀一区二区三区久久| 久久久久久久久久久久97| 人人搞人人插人人操| 久久国产性爱| 亚洲欧美大香蕉| 射欧美综合| 精品人妻视频一区二区在线播放| 丰满人妻一区二区三区四区| 奇米四色网| 日本午夜福利影院| 特级大荫道BBwBBwBBW| 青青草玖玖爱| 久久久久九九九| 日韩人妻播放| 久久大香蕉手机高清| 在线中文AV| 校园春色 欧美| 韩国午夜理伦三级好看| 91女在线观看| 四季av一区二区凹凸精品小说| 91精品91久久久久77777俄罗斯老妇姓x| 操逼日批| 夜夜一区二区| 日日97| 国产乱色国产精品免费视| 超碰99在线| 伊人 俄罗斯 a v| 火箭成精品视频884必出精品| 欧美日韩激情无码专区| 精品无码一区二区| 94色色电影网| 熟女六十路| 日韩ab网| 日韩av性爱在线播放| 天天爱天天操| 中文字幕av一区二区三区人妻少妇 | 一区在线精品中文字幕| 国产成人无码久久精品| 久久综合av| 日韩激情无码影院| oumeisetu综合| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 美女黄网| 欧美国产日韩清纯唯美| 老鸭窝成人| 国产精品69人妻无码久久久| 日本A级视频| 9久在线视频只有精品| 狠狠干综合| 久久久一区二区三区麻豆| 久干9操| 91在线免费精品视频| 九九伊人网| 亚洲激情欧美色图 | 欧州色图区| 久久9精品| 色色色欧美| 色婷婷日韩精品一区二区三区| 亚洲成人性爱在线观看| 久久 久久国内精品亚洲 | 欧美成人色| 国产精品亚洲高清在线| 熟妇精品juliaannAV| 国产精品人妻一区二区| 一区中文字幕二区日韩| 国产精品探花色| 久久久久9999妇女| 三级色综合| 啊啊啊啊啊好舒服视频| 思思热免费视频观看| 国产女主播视频在线观看| 一本一道vs波多野结衣| 日本国产二线女色| 伊人AAA| 国产成人亚洲精品无| 91肏屄网| 日逼视频日本| 欧美在线亚洲| 日韩在线AB| 欧美伊人久久综合网| 久久久久久久久久久久九| 欧美日韩国产高清在线一二三区 | 欧美高清无码免费视频高清版| 伊人久久国产免费观看视频| 天堂а√在线最新版在线| 97超色| 久久思思热| 亚洲人妻中文在线视频| 日韩资源网| 色色丁香| 欧美一区二区一级岛国大片| 91网站18+| 亚洲性爱高潮影院| 黄色电影在线播放综合网站| 女人天堂网| 91久精品| 久久肏大逼| 91天天| 亚州欧美一区| 性色一线| 久久亚洲AV成人精品无码| 91亚洲综合在线| 熟女自慰久久久| 国产精品岛国片在线观看| 青青青青青手机视频| av午夜玫瑰| 欧美很很操视频| 中文?日韩?免费?精品| 97jingpin| 国产视频一区二区在线| 精品久久人妻成人网| 1769一区| 久久久久女教师免费一区| 免费网站观看www在线观| 大香蕉五月天婷婷| 亚洲天堂AV在线播放| 亚洲影视综合| 欧美后入式| 少妇三P| 啪啪啪大香蕉| 乱伦av.com| 丝袜人妻av一区二区| 青青草原伊人网| 中文字幕人乱码中文字的预防方法| 无码免费一区二区三区啪啪| 亚洲精品中文字幕一区在线视频| 边做饭边操逼逼| 亚洲成成熟女人综合一区二区| 麻豆国产成人精品| 97亚洲资源| 日本三级久| 狠狠爱综合网| 亚洲精品日韩国产欧美| 久久综合亚洲色1080p| 一级一性爱免费视频| 男人天堂导航| 久久久久久久综合,国产| 欧美视频激情久久久久久| 久久欧美1卡2卡3| 婷婷丁香六月| 性吧在线视频| 婷婷综合五月天| 五月丁香激情综合| 中文久久爆乳| 精品毛片久久久精品毛片| 免费的很黄很污的全部视频| 中文字幕一区二区三区字幕| 日韩欧美大片免费高清啪啪| 在线午夜成人无码视频| 91亚洲在线| 久久久精品网| 青青草国产欧美非洲黑人| 偷拍盗拍亚洲色图图片| 人人操人人肉久久精品| 999久久久九九九九| 天久久久噜噜噜久久国产精品爽爽 | 新视频sss国产| 九区国产| 本道在线| 大逼色网站| 国产精品久久蜜乳av| 超碰地址久久| 极品国产内射| 色婷婷六月丁香七月婷婷| 999精品国产高清一区二区| 亚洲欧洲无码bt精品合集| 黑人精品XXX一区一二区| 久久性生大片免费观看性| 99久久精品国产系列| 99亚洲国产精品色一区二区三区| 性爱网站一区二区| 波多野结衣先锋影音| 久久精品国产96精品亚洲拳交| 激情五月天丁香社区| 婷婷99| 99999无码| 欧美少妇高潮久久91| 视频在线中文字幕| 91欧美www| 老司机福利青青草| 久久久久久久久久久免费精品| 亚洲免费在线探花| 国产在线精品偷| 欧美|91色综合| 歐美性天天| 久久蜜桃一区二区| yw尤物av无码点击进入麻豆| 思思热久久成人| 五月丁香啪啪网| 欧美色九九九| 国产精品69久久久久久久| 国产精品自拍视频 | 久久久久9999精品九九九| 91痴汉| 中文?日韩?免费?精品| 秋霞久久亚洲精品成人| 激情五月天色色| 久久AV无码1区2区3区| 久久久九| 免费?级毛片无码?∨蜜芽试看| 亚洲熟女av日韩熟女| 精品免费1| 久久久久久中文| 国产成人亚洲精品无码最新在线| 偷窥自拍A片| 嗯嗯嗯啊啊啊操的我好爽| 91视频女生| 亚洲一区二区三区不卡国产欧美| 欧美操人| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 五月丁香综合| 在线免费试看60秒| 国产精品久久aV| 丁香五月婷婷基地| 色偷偷人人玩人人舔人人操人人摸人人爽| 一起草在线视频| 小情侣高清国产在线视频| 91新在线欧美| 99999re| 国产AV高清AV无码| jiujiujiujingpin| 老熟妇乱轮| 亚洲日韩一区电影| 人妻少妇精品无码专区二区密桃| 精品国产91内射久久| 麻豆精品久久久久久久| 久久精品综合| 日本高清_区二区三区| 大香伊人在线一区| 家庭乱伦麻豆| 人人爽天天爽| 草草草视频| 婷婷天堂站| 伊人视频| 欧美顶级黄色大片免费| 嗯嗯啊啊视频一区二区三区| 男啪女色黄无遮挡免费观看| 亚洲 日本 一 二 三| 亚洲性综合11| 日本午夜精品理论片A级APP发布| 亚洲自拍欧美色综合| 无遮挡一级毛片视频免费的| 日日日啊啊啊| 一区二区三区免费视频入口| 国产不卡片| 亚洲色婷婷久久久综合日本| 爽爽淫人网| 97干在线视频| 久7色| 999综合网| 国产一区二区三区中文字幕| 久久激情婷婷| 91美女在线精品视频| 久久久97| 亚洲日韩av一区二区三区百合| 九九九久久久| 啊啊啊好湿国产一二| 天天影视色香欲综合网小说| 欧美成人亚洲精品| 北约熟女超碰| 97草草| 成片免费观看视频大全| 超碰97男女| 亚洲 欧美都市激情| 国产精品久久久啊| 久久久久亚洲一区女同性恋中文字幕| 成人26uuu| 制服诱惑亚洲一区二区三区在线观看| 欧美亚洲尤物久久| 成人日本片久久久蜜桃| 超碰成人免费| 老司机福利青青草| 操人妻逼91| 人人操,操人人| 99精品九九九九九九| www.91色综合| 九九视频黄色片| 欧美激情亚洲情色| 亚洲精品99| а√天堂资源官网在线资源| 嗯嗯啊好大| 91操人视频| 天天射天天操天天干天天吃2018| 一区二区三区成人| 大香蕉啪啪啪| 正在播放国产精品一区| 亚洲日韩资源| 爱干爱射网啊啊啊| 在线观看精品国产免费| 97在线视频观看| 青青青艹在线视频| 亚洲天堂区| 国产成人综合在线播放| 欧美精品庄| 欧美91网站| 五月色综合| 久久黄色视频一区二区三区 | 欧美日韩岛国大片在线观看| 中文字幕av亚洲精品| 亚洲欧美91√| 亚洲色图 欧美热图 清纯唯美 另类自拍| 国产高清免费不卡av| 777超碰| 大香蕉青青9| 神马福利久草| 黄aaaaaaaaaaaaaaaaaa色网站| 大香蕉伊人网| 亚洲天堂少妇| 中国熟女网站| 日本精品人妻少妇一区二区| 亚洲Av无码成人精品国产| 26uuu久久| 97资源亚洲| 日韩精彩视频| 热久久99999| 天天操av懂色| 五月婷婷激情综合| 天天视频综合在线观看视频| 日韩啊V| 精精品人妻一区二区三区| 久久偷偷色综合蜜桃| 丝袜综合色图| 中文字幕大片三级狠狠干| 国产欧美亚洲精品a第2页| 久久无码成人| 亚洲一区中文精品| 久久久久国产精品久久久| 一区二区三区一亚洲中文字幕、综合区灬 | 多毛小伙内射老太婆| 久久国产AⅤ| 熟女人妻精品一区二区视频| 91精品国| 亚洲少妇自拍中文字幕懂色| 是还免费视频1727我| 亚洲97P| 欧美18禁91| 美女啊啊啊啊啊啊啊| 激情综合五月婷婷| 99久久婷婷国产综合精品草原| 亚洲砖码砖专无区2023| av无码av无码专区| 亚洲一曲日韩精品| 91搞逼视频| 久久成人国产精品| 久久中文字幕一区不卡| 大二网站亚洲| 成年人黄色视频免费| 操逼网站网站| 爱妃国产亚洲视频中文字幕| 国产精品一二三区18| 国产又黄又粗又猛大片| 在线视频免费观看午夜| 欧美精品成人一区二区在线观看| 亚洲福利影院一区久久| 国语av狠狠色丁香婷婷综合激情| 婷婷爽人人婷婷爽视频| 亚洲久久久久| 伊人天天久久动态图| 成人免费性爱视视| 十八禁视频一区二区| 翔田千里无码中出中文字幕| 91精品久久久| 国岛片视频| 极品色www影院| 天天做天天爱| 国产人妻精品久久久一区二区三区| 久久熟女人| 老熟女区| 蜜桃臀一区二区aV| 久久97视频| 亚洲超碰97| 青草草免费网站av| 午夜寂寞欧美| 五月色丁香| 日本三级小说中文字幕| 欧美A√综合网 | 亚洲情色一区三区| 中出后入| 亚洲天堂男| 久草精品国产99| 国产精品婬乱一级毛片彝族| 国产97色在线| 免費人妻夜夜爽天天爽爽一区| 免费网色网站| 亚洲日本大香蕉1| 热99这里有精品综合久久 | 五月天伊人网| 久久国产AⅤ| 国产黄色av大片网站| 狠狠操夜夜操蜜桃视频三区| 大香蕉欧美伊| 亚洲图片视频小说| 日欧操屄| 无码伊人久久大杳蕉中文无码| 九九热男人天堂| 91欧美丝袜| 午夜精品久久一区二区| 97人妻免费中文字幕| 一二三区在线| 97超碰免费生活| 久久午夜色播影院免费高清| 亚洲成人av电影在线| 色九九九九久| 无码人妻系列少妇| 日韩兔费看黄片| 亚洲成A∨人影院在线欢看| 99久久com免费视频′| 91在线丝袜| 美女操逼A A| 日本在线一二| 玖玖超碰熟| 你懂的在线观看区国产| 超碰在线91| 欧洲精品区| 岛国福利在线精品播放| 色99在线| 久久是精品| 五十路六十路素人熟女| 亚州色交| 欧美色91| 午夜福利视频在线一区| 日韩钢筋无码高清啾啾啾| 91亚洲影视| 成人国产精品三级A片| 国产视频大全| 欧美一级AAAAAAA| 久久久蜜桃一区二区三区| 蜜臀一二三区| 99国产在线 精品 视频| 久久人人爽爽爽人久久久| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 97综合国产| 亚洲啪啪性视频| 加勒比少妇AV婷婷六月天超碰超碰| 亚洲 欧美 精品专区 极品| 日本狠狠干| 亚州欧美在线| 人人透人人操| 国产精品动态一区二区三区四四| 国产亚洲欧美每日在线| 黄页18禁| 亚洲AV无码乱码| 志村玲子视频一区二区| 蜜臀久久99精品久久久久电影| 操我无码| 哑洲在线| 日欧操屄视频| 美女十八禁| 国产热RE99久久6国产精品首| 亚洲女人毛茸茸91| 1禁看欧美黄片免费看| 日日日大屁股骚女人精品| 园内精品自拍视频在线播放| 久久骚少妇| 日本日逼高清| 青操影院| 99爱爱| 四虎影视欧美| 欧美美女自慰一区二区三区| 熟女探花啪啪| 91色爽欧美| 隔壁邻居波多野结衣中文字幕| 蜜臀99999| 中国乱伦一区二区| 人人妻人人色一区二区三区| 三级片网站在线播放| 97爱爱官网| 天天综合网~69| 欧洲在线性爱视频| 欧美操逼视频二区| 色色福利| 快播电影网日韩新片| 最新欧美色网| 欧美一二三级精品在线| 亚州高清色综合| 国产97视频免费观看| 欧美九九九| 91原创在线观看| 日韩免费福利在线观看| 亚洲综合夜色| 丁香五月偷拍| 国产黄色视频久久| 九九av| 亚洲精品99| 被男人吃奶很爽的毛片| 91欧美丝袜| 精品国产乱码久久久久A| 日韩激情无码影院| 97久久天天综合色天天综合色电影| 97色婷| 久久双插| 99这里只有精品| 区一在线观看| 无码人妻丰满热妇又大又粗| 91色插| 麻豆一区二区三区精品| 九九亚洲视频| 国产av激情无码久久天堂| 久久人妻一区二区三区高清| 六月婷激情福利天堂69| 国产精品亚洲一级av第二区| 91天美免费| 中文字幕片| 婷婷色播婷婷| 岛国大片国产| 熟女人妻精品一区二区视频| 韩日巨乳美女免费视频在线观看| 99这里都是精品| 人人操人人搞人人草| 欧美日韩在线小说 | 在线观看免费视频国产| 久久久久久久唑| 激情婷婷丁香| 天天日日本| 久久曰曰| 国产精品黄色三级av| 成人怡红院| 97综合久第一页| 超碰狠狠操| 久久人妻熟女一区二区| 亚洲精品一区二区免费在线观看| 亚洲丝袜二区| 成人福利视频网| 久热在线精品免费观看| 中文字幕在线免费观看 | 91黑丝少妇| 欧美极度丰满熟妇hd| 美国精品国产精品| 中文字幕丰满子伦无码专区在线视频最新 | 欧美色亚洲色| 麻豆精品三区视频| 97色欧州| 116美女午夜| 一二三四免费视频| 大香蕉久操| 懂色AV蜜臀无码精品APP| 精品成人亚洲午夜电影| 久久久久久久强迫| 日本综合色图| 日韩性色| 老熟乱一区二区三区四区| 蜜桃精品视频一区二区三区| 欧美性爱一区二区三区四区| 色爱综合网欧美| 日本少妇va7777| 偷拍欧美激情| 美女黄页| 中文字幕国产精品1区| 欧美黄页在线| 98一区二区精品| 青青草日韩无码| 99热66| 99免费在线视频| 欧洲色色| 亚洲男人bt天堂| 久久久久成人蜜桃精品| 日日日日日| 国产后入精品| 欧美综合97www| 国产有码一区| 日韩av熟女一区二区三区成人| 久jiu久神马影院| 蜜臀精品1区2区| 一区中文字幕二区日韩| 啊啊啊不要啊啊受不了了视频在线| 国产精品 午夜福利| 91久久久视| 黑人精品久久97| 久久久久久九九九九九九| 加勒比无码毛片| 国产精品乱码久久久| 91老熟女视频| 女欧美一区二三区|