国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

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

二手交易系統(tǒng)JavaWeb課設(shè)完整實(shí)戰(zhàn):從需求分析到部署排錯(cuò)

二手交易系統(tǒng)JavaWeb課設(shè)完整實(shí)戰(zhàn):從需求分析到部署排錯(cuò) 簡介這是廣東工業(yè)大學(xué)軟件工程專業(yè)課程設(shè)計(jì)的實(shí)戰(zhàn)成果實(shí)現(xiàn)了一個(gè)功能完整的基于Web的二手商品交易系統(tǒng)。系統(tǒng)采用B/S架構(gòu)前端使用HTML/CSS/JavaScript后端為PHP數(shù)據(jù)庫為MySQL涵蓋用戶注冊登錄、商品發(fā)布、瀏覽搜索、在線留言、交易狀態(tài)跟蹤等核心模塊。壓縮包共97個(gè)文件以46個(gè)PHP源碼、1個(gè)SQL建庫腳本、1個(gè)DOC設(shè)計(jì)報(bào)告、1個(gè)TXT使用說明書為主另含大量JPEG/PNG/GIF圖片素材整體大小3.17MB目錄結(jié)構(gòu)清晰便于按需閱讀。配套文檔由3113006452陳聰撰寫包含需求分析、UML用例圖與類圖、數(shù)據(jù)庫E-R圖及表結(jié)構(gòu)說明并附軟件安裝配置與使用說明書可指導(dǎo)Tomcat/Apache與MySQL環(huán)境搭建、項(xiàng)目導(dǎo)入及運(yùn)行。這份資源既適合課程設(shè)計(jì)參考也可作為畢業(yè)設(shè)計(jì)入門范例或Web開發(fā)學(xué)習(xí)案例目前已有42人瀏覽學(xué)習(xí)。 做軟件工程課設(shè)接到“基于Web的二手商品交易系統(tǒng)”這個(gè)題目時(shí)我第一反應(yīng)是“這不是個(gè)老掉牙的商城系統(tǒng)嗎”但真正從零跑完一版帶完整源碼、數(shù)據(jù)庫和設(shè)計(jì)文檔的項(xiàng)目后我發(fā)現(xiàn)這個(gè)題目的水比我預(yù)想的深得多。它不像電商秒殺系統(tǒng)那樣拼高并發(fā)也不像人工智能項(xiàng)目那樣拼算法創(chuàng)新它比拼的是你對軟件工程全流程的理解對業(yè)務(wù)建模的把握以及對一套完整Web項(xiàng)目從設(shè)計(jì)到部署的掌控力。這篇文章我就以廣東工業(yè)大學(xué)軟件工程課設(shè)這個(gè)項(xiàng)目為藍(lán)本把選題思路、技術(shù)棧選型、數(shù)據(jù)庫設(shè)計(jì)、核心功能實(shí)現(xiàn)、文檔組織、部署排錯(cuò)整個(gè)過程拆開講清楚希望給正在做類似課設(shè)或者想獨(dú)立練手Web開發(fā)的朋友一份可以直接參考的實(shí)操指南。1. 項(xiàng)目定位與需求分析二手交易課設(shè)到底在練什么1.1 為什么這個(gè)選題適合做軟件工程課設(shè)軟件工程課設(shè)和普通編程作業(yè)最大的區(qū)別在于它考察的不只是“代碼能不能跑”而是“整個(gè)軟件生命周期你能不能駕馭住”。二手商品交易系統(tǒng)這個(gè)題目之所以經(jīng)典是因?yàn)樗臉I(yè)務(wù)復(fù)雜度剛剛好用戶、商品、訂單、交易這些核心概念非常直觀不需要深度行業(yè)知識也能快速理解但同時(shí)又足夠支撐起完整的需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、測試和部署流程。我當(dāng)時(shí)在需求分析階段就先畫了三張圖用戶用例圖、系統(tǒng)功能結(jié)構(gòu)圖、業(yè)務(wù)流程圖。用例圖定角色功能結(jié)構(gòu)圖定模塊業(yè)務(wù)流程圖定數(shù)據(jù)走向。這三張圖畫完整個(gè)項(xiàng)目的骨架基本就出來了后面寫代碼只是往骨架里填肉。很多同學(xué)上來就寫代碼寫到一半發(fā)現(xiàn)功能混亂、表結(jié)構(gòu)對不上就是因?yàn)樘^了這一步。1.2 需求邊界劃定三角色模型與權(quán)限范圍二手交易系統(tǒng)和普通電商最大的區(qū)別在于“買家”和“賣家”是同一個(gè)人群里的兩個(gè)身份。我賣出一件閑置商品時(shí)我是賣家買一件別人的舊書時(shí)我是買家這意味著系統(tǒng)不能用兩個(gè)完全獨(dú)立的模塊去處理用戶體系必須在賬號體系上統(tǒng)一、在業(yè)務(wù)角色上分離。我把系統(tǒng)用戶劃分為三類角色角色核心功能關(guān)鍵權(quán)限游客瀏覽商品、搜索僅可查看注冊用戶買家/賣家一體發(fā)布商品、修改/下架商品、下單購買、管理訂單、個(gè)人資料管理操作本人數(shù)據(jù)管理員用戶管理、商品審核/下架、分類管理、公告管理全表操作但需審計(jì)這里有一個(gè)容易被忽視的需求點(diǎn)加一個(gè)“管理員”角色。課設(shè)評審老師特別看重系統(tǒng)的完整性和安全性完全沒有后臺管理的網(wǎng)站在答辯時(shí)會(huì)被追問“如果有惡意用戶發(fā)布違規(guī)商品怎么辦”。所以哪怕管理員功能做得簡單一點(diǎn)也要有。1.3 核心業(yè)務(wù)閉環(huán)與用例拆解二手交易系統(tǒng)的核心閉環(huán)是注冊登錄 → 發(fā)布閑置 → 瀏覽搜索 → 下單購買 → 賣家處理訂單 → 確認(rèn)收貨 → 互相評價(jià)。評級功能如果時(shí)間緊迫可以不做但前面五個(gè)環(huán)節(jié)是閉環(huán)主干缺一個(gè)系統(tǒng)就不完整。在用例拆解階段我建議把每個(gè)用例的屬性寫清楚用例名稱、參與者、前置條件、主流程、異常流、后置條件。比如“買家下單購買”這個(gè)用例前置條件是“商品處于在售狀態(tài)且買家不擁有該商品”主流程是先提交訂單再生成訂單記錄異常流是“商品已下架”和“庫存不足”后置條件是“商品狀態(tài)變?yōu)橐驯慌南隆薄_@些文字寫起來有點(diǎn)枯燥但后面寫接口時(shí)根本不用再想業(yè)務(wù)邏輯直接按用例翻譯成代碼就行。2. 技術(shù)選型與系統(tǒng)架構(gòu)被低估的“簡單”技術(shù)棧2.1 課設(shè)場景下的技術(shù)棧取舍很多同學(xué)在做Web課設(shè)時(shí)會(huì)陷入技術(shù)選型的糾結(jié)用ServletJSP還是Spring Boot用不用前后端分離要不要加Redis我的建議是先問自己這個(gè)項(xiàng)目的主要目標(biāo)是什么。軟件工程課設(shè)的核心目標(biāo)是展示“軟件工程過程”而不是展示你用了多少花哨的框架。我用的是經(jīng)典JavaWeb技術(shù)棧JSP Servlet MyBatis MySQL Tomcat。這套組合放在今天不算新潮但它有個(gè)天然優(yōu)勢——結(jié)構(gòu)足夠“樸素”老師一眼就能看清你的分層邏輯。Controller處理請求、Service處理業(yè)務(wù)、Mapper操作數(shù)據(jù)庫每一層職責(zé)單一打分的時(shí)候老師看到的就是“這個(gè)學(xué)生確實(shí)理解了分層架構(gòu)”。如果用了Spring Boot全家桶Comtroller里直接寫業(yè)務(wù)、連Service層都省了反而容易被質(zhì)疑“為了框架而框架沒有軟件工程思想”。2.2 分層架構(gòu)與工程目錄規(guī)劃我最終采用的是經(jīng)典MVC三層架構(gòu)加DAO層工程目錄結(jié)構(gòu)如下secondhand-trading-system/ ├── src/ │ ├── main/ │ │ ├── java/com/school/secondhand/ │ │ │ ├── controller/ # 控制層接收請求、返回視圖 │ │ │ ├── service/ # 業(yè)務(wù)層處理具體業(yè)務(wù)邏輯 │ │ │ ├── dao/ # 數(shù)據(jù)訪問層封裝數(shù)據(jù)庫操作 │ │ │ ├── entity/ # 實(shí)體類對應(yīng)數(shù)據(jù)庫表 │ │ │ ├── filter/ # 過濾器登錄校驗(yàn)、編碼處理 │ │ │ ├── util/ # 工具類分頁、文件上傳、字符串處理 │ │ │ └── interceptor/ # 攔截器統(tǒng)一權(quán)限管理 │ │ └── resources/ │ │ ├── mybatis/ # MyBatis映射文件 │ │ ├── db.properties # 數(shù)據(jù)庫配置 │ │ └── log4j.properties # 日志配置 │ ├── webapp/ │ │ ├── jsp/ # 視圖頁面 │ │ ├── static/ # css/js/images │ │ └── WEB-INF/web.xml # Web配置文件這個(gè)分層有個(gè)關(guān)鍵好處哪里出問題一眼就能定位。頁面渲染出錯(cuò)查JSP接口參數(shù)問題查Controller業(yè)務(wù)邏輯問題查Service數(shù)據(jù)查詢問題查Mapper。我在開發(fā)過程中至少有三分之一的時(shí)間是靠著這種清晰的邊界快速定位bug的。2.3 為什么建議保留純JavaWeb實(shí)現(xiàn)方式雖然我后來在工作中大量使用Spring Boot但如果讓我重新做一次這個(gè)課設(shè)我依然會(huì)選擇直接用Servlet。原因很簡單直接寫Servlet能讓你真正理解HTTP請求是怎么被處理的。請求如何到達(dá)服務(wù)器、參數(shù)如何解析、Session如何管理、響應(yīng)如何寫回瀏覽器——這些內(nèi)容在Spring Boot里全被封裝掉了但軟件工程課設(shè)恰恰需要你展示對這些基礎(chǔ)知識的掌握程度。一句話總結(jié)技術(shù)選型原則課設(shè)不是生產(chǎn)環(huán)境你要選的是“最能展示自己理解深度”的棧而不是“看起來最前沿”的棧。3. 數(shù)據(jù)庫設(shè)計(jì)二手交易系統(tǒng)的核心支柱3.1 從ER分析到核心業(yè)務(wù)表數(shù)據(jù)庫設(shè)計(jì)是二手交易系統(tǒng)里最值得花時(shí)間的一部分。我最初設(shè)計(jì)的表數(shù)量是5張用戶表、商品分類表、商品表、訂單表、訂單明細(xì)表后來在寫代碼過程中發(fā)現(xiàn)還需要地址表于是加成了6張。每次功能開發(fā)中需要新表時(shí)我都會(huì)停下來反思最初的分析哪里遺漏了這也是一種很好的復(fù)盤訓(xùn)練。各表之間的核心關(guān)系是用戶與商品是一對多商品與分類是多對一訂單與用戶是多對一訂單與訂單明細(xì)是一對多。ER圖建議用工具畫我用的是draw.io畫完導(dǎo)出圖片直接貼到設(shè)計(jì)文檔里答辯時(shí)老師會(huì)重點(diǎn)看這個(gè)。3.2 核心表結(jié)構(gòu)與字段設(shè)計(jì)說明這里給出兩張核心表的建表SQL一張是用戶表一張是商品表CREATE TABLE t_user ( id INT NOT NULL AUTO_INCREMENT COMMENT 用戶ID, username VARCHAR(50) NOT NULL COMMENT 用戶名, password VARCHAR(64) NOT NULL COMMENT 密碼加鹽哈希, nickname VARCHAR(50) DEFAULT NULL COMMENT 昵稱, phone VARCHAR(20) DEFAULT NULL COMMENT 聯(lián)系電話, avatar VARCHAR(255) DEFAULT NULL COMMENT 頭像地址, create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT 注冊時(shí)間, status TINYINT DEFAULT 1 COMMENT 狀態(tài)1正常 0禁用, PRIMARY KEY (id), UNIQUE KEY uk_username (username) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT用戶表;CREATE TABLE t_goods ( id INT NOT NULL AUTO_INCREMENT COMMENT 商品ID, seller_id INT NOT NULL COMMENT 賣家ID關(guān)聯(lián)t_user.id, category_id INT NOT NULL COMMENT 分類ID, title VARCHAR(100) NOT NULL COMMENT 商品標(biāo)題, description TEXT COMMENT 商品描述, price DECIMAL(10,2) NOT NULL COMMENT 價(jià)格, original_price DECIMAL(10,2) DEFAULT NULL COMMENT 原價(jià)/參考價(jià), cover_image VARCHAR(255) DEFAULT NULL COMMENT 封面圖, images TEXT COMMENT 多圖地址逗號分隔, status TINYINT DEFAULT 1 COMMENT 狀態(tài)1在售 2已拍下 3已下架 4已賣出, view_count INT DEFAULT 0 COMMENT 瀏覽量, create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT 發(fā)布時(shí)間, update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新時(shí)間, PRIMARY KEY (id), KEY idx_seller_id (seller_id), KEY idx_category_status (category_id, status), CONSTRAINT fk_goods_seller FOREIGN KEY (seller_id) REFERENCES t_user (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT商品表;有幾個(gè)字段設(shè)計(jì)經(jīng)驗(yàn)值得單獨(dú)說。第一所有表都用utf8mb4字符集而不是utf8。utf8在MySQL中最大只支持3字節(jié)字符而用戶昵稱里如果用戶輸入了emoji比如“交易”用utf8會(huì)直接報(bào)錯(cuò)或存成亂碼。這個(gè)坑我一開始就踩了后來統(tǒng)一改成了utf8mb4。第二價(jià)格字段用DECIMAL(10,2)而不是FLOAT或DOUBLE。浮點(diǎn)數(shù)在計(jì)算機(jī)中本身就不是精確保存的0.10.2不等于0.3這種問題在金額計(jì)算中是致命的。DECIMAL是定點(diǎn)數(shù)專門用于金額場景這是金融系統(tǒng)和交易系統(tǒng)的基本常識。第三商品表加了一個(gè)status字段來管理生命周期。部分同學(xué)會(huì)用“刪除商品”這個(gè)動(dòng)作來管理但真正做交易系統(tǒng)時(shí)你應(yīng)該用狀態(tài)字段因?yàn)樯唐芬坏┊a(chǎn)生訂單記錄就不能被物理刪除否則訂單明細(xì)表會(huì)關(guān)聯(lián)不到商品數(shù)據(jù)。狀態(tài)字段讓商品可以在在售、已拍下、已賣出之間流轉(zhuǎn)也方便管理員做下架處理。第四所有表都帶create_time和update_time字段。前者用于按時(shí)間排序后者方便排查數(shù)據(jù)更新的問題。這兩個(gè)字段幾乎是業(yè)務(wù)系統(tǒng)標(biāo)配不要省。3.3 事務(wù)與并發(fā)下單扣庫存的正確姿勢下單操作涉及三步檢查商品狀態(tài)、更新商品狀態(tài)為已拍下、生成訂單記錄。這三步必須是一個(gè)事務(wù)任何一個(gè)步驟失敗前面的操作都要回滾。我用MyBatis的TransactionManager配合Spring的聲明式事務(wù)實(shí)現(xiàn)Transactional(rollbackFor Exception.class) public Order createOrder(Long buyerId, Long goodsId) { Goods goods goodsDao.selectById(goodsId); // 校驗(yàn)商品存在且在售 if (goods null || goods.getStatus() ! GoodsStatus.ON_SALE) { throw new BusinessException(商品不存在或已被拍下); } // 校驗(yàn)不能買自己的商品 if (goods.getSellerId().equals(buyerId)) { throw new BusinessException(不能購買自己發(fā)布的商品); } // 更新商品狀態(tài) goodsDao.updateStatus(goodsId, GoodsStatus.ORDERED); // 創(chuàng)建訂單并插入 Order order new Order(); order.setGoodsId(goodsId); order.setBuyerId(buyerId); order.setSellerId(goods.getSellerId()); order.setAmount(goods.getPrice()); order.setStatus(OrderStatus.PENDING_PAYMENT); orderDao.insert(order); return order; }這里有一個(gè)并發(fā)場景兩個(gè)買家同時(shí)看到同一件商品同時(shí)下單。如果只做了“查狀態(tài)再更新”兩步兩個(gè)線程都可能查到“在售”狀態(tài)然后都執(zhí)行更新最后生成兩筆訂單。解決辦法有兩種一是用數(shù)據(jù)庫的樂觀鎖在更新語句中加入版本號條件UPDATE t_goods SET status2, versionversion1 WHERE id? AND status1二是用悲觀鎖SELECT ... FOR UPDATE鎖住商品行。我在課設(shè)中用的是樂觀鎖方案因?yàn)榇a改動(dòng)最小而且足夠說明我理解了并發(fā)問題。答辯時(shí)老師問到并發(fā)場景我把這個(gè)方案解釋清楚是一個(gè)明顯的加分項(xiàng)。4. 核心功能實(shí)現(xiàn)從登錄到交易閉環(huán)的代碼細(xì)節(jié)4.1 用戶模塊注冊登錄的校驗(yàn)與安全處理用戶模塊是整個(gè)系統(tǒng)的入口安全處理必須一開始就做對否則后面所有功能都暴露在風(fēng)險(xiǎn)中。密碼存儲不能用明文也不能用簡單的MD5。我在課設(shè)中使用的是加鹽MD5方案注冊時(shí)隨機(jī)生成一個(gè)鹽值把“密碼鹽值”拼接后做MD5數(shù)據(jù)庫存鹽值和哈希值。登錄時(shí)取出鹽值重新計(jì)算哈希再比對。雖然比不過BCrypt但至少能讓老師看到你對密碼安全有概念。public String encryptPassword(String rawPassword, String salt) { String salted rawPassword salt; for (int i 0; i 10; i) { salted DigestUtils.md5Hex(salted); } return salted; }注冊時(shí)還需要做的事情包括用戶名唯一性校驗(yàn)、兩次密碼一致性校驗(yàn)、手機(jī)號格式正則校驗(yàn)、用戶名非法字符過濾防SQL注入和XSS。這些校驗(yàn)既要在前端做一遍提升用戶體驗(yàn)也必須在后端做一遍保證數(shù)據(jù)安全。前端校驗(yàn)可以被繞過后端校驗(yàn)才是真正的防線。登錄成功后我用Session保存用戶基本信息同時(shí)設(shè)置Session超時(shí)時(shí)間為30分鐘。每次請求通過Filter統(tǒng)一檢查是否有登錄用戶沒有就跳轉(zhuǎn)到登錄頁。這里要注意靜態(tài)資源css、js、圖片要排除在登錄校驗(yàn)之外否則連登錄頁的樣式都加載不出來。4.2 商品模塊發(fā)布、圖片上傳與分頁檢索商品發(fā)布是用戶使用頻率最高的功能之一實(shí)現(xiàn)時(shí)有兩個(gè)關(guān)鍵點(diǎn)圖片上傳和列表分頁。圖片上傳我采用的方案是本地磁盤目錄存儲 數(shù)據(jù)庫存相對路徑。前端表單提交時(shí)用multipart/form-data格式后端用Servlet的Part接口獲取文件流。圖片路徑我做了重命名用“時(shí)間戳隨機(jī)數(shù)原始擴(kuò)展名”拼成新文件名避免重名覆蓋。同時(shí)限制了文件大小最大2MB和文件類型jpg、png、gif防止用戶上傳超大文件把服務(wù)器寫爆。String fileName System.currentTimeMillis() _ UUID.randomUUID().toString().substring(0, 8) extName; String uploadPath request.getServletContext().getRealPath(/) upload; File dir new File(uploadPath); if (!dir.exists()) { dir.mkdirs(); } part.write(uploadPath File.separator fileName);商品列表頁的分頁是我手動(dòng)實(shí)現(xiàn)的PageHelper效果用的是MySQL的LIMIT語法加計(jì)算總頁數(shù)public PageResultGoods pageQuery(String keyword, Integer categoryId, int pageNum, int pageSize) { int offset (pageNum - 1) * pageSize; ListGoods list goodsDao.pageQuery(keyword, categoryId, offset, pageSize); int total goodsDao.countQuery(keyword, categoryId); int totalPages (int) Math.ceil((double) total / pageSize); return new PageResult(list, pageNum, pageSize, total, totalPages); }分頁的細(xì)節(jié)點(diǎn)是首頁和尾頁的頁碼要限制范圍pageNum傳1時(shí)不能算出負(fù)數(shù)的offset傳1000時(shí)不能一直查出空數(shù)據(jù)。JSP頁面的分頁組件我封裝成了一個(gè)JSP標(biāo)簽傳到頁面的參數(shù)就只有當(dāng)前頁和總頁數(shù)其他邏輯都封裝在后臺。4.3 訂單模塊狀態(tài)機(jī)驅(qū)動(dòng)與操作權(quán)限控制訂單模塊是整個(gè)系統(tǒng)里最容易寫亂的地方因?yàn)橛唵卧诓煌A段有不同的狀態(tài)不同角色在不同狀態(tài)下的操作權(quán)限也不同。我用一個(gè)狀態(tài)機(jī)來管理訂單狀態(tài)含義可以執(zhí)行的操作目標(biāo)狀態(tài)0 待付款訂單已創(chuàng)建等待買家付款買家付款/取消1 待發(fā)貨 / 4 已取消1 待發(fā)貨買家已付款等待賣家發(fā)貨賣家發(fā)貨2 待收貨2 待收貨賣家已發(fā)貨等待買家確認(rèn)買家確認(rèn)收貨3 已完成3 已完成交易完成無可評價(jià)-4 已取消訂單關(guān)閉無-我在代碼里用了一個(gè)OrderStatus枚舉類來管理這些狀態(tài)和流轉(zhuǎn)避免在Service層里寫一堆魔法數(shù)字。這里舉個(gè)核心方法示例public void confirmReceive(Long orderId, Long currentUserId) { Order order orderDao.selectById(orderId); if (order null) { throw new BusinessException(訂單不存在); } if (!order.getBuyerId().equals(currentUserId)) { throw new BusinessException(無權(quán)操作該訂單); } if (order.getStatus() ! OrderStatus.SHIPPED) { throw new BusinessException(訂單狀態(tài)不允許確認(rèn)收貨); } orderDao.updateStatus(orderId, OrderStatus.COMPLETED); }這段代碼看起來簡單但包含三個(gè)關(guān)鍵點(diǎn)第一是業(yè)務(wù)校驗(yàn)訂單是否存在第二是權(quán)限校驗(yàn)只有買家本人能操作第三是狀態(tài)校驗(yàn)必須是已發(fā)貨狀態(tài)才能確認(rèn)收貨。三個(gè)校驗(yàn)缺一不可這是我踩過坑后才總結(jié)出來的。4.4 攔截器與安全過濾課設(shè)也要有安全意識安全管理不只是一句“登錄后才能訪問”這么簡單。我加了一個(gè)全局過濾器來處理三件事編碼統(tǒng)一、登錄校驗(yàn)、防XSS過濾。filter filter-nameGlobalFilter/filter-name filter-classcom.school.secondhand.filter.GlobalFilter/filter-class /filter filter-mapping filter-nameGlobalFilter/filter-name url-pattern/*/url-pattern /filter-mapping在GlobalFilter里完成三件工作第一設(shè)置請求和響應(yīng)的編碼為UTF-8解決中文亂碼。這里有個(gè)細(xì)節(jié)request.setCharacterEncoding(UTF-8)只對POST請求有效GET請求的亂碼需要在Tomcat配置里改URIEncodingUTF-8。第二判斷請求路徑是否在白名單里。白名單包括登錄頁、注冊頁、靜態(tài)資源、商品列表和詳情頁等不需要登錄就能訪問的路徑。其他路徑一律檢查Session中是否有登錄用戶。第三對用戶輸入做簡單的HTML標(biāo)簽過濾防止基本的XSS攻擊。雖然不如專業(yè)的ESAPI庫全面但在課設(shè)場景下已經(jīng)能解決90%的問題。5. 設(shè)計(jì)文檔撰寫讓答辯老師眼前一亮的關(guān)鍵5.1 文檔結(jié)構(gòu)應(yīng)該怎樣組織軟件工程課設(shè)的文檔質(zhì)量有時(shí)候比代碼質(zhì)量還重要因?yàn)槔蠋煵豢赡茉谀愦疝q前把所有代碼都看一遍他主要通過文檔來了解你的項(xiàng)目。我按標(biāo)準(zhǔn)軟件工程文檔結(jié)構(gòu)來寫包括五個(gè)部分需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、系統(tǒng)測試、項(xiàng)目總結(jié)。需求分析部分要畫用例圖、寫用例說明、放功能需求列表、放數(shù)據(jù)字典截圖。概要設(shè)計(jì)部分要畫系統(tǒng)架構(gòu)圖、功能模塊圖、數(shù)據(jù)庫ER圖。詳細(xì)設(shè)計(jì)部分要寫核心模塊的設(shè)計(jì)說明附上關(guān)鍵類圖和時(shí)序圖。測試部分要貼測試用例表和測試結(jié)果截圖。項(xiàng)目總結(jié)部分寫遇到的問題和解決方案。5.2 讓文檔“有分量”的細(xì)節(jié)第一每個(gè)模塊的核心功能都要截圖圖比文字更有說服力。我在每個(gè)功能模塊下都放了“功能描述操作步驟運(yùn)行截圖”三段式描述老師只看截圖就能大致判斷系統(tǒng)完成度。第二測試部分不要只寫“測試通過”。我按功能點(diǎn)列出了測試用例表每條用例包含用例編號、測試內(nèi)容、操作步驟、預(yù)期結(jié)果、實(shí)際結(jié)果、是否通過。偶爾也留一兩條“導(dǎo)出Excel亂碼然后修復(fù)”的失敗用例這反而能體現(xiàn)測試的真實(shí)性。第三文檔里的所有圖不要手畫用工具生成。用例圖用StartUML或ProcessOnER圖用MySQL Workbench反向生成架構(gòu)圖用draw.io。手工畫的圖不規(guī)范一眼就能看出來。5.3 源碼組織與README給評審留個(gè)好印象源碼目錄要有清晰的注釋結(jié)構(gòu)。我習(xí)慣把代碼中的類分為四類實(shí)體類、工具類、業(yè)務(wù)類、控制類每類的類注釋寫明類的職責(zé)。關(guān)鍵業(yè)務(wù)方法上加方法注釋寫明業(yè)務(wù)邏輯和輸入輸出。項(xiàng)目根目錄放一個(gè)README.md內(nèi)容包含項(xiàng)目簡介、功能清單、技術(shù)棧、環(huán)境要求、部署步驟、默認(rèn)賬號。這樣老師拿到源碼后按README的步驟5分鐘就能把項(xiàng)目跑起來這個(gè)體驗(yàn)對評審來說非常加分。我在README的部署步驟里寫的是# 1. 創(chuàng)建數(shù)據(jù)庫 secondhand并導(dǎo)入 sql/secondhand.sql # 2. 修改 src/main/resources/db.properties 中的數(shù)據(jù)庫連接信息 # 3. 使用 IDEA 打開項(xiàng)目配置 Tomcat 9Deployment 選擇 war exploded # 4. 啟動(dòng)項(xiàng)目訪問 http://localhost:8080/secondhand/ # 5. 管理員賬號 admin/123456測試用戶 user1/1234566. 本地運(yùn)行與部署排錯(cuò)實(shí)錄6.1 從零復(fù)現(xiàn)環(huán)境準(zhǔn)備與啟動(dòng)流程如果你拿到源碼后想讓項(xiàng)目跑起來按以下步驟操作安裝JDK 8、Tomcat 9、MySQL 5.7或8.0開發(fā)工具用IDEA社區(qū)版即可。創(chuàng)建一個(gè)名為secondhand的數(shù)據(jù)庫導(dǎo)入項(xiàng)目中SQL文件。注意MySQL 8.0的驅(qū)動(dòng)配置和5.7不一樣驅(qū)動(dòng)類名要改成com.mysql.cj.jdbc.DriverURL要加serverTimezoneAsia/ShanghaicharacterEncodingutf8mb4。修改db.properties中的數(shù)據(jù)庫賬號密碼。IDEA中配置TomcatDeployment選擇war exploded模式Application context設(shè)為/secondhand/。啟動(dòng)項(xiàng)目瀏覽器訪問對應(yīng)地址。6.2 高頻問題排查速查表問題現(xiàn)象原因分析解決方案頁面全部亂碼請求/響應(yīng)編碼不一致確認(rèn)Filter中設(shè)置了UTF-8JSP頁面頂部加% page languagejava contentTypetext/html; charsetUTF-8%Tomcat啟動(dòng)失敗端口被占用8080端口被其他程序占用netstat -ano數(shù)據(jù)庫連接報(bào)錯(cuò)驅(qū)動(dòng)類名或URL配置錯(cuò)誤檢查MySQL版本對應(yīng)的驅(qū)動(dòng)類名8.0用com.mysql.cj.jdbc.Driver商品圖片上傳后頁面不顯示上傳路徑和訪問路徑不一致確認(rèn)上傳目錄是webapp/upload圖片URL拼接的路徑和物理路徑對應(yīng)登錄后訪問頁面又跳回登錄頁Session寫入失敗或Cookie被禁用檢查Filter的路徑匹配規(guī)則確保一次請求只經(jīng)過一次登錄校驗(yàn)購買自己的商品沒有限制缺少業(yè)務(wù)校驗(yàn)在下單Service中增加buyerId ! sellerId判斷6.3 幾個(gè)只有實(shí)操才會(huì)踩到的坑第一個(gè)坑是Tomcat的GET請求亂碼。我花了大半天排查最后發(fā)現(xiàn)request.setCharacterEncoding只解決POST表單的亂碼GET請求帶中文參數(shù)時(shí)Tomcat默認(rèn)按ISO-8859-1解碼必須在server.xml里配置URIEncodingUTF-8。第二個(gè)坑是MyBatis的#{}和${}混用。這是我一開始圖方便在動(dòng)態(tài)查詢里用了${}拼接排序字段后來被SQL注入演練工具掃出了漏洞才狠下心把所有用戶輸入都用#{}傳參。第三個(gè)坑是JSP頁面引入CSS和JS時(shí)用了相對路徑導(dǎo)致在二級URL頁面下樣式全部丟失。解決方法是統(tǒng)一用${pageContext.request.contextPath}拼接靜態(tài)資源路徑這個(gè)坑幾乎每個(gè)做JavaWeb課設(shè)的同學(xué)都會(huì)踩一次。7. 關(guān)于這次課設(shè)我想再啰嗦幾句做完整套系統(tǒng)后我最大的體會(huì)是軟件工程課設(shè)的評分標(biāo)準(zhǔn)從來不是“功能越多越好”而是“工程過程是否規(guī)范”。一個(gè)功能完整但沒寫文檔、沒做測試、代碼耦合得一塌糊涂的項(xiàng)目和一個(gè)功能適中但需求分析清晰、分層合理、測試完善、文檔規(guī)范的項(xiàng)目后者在答辯時(shí)拿到的分?jǐn)?shù)通常更高。如果你現(xiàn)在正在做類似的課設(shè)我的建議是先花一周時(shí)間把需求、表結(jié)構(gòu)、接口定義全部定下來再花兩周時(shí)間寫代碼留一周做測試和寫文檔、準(zhǔn)備答辯。很多同學(xué)習(xí)慣邊寫代碼邊改需求結(jié)果越改越亂最后文檔全是編的。這個(gè)項(xiàng)目做完之后我建議你還可以繼續(xù)擴(kuò)展把支付模擬改成微信支付沙箱、加一個(gè)Redis緩存熱點(diǎn)商品瀏覽量、把Session登錄改成JWT令牌、部署到云服務(wù)器上去。每一步擴(kuò)展對應(yīng)的都是實(shí)際工作中的一個(gè)真實(shí)場景做完這些你才算是把這門課學(xué)透了。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲色图91| 亚洲欧洲国产综合av| 亚洲乱码国产乱码精网站| 欧美日韩性感| 日本不卡二区| 91精品国产综合久久久蜜臀| 97综合网| 欧美图片色综合| 亚洲国产精品久久久久婷婷老年| 日韩精品在线观看观看| 色诱avtt| 永久免费av无码网站国产app | 九九热re99re6在线精品| 夜间福利片1000无码| 青苹果影院男人的天堂| 免费观看国产小粉嫩喷水精品午| 99热aaa| 强奸抽插av| 久久国色天香香蕉| 成年人三级黄色片视频| 日本欧美色| 人人人摸人人| 日日夜夜噜| 变态乱伦伪娘灌肠一区二区| 亚洲涩涩| 五月丁香综合激情| 精品一区二区三区18| 717影院理论午夜伦八戒| 久久99草| 欧美三级一级| 人人贴人人摸| 国产嫩草精品A88AV| 午夜丁香| 91色交| 久热伊人99re| 金莲网址| 久久这里只| 国产精品老熟女一区二区| 日本不卡二区| 亚洲欧美日产国产91毛片| 亚洲强奸乱伦影视网| 亚洲综合另类色图| 欧亚综合一卡二卡中文字幕| 午夜福利一区二区影院| 亚洲欲| 97在线精品| 欧美性夜| 天天插夜夜爽| 亚洲欧美大香蕉| 国产精品露脸在线观看| 91色s| 成人夜夜爽| 中文字幕精品探花视频| 97久久久久| 在现视频女上位好爽| 国产兽交视频在线播放| 国产精品国产| 伊人97超碰| 欧美亚洲色图另类国产| 超碰精品日韩欧美国产| AV色女综合| 久偷拍| av九九| 999久久久国产精品| 内射日韩大臀美女| 色香蕉影院| 探花视频免费观看国产专区| 91成人亚洲色图| 蜜臀精品1区2区| 欧美激情中文字幕另类小说| 亚洲男人综合| 国产精品一区二区密臀| 久久久少妇诱惑精品视频| 2011国产精品| 99色在线| 日韩中文字幕在线视频观看| 秋霞操逼片| aV中文麻| 久久成人午夜狠狠| 亚洲精品欧美专业| 亚洲天天艹| 亚洲欧美日韩精品久| 狠狠操,使劲操| 久久超碰天天| 另类老少妇| 一区二区 电影 亚洲| 91GD.COM| 中文字幕在线高清男人的天堂| 亚洲网站一区二区在线| 亚洲男人天堂av| 久艹99| 日日骚精品视频| 91N五十路| 五月天婷婷综合| 国产综合永久精品日韩鬼片| 无码WWW免费视频网站| 曰韩人妻中文字幕在线| AV麻豆免费一区| 碰碰97| 亚洲图片欧美色| 91痴汉| 加勒比伊人综合| 天操老女人| 超碰性爱97| 97免费在线视频在线观看| 九九综合久久| 日韩中文字幕视频在线观看| 性爱乱伦一区| 国产第25页在线观看| 人人操人人插 - 百度 - 百度| 中文字幕在线免费观看| 手机av亚洲丝袜美腿日韩第一页二页| 免费无码国产精品v片在线观看| 青青在线视频免费| 免费一级性爱久久| 国产AV毛片| jk白丝没脱就开始啪啪| 干干干天天| 亚洲av综合色| 91成人在线免费视频| 啪一啪免费视频| 日本一本道A级黄色毛片试看60分钟| 看大黄色大片原件| 亚洲最新中文字幕免费| 天天日B夜夜干B时时操B| 日韩人妻播放| 婷婷五月av| 欧亚综合一卡二卡中文字幕| 麻豆成人av| 中文字幕一区二区三区蜜桃视频| 人妻91少妇| 丁香色狠狠色综合久久小说| 国产精品欧美日韩久久| 开心五月婷婷| 欧美日本天堂| 色哟哟av| 老司机福利青青草| 岛国黄片网站| 欧美极度丰满熟妇hd| 日韩黄色电影网站| 欧美国产视频| 日日摸日日弄日日拍| 久久色精品视频在线| 在线视频亚洲无码| 亚洲国产精品成人无码久久久| 丁香五月久久| 吉田爱美AV在线| 不卡av在线中文字幕| 岛国毛片手机在线观看| 超碰av人人人| 蜜臀久久99精品| 96精品久久久| 激情小说图片亚洲首页| 久久九九综合| 后入综合久久| 一级成人性爱| 992这里有精品| 夜夜高潮夜夜爽高清视频一| 久九九九九九九九热| av爱爱爱| 欧美第38页| …中文字幕亚洲乱,97人妻无码费视…| 欧洲精品二区| 国产激情av女片自拍| 国产少妇与亚洲av| 欧美成人精品一区二区男人蜜臀| 免费αV在线视频| 五月天久久久| 99精品久久久久久| 小日子操bb在线看| 亚州宗合另类| 校园春色AV天堂| 老熟女乱子伦中文字幕一区二区| 少妇超碰在线| 亚洲天堂另类| 欧美久久伊人| 涩涩久久精品| A级国产欧美激情在线| 欧亚性爱视频免费看| 中文字日本乱码| 天无日色综合| 国产久久天堂资源| 国产中文字幕曰本毛片| 无码视频一区二区| 亚洲图片婷婷五月天| 久妇网| 国语精品av| 九九探花视频在线观看| 影音先锋一区二区在线资源| 国产h小视频在线观看免费| 乱伦3P视频| 九九亚洲精品| 亚洲乱色熟女一区| 国产精品视频| 欧美午夜视频免费观看| 麻豆精品三区视频| 国产对白刺激视频| 美女毛片999| 懂色av一区二区三区天美传媒| 欧洲色| 日韩中文9| 26uuu国产亚洲综合| 艳美熟妇先锋一二三区| 国产三级在线现体验区| 亚洲永久AV无码精品秋霞| 亚洲精品久久久久毛片A片拉屎 | 91蜜桃传媒精品久久久一区二区| 日韩A优精品在线观看| 玖玖草久草99蜜月一区二区三区| 日韩一性一交一A片俄罗斯| 欧美色图成人网一区二区 | 9精品久久久久| 国产超碰在线| 97伊人网| 中文久久一区| 精品久久无码午夜福利| 久草男人天堂| 两性色网| 欧美精品久久96人妻无码| 丝袜熟女2P| av网站免费看| 久久久久久久六六| 桃花色涩综合影院| 97亚洲在线| 爆乳免费黄网站| 日本性感人妻91| 97精品国产精品免费观看| 国产成人一级av88| 精品少妇人妻一区二区三区| 四虎AV在线观看| 97精品免费视频网站| 99久热| 国产精品白丝| 亚洲美欧999| 黄在线| 五月天AV资源| 大香蕉在线视频15| 一级黄色性爱A级片| 欧美日韩人妻精品一区二区三区| www.99热| 国产成人午夜视频网址| 天天搞欧美| 日韩人妻资源在线看| 欧美成年人性爱视频免费观看| 伦理弟一页| www.色操逼| 91肉丝| 一区二区三区色综合| 精品性爱无码在线播放| 美女操逼A A| 色综九九九一区| 91美女在线精品视频| 伊人久久在线视频观看| 精品一区二区三区18| 久久久999网站| 91色婷婷综合久久中文字幕二区| 亚洲av综合色区图片亚洲| 国语精品av| 今日头条成人一区二区三区四虎精品| 亚洲av在线免费观看| 久思思热视频在线观看| 啊啊啊免费视频| 97se综合| 人人摸人人舔一区二区| 熟妇视频一区二区三区在线观看| 婷婷AV一区二区三区| se吧提供国产乱老熟视频胖女人| 久久 精品| 国产一区二区久久| 青草香蕉网| 偷拍 精品另类 凸凹了四区| 日韩欧美俄罗斯A片| 国产v片在线免费观看| www亚洲欧美| 91人妻久久久久久久久久久久久| 亚洲影院小综合| 日产狠狠干| 91小视频| 国模无码一区二区三区在线| 自拍内地三级在线观看| 国产h小视频在线观看免费| 欧美最婬乱婬爆婬牲视频| 9 7超碰在线免费观看| 六月丁香网| 国产伦乱91| 999亚洲国产视频| 伊人操你| 天天色天天干天天爱| 日本女人久久久| 亚洲天堂少妇| 人妻熟妇一区二区三区| 97超碰欧美手机| 亚洲骚男同com| 2017大香蕉国产精品久久| 超碰激情808| 亚州情色j区| 六月激情网| 亚洲成人免费在线| 五月天激情小说| 2018色综合天天操| 99这里有精品视频| 日韩精品国产精品五码一区二区| 色性综合| 97硬碰| 人人喜人人妻| 啊嗯好大视频在线观看| 亚洲三级网址久久最新| 亚洲欧洲无码一区夜| 伊人久久亚洲中文字幕不卡| 精吧天堂| 人妻第一页| 欧美天天综合在线| 免费a v| 亚洲国产一级黄色视频| 国产特级毛片AAAAAA高潮流水| 都市久久精品激情亚洲| 久久久亚洲高清不打码| 丁香婷婷啪啪| 1区2区3区在线视频| 青青草日逼视频| 欧洲精品一区二区三区| 99re6在线视频精品免费完整版安卓版| 97超碰国产亚洲精品| 欧美第五页| 久久99国产精品| 91狠狠综| 91足交| 久久九九网| 亚洲综合色男人网| 97久久免费| 少妇激情AV| 男人的天堂2019| 看免费的黄片| 超碰在线看| 中文字日本乱码| 天天舔天天日天天射| 日韩毛片9| 久久在线观看免费视频| 最新中文字幕在线亚洲| 国产丝袜视频| 乱子伦一区二区三区国产精品| 日韩欧美蜜桃精品久久中文字幕久久 | 国产精品4p在线观看| 人人操人人叉人人插人人| 五月天成人综合| 蜜桃视频一区二区三区在线观看| 情色五月天就去干| 视频一区二区免费在线| 亚洲国产欧美中日韩成人综合视频| 中文字幕在线24| 伊人伊人LD| 蜜臀99久久精品久久久久| 一级性爱啪啪视频| baisiav| 国产后入清纯| 日韩字幕一区| 五月婷婷综合网| 极品后入免费视频| 成人五月天丁香激情综合| 伊人久久亚洲色欲综合网站 | 欧美 熟女 日韩| 亚洲 欧美综合| 日韩在线性爱免费视频| 亚洲男人的天堂V| 九久久精| 日本日皮视频逼| 热久日综合| 99久久国产精品免费高潮| 亚洲天堂 视频你懂的| 区一二区日韩亚洲乱码av电影| 亚洲狠狠入| 欧洲成人性爱视频| 97日视频| 国产真乱mangent| 水野优香在线观看| 91亚洲综合在线| 粉嫩av在线一区二区| 日日天天久久啊啊aaa| 中国少妇啪啪视频| 丁香九月婷婷| 久久97视频| 大地资源在线观看中文第二页| 久久久久久久久久久久黄色 | 亚洲双插| 亚洲福利中文字幕在线| 91在线丝袜| 欧美黑人精品在线播放| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 免费久久精品麻豆一区二区av| 亚洲吊色| 熟女乱伦A| 久久水蜜臀亚洲AV无码精品| 国产精品91ai| 天天射天天| 亚洲城人男人的天堂| 又大又大又大又粗爽高潮观看| 久久久久9| 国产精品另类| 欧美亚洲激情小说| 国产精品麻豆成人av| 九九九久千久久激情蜜桃在线看| 黑人精品一区二区在线播放| 亚洲色入欧美| 久操不卡视频| 中文字幕后石码三区四区| 992这里有精品| 精品久久久久久久| 国产怡红院| 18禁在线视频| 啊啊啊好舒服视频在线观看| 亚洲成人美女无吗| 亚洲情色 自拍| 狠狠色丁香| 人人妻人人爽| 久久亚洲人妻| 黄片在线免费在线观看| 亚洲精品97| 91美女在线视频| 伊人影院综合是一个与深夜成人在线 | 四虎国产成人精品免费一女五男| 最新亚洲人成网站在线影院| 久久久久久加勒比| 乱精品一区字幕二区| 日韩欧美日韩| 人妻酒店出差被中出免费在线播放| 影视综合无码少妇| 欧洲亚洲人妻无码久久三区四区| www.婷婷六月天| 国产精品成久久久久午夜午夜| 嗯嗯啊啊好疼| 色婷婷香蕉| 欧美成人一级麻豆| 日日AAvv| 久久久久久性爱视频| 日韩图区 偷拍| 激情婷婷黑人91| 97综合在线观看| 女人被男人桶爽视频网站| 免费男人的天堂| 亚州成人a∨| 一,爱啪啪,在线免费视频| 国产精品夜夜| 97视频新免费| 日本青青草在线| 一区二区三区精品视频| 青娱乐二区免费| 国产精品97超碰| 九九久久首页| 午夜男人一级A片7777| 人妻少妇久久中文字幕一区二区 麻豆 | 国产资源中文字幕在线| 96精品一区| 自拍盗摄一区| 欧美成人性爱视频大全| 大香蕉免费3| 性91| 97欧美色| 国产精品密臀网在线观看| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 欧美日韩午夜精品一区二区三区| 97ai亚洲| 国产热av| 欧美影音在线| 亚洲自拍另类丝袜综合| 神马精品视频| 欧美一级色| 亚洲无码?第一页| yaouchengrenav| 好属操| 久久在肏| 久欲AV| 啊啊啊不要啊啊受不了了视频在线| 天天干一干| 国产亚洲国产超碰| 五月婷婷久久综合| 岛园激情| 777奇米影视777四色| 欧美一区二区三区互相| 肉动漫无遮挡h在线观看| 综合97| 欧美日韩在线小说| 免费国产视频| 久久伊人最新网址视频| 九九九九热| 男人的天堂2019| 日日躁夜夜躁狠狠躁超爽| 青青操日韩| 深爱伊人影院| 亚洲图片欧美偷拍| 另类欧美色| 老鸭窝成人免费毛片视频| 超碰人人干天天射| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 久久产精品一区二区三区电影| 天天欧美| 九九九九9999| 污色区网站| 一级性爱视频免费观看| 8x福利精品第一福利视频导航 | 国产吹潮女在线观看| 超碰视97中文| 欧美92| 97天天日| 亚洲伊人久久综合97| 国产欧美日本亚洲精品| 操逼操逼视频操逼| 99久久久久| 裸体美女免费看网站青草| 欧洲无码一区二区| 五月天伊人| 97se综合| 色香综合| 欧美巨大性舒爽顶到了| 黄色电影在线播放综合网站| 狠狠色狠狠色狠狠五月| 熟女乱伦二区| 色999人与兽| 久久夜嗨| 国产麻豆91欧美一区二区久久婷婷国产精品 | 人妻99p| 日本超碰在线国产一区| 色诱avtt| 超碰在线在公开超碰在线在公开| 色悠久| 中文字幕国产| 亚洲国产激情国产av| 老女人爆菊| 日韩资源网| AV有码在线| 国产v片在线免费观看| 中文一区在线视频| 玖玖人人爱| 亚洲日韩久久精品一区| 啊v在线观看视频| 免費黃色視頻觀看一| 亚洲男人bt天堂| 日本熟妇色熟妇在线视频播放| 综合色好色| 亚洲乱熟女一区二区三区大香蕉| 在线黄色污污网站| 伊人操你| 亚洲熟女乱综合一区二区三区| 一本大道青青| 九九色热| 加勒比中文av| 久久久久中出| 白嫩少妇| 久久久性爱视频| 精品日韩人妻视频| 中文字幕人妻色偷偷久久皮| 1人人看人人摸人人操| 超碰97色色| 伊人天天久久动态图| 女一区二区| 久久综合亚洲色1080p| 丝袜亚洲91| 另类小说综合网| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 亚洲中文字幕熟女少妇一区二区| 91小视频| 天天干18禁| 蜜桃传媒一区二区亚洲| 小日子操bb在线看| 国内毛片四区| 蜜臀少妇一区二区| 熟女精品va中文字幕| 日本不卡一二区| 亚洲熟妇无码一区二区三区| 中文字幕一区二区韩| 超碰97综合网| 国产男女无套97| 日日干夜夜干| 国产综合网站在线播放| 亚洲另类春色| 新91视频.cmp| 亚洲日产专区婷婷| 91av天美性媒精品视频| 亚洲中文字幕av| 尤物黄色在线观看网站| 热99这里有精品综合久久| 亚洲色图第四色| 久久久久亚洲一区女同性恋中文字幕| 91婷婷| 岛国大片在线观看网站入口| 黄片www.| 久久社区一区二区三区| 黄片视频观看| 日本韩高清无砖码22o| 亚洲色欧| 国产丝袜一区二区三区| 麻豆天美制片厂网站视频| 中文字幕av乱伦| 91高清无码下载| 人妻一二三区| 国产区性爱在线视频秋霞豆| 国产在线激情视频| 青娱乐国产盛宴视频| 国产中文字幕在线点播| 日本精品无码三级网站| 18啪啪手机免费性爱| 亚洲无线码欧洲精品区别| 日本黄色精品专区网站| 天天弄天天操| 色色色色电影网| 成人日韩欧美| 成年男人的天堂| 91熟女综合| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 天天综合精品| 一区二区三区 丝袜 高跟 美腿| 台湾佬中文娱乐网久久久久久久久久com | 久久精品店| 亚洲av无线观看| 久久久久久欧美精品se一二三四| 欧美久久九九| 婷婷久草| 国产精品网址| 天天插夜夜操| 日韩成人大片在线观看| 五月天婷婷欧美三区| 九一综合精品视品av| 97网站在线观看| 97天堂| 日韩中文字幕在线视频观看| 国产精品大香蕉| 亚洲欧洲色情高清| 91亚洲情色| 国产丝袜欧美在线视频| 亚洲午夜AV| 偷拍欧美激情| 亚洲 无码 有码 中文字幕| 97欧美精品| 婷婷AV一区二区三区| 96国产精品| av网站国产主播在线| 日韩激情中文字幕有码| 操我啊啊啊啊啊| 又黄又硬又粗又长国产视频| 久久久亚洲高清不打码| 奸色色 男人天堂 天天射| 蜜桃精品一区二区三区久在线| 免费a v| 超碰免费人人| 日本精品久久久久久久| 久久黄片国产一区二区| 熟女丰满人妻一区| 97爱亚洲| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 偷拍欧美亚洲| 蜜桃av综合网发布| 999熟女精品| 国产黄片在线免费观看| 色www精品视频在线观看| 欧美精品23| 小草精彩毛片| 老熟女乱伦一区| 黄总AV色图| 亚洲成人性| 狠综合网| 成人性爱电影一区二区| 加勒比av网| 亚洲激情网一二三四区| 啊啊嗯嗯好爽| 美腿丝袜高跟网免费视频免费视频| 黄色成人网久久久久久| 蜜桃久久久久久久| 日韩亚洲美女一区久久| 亚洲一区二区在线观看91| 一区二区三区 丝袜 高跟 美腿| 后入式免费视频| 97一区二区蜜臀| 欧美强奸乱能| 日韩性爱一级片| 蜜臀AV成人精品蜜臀AV久久| 青娱乐欧美激情一区二区| 人人操人人精品影片| 99只有精品| 人人么人人操| 亚洲综人网| 一区 欧美 日韩 麻豆| 色综合网1| 欧美gv在线观看| 中文字幕熟女人妻丝袜丝| 亚洲成人一二三区| 97操操| 国产精品直播在线观看直播| 熟女露脸激情自拍视频| 国产AV天美| 激情婷婷| 手机在线看片免费人成视频| 日韩综合成人免费视频| 91天天| 狠狠97| 啊啊啊啊操死我了| 色诱中文字幕| 欧美后进式| 国产成人精品日本亚洲语言| 人人操,人人插| 国产中出内射一区二区| 日韩99999| 伊人网在线点播| 人妻夜爽夜夜爽| 亚洲精品久久久久久| 中文字幕精品久久久久人妻红杏ⅰ| 91视频综合网| 999精品乱码| 熟妇色99| 97色碰| 久久久96| 乱操乱伦AV| 女欧美一区二三区| 91在线秘 男同| 国产专区第一页| 噜噜吧,噜噜色,噜噜| 久久久97| 艳美熟妇先锋一二三区| 老熟女91av| 男人天堂2012| 色婷婷婷五月天激情四射| 久久綜合很很很| 99精品无码| 日本一卡二区在线| 久久内射| 操逼www.| 手机看av网站在线看| 国产99 中文字幕日韩小视频| 人妻嗯啊啊在线播放| 丝袜视频一区二区在线播放国产中文| 三级网站超变态精品| 熟女熟妇一区二区三区视频| 久久69| 日韩欧美成人性爱在线| 99热综合| 欧美夜色| 黑丝制服中文字幕| 日韩 国产 欧美自拍| 精品婷婷| 九九九精品一区二区无码| 久久99干一本高清| 男女啪啪网站免费视频| 亚洲有薄码区久久在线一区| 亚洲欧美另类小说| 中文字幕亚韩| 99国产精品| 国产又色又爽又舒服的三级视频| 欧洲综合视频| 国产农村妇女毛片精品久久| 91人精品妻入口| 人妻啊啊人妻啊| 狠狠躁天天躁日日躁97| 天天谢天天干| 麻豆人妻少妇在线免费观看| 超碰免费人妻在线| 99热只有这里有精品| 裸体1区| 97在线观看免费视频| 国产亚洲日本精品在线| 97在线观视频免费观看| 亚洲欧洲中文日韩女优乱码| julia高潮后不停追击中出| 中文字幕色AV| 亚洲欧美国产其他二区| 91精品少妇搡搡搡| 色色色天美视频| 中文字幕欧洲有码| 国产精品人妻熟女aⅴ| 啊啊啊啊在线观看网址| 三级日本一区二区三区| 97大色网| 精品成人动漫一区二区| 综合九九| 成人av动漫在线观看| 在线看污网站| 亚洲另类综合欧美| 91精品无码久久久久久久| 欧美视频在线第3页| 你懂的在线观看区国产 | 日产精品久久久一区二区| 亚洲综合激情五月久久| 91美女视频。| 中文字幕日韩精品一区二区三区| 久久精品久久久久久久久| juliaann丝袜大战黑鬼| 久草新免费| 中国探花熟女| 青春草莓视频在线观看网址| 老女人老91妇女老热女| 在线观看精品国产免费| 精品九九九| 老熟妇综合| 亚洲精品视频二区| 中文字幕一二区二三区人妻专区| 中文字幕午夜精品久久久| 首页中文字幕中文字幕免费| www国产无码| 日韩久草| 国产精品久久久鸭无码的功能| 欧美性高潮| 色色热| 污污汅18禁网站在线永久免费观看| 九九九九九九免费视频| 成人天天看站长推荐| 操逼啊啊啊91| 日韩成人高清一区二区| 久久粉色| 夜夜躁狠狠躁日日躁av| 欧美日韩97在线| 精产国品一区二三产品| 精品人妻一区二区三区-国产精品| 国产97视频免费观看| 国产精品亚洲天堂网址| 大学生口爆吞精| 国产AV色黄看到爽| 亚洲成人激情小说视频| 爱妃国产亚洲视频中文字幕| 国产精品96久久久久久| 亚洲综合第一页| 日本99久久| 女人高潮大叫一级毛片| 国产精品老师| 91三级理论片播放器| 国产亚洲国产超碰| 桃色五月天| 婷色五月| 亚洲图片欧美91N| 久久色人体 | 啪啪性爱免费视频| 天天综合网日韩| 激情小说亚洲色图| 精品九九国产无码| 成年女人18级毛片毛片免费观看| 无码人妻丰满热妇又大又粗| 色噜噜人妻丝袜a∨先锋影 | 少妇被玩视频二三区| 男人天堂2012| 国产无马av| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 国产性刺激| 热久久国产精品视频大陆精品| 中文幕97| 男人天堂2019| 粉嫩av在线| 99热在线观看| 色噜噜人妻av 中文字幕| 裸体美女久久久| 九九九国产| 免费一级黄色录像影片| 一道本久久棕合爱| 91国产丝袜美女| 麻豆国产视频精品观看| 日本欧美国内在线| 97超级欧美| 操久久久久| 婷婷中文网| 欧美激情片一区二区| 上床啊啊啊| 女同性恋久久| 在线观看午夜婷婷久久久久清性观看| 在线播放欧洲免费av| 精品一级毛片在线观看| 992这里有精品| 超碰一区二区| 久久久久久国产无码精品| 91色图片| 精品国产91av一区二区三区| 啊啊啊好湿国产一二| 综合激情一一91| 亚洲 欧美 偷拍 唯美| 色狠狠综合噜一二三区| 大香久久| 日韩人妻无码专区| 超碰在线日韩一区| 亚洲最大成人a毛毛片| 吉川爱美亚洲二区在线| 国内偷自视频区视频综合| 国产欧美精品日韩区二区麻豆天美| 97超碰超| 4399成人黄A片| 不卡视频一区蜜桃视频| 在线99热| 美女黄站| 好舒服视频| 奇米狠999| 美女黄站| A啊啊在线观看| 久草国产在线视频| 午夜福利 成人 91| 91丝袜在线观看视频在线观看| 精品性爱| 东方亚洲在线操逼天堂| 色婷婷丁香五月| 97欧美综合| 久久久精品中文字幕麻豆| 国产欧美美女免费观看视频| 97伦乱| 又大又长又粗又爽又黄| 亚洲自拍欧美国产首页网曝 | 国产性感在线观看| 亚洲无码国产精品久久| a人欧美综合天堂麻豆| 五月天色色色| 黄色一区二区秘书性感| 91国产丝袜白虎| 91日日| 亚洲超碰AV| 性天堂| 亚洲日韩AV视色| 加勒比在线视频一区二区三区 | 日韩成人人妻网站| 国产视频一区二区在线| 丝袜喷水在线| 96免费视频在线| 欧美少妇色综合| 亚洲综合色在线| 亚洲 欧美 日本 国内 首页| 中文字幕黄色一起草| 超碰色老头| 精品性爱| 婷婷丁香九月| 精品九九国产无码| 日本在线视频导航| 91N欧美| 麻豆区99999| 亚洲中文字幕日产无码久久| 久久偷拍人| 久久 久久国内精品亚洲| 深喉吞精| 男人的天堂网页| 一本色道综合久久欧美| 国产精品熟女九色九色蜜臀| 欧美一级A片在线看视频性色| 95人妻爽爽人人做人人澡| 伊色综合天堂色97| 亚洲成人妻日韩在线| 久久久内射良家| 少妇综合| 黄色大香焦1级‘′‘| 中文字幕亚洲在线一区| 超碰亚洲97| 97色涩| 亚洲欧洲综合| 日本一区视频在线观看| 白嫩国模丰满一二三区| 久久99国产综合精品女同| 欧美性特| 色亚州人久干视频在线观看免费版| 精品人妻一区二区三区蜜桃视频| 91精品人妻| 免费观看的黄色的网站| 日韩另类色图| 美女黑人91神马| 亚州综合色| 不卡一区二区日本视频| 久久熟女人| 色777999综合| 中文字幕丰满人妻日本| 色噜噜人妻丝袜a∨先锋影 | 国产成人拍国产亚洲精品| 国产精品久久久久综合| 超碰久久性爱| 五月天九九日国产精品一区二区三区| 午夜毛片亚洲精品片国产久久久| 日韩欧美午夜视频在线| 亚洲久9| 国产成人无码a| 中文字幕一区av| 久久m| 免费视频在线一区二区不卡| av九九| 啊啊啊要高潮了| 欧美精品三级黄片| 色99在线| 亚洲日韩久久精品一区| 看免费一级在线播放毛片| 欧美中出1| 亚洲色图 图片| 国产精品高清2021在线| 97人人草| 桑老女人九区| 强奸乱伦大香蕉| 欧美AB在线观看| 妇女一区二区三区| 久久九九视频九九视频| 99精品伊人| 国产欧美在线观看免费观看| 亚洲av无码成人精品国产| 亚洲清纯唯美| 日韩中文字幕视频| 色嘟嘟人妻天堂网| 欧美高清色| 日本午夜久久电影| 91熟女视频网| 999岛国大片| 天综合网欧美| www.黄色在线| 嗯,啊。舔我逼| 久久精品人人做人人看| 天天日日日射| 内射小黄片| 亚洲综合网图| 18禁在线视频| 久久久9品一区二区三区| 亚洲av青草久久一区二区| 欧美久久九九| 91日韩国产欧美亚洲另类精盘州至城都| 成人国产精品三级A片| 天天影视综合色| 日本午夜精品理论片A级APP发布| 欧美精品亚洲精品日韩传电影| 久久久久亚洲Aⅴ无码| 亚洲丝袜99| 黄片www.| 国产91 丝袜在线播放 | 久久免费9| 丰满欧美少妇| 国产精品久久久| 亚洲三级网址久久最新| 26uuu偷拍亚洲欧洲综合| 欧美精品偷拍| 久久精品国产亚洲AV嘿嘿| 手机av天堂久久久久| 爱妃国产亚洲视频中文字幕| 少妇极品熟妇人妻无码| AV和黑人在线播放| 夜夜做夜夜爽精品视频| 亚洲精品视频在线| 日比av无码| 亚洲国产综合久久久性感熟妇| 日韩有码 一区二区三区| 蜜臀人妻少妇久久在线观看| 亚洲图片色图欧美另类| 亚洲清纯唯美| 亚洲国产激情国产av| 久草资源在线| 天天做天天爱天天爽AV| 日韩免费看在线黄色片| 伊人久大| 97干日韩| 91国产操逼视频| 欧美色图91p| 超碰99在线观看| 一本色道综合久久欧美日韩精品| 欧美精品丝袜久久久中文字幕| 亚欧色图在线激情| 久久99午夜精品一区人妻| 哈哈操电影| 久久理论字幕视频| 久久riav中文精品| 色九久| 91 国产丝袜在线放观看| 亚洲天堂一区二区久久| 四虎av在线| 国产精品经典一卡久久久 | 精品久久9| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 天天综合网~91| 日本不卡三级网在线播放| 操逼视频免费日韩无码| 欧美日韩另类激情图片| 91爱看| 尻女朋友一夜| 午夜一级免费毛片| 亚州色综合| 久久久久久久9最新免费视频观看| 久久99精品视频| 亚洲日本激情| 日本不卡在线二区三区| 中出789在线视频| www五月| 浪人综合网| 91精品人妻一区二区三区蜜桃| 中文字幕AV片| 久久久工口| 亚洲乱码国产乱码精网站| 69XX一中文字幕人妻91| 国产91美女视频| 人人澡综合涩| 台湾佬激情综合| 久久丁香五月婷婷| 欧美日韩电影成人在线| 九九九网站| aV中文麻| 曰韩欧美国产传媒麻豆第一区| 免费A V在线播放| a片偷拍视频| 亚洲色电影在线| 99福利社| 蜜屁Av| 久久久不能久久久久| 国产日韩欧美三级片| 操逼逼福利视频| 国产家庭乱伦性爱视频| 超碰人妻久久| 日韩大香蕉AV影片| 熟妇一区,二区,三区。| 久久综合女优| 欧美亚洲20p| 欧美一二三区四五区| 久久久精品无码亚免费| 国产欧美精选自拍一区| heyZO天然素人无码AⅤ专区| 操b在线观看| 日韩色| 青青草综合在线| 亚洲精品一卡二卡三卡福利视频网站| 欧美999| 啊啊啊用力在线观看| 国产精品69人妻无码久久久| 日韩精品-原创伙伴| 天综合网欧美| 青青草玖玖爱| 久久超碰av在线| 中字一区| 91nbbbbbb| 97一区二区三区视频| 亚熟hd视频在线| 超碰人妻中文在线| 亚洲天堂人人妻| 色欲色香天天天综合网www-亚洲综合国| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 国产97色在线 | 亚洲| 性高潮久久久久久久久久久| 亚洲成人AB| 亚洲在线A| 少妇三p| 亚洲欧美另类图片| 久久久96| 亚洲色91| 国产亚洲深夜激情| 在线欧美69V免费观看视频| 亚洲图片色图欧美另类| 日韩激情啪啪啪| 久久无码电影| 99无码视频| 校园春色制服丝袜中文字亚洲| 精品人妻1237| 国产中文福利| 亚洲限制级| 久久久96精品| 伊人网高清| 天堂69亚洲精品中文字| 日B操| 亚洲蜜桃V妇女| 五月天大香蕉| 伊人久久婷婷| 肉丝网站91| 碰超人人在线一区二区三区| 男人天堂毛片| 国产激情在线| 一区二区激情国产熟女| 桃色六月天| 夜精品久无码| 亚州欧美在线| 一区二区三区美女超清| 午夜乱轮操逼视频免费看| 1024人妻熟女一区二区三区| 青青草日韩无码| 久久日本熟妇熟色高清| 美女网站黄页| 男人的天堂 在线一区|