日韩精品一区二区三区在线视频放-无码中文字幕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
返回資訊列表
а√天堂资源官网在线资源| 国产午夜精品一区二区三区牛牛| 少妇久久久久久| 天天香香欲综合| 中文字幕av亚洲在线| 精品九九九九| 91亚洲网站| 青青草玖玖爱| 天天日日本| 天天天天操| 秋霞成人一级在线观看| 97这里只有精品| 亚洲综合色图欧美| 加勒比av网| 精品一区二区三区最新| 爱射综合| 久久麻豆一区二区| 90后性网国产欧美| 99精品欧美一区二区三区桃色| 久久久久极品| 国产日韩中文字幕欧美| 色777999综合| 欧洲一区二区| 激情小说亚洲色图| 欧美色图91| 青青操视频在线| 亚洲美欧999| 一区二区三区 丝袜高跟| 五月天婷婷基地| 青青操狠狠撩| 久久久久久AⅤ无码免费肉站 | 日韩综合色网| 97超级色碰碰| 亚洲一区二区av| 丝袜视频网国产90| 国产精品夜夜夜| 91欧美美女日韩国产婷婷| 九九热免费国产视频婷婷伊人五月 | 久久久久性熟视频| 亚洲色图久久成人| 亚洲少妇诱惑| 女人一区| 国内外激情在线| 欧亚 另类 久| 香蕉综合网| av中亚| 超碰97久久| 欧美超碰97| 国产老太乱伦一区| 欧美性爱91| 天堂无码精品国产久| 欧美黄片免费在线观看视频| 无码WWW免费视频网站| 国产www色在线观看| 国产精品探花色| 很黄很色的视频在线观看| 少妇一区二区三区高速| 国产视频一区二区三区久久亚洲天堂| 色婷婷狠狠18禁| 国产99 中文字幕日韩小视频| 国产专区第一页| 国产高潮AA片免费看| 丁香五月成人| 色制服丝袜夫妻av一区| 99999久久精| 福利视频合集| 婷婷色导航| 青青草在线成人视频| 欧美中文字幕一区 | 东京热,男人的天堂| 大香蕉丝袜一级片| 韩国一区二区精品亚洲| 国产精品电| 九九亚洲| 大地资源在线观看中文第二页| 大香蕉乱伦视频网| 免费农村成人少妇人妻Aa一区二区视频 | 国产呦精品系列在线观看| 日日噜噜夜夜狠狠视频无| 九九黄色视频在线观看| 嗯嗯啊啊视频一区二区三区| 天天澡天天爽日日AV| 国产AV无码AV| 综合网久久| 夜夜做夜夜爽精品视频| 欧美18老人禁| 后X久久| 久操av在线| 亚洲无码视频免费在线观看网址!| 久久性爱视频免费看| 国语国产操逼伊人AV网| 激情露脸爱| 亚洲精品蜜桃久久久| 色视频蜜乳| 国产精品老师| 伊人九九| 妺妺跟我一起洗澡没忍住| 操操操操操操| 中文字幕蜜乳av| 97人人模人人爽人人| 99久久综合| 啊啊啊啊啊在线| 熟女人妇一区二区三区| 亚洲图片 激情小说| 亚洲三级。日韩三级| 人妻干天天| 99热97| 99少妇| 色噜噜精品一区二区三| 国产91专区| 国产精品呦一区二区三区| 人人澡人人爽人人精品| 91美女在线观看| 99色婷婷| 欧洲综合色| 日本韩欧美在线播放a| 日日AV加勒比| 午夜一级免费毛片| 加勒比人妻综合| www.久久制服糖| 自拍丝袜美腿人妻| 亚洲性爱成人| 欧美少妇高潮久久91| 一区二区三区高清天码| 超碰综合色| 手机在线A片| 国产又大又粗又长视频在线| 色爱三区| 国产呦精品系列在线观看| 久久久人体| 一中国女人毛片水真多| 亚州欧美一区| 97精品视频| 最新一二三区视频| 国产中文大片资源中文字幕| 丝袜色综合| 日本理论在线| 亚洲人成网站7777| 亚洲人妻日日日| 伊人久久婷婷| 97精品熟女少妇一区| 大香蕉日亚洲日本亚大| 东京热激情视频一二三区| 日韩精品中文字幕人妻| 熟女久久| 又黄又粗又硬又长又大| 中国一区二区亚洲人妻| 久久久无码精品人妻二区| 人人喜人人妻| 色色香蕉| 超碰地址久久| 日本欧美色| 亚洲强奸乱伦影视网| 色图综合| 日本男人天堂| 亚洲综合99999| 丁香五月天社区| 97操| 97超碰中文字幕| 久久极品伊人| 激情久久av一区av二区av| 91制服丝袜| 色综合潮| 大香蕉五月天婷婷| 国模私拍一区二区三区神乳| 这里只有97精品| 亚洲第一色页夜| 日韩乱插| a一区二区三区乱码在线| 偷拍网站久久男女男| 国产一区二区三三视频| 久久这里只| 啊啊啊啊二区好大| 99超级碰免费视频| av在线一区二区三区| 啊啊在线| 日产123区精品免费观看| 激情丁香五月| 13小男生GAY自慰脱裤子| 久久久少妇诱惑精品视频| 久操视频免费在线观看| 岛国片在线观看视频亚洲| 国产午夜精品理论片a大结局| 老熟女区| AV一二区| 五月婷婷色| AV污污污污| 欧美成人一级麻豆| 久久久久久波多野吉衣高潮| 开心五月婷婷| 国产女生在线| 无码免费精品高清| 天天看天天在线精品| 搡老女人老91妇女老熟女| 亚洲色图欧美另类在线| 亚州综合AⅤ| 尻女朋友一夜| 先锋精品av色鲁| 囯产乱伦一区二区三女| 久久欲| 啊啊啊啊网站| 福利视频香蕉免费一区二区在线| 9997se| 色拍偷亚洲| AV一二区| 91伊人影视综合| 92福利社视频| 女人妻一区| 一区二区偷拍拍视频| 五月天婷婷小说| av资源在线观看少妇| 一起草日韩| 热无码中文亚洲H一道本一区二区| 哑洲在线| 天天综合网合集91| 热G综合热G中文| 秋霞无码av鲁丝片一区| 国产成人精品必看 | 日本媚薬中文字幕在线| 97超碰香蕉| 国产午夜在线观看| 亚欧高清| 中文字幕性感少妇av| 欧美强奸乱| 欧美日韩一区二区三区四区蜜桃| 熟妇的味道HD中文字幕| 日韩激情啪啪啪| 放黄片放3级黄片没穿衣服| 神马午夜久久| 操逼网站网站| 天天弄天天操| 91人妻尻屄视频| 亚洲综合一区二区| 天天爽天天爽| 啊好爽受不了无码| 手机久操欧美综合色码| 色吊丝 日日骚 清纯唯美| 国产精品乱码久久久| 乱人乱色一区二区三区免费 | 亚洲综合首页| 一级黄色视频网| 色五天伊人| 无码聚合| 97香焦色区| 欧美性,色九九| 大屁股熟女一区二区三区| nuu12国产麻豆精品| 亚洲欧美骚| 眼镜人妻101.com| 欧美黄片欧美黄片xxx| 超碰国产在线| 美骚妇av高清在线| 色97欧美| 永久免费av无码网站国产app| 免费AV中文网在线观看| 国产无码精品高清| 色五月婷婷五月天| 日韩 成人 有码| 国产精品农村妇女精品| 国产精品露脸在线观看| 国产极品一区二区三区三州| 日本裸体久久色噜噜| 欧美性生活内射| 青草精品视频日本久久久久网站在线| 欧姜老司机| 国产日韩区| 五月天色色网站| 91狠狠色丁香婷婷综合久久精品| 色五月69夫妻| 色狠狠一区二区三区香蕉| 在线免费观看高清无码视频| 天天干天天燥| julia在线观看久久| 超碰欧美97资源| 伊人网免费视频| 亚洲最大无码中文字幕网站| 国产天天看| 91天天爽| 老司机老司机午夜影院| 一区 欧美 日韩 麻豆| 92大香蕉| 欧美黄色片AAAAA| 精品国产嫩穴视频| 色欲久久99国产精品久久久久久| 欧美性爱视频免费一区一A| 亚洲熟妇乱女区二区三区| 精品国产乱码久久久久久免费| 欧美天天射| www黄片免费看com| 国产风韵犹存熟妇三区| 国产精品人人爽人人做可爱福利| 一起草精品人妻| 伊人色综合欧美| 日韩av无码网站| 亚洲日产专区| 九九九精品美女| 婷婷久久五月| 激情另类激情| 国产女性无套 免费观看| 欧美日韩系列| 九九色色| 国产精品直播在线观看直播| 亚洲欧美日韩有码| 一线黄色免费性爱片| 秋霞男人网| 强奸国产精品视频| 97 九色| 日本精品网站在线中文| 香蕉av一区二区三区| 91人妻最真实刺激绿帽| 美女网站黄页| 中文字幕精品一区二区精| 鸥美极品| 五月天色色色| 一级性爱视频免费观看 | 美国aaaaa一级黄片| 囯产精品强| 少妇高潮对白在线观看| 欧美人妖内射| 日韩97视频!在线| 色姑娘综合网| 91l欧美在线| 丁香五月综合| 亚洲欧美清纯| 欧美最婬乱婬爆婬性视频 | 亚洲超碰AV| 久久久精精精| 欧美白嫩在线放| 另类小色呦| 天天日天天干天天摸天天操| 色婷五月天| 国产又色又粗又黄又爽| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 欧州一区二区三区四区| 欧美另类天堂| 青青草在线成人视频| 国产黄色视频久久| 自拍第一页| 99爱精品| 中文字幕中文字幕一区二区| 啊啊啊啊嗯嗯在线久久久| 黑人中出21连凳花野真衣| 日韩欧美tv一区二区在线观看| 欧美视频激情久久久久久| 午夜福利视频在线一区| 亚洲精品一二牛牛| 竹菊一区二区三区AV线| 动漫片子网站3黄| 探花激情视频| 日韩激情毛片一级久久久| AV男人天堂网| 亚洲天堂自拍| 又黑又大又粗| 日本三级R| 欧美人人曰人人操人人射射| 蜜臀中文无码午夜| 一区,二区,三区视频| 日本午夜福利影院| 熟女乱伦A| 肥佬影院91| 日韩美女高潮喷水视频| 天美一二三在线观看Av| 婷婷激情四射| 18禁精品网站在线看| 九久9精品| 欲色啪| 91伊人大香蕉| 亚洲情色婷婷五月天| 国产伦乱91| 久久久久亚洲AV无码专区少妇| 九九久久久| 999熟女精品| 国产精品第二页| 久草久热| 啊啊啊啊嗯嗯嗯用力好爽| 国产99久久99热这里只有精品15 | 午夜性生活av免费在线看| 91熟女.com| 最新av在线| 91女网站| 69视频福利导航| 久九九九九九九热| 超碰97欧美在线| 神马福利久草| 色九九九九久| 3571色综合一区二区二区| 国产乱码精品一区二区三区四川| 免费αV在线视频| 91无码西班牙视频在线| 91欧| 久夜视频| 91视频精品| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 十八禁的黄污污免费网站| 国语对白露脸XXXXXX| 精品国产乱码久久| 在线视频97| 97超碰超碰| 97精品视频| 999久久久国产精品| 97Ai亚洲| 欧美一级在线观看成人| 在线观看亚洲成人精品| 99老司机精品视频在线观看| 精品视频在线观看| 18禁止看精品中文字幕| 精品国产一区二区三区四区在线看 | 日韩黄片影院| 国产av又色又爽又黄| 久操视频资源站公开| 92午夜免费福利视频| 亚洲精品三区在线观看| 人人天天欧洲| 免费久久9999| 一区二区播放| 日本人妻最新在线中| 思思久热在线精品66| 久久线上视频免费看| 国产乱伦视频污| 国产高清吃奶免费视频网站| 破苞ⅩXXX性无码动漫无码| 天天干,夜夜爽| 台湾佬激情综合| 精品国产一区二区三区久久久蜜臀| 爱爱动态试试看6 0秒| 神马影院午夜福利久久久| …中文字幕亚洲乱,97人妻无码费视…| 秋霞鲁丝午夜无码一区二区三| 精品国产久久乱码| 91骚熟女| 午夜亚洲WWW湿好大| 性爱边摸边日免费AV| 精品国产片亚洲一区| 亚洲国产综合久久久性感熟妇| 国产怡红院| 国产麻豆一区二三区| 亚州综合在线| 日韩黄色成人性爱| 二对二中文字幕。| 成人三级片一区二区三区视频| 先锋女优在线观看视频| 91成人久久| 黄片不用下载在线观看| 九九夜精品九九在线| 中文有码9| 影音先锋日本一区二区| 天天日天天插| 人妻少妇精品无码专区二区密桃| 思思热在线视频免费| 福利色色| 精品九九淫乱男| 欧美性暴力| 国产呦精品一区二区三区下载| Julia在线播放亚洲久久| 加勒比久久av| 国产最新小视频在线播放下载| 大屁股xxxxx| 麻豆 亚洲 97| 欧美岛国精品在线观看| 天美传媒国产原创中文字幕亚洲欧美另类 | www.狠狠| 日韩欧美麻豆 | 日韩精品 欧美激情| www.黄色在线| silk lablo在线观看一区二区| 超碰色图| 亚洲欧美经典一区二区| 久久有码视频| 欧美精品999| 蜜桃臀AV在线| 国产偷拍自拍在线视频| 欧日韩在线观看| 亚洲无码成人精品| 手机在线免费看的av| 床上啊啊啊一区二区三区| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 人妻熟女一区二区三区视频| 亚洲 国产 精品一区| 九九九九九九成人| 国产精品日本无码A片| 无码99| 一区二区三区国产在线播放| 校园春色之综合网| 色噜噜国产精品视频一区二区| 另类 日韩 熟女| 超碰97亚洲区| 超碰成人国产| 久久久涩| 久久思思热| 国产中文字幕在线观看| 人人色人人操在线| 熟妇一区,二区,三区。| 国产福利第一视频| 欧美淫乱视频| 婷婷五月丁香五月| 伊人影院日本| 色香综合天天影视综合 | 青青草亚洲一区| 亚洲色人阁| 国产精品久久久久久照片| 久肏视频字幕| 黑丝少妇在线观看| 黑人猛交| 超碰97最新人妻| 永久免费发布性爱网| 久久久久久中文| 天天日天天爽| 天天操人人操狠狠插| 久久亚洲色图中文字幕| 日本3级一区二区免费| 超碰97色| 91精品久久久久久久久久| 国产精品三级视频网站| 欧美色宗合| 超碰夫妻97| 九九热超碰| 囯戸精品高潮呻吟旡码| 女人天堂网| 天天操女人| 精品国产乱码久久久久A| 美女天天干| 亚洲在钱| 女人一区| 亚洲精品一二区| 伦理第一页| 人妻人妻天天碰| 丁香六月婷婷| 亚洲色图日韩精品| 亚洲综合20p| 热久日综合| 99热精品在线| 国产亲戚伦亲在线| 啪啪啪东京| 91w欧美| 97网址97| 加勒比综合九九99视频在线播放| 亚洲啪AⅤ永久无码| 夜夜国自区| 97精品国产97久久久| 精品高清一区二区三区三州| 国产精品 视频| 69丨亚洲丨精品丨入口免费播放| 发朗少妇买婬全视频中文| 国产精品不卡高清在线观看| 美女黄站| 97欧美日韩精品| 久久久久密臀视频| 欧美在线色图| 不卡啪啪视频| 日韩精品亚洲专区在线影视| 秋霞成人做爱| 久久性爱视频免费看| 欲色综合| 四虎影视在线| 综合久久久久久久久91| 五月天婷婷在线看| 久久人妻| 青娱乐久久艹| 成人A片男人的天堂| 精品一区二区人妖| 97久久精品| 五月天激情小说网| 肉丝中文无码高清| 日本人妻一区二区| 久久久久ab| 91色噜噜狠狠| 极品粉嫩一区二区| 樱花草社区www中国| 6080yy午夜理论三级一区二区三区无码| 亚洲图片欧美色| 精品人妻一区二区三区视频在线| 色香91| 亚洲 中文 女同| 宅男午夜在线视频| 综合日韩激情另类图片| 久久一二三四不卡| 98精品国产乱码久久久久久| 久久久一热在线播放| 北京专精特新企业招聘信息| 丰满少妇一区二区三区专区| 97蜜桃综合| 97干色天堂| 欧美男女午夜啪啪| 蜜臀99999| 色眯眯av| 99热这里都是精品| 成人五月天丁香激情综合| 久草毛片| 97精品免费| 黄色大片免费在线| 一类av片在线看| 亚洲欧美日韩精品久| 99精品在线| 97二区四区| 人妻 欧美 中文| 欧美体内射精| 日本久久久精品电影| 91天堂| 欧美18 在线观看| 凹凸视频在线观看伊人| 91精品大奶人妻| 国产天天骚| 久色99999| 啊啊啊啊无码| 欧美十八禁视频| 日本操BAV| 十八禁网站在线| 91麻豆一二三区| 日本精品一区二区三| 久久久一区二区三区四区五区| 九久精品| 国产一级特黄大片处女| 国产激情久久| 妇女视频网站| 男人的天堂Va| 精品日韩中文在线| 久久精品亚洲婷婷| 国产熟码AV| www.亚洲黄色| 玖玖色综合| 天天操天天日天天干| 久久97精品久久久久久久不卡| 国产精品点击进入在线影院高清| 欧美另类综合久久| 在现视频女上位好爽| 久久精品六区| 成人精品久久久午夜福利| 日韩中文字幕二区| 青青草色插素人| 91宗合网| JULIA一区二区三区在线播放| 女色视频社区| 日本不卡免费二区| 欧美aa一级片| 99爱精品| 一区二区三区一亚洲中文字幕、综合区灬 | 亚洲色图欧美一区二区不卡| 欧美很很操视频| 麻豆一区在线| 国产一区二区三区白丝| 69精品少妇一区二区三区蜜桃| 蜜桃在线观看一区二区三区| 亚洲狠| 国产免费一区在线观看| 有码免费观看| 97综合久久| 99热色精品| 久久视频,这里只有精品| 亚洲成人在线高清| 亚洲美女30b| 天天看天天日天天操| 性爱久久| 久久免费9| 日产狠狠干| 欧美亚洲丝袜人妻制服中文99| 亚洲日韩精品一区视频在线| 骚逼一区二区| 亚洲性爱免费电影| 日日噜噜夜夜久久亚洲一区二区 | 欧美日韩97| 激情小说五月天| 国产91丝袜 在线播放| 唐山老熟妇露脸啪啪叫| 综合网亚洲1| 亚洲欧美国产va在线播放频| 国产精品熟女AV中文字幕在线播放| 欧美图片校园春色| 国产这里只有精品| 久久久久久久久女黄| 五月开心网| 欧美色图91| 婷婷五月天成人网| 国产在线播放成人免费| 密臀在线免费观看| 亚洲 日本 国产 综合| 裸体1区| 久操网线| 啊啊啊久久| 丰满人妻一区二区三区在线| 色综合V| 欧洲精品久久| 丁香五月婷婷基地| 蜜臀在线视频| 大肉棒导航| 九九热久久99精品re| 96国产污污污丝袜| 亚洲欧洲网站免费观看| 色图综合网| 日本A级视频| 男女激情黄色网址| 丰满人妻-区二区三区免费看| 日韩九区| 超碰在线欧美性爱激情| 青青草成人视频在线观看二区| 超碰在线观看av不卡| 青青伊人久久| 久热这里| 美女9118禁| 91欧美美女日韩国产婷婷| 自拍偷拍亚洲熟女妇人精品| 午夜啊啊| 国产亚洲日本| 久久精品小视频| 91欧美大片| 午夜操操操| yiren97| 亚洲AV无码久久久国产精品| 久久久久久久| 欧美在线中M| 久操B网| 亚洲精品日韩国产欧美| 上特色A在线| 欧洲亚洲天堂精品| 欧美综合骚| 熟女人妻一区二区三区| 97色伦97色伦国产欧美| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 精品国产人成在线| 色噜噜国产精品视频一区二区| 天天淫人人妻日日色| 一级人妻性爱视频| 不卡二三区人妻少妇| 91爱看| 久久久久密| 久久人人舔人人爽舔人人av片| 蜜臀Av一区二区三区| 伊人伊人LD| 欧美一区二区在线资源| 丁香五月综合| 亚洲精品一区二区精品| 性色A∨91| 美女黄色91| 综合激情一一91| 爱欲AV| 啊啊啊啊啊啊在线看| 91婷婷| 久久久九九网站| 人人摸人人干人人拍97| 中文字幕在线观| 少妇的嫩逼图片| 91无码人妻精品一区二区三区蜜桃| 超碰在线人妻不卡| 26uuu国产成人综合| 日韩av不卡在线看| 欧美少妇色图| 婷婷色香伊人| 综合色欧美| 变态综合色| 欧美丝袜美女电影一二三四区| 超碰 另类 欧美 | 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 国产精品久久久久久照片| 久久久久久久强迫| 插入逼91| 欧美在线永久天堂| 欧美日韩午夜精品一区二区三区| 亚洲高清91| 亚洲一区二区AV| 女优大全 - 91n| 欧美综合亚洲综合| 中文字幕国产| 狠狠爱夜夜| 97干97色| 婷婷在线视频在线观看| 美国aaaaa一级黄片| 天天做日日做天天欢。| 乱伦3P视频| 自拍鲍鱼一区在线高清观看免费| 日韩中文字幕视频在线观看| 久久久九九网站| 五月婷婷色| 3571色综合一区二区二区| 长长久久88视频| 一二三啪啪专区| 福利天堂| 日韩色图 一区二区| 欧洲大香蕉| 欧美日韩小说| 操逼操2| 亚洲毛片一级带毛片基地| 日本亚洲熟女视频| 98一区二区精品| 超碰色中文| 亚洲精品蜜桃久久久久久久| 午夜福利合集| 日韩福利电影网| 上海一级黄片| 色婷婷香蕉| 精精夜夜| 日韩传媒在线| 天美传媒精品久久视频| 玖草在线视频| 乳欲人妻办公室奶水| 久久一二三四五六七八九区区区| 亚码激情| 欧美日韩精品久久| 亚洲第一页综合在线| 91欧洲国产成人久久精品网站| 国产一区二区免费福利片| 色哟哟511老熟女| 91蜜臀在线久久久久| 九九九九九精品十六| av天堂电影网| 东京热男人的天堂精品| 狠狠操夜夜操蜜桃视频三区| 在线黄色污污网站| 国产风韵犹存熟妇三区| 久久久久少妇| 久久肏大逼| 欧美AB在线观看| 台湾佬大香蕉| 风流老熟女一区二区三区l| 国产伦精品一区二区三区视频女| 亚洲s在线观看| 亚洲日本大香蕉1| heyZO天然素人无码AⅤ专区| 91操操| 精品国产乱码久久久兰草影视| 骚妻少妇精品性色无码四色A V| 超碰欧美97| 人人操人人操人人操人人操人人操人人人11.CM | 激情久久日韩精品中文字幕麻豆| 国产视频第二页| 国产 亚洲 丝袜 制服| 4141514逼喷水三级片| 国语精品av| 极品美女福利在线观看| 夜夜综合| 网站A V在线| 精品视频久久久久九九九九9999| 欧美亚洲宗合色性图| 美女裸体无遮挡永久免费观看网站| 最新日产中文在线麻豆| 青青操在线亚洲视频观看欧美在线| 天堂亚洲精品| 囯产操逼片| 青青草字幕AV| 思思热影视| 天堂资源欧美| 日本操逼无码| 99色在线| 男人的天堂视频精品乱在线| av天堂手机版追回 | 亚洲 在线| 婷婷五月天综合网| 亚洲人妻色图| 黄网在线播放| 久久久青青草| 99热自拍| 综合久久9| 97九色人妻| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 97在线观看免费| 一级久久久久久久久久久| 亚州再线| 欧美性爱日韩性爱| 欧美日韩另类字幕中文| av午夜影院在线播放| 蜜臀av网址| 国语av最新自产拍在线观看| 亚州黄站| 嗯嗯嗯好爽| 中国一级αV| 日韩有码免费视频| 91另类| 天天爱天天韩国日本牛牛牛牛| 五月天人妻综合| 日韩人妻大香蕉| 国产女人视频三四五区| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 97国产中文| 人人操人人插人人摸人人干| 超碰是碰在线观看| 麻豆这里只有精品| 99av| 日韩美女,国产传媒,视频一区| 日韩中文字幕视频| 久久国产999| av九九| 久久永久无码人妻视频| 熟妇精品juliaannAV| 大地资源在线观看中文第二页| 久久久久久九九九九九九| 超碰在线人妻| 人人做,人人操,人人摸| 风月影院男女十八禁| 9久久精品| 蜜臀AV一区二区三区| 男人的天堂2018东京热啪啪啪| 99久久国产精品免费高潮| 国产suv精品一区二区四区999| 秋霞怕怕片| A一级色女| 激情五月天网站| 欧美精品久久久久久久丰满| 欧美综合传媒| 精品熟女一区=区三区| 91精品国产日韩欧美综合| 四虎884| 蜜臀少妇一区二区| 免费人成在线观看网站品爱网| 97超碰人操| 色综合一区二区三巨| 免费1级a做爰片观看| 国产青青综合伊人| 男人下部插入女人下部| 色婷婷久久| 一区二区精品日韩欧美在线观看| 男人的天堂日韩| 大香蕉免费乱伦视频| aaa亚无码专区| 91美女精品| 日韩av色图综合| 九九色色| 午夜黄色免费在线观看| 亚洲图片日本AⅤ欧美在线| 日本在线999| 亚av顶级裸体一区二区三区四区五区| 在免费jIzzjIzz在线视频| 天天综合91| 欧美97av| 97干天天| 麻豆福利视频导航| www.91色综合| 六月丁香网| 久久国内| 天天草夜夜草高潮片| 一个人免费视频观看在线WWW| 青青青草原| 91精品婷婷国产综合久久竹菊| 久久精品国产精品亚洲艾通辽熟妇 | 毛片中心9视频99| 一区在线观看中文字幕| 日韩国产在线观看av| 欧美第一页| 9丨久久九九九| 可乐操亚洲蜜911| 欧美高清在线| 国产欧美后入| 色娱乐色呦呦夜夜夜夜av| 国产精品高潮久久AV| 神马视频久久久久久| 久久思思热| 麻豆人妻精品一区二区| 久久人人看| 亚洲国产欧美中日韩成人综合视频| 在线A日本| 男女性感激情网站| 午夜乱轮操逼视频免费看| 亚洲av成人精品一区| 97国产人人| 国产传媒日韩欧美| 色97欧美| 久久综合97| 97色综合中文网| 天天欧美| av东京热男人的天堂| WWW美腿丝袜香蕉中文| 青青草久久| 一本大道久| 男女啊啊啊| 亚洲情色 自拍| 天天天干977| 国产精品扒开腿做爽爽爽视频| 亚洲第一页色网| 九色黄站| 麻豆视频国产一区二区| 亚洲人妻色图| 日韩性爱一级片| 国产精品久久久久久高清无码免费看 | 色婷婷狠狠| 青青草日韩无码| 91逼逼女人91| 成人精品一区二区三区| 亚洲涩图欧美| 天天综合中文字幕 91| 97这里有精品| 国产无马在线| 岛国黄| 日本黄 R色 成 人网站| 亚洲精品 大香蕉| 婷婷五月花| 欧美亚洲日韩16色| 久久久内射良家| 亚洲人精品午夜不卡| 日本幼女18+| 色超碰综合| 蜜桃网熟妇| 欧美亚洲图片| 强奸乱伦AV网站| 色色激情| 偷拍亚洲高清图片| 精品综合久久久久久97| 国产97在线视频| 欧美日韩不卡a片| 亚洲宅男天堂| 神马久久久久久久久久| 久久久久久久综合,国产| 免费试看60秒| 1769一区| 九月婷婷久久| 97 国产一区| 久久久九九九九| 蜜臀久久99精品久久久久久-DVD原版全| 91精品国产91久久青草 | 亚熟在线| 精品国产乱码久久久久久日本公司| 91网站18禁| 国产精品爽爽v| 野狼激情网| 亚洲丨在线| 久久性生大片免费观看性| 免费?级毛片无码?∨蜜芽试看| 99视频精品| 97视频620| 视频一区二区免费在线| 黄aaaaaaaaaaaaaaaaaa色网站| 黑人无码一区二区| 观看免费区二区三区二| 欧美桃色网| 天天草夜夜草高潮片| 天天影视综合网欧美精品| 搡老女人老91妇女熟女| 精品人妻1区| 天天色香欲综合网| 99热精品在线观看| 在线综合色| 自拍视频大全亚洲专媒视频/一区二区三区 | 91丝袜在线观看| 97日韩欧美| 思思热在线观看| 综合网亚洲1| 四虎影视永久在线免费| 国产精品肉丝自拍| 美女啊啊啊啊啊| 欧美黄色大香蕉一区二区| 99久久网站| 老熟女区| 在线日韩日本亚洲国产| 又大又白奶子| 欧美姓爱综合网| 日本三级韩三级99久久| 国产日韩欧美| 一本一道波多野毛片中文在线| 婷婷综合五月| 欧美日韩制服| 九九久久精品| 南澳成人一级片在线播放| 伊人五月天| 久艹视频在线| 中文字幕精品区先锋资源| 校园春色中文字幕AV| 人妻aa| 99爱爱| 大香蕉免费乱伦视频| 亚洲熟妇白浆无码AV| 色爱三区| 久九九九九九九九热| 成人片在线播放| 亚洲人码13| 女人爽到高潮潮喷18禁网站| 天天综合站| 婷婷AV一区二区三区| 淫穴高潮色图| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 人人摸.人人色| 日本淫穴在线| 青青操狠狠撩| 国产91美女视频| 久久婷婷色| 日韩一级二级三级免费看完整版国语版 | 国产精品大屁股999| 国产18精品亚洲精品| 青青草原av| 女优免费一区二区永久| 欧美性高潮在线| 亚洲熟女中文字幕在线| 亚洲高清综合网| 手机不卡视频不卡在线一二三区 | 影音先锋乱| 都市激情人妻一区二区青青操视频| 国产亚洲欧美每日在线| 99re热| 亚洲婷婷五月天| 日躁天天爽爽| 午夜精品视频777| 久久久夜夜夜| 97超碰天天爱天天爱| 嫩草一区二区在线观看| 欧美在线电影| 国产久久日韩网站导航| 中文字幕一区二区三区高清| 91熟女少妇| 欧美嗯啊……在线观看视频免费| 日韩福利综合一区| 九九九九97| 青青青国产| 近亲乱伦一区二区| 天天拍夜夜| 青青草字幕AV| 久久综合18p| 国产黄色av大片网站| aaa亚无码专区| 国产乱不卡| 六月婷婷综合| 激情 欧美 亚洲 小说| 色偷偷人人玩人人舔人人操人人摸人人爽| 美女被艹尤物视频| 亲子敌伦对白在线播放| 日本男人插女人的逼黄色| 无码伊人久久大杳蕉中文无码| 亚洲丝袜诱惑| 嗯~啊~快点 死我视频免费看网站| 国产三级中文有码在线视频| 骚女天天综合网| 人妻精品4K4K4K4K4| 欧美日韩操操操| 欧美成人一级麻豆| 九九热精品视频六| 久啪| 蜜桃视频精品一区二区三区| 狠狠操综合| 久久AV无码网址| 老熟女乱伦一区| 亚洲av噜噜噜噜噜噜| 一区超碰一区| 老鸭窝黄色视频网站| 久久久艹艹艹| 婷婷五月天av| 国产成年精品高清在线观看91| 国产深喉视频一区二区| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 亚欧无码在线| 可以免费看黄片的视频| 欧美精品宗合| 91情色在线| 少妇贴图| 中文字幕免费看| 高树玛利亚无码流出| 67914亚洲精品| 东京热亚洲一区二区| 欧美综合区| 国产精品免费美女视频| 熟女乱伦A| 成人七区| 少妇一区二区三区高速| AA级电影三区| 三级日韩一区二区三区| 国产精品久久久久久亚洲色欲| 亚洲美腿丝袜香蕉影视欧美成人| 精品美女久久一二三| SS久久| 国产美女口爆吞精| 嗯嗯,好大,好爽,好骚| 日韩欧美偷拍美女视频| 超AV色女| 十八禁黄色成人网站观看| 亚洲天堂自拍| 亚洲色悠悠久久88| 97色涩|