久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码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
返回資訊列表
啊啊啊啊啊啊好湿好爽视频| 欧美综合亚洲综合| 91成人高清在线观看| 日韩乱伦影音先锋| 精品无码一区二区人妻久久蜜桃| 欧美黑人熟妇精品91| 一,爱啪啪,在线免费视频| 老鸭窝亚洲毛片| 97超碰日韩| 99热精品在线播放| 国产黄色小视频网站| 秋霞曰韩R级| 精品九九九九九九九九九| 操逼A∨| 日本特黄f c2| se..亚洲欧美| 日本九九久久99播| 成人av影院在线观看| 国产有码一区| 激情久久av一区av二区av| 人人澡人人澡人人| 九九热免费国产视频婷婷伊人| 91中文字幕在线观看| 日韩无码成人电影| 久久久久人| 亚洲日韩熟女人妻高清在线| 国产白丝av| 欧美激情综合色综合啪啪五月| 国产多人在线观看视频| 亚洲18禁| 激情干在线| 舔足天天操天天射| 久草电影网| 综合网~91综合网| 激情五月丁香五月| 亚洲自拍天堂| 亚洲欧美人妻| 91亚州| caopeng97| 五月天婷婷在线看| 九九九九精品精| 五十路人妻在线| 美女啊啊啊啊啊啊啊| 3028国产精品| 无码高清操逼网址| 国产精品香蕉| 天天操熟妇| 秋霞男人网| 午夜色婷婷| 亚洲视频1区| 2020久久免费视频| 激情色色| 久久老熟女| 欧美少妇色图| 日韩久久激情精品| 91情色| 成人a级高清视频在线观看| 91九色蝌蚪在线观看| 毛片电影一区二区三区| 久插综合| 情趣丝袜无码操逼视频| 色婷婷丁香五月天| 夜夜操夜夜高潮夜夜爽国产精品区| 欧美色图另类图片| 中文字幕日韩人妻视频一区二区三区| 日日干夜夜操视频h| 五十路熟女工口 | 中文97国产| 9.1小视频| 久久男人精品| 精品九九九九九九九九九| 婷婷爽人人婷婷爽视频| 狠狠综合| 色噜噜国产精品视频一区二区| 大黄片做爱的大的| 97一区二区三区视频| 免费试看60秒| 欧美色图天堂网m| 99热在线观看| 久九干| 精品国产乱码久久| 欧美大香蕉97| 天天激色| 精品久久九| 美女一区二区国产精品| 久久久久久亚洲Av无码| 99亚洲精品| 一级乱伦网站| 中文操逼字幕| 少妇被c 黄 免费观看| 九九九九九精品视频| 日韩在线观看AV| 五月天精品| 丝袜美腿91| 欧美超碰在线| 可以在线观看AV的网站| 日欧毛片久久| 国产91丝袜 在线播放| 成 人片 黄色大片| 中文字幕 码 自拍 视频 区| 人妻激情偷乱视频一区二区三区| 综合熟女| 日本999精品视频| 最新9久久久9免费视频| 久草午夜| 成人午夜无码视频| 亚洲综合校园春色| 91日韩| 欧美色www亚洲国产阿娇要播| 中文字幕精品一区二区精| 欧美日韩国产在线| 78操B| 久久久久亚洲Aⅴ无码| 久热久一区二区三区| 精品对白久久不卡| 一道本东京热加勒比一区二区三区| 久草精品一区 | 国产精品视频| 亚洲美女AV无码| 日本无码1| 亚洲乱色视频一区、二区在线| 欧美性性性| 国产伦精品一区二区三区在线观| 97国产精品一区| 色香蕉影院| 久久男人的天堂| 欧美夜色| 日韩欧美中文字亚洲慕| 免费自拍三级综合| 丝袜制服字幕在线| av亚欧| 天美精品av| 青青草一区二区高清无码视频| 久草网站免费在线观看| q2午夜理论片夜色av| 伊人丁香五月婷婷| 美女天天干| 亚码激情| 亚洲精品第一| 少妇久久久久久| 日韩在线人妻网站| 麻豆婷婷成人一二三| 97在线欧洲| 久久精品国产亚洲AV先锋| 九九精品美女高溯喷水| 91成人久久 | 久久久久久久9最新免费视频观看| www.99中文字幕| 精品免费成人久久| 亚洲情色在线| 女同性恋一区二区三区精品视频| 立川理惠无码一区二区| av爱爱爱| 久久久久久九| 国产精品久久久久久夜夜夜夜| 丁香五月综合| 午夜寂寞欧美| 伦理第一页| 国产视频小说| 久久精品一区| 蜜臀久久一区二区| 91GD.COM| 亚洲成av人片色午夜乱码| 人妻二区| 日韩啊V| 一二三区精品视频| 男人的天堂1024| 日天天九九天堂666| 夜夜高潮夜夜爽夜夜爱爱一区| 日本91白丝| 操逼片中文| 国产乱伦性爱区| 波多野结衣一级视频| 91P0RNY大屁股人妻| 热99re69精品8在线播放| 毛片麻豆91糖心精品毛情片| 天天操人人操骚逼网站| 日欧毛片久久| 青青青草原| 另类欧美色| 日韩综合无码一区久久92| 天天爽天天操啊啊啊| 亚州高清AV| 99re视频在线播放青草| 欧美日韩资源| 久久国产在线一区二区| 乱性AV| 欧美亚洲| 亚洲男人天堂2019| 操穴国产| 人妻日日夜夜精品| 大香蕉综合| 大香蕉欧美国产日韩高潮| 丝袜美女诱惑 91 视频| 1240青青草一区二区三区视频天爱| 无码伊人久久大杳蕉中文无码| 在线欧美69V免费观看视频| 无码抄逼网| 亚洲欧美天堂在线| 欧美日韩人妻精品一区二区三区| 成人国产二区三区在线,男女精品。| 日日躁天天躁狠狠躁| 国产精品久久久久久久无码AV| 免费久久一级毛片大黄| 成人福利视频网| 人妻少妇蜜桃视频欧美一区| 超碰97欧美日韩| 欧美东京热青青草| 乱伦3P视频| 熟女自慰久久久| 天天日天天干天天操| 操逼网站地址| av影院十区| 91日本在线观看| 国产亚热在线久久| 秋霞曰韩R级| 色麻豆AV| 日本性爱网址| 亚洲精品 欧美精品| 屁股久久久久久| 岛国精品视频在线观看| 超碰导航97| 欧美性爱第一页久久| 久久欧美性爱视频| 91日韩网站| 欧美麻豆成人同性GⅤ在线| 国产风韵犹存熟妇三区| 色综合尤物| 欧美91久久久久| 国产精品自在线发布| 亚洲色情在线影视| 国产激情久久久| 狠狠操,使劲操| 欧美操逼视频二区| 亚洲啪啪性视频| 激情在线青青操| 久久夜色一区二区| а√天堂资源官网在线资源| 中文字日本乱码| 欧美性爱91| 伊人网在线点播| 欧美色偷拍| 一级黄色视频网| 亚洲影视高清第一页| 色情五月丁香| 精品人妻一区二区视频| 色噜噜国产精品视频一区二区| 亚州色站 日韩电影| 色y情视频免费看| 国产乱不卡| 亚洲图片欧美制度| 色五月亚洲| 久久综合资源一区二区| 亚洲成人ab| 亚洲淫色网中文| 小草三级久久观看| 免费A V在线播放| 久久精品一区二区三区四区五区| 呻吟 欧美 日本 中出| 夜夜高潮夜夜爽高清视频一 | 精品无av| 国产丸一视频| 欧美在线55555| 99热精品国产| 中文字幕97色| 青青草久草AV| 日本免费一区二区不卡 | 色综合久| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 久草免费在线视频| 亚洲天天在线| 久久人人爽爽人人爽人人片αV| 91搡老女人老妇女老熟女歌词翻译| 97视频新免费| 91热色| 97视频在线免费| 久久久久久免费电影| 中文区中文字幕免费看| 91丨国产丨白浆秘 洗澡动漫| 精品视频一二三中文| 96超碰网| 啊啊啊好多水| 亚洲精品国产日韩无码AV永久免| 一级黄色视频网| 欧美一区二区观看在线| a人欧美综合天堂麻豆| 久久久久久大| 黑人粗大V S日韩女优视频| 少妇熟女视频一二三区| 国产91亚洲精品一区二区三区| 成年无码动漫av片无尽在线| 中国一级特黄大片护士| 亚洲国产第一页综合视频| 国产suv精品一区二区四| 国产精品在线一区二区| 日韩欧美亚洲自拍偷拍| 久久婷婷综合国际产色怕| 91色艳| 国产AV人人夜夜澡人人爽麻豆| 亚春色色| 日韩精品中文字幕一| 五月天婷婷综合| 久久久久久91香蕉国产| 日韩综合色图| 五月丁香色婷婷| 日日AAvv| 久久精品一区二区三区不卡| 国产精品久久久久婷婷二区次| 丰满人妻一区二区三区四区| 九九色色| 思思热一热婷婷热一热| 久9久9精品| 国产suv精品一区二六| 99久久久久久久久| 男人天堂久久精品不卡| 超碰免费人人| 久久久四区| 超碰av在线| 黑人精品久久97| 欧美一级久久久丰满| 少妇与黑人高潮在线| 99无码狠狠久久| 天天综合精品| 思思热国产高清| 精品人妻1237| 欧美日韩在线国产在线| 天美传媒婬乱在| 亚洲少妇色图自慰直播| 亚洲暴力强奸AV| 97国产精品久久久久| 国产黄片精品在线| 亚州精品人妻一二三区| 日本色色色| 国产美女销魂在线观看不卡| 五月天加勒比啪| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 国产精品久久久久无码Av网曝门| 中文字幕精品久久久久人妻红杏ⅰ| 色官网色综合| 日本爽爽爽爽爽爽免费视频| 韩日精品福利视频一区不卡在线免| 风流老熟女一区二区三区l| 蜜臀一二三区| 曰韩欧美国产传媒麻豆第一区| 国产精品一区二区a| 东京热熟女亚洲视频网站| 欧亚乱色熟女一区二区| 欧美加勒比| 97资源站久久| 大香蕉综合久久| 色综合天天| 翔田千里A片一区二区| 久久香蕉综合一本到3atv| 天天看片天天爽| 免费成人在线熟妇网| 超碰1997| 91成人社区| 亚洲一二三四区| 国产极品精品美女视频| 国产一级内射无挡观看| 欧美天天插| 国产粉嫩蜜臀av一区二区三区| 久久精品一区一起草| 无码九九| 9118禁| 亚瑟国产精品久久无码| 天天爱天天操| 久久久久久人| 日产欧美电影一区二区三区| 加勒比久久av| 午夜精品久久久久久久99热影院| 大香蕉久久| 强奸乱伦大香蕉| 91中文字幕| av天堂加勒比| av 模特一区了| 九九玖玖精品| 婷婷五月天补不补| 欧美日韩香蕉| 99re公开精品免费视频| 性爱网站一区二区| a亚洲欧美色欲| 国内伊人久久久久久网站视频| 亚洲色图 综合| 日日干男人的天堂| 91真人天天在线| 欧美亚洲激情小说| 97精品一二区| 欧美大香蕉97| 99久久com免费视频′| 一本久道久久综合狠狠爱| 午夜精品探花| 国产福利第一视频| 丁香六月激情综合| 99色热| www.久久| 青青青国产| 久久日韩毛| 久久手机好看网站| 美女久久久久久久| 经典丝袜一区| 妇女乱色二区| 97超碰大| 99久久亚洲精品无码毛片潘甜甜| 26UUU欧美日本| 黄色片A级一区二区三区| 欧美狠狠干| 男人天堂网站| 人人操人人干网页| 国产精品宅男免费| 爽 好舒服 无码刺激久久| 狠狠五月天| 97国产超湿| 日韩AV色图| 久偷拍| 中文字幕乱偷人妻久久艾草网| 中文字幕一区二区三四五区日日骚| 中文字幕视频免费| 久久亚洲一区女同性恋中文字幕| 久草这里只有精品| 色色毛片| 思思性爱| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 欧美精品69性爱| 亚洲欧美一区二区网址| 在线观看黄色电话| 久久久A∨| 蜜桃视频一区二区三区在线观看| 老熟妇一区二区三区啪啪| 日韩91网| 香蕉热人人精品| 久久久久久AⅤ无码免费肉站| 能看的AV| 天天看综合网| 色哟哟AV| 操B视频日韩无码| 国产三级多多影院2022国产AA一级毛片无码| 欧美精品1区2区3区| 情色日播放AV| 草B在线| 四虎国产精品永久入口| 国产成人综合网| 成人色女网| 亚洲操操操无码| A级国产欧美激情在线| 亚洲人妻中文高清| 97亚洲资源| 国产激情在线| 狼狼色丁香久久婷婷综合五月 | 蜜臀在线网站| 中文字幕一区二区日韩网| 久久久久婷婷| 中出后入| 丰满人妻一区二区三区四区| 懂色综合久久久| 蜜桃臀久久| 国产大陆天天艹| 资源在线观一 二| 亚洲一二三四区在线免费看视频| 日韩超碰97| 日本久久天堂| 99青青草国产视频| 亚洲AV成人精品网站在AV| 先锋精品av色鲁| 91日日夜夜| 久久五十路熟女人妻| 色综合中文字幕不卡| 九九热av| 一区二区日韩欧美久久| 欧美色图20P| 中文字幕精品资源在线| 欧美国产操逼| av日韩在线观看电影| 国产精品久久久777| 无码精品久久久久久亚洲| 人人天天欧洲| 97 色综合| 免费观看的黄色的网站| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 在线观看高清AV| 欧美 青青草| 三级日韩一区二区三区| 国产婷婷一区| 中文精品一区二去| 91操人| 日韩亚洲中文有码视频| 熟女高潮合集-永久久久-成人AV| 国产成人bd在线观看| 加勒比五月天| 青青草天天亲夜夜操网| 超碰97综合网| 九九成人视频| 亚洲九九九| 中文字幕片| 亚洲AV无码翔田千里网站| 久久日本熟妇熟色高清 | 91红杏| 日韩精品在线视频在线观看| 影音先锋一区二区在线资源| 激情网色| 亚洲国产中文字幕| 91狠婷| 亚洲欧美日韩偷拍色图| 欧美少妇高潮久久91| 伊人五月天激情| 欧美综合狠| 六九九九| 亚洲男人久久综合天堂| 黑人粗大V S日韩女优视频| 第一高清av中文字幕| 日语五十路和六十路亚洲国产精品 | 大香蕉啪啪网| 国产精品露脸在线观看| 亚洲极品| 国产自产91区13区| 亚洲精品无码成人久久久99| 舔人妻中文免费视频| 久热69九色熟妇97| 巨爆乳一区二区爆乳区| 密臀在线视频| 亚洲色图国产另类| 超踫中文字幕| 精品伊人久久久大香线蕉小说| 久久香蕉国产线看观看亚洲女人 | 99e久久国产精品| 一级免费精品| 亚洲综合性感在线| 中国亚洲呦女专区| 成人a大片在线观看| 欧美高清91| 校园春色中文字幕AV| 久操热| 影视综合无码少妇| 国产91丝袜 在线播放| 人妻大相焦在线| 99久久九九| 日韩人妻制服丝袜av| 性夜影院爽黄A爽免费动漫| 偷拍片久久| 国产性感骚丝袜在线| 久久99午夜精品一区人妻| 97精品国产| 国产又长又大又粗的视频| 18精品一区| 婷婷丁香五月激情啪啪| 岛国网址国产 | 国产女主播视频在线观看| 真实高潮91| 伊人五月天| 免费A V在线播放| 两女互慰AV高潮喷水在线观看| 超碰色大香蕉| 青青草综合在线| 欧美大色交| 久久日本熟女精品一区| 大香蕉99热| 91色女| 国产丝袜视频| 人妻AV 中文字幕的| 入口操逼网站| 中文字幕精品区先锋资源| 五十路六十路七十路熟婆| 操逼A∨| 蜜臀在线视频| 国产在线综合福利网站| 久久超碰国产一区二区三区| 婷婷色综合欧美日韩| 人妻欧美| 极品销魂美女一区二区 | 久久人妻| 亚洲阿v天堂在线| 国产精品久久久久久久久久久久| 黄页av| 神马午夜久久| 69XX一中文字幕人妻91| 五月丁香六月综合缴清无码 | 亚洲婷婷丁香在线| 亚洲人成网站7777| 涩涩涩综合| 18啪啪手机免费性爱| 嫩草影院性色| 婷婷亚洲色| 九九九九九九九精品视频| 五月婷婷综合网| 亚洲AV无码天美传媒一区| 95精品在线| 97硬碰| 经典丝袜一区| 精品乱码在线观看| 伊香蕉综合久久久久久久噜噜噜 | 天天看,天天做| 婷婷五月色| 东北女人av| 亚洲色图国产另类| 久草毛片| 五月丁香黄色网| 国产精品一区午夜福利| 亚洲第一在线视频| 日本一区三级韩国| 九九九九免费高| 99re99在线视频| 婷婷色综合欧美日韩| 国产成人午夜视频网址| 色999亚洲人成色| 18精品一区| 久久成人午夜狠狠| 爱爱动态60秒| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 午夜视频久久久久一区| 玖玖资源综合在线视频| 盗摄 精品 另类 一区| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 国产无马视频| 97香焦色区| 国产第二页| 丰满人妻区一区二区三| 国产最新小视频在线播放下载| 久精品无码av一区二免费国产在线观看 | henhen91| 国产极品美女高潮无套在线观看| 六月丁香久久| 啊啊啊好大好湿| 欧美色视| 亚洲AV无码成人精品久久| 暖暖精品二区三区观看| 中文字幕午夜精品久久久| 国产三级在线现体验区| 开心激情婷婷| 大干人妻| 一级特级aaaa毛片免费观看| 久久亚州高清| 久久超碰网| 亚洲欧洲网站免费观看| 夜夜 中文视频rt| 欧美乱伦专区| 亚洲天堂综合AV| 九九久久国产精品怡红院| 国产又黄又粗的视频| 97天天爽| 欧美精品97| 午夜男女爽爽爽在线视频| 麻豆 欧美 日韩| 久久男人天堂| 丁香六月婷婷久久综合| 2019男人的天堂| 伊人五月天激情| 嗯嗯啊啊视频一区二区三区| 青青操网| 午夜天堂精品久久| 亚洲欧洲日韩中文字幕一区| 五月天色图| 欧美桃色网| 网页导航五月天免费一二三区| se,,,亚洲欧美| 五月天久久综合网| 啊啊啊97视频| 亚洲,日韩,欧美,成人播放| 91操人| 天天综合网日韩| 亚州色图第三区| 大香蕉伊人75| 国产女人成人精品视频| 天天天干977| 色999亚洲人成色| 少妇天堂| 青青草在线成人视频| 一起草高清无码| 97 亚洲 日韩 欧美 在线| 亚洲黑人在线| 欧美一二三区四五区| 久久系列| 秋霞一区二区三区四区五区六区七区| 亚洲,日韩,欧美,成人播放| 久久久久久91香蕉国产| 午夜视频好爽啊| 天天操熟妇| 超碰人人干| 国产精品操| 欧美97视频| 婷婷中文网| 人妻熟女一区二区三区视频| 97WW精品| 亚洲精品毛片在线观看| 亚洲情色 无码专区| 久久久久9999| 亚洲国产成人7777| 锕锕好爽 死我在线观看| **一级毛片国产| 夜夜欢天天干| 91国产美女丝袜足交精品视频| 日韩亚洲国产视频| 久久蜜桃一区二区| 18一区二区三区| 操逼片国产| 久久女人| 欧美A√综合网| 秋霞视频一区二区| 亚洲午夜未满十八勿入网站日本又色又爽又黄| 亚洲色图国产另类| 精品人妻伦一二三区久久| 亚洲精品国产精品成人| 任你干在线视频| 日韩有码免费视频| 99色热国产视频精品| 色97欧美| 性性久久| 日韩人妻精品久久久久| 日韩精品在线视频在线观看| 超碰色图| 操逼999| 精品超碰国产| 岛国色情视频在线观看| 97操97色| av一区二区三区 中文| 国产无遮挡| 亚洲欧美日韩精品久久久一区二区| 日日摸日日弄日日拍| 日日日啊啊啊| 五月婷婷激情综合| 乱伦a片视频| 91亚洲人| 超碰97网址| 天天综合AV| 一个人免费HD91视频| 欧美片第一页| 亚洲情色 欧美| 操逼无毒无码免费视频| 国产suv精品一区二区四| 9999久久久久| 免费作爱一级视频| 久久首页| 天天插网| 美欧色综合| 97资源站国产精品| 999熟女精品| 精品然女一区二区| 91人人看| 蜜臀久久99精品久久久老,,| AV九九| 国产精品亚洲一区二区三区四区 | 午夜大香蕉| 日韩,欧美,中文在线| 日韩精品中文字幕一| 欧美激情性久久久久久| 欧美大波激情xxxx| 日本欧美中文字幕| 久久久久九九九| 欧美黑人熟妇精品91| 亚洲天堂电影网99999| 天天色踪合| 18禁久极品美女久久哦哟呀!| 国产精品久久久777| 精品人妻夜夜草| 青青草视频久久久久| 久九九九九九九热| 国产60区。| 综合色拍| 成人一级二级| 极品人妻少妇综合| 欧美精品系列| 日韩射精| 国产乱伦亚洲色图高清无码| 欧美偷拍区| www.yeyecao| 久久毛卡| 探花精品视频| 天天操夜夜嗨| 日韩在线观看中文字幕视频| 99热综合| 97操97色| 伊蕉97蜜桃97狠狠综合干 | 美女午夜福利免费视频| 亚洲第2页| 日本操大逼| 午夜精品探花| 久久久草成人网站久久久草成人久久久草久久久 | 国产精品青青草| 青青草久久一区网| 欧美黄色图片| 黄站在线免费观看| 97亚洲在线| 国内亚洲高清无码| 久久久国产亚洲精品系列| 在线视频日韩欧美国产| 一二三区在线| 亚州色图欧美| 日本ZZ高免费A级视频| 91人妻在线视频| 日本精品网站在线中文| 91强奸乱轮| 久操B网| 日韩激情视频| 天天综合中文字幕 91| 亚洲乱色熟女一区| www.人人cao| 日韩国产品视频中文字| 日韩欧美水蜜桃人妻| 亚洲欧美色图片| 26uuu性| 九九九九久久久| 91AV天堂| 婷婷五月天激情四射| 欧美一级久久久久久久大片动画| 67914亚洲精品| 欧美日韩亚洲电影| 亚洲色图一区二区三区| 三级网色| 中文字幕丝袜人妻| 99这里只有精品| 无码精品久久| 亚洲综合色网| 裸体1区| 26UUU欧美日本| 综合激情婷婷| 啊啊啊操死我了| 国产亚洲精品无码三区| 欧亚洲精品有视频| 高清孕妇孕交 交孕妇| 100啪啪视频大全| 亚洲熟妇图片| 超碰诱惑| 午夜久久无码1000合集| 玖玖综合色| 啊啊啊免费视频| 操逼国产免费| 久久久专区| 色欲天天婬色婬香WWW夜色| www激情| 一区二区亚州激情久婷婷欧美| 久久久久亚洲Av无码专区老牛影视| 大香蕉五月天婷婷| 久草老司机| 日本三级一区二区 在线| 少妇与黑人高潮在线| 亚洲图片激情小说| av午夜影院在线播放| yy少妇精品久久| 丁香九月 婷婷| 久久伊人网视频一区二区三区| 97中文字幕九区| 国产免费永久精品无码| 综合亚洲网| 久久人人爽人人爽人人片Ⅴ| 亚洲欧美在线综合| 精品午夜福利国产一区二区在线观看| 四虎永久在线精品免费网址| 人人摸人人舔一区二区| 亚洲高清无码AAA久久久精品| 老女人老91妇女老热女| 天天做日日做| 欧美日韩国产人人| 日韩熟女操逼| 国语人妻精彩刺激| 综合网久久| 韩国一级做A片免费的| 1区2区3区视频| 精品无码一区二区三区| 四虎精品永久在线观看| 第二页中文字幕| 日韩天美| 蜜臀th| 精品国产乱码久久久久久口爆网站| 久久宗合亚洲| 国产真实野战在线视频| 亚洲男人天堂视频| 日韩三级一区| 欧洲性爱无码区| 亚洲限制级| 日美免费黄片| 日韩啪啪视频| 久久久久久91香蕉国产| 少妇无码av专区线| 亚洲图片 欧美电影| www.婷婷| 亚洲精品三区在线观看| 少妇人妻激情四射| 中日韩熟女| 五月天婷婷社区| 性色中出| 天天躁日日躁成人字幕aⅴ| 色香欲天天天天综合色| 人妻啊啊人妻啊啊| 老熟女搡BBBB搡BBBB视频| 午夜精品人妻二区三区| 精品国产久热在线观看| 亚洲国产精品无码AV久久| 欧美另类自拍| 久久婷五月| 日韩性爱视频在线免费观看| 中出在线视频| 欧美最婬乱婬爆婬性视频| 亚洲精品国产熟女| 欧姜老司机| 久久久久久久久久久久黄色 | 日韩国产中文字幕| 国产家庭乱伦表演| 人妻美腿丝袜日韩| 曰本熟女视频| 婷婷五月天成人网| av强奸乱轮| 精品99999| 大香蕉色十月| 1769精品一区二区三区| 九九热精品视频六| 色欧洲97| 欧美性,亚州色| 久操不卡视频| 日本激情免费大片| 人人操人人93| 男人的天堂1024| 啊嗯嗯啊好大好爽| 99re不伦| 亚洲AV无码天美传媒一区| av在线免费一区二区| 成人性爱免费播放| 午夜精品久久久99热蜜桃的功能特点| 打av高清| 超碰亚洲欧美日韩无| 亚洲古典另类欧美在线| 日本精品网站在线中文| 一起草视频在线| 欧美精品欧美精品系列| 91丝袜美腿片| 无码视频一区二区| 亚洲人妻熟妇三十三区| 婷婷尹人大香蕉免费| 婷婷丁香五月激情啪啪| 91国产丝袜白虎| 东北女人操比视频| 热久日综合| 嗯~啊~快点 死我视频| 国产在线76页| 99热这里是精品| 久久久久国产无av| 五月丁香色色网| 日本熟妇人妻中出视频| 色嗨嗨在线| 亚洲天堂一区二区久久| 偷拍盗拍亚洲色图图片| 蜜臀99久久精品久久久久久| 欧美丰满少妇交换91欧美精品| 女上位精品在线| 中文字幕文字幕无码一区二区三区电影99| 欧美第38页| 久久精品免费| 中文字幕制服欧美久久一区| 国产 无码 一区二区| 97国产高清视频在线观看| 黑人嘿嘿嘿超爽免费视频| 日韩免费大片一级播放| 亚洲成熟国产精品美女| 啪啪资源网| 亚洲欧美日韩综合在线尤物| 久操婷婷| 五月天婷婷欧美三区| 99丝袜福利在线播放| 蜜色网色哟哟| 亚洲精品骚逼| 搡老女人老91妇女熟女| 伊人在线大香蕉二。| 九久久九九久视频| 青青五月天| 麻豆天美91| 天天操人人操狠狠插| 影音先锋视频在线| 天天操女人| 蜜桃久久久久久| 久久大陆| 欲香欲色综合天天伊人| 精品午夜福利| 国产隔壁老王影院在线| 欧美成人一区二区三区在线播放| 国产剧情AV不卡在线观看| 久99| 东北黄色电影| 曰韩少妇无码| 九九久久久| 综合影院永久入口国产| 中文字幕精品一区欧美| 亚洲超碰AV| 国产黄a三级三级三级av在线看| av一区二区三区 中文| 草b在线| 男女性扦B| 亚洲久9| 一区二区三区黄色片a| 成视频在线观看免费看| 久久综合久久综合人久久夜精品| 91日产欧美| 九九五月天| 成人一级性爱| 3571色综合一区二区二区| 91新在线欧美| 日本大香蕉综合网红本杳社区| 国产农村妇女毛片精品久久| 俺去啦俺来也久久综合| 三级特黄60分钟播放| 狠狠操夜夜操蜜桃视频三区| 久久精品视| 丁香九月婷婷| 日本网色| 大香蕉综合在线| 草久在线| 久久精品店| 亚洲,欧美,春色,另类| Aa东京男人的天堂| 色在线综合| 99热这里是精品| 校园春色宗合网| 精品三级在线专区| 国产无套粉嫩白浆在| 曰本人妻人人澡人人夹| 欧美不卡二区| 91网站18在线观看| 亚洲在钱| 99色热国产视频精品| 麻豆亚洲Av成人无码一区精品| 久久精品高清无码一区| 国产91av在线播放| 九九久久99| 亚洲性综合| 欧美aa一级片| 肥臀熟女福利视频一区二区| 97碰碰色| 精品久热| 国产又长又大又粗的视频| 欧美精品99久久久**| 色婷婷综合久久久久中文一区二区| 噜噜噜亚洲精| 999国产精品999| 蜜臀av中字字幕网站| 97综合在线| 97色冈| 欧美在线啊啊| 偷拍欧美综合| 99久久99久久免费精品蜜臀| 久久老子无码午夜伦不卡| 日日日日做夜夜夜夜做无码97| 先锋色眉乱伦资源| 激情终合网| 日逼视频日本| 91超碰碰在线| 欧亚性爱在线视频| 天天色怡春院| 99色网| 91人妻视频在线| 亚洲无码超碰免费| 无码91| 自拍偷拍国产欧美日韩韩| 色情亚洲日本成人| 五月天婷婷在线看| 亚洲色91C| 综合操逼| 亚洲熟女偷拍在线观看| 亚洲av无线观看| 四虎免费在线播放| 亚洲夜夜欢无码一区二区 | 亚洲色图欧美色图日韩色图| 欧美曰韩国产精品| 国产一国产一级毛片古装| 欧美亚洲性爱一区二区| 91精品亚洲内射孕妇| 极品内射| 嫖老熟女A片一二三区| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 屁股久久久久久久久久| 操少妇很爽av| 熟女这里只有精品6| 欧美综合传媒| 巨爆乳肉感一区二区三区竹菊影视| 青青青青青手机视频| 欧美综合加勒比在线| 少妇啪啪自拍| 91久热| 国产日本熟女顶级一区二区三区视频| 懂色Av| 亚拍在线| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 乱论91| 午夜传煤十二区精品| 天天看天天综合成人网| 老熟女搡BBBB搡BBBB视频| 伊人久日| 亚洲伊人久久精品狠狠在线| 老熟女乱伦一区| 国产自偷| 蜜桃在线观看一区二区三区 | 午夜AV人气不卡| 亚洲人码13| 毛片中心9视频99| 色乱二区| 日本视频在线中文字幕| 天堂亚洲精品久久老牛| 久久精品欧美一区蜜桃| www..com操老师| 欧美成97爱| 久草男人天堂| 天天操狠狠日夜夜干超碰撸com视频在线观看| 久久午夜色播影院免费高清| 人妻激情在线视频| 射 色综合| 国产91精品福利在线| 免费操逼91| 久久精品无码熟妇一区二区三区视频导航| 欧美夜夜狠| 色爱三区| 在线看的av| 久久久久久久9| 天堂av最新电影网| 裸体1区| 亚洲AV无码天美传媒一区| 欧美网站免费| 欧美日本中字另类在线| 人人妻人人爱人人玩| 免费国产| 嗯嗯嗯啊啊啊干死我吧| 中亚精品极乱| 91站街按摩店老熟女熟女| 人人看欧美性爱| 91精品国产91综合久久蜜臀| 97人妻人人躁人人玩人人| 后入人妻一区| 人妻乱仑一区二区三区| 被窝影院午夜看片无码| 日韩精品 欧美激情| 射丝袜大香蕉| 人妻一区久久二区三区色播| 日本久操视频| 六九九九| 五月丁香婷婷综合| 日韩性爱网址| 国产精品自拍欧美在线| www.久久制服糖| 三级精品三级在线观看| 老熟女91| 日本综合色图| 国产精品在线免费| 美日韩一二三区| 天天综合影院91| 吉田爱美AV在线| 少妇69中文| 动漫区日韩区欧美区| 久插综合| 欧美色图下一页| 男人天堂黄片| 日韩精品第3页| 91熟女综合| 台湾肥佬网一区二区三区| 毛片中心9视频99| 中文字幕国产精品1区| hd成人一区二区在线| 欧美性爱三区二区| 天堂中文资源在线bt| 青青操轻轻| 国产黄色av大片网站| 3p国产欧美99热| 色婷婷av在线观看| 久热9| 97AV爱| 久久一二三四不卡 |