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

ARTICLE DETAIL

資訊詳情

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

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

二手交易系統(tǒng)JavaWeb課設(shè)完整實(shí)戰(zhàn):從需求分析到部署排錯 簡介這是廣東工業(yè)大學(xué)軟件工程專業(yè)課程設(shè)計(jì)的實(shí)戰(zhàn)成果實(shí)現(xiàn)了一個功能完整的基于Web的二手商品交易系統(tǒng)。系統(tǒng)采用B/S架構(gòu)前端使用HTML/CSS/JavaScript后端為PHP數(shù)據(jù)庫為MySQL涵蓋用戶注冊登錄、商品發(fā)布、瀏覽搜索、在線留言、交易狀態(tài)跟蹤等核心模塊。壓縮包共97個文件以46個PHP源碼、1個SQL建庫腳本、1個DOC設(shè)計(jì)報告、1個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)”這個題目時我第一反應(yīng)是“這不是個老掉牙的商城系統(tǒng)嗎”但真正從零跑完一版帶完整源碼、數(shù)據(jù)庫和設(shè)計(jì)文檔的項(xiàng)目后我發(fā)現(xiàn)這個題目的水比我預(yù)想的深得多。它不像電商秒殺系統(tǒng)那樣拼高并發(fā)也不像人工智能項(xiàng)目那樣拼算法創(chuàng)新它比拼的是你對軟件工程全流程的理解對業(yè)務(wù)建模的把握以及對一套完整Web項(xiàng)目從設(shè)計(jì)到部署的掌控力。這篇文章我就以廣東工業(yè)大學(xué)軟件工程課設(shè)這個項(xiàng)目為藍(lán)本把選題思路、技術(shù)棧選型、數(shù)據(jù)庫設(shè)計(jì)、核心功能實(shí)現(xiàn)、文檔組織、部署排錯整個過程拆開講清楚希望給正在做類似課設(shè)或者想獨(dú)立練手Web開發(fā)的朋友一份可以直接參考的實(shí)操指南。1. 項(xiàng)目定位與需求分析二手交易課設(shè)到底在練什么1.1 為什么這個選題適合做軟件工程課設(shè)軟件工程課設(shè)和普通編程作業(yè)最大的區(qū)別在于它考察的不只是“代碼能不能跑”而是“整個軟件生命周期你能不能駕馭住”。二手商品交易系統(tǒng)這個題目之所以經(jīng)典是因?yàn)樗臉I(yè)務(wù)復(fù)雜度剛剛好用戶、商品、訂單、交易這些核心概念非常直觀不需要深度行業(yè)知識也能快速理解但同時又足夠支撐起完整的需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、測試和部署流程。我當(dāng)時在需求分析階段就先畫了三張圖用戶用例圖、系統(tǒng)功能結(jié)構(gòu)圖、業(yè)務(wù)流程圖。用例圖定角色功能結(jié)構(gòu)圖定模塊業(yè)務(wù)流程圖定數(shù)據(jù)走向。這三張圖畫完整個項(xiàng)目的骨架基本就出來了后面寫代碼只是往骨架里填肉。很多同學(xué)上來就寫代碼寫到一半發(fā)現(xiàn)功能混亂、表結(jié)構(gòu)對不上就是因?yàn)樘^了這一步。1.2 需求邊界劃定三角色模型與權(quán)限范圍二手交易系統(tǒng)和普通電商最大的區(qū)別在于“買家”和“賣家”是同一個人群里的兩個身份。我賣出一件閑置商品時我是賣家買一件別人的舊書時我是買家這意味著系統(tǒng)不能用兩個完全獨(dú)立的模塊去處理用戶體系必須在賬號體系上統(tǒng)一、在業(yè)務(wù)角色上分離。我把系統(tǒng)用戶劃分為三類角色角色核心功能關(guān)鍵權(quán)限游客瀏覽商品、搜索僅可查看注冊用戶買家/賣家一體發(fā)布商品、修改/下架商品、下單購買、管理訂單、個人資料管理操作本人數(shù)據(jù)管理員用戶管理、商品審核/下架、分類管理、公告管理全表操作但需審計(jì)這里有一個容易被忽視的需求點(diǎn)加一個“管理員”角色。課設(shè)評審老師特別看重系統(tǒng)的完整性和安全性完全沒有后臺管理的網(wǎng)站在答辯時會被追問“如果有惡意用戶發(fā)布違規(guī)商品怎么辦”。所以哪怕管理員功能做得簡單一點(diǎn)也要有。1.3 核心業(yè)務(wù)閉環(huán)與用例拆解二手交易系統(tǒng)的核心閉環(huán)是注冊登錄 → 發(fā)布閑置 → 瀏覽搜索 → 下單購買 → 賣家處理訂單 → 確認(rèn)收貨 → 互相評價。評級功能如果時間緊迫可以不做但前面五個環(huán)節(jié)是閉環(huán)主干缺一個系統(tǒng)就不完整。在用例拆解階段我建議把每個用例的屬性寫清楚用例名稱、參與者、前置條件、主流程、異常流、后置條件。比如“買家下單購買”這個用例前置條件是“商品處于在售狀態(tài)且買家不擁有該商品”主流程是先提交訂單再生成訂單記錄異常流是“商品已下架”和“庫存不足”后置條件是“商品狀態(tài)變?yōu)橐驯慌南隆?。這些文字寫起來有點(diǎn)枯燥但后面寫接口時根本不用再想業(yè)務(wù)邏輯直接按用例翻譯成代碼就行。2. 技術(shù)選型與系統(tǒng)架構(gòu)被低估的“簡單”技術(shù)棧2.1 課設(shè)場景下的技術(shù)棧取舍很多同學(xué)在做Web課設(shè)時會陷入技術(shù)選型的糾結(jié)用ServletJSP還是Spring Boot用不用前后端分離要不要加Redis我的建議是先問自己這個項(xiàng)目的主要目標(biāo)是什么。軟件工程課設(shè)的核心目標(biāo)是展示“軟件工程過程”而不是展示你用了多少花哨的框架。我用的是經(jīng)典JavaWeb技術(shù)棧JSP Servlet MyBatis MySQL Tomcat。這套組合放在今天不算新潮但它有個天然優(yōu)勢——結(jié)構(gòu)足夠“樸素”老師一眼就能看清你的分層邏輯。Controller處理請求、Service處理業(yè)務(wù)、Mapper操作數(shù)據(jù)庫每一層職責(zé)單一打分的時候老師看到的就是“這個學(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配置文件這個分層有個關(guān)鍵好處哪里出問題一眼就能定位。頁面渲染出錯查JSP接口參數(shù)問題查Controller業(yè)務(wù)邏輯問題查Service數(shù)據(jù)查詢問題查Mapper。我在開發(fā)過程中至少有三分之一的時間是靠著這種清晰的邊界快速定位bug的。2.3 為什么建議保留純JavaWeb實(shí)現(xiàn)方式雖然我后來在工作中大量使用Spring Boot但如果讓我重新做一次這個課設(shè)我依然會選擇直接用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è)計(jì)的表數(shù)量是5張用戶表、商品分類表、商品表、訂單表、訂單明細(xì)表后來在寫代碼過程中發(fā)現(xiàn)還需要地址表于是加成了6張。每次功能開發(fā)中需要新表時我都會停下來反思最初的分析哪里遺漏了這也是一種很好的復(fù)盤訓(xùn)練。各表之間的核心關(guān)系是用戶與商品是一對多商品與分類是多對一訂單與用戶是多對一訂單與訂單明細(xì)是一對多。ER圖建議用工具畫我用的是draw.io畫完導(dǎo)出圖片直接貼到設(shè)計(jì)文檔里答辯時老師會重點(diǎn)看這個。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 注冊時間, 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 價格, original_price DECIMAL(10,2) DEFAULT NULL COMMENT 原價/參考價, 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ā)布時間, update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新時間, 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商品表;有幾個字段設(shè)計(jì)經(jīng)驗(yàn)值得單獨(dú)說。第一所有表都用utf8mb4字符集而不是utf8。utf8在MySQL中最大只支持3字節(jié)字符而用戶昵稱里如果用戶輸入了emoji比如“交易”用utf8會直接報錯或存成亂碼。這個坑我一開始就踩了后來統(tǒng)一改成了utf8mb4。第二價格字段用DECIMAL(10,2)而不是FLOAT或DOUBLE。浮點(diǎn)數(shù)在計(jì)算機(jī)中本身就不是精確保存的0.10.2不等于0.3這種問題在金額計(jì)算中是致命的。DECIMAL是定點(diǎn)數(shù)專門用于金額場景這是金融系統(tǒng)和交易系統(tǒng)的基本常識。第三商品表加了一個status字段來管理生命周期。部分同學(xué)會用“刪除商品”這個動作來管理但真正做交易系統(tǒng)時你應(yīng)該用狀態(tài)字段因?yàn)樯唐芬坏┊a(chǎn)生訂單記錄就不能被物理刪除否則訂單明細(xì)表會關(guān)聯(lián)不到商品數(shù)據(jù)。狀態(tài)字段讓商品可以在在售、已拍下、已賣出之間流轉(zhuǎn)也方便管理員做下架處理。第四所有表都帶create_time和update_time字段。前者用于按時間排序后者方便排查數(shù)據(jù)更新的問題。這兩個字段幾乎是業(yè)務(wù)系統(tǒng)標(biāo)配不要省。3.3 事務(wù)與并發(fā)下單扣庫存的正確姿勢下單操作涉及三步檢查商品狀態(tài)、更新商品狀態(tài)為已拍下、生成訂單記錄。這三步必須是一個事務(wù)任何一個步驟失敗前面的操作都要回滾。我用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; }這里有一個并發(fā)場景兩個買家同時看到同一件商品同時下單。如果只做了“查狀態(tài)再更新”兩步兩個線程都可能查到“在售”狀態(tài)然后都執(zhí)行更新最后生成兩筆訂單。解決辦法有兩種一是用數(shù)據(jù)庫的樂觀鎖在更新語句中加入版本號條件UPDATE t_goods SET status2, versionversion1 WHERE id? AND status1二是用悲觀鎖SELECT ... FOR UPDATE鎖住商品行。我在課設(shè)中用的是樂觀鎖方案因?yàn)榇a改動最小而且足夠說明我理解了并發(fā)問題。答辯時老師問到并發(fā)場景我把這個方案解釋清楚是一個明顯的加分項(xiàng)。4. 核心功能實(shí)現(xiàn)從登錄到交易閉環(huán)的代碼細(xì)節(jié)4.1 用戶模塊注冊登錄的校驗(yàn)與安全處理用戶模塊是整個系統(tǒng)的入口安全處理必須一開始就做對否則后面所有功能都暴露在風(fēng)險中。密碼存儲不能用明文也不能用簡單的MD5。我在課設(shè)中使用的是加鹽MD5方案注冊時隨機(jī)生成一個鹽值把“密碼鹽值”拼接后做MD5數(shù)據(jù)庫存鹽值和哈希值。登錄時取出鹽值重新計(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; }注冊時還需要做的事情包括用戶名唯一性校驗(yàn)、兩次密碼一致性校驗(yàn)、手機(jī)號格式正則校驗(yàn)、用戶名非法字符過濾防SQL注入和XSS。這些校驗(yàn)既要在前端做一遍提升用戶體驗(yàn)也必須在后端做一遍保證數(shù)據(jù)安全。前端校驗(yàn)可以被繞過后端校驗(yàn)才是真正的防線。登錄成功后我用Session保存用戶基本信息同時設(shè)置Session超時時間為30分鐘。每次請求通過Filter統(tǒng)一檢查是否有登錄用戶沒有就跳轉(zhuǎn)到登錄頁。這里要注意靜態(tài)資源css、js、圖片要排除在登錄校驗(yàn)之外否則連登錄頁的樣式都加載不出來。4.2 商品模塊發(fā)布、圖片上傳與分頁檢索商品發(fā)布是用戶使用頻率最高的功能之一實(shí)現(xiàn)時有兩個關(guān)鍵點(diǎn)圖片上傳和列表分頁。圖片上傳我采用的方案是本地磁盤目錄存儲 數(shù)據(jù)庫存相對路徑。前端表單提交時用multipart/form-data格式后端用Servlet的Part接口獲取文件流。圖片路徑我做了重命名用“時間戳隨機(jī)數(shù)原始擴(kuò)展名”拼成新文件名避免重名覆蓋。同時限制了文件大小最大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);商品列表頁的分頁是我手動實(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時不能算出負(fù)數(shù)的offset傳1000時不能一直查出空數(shù)據(jù)。JSP頁面的分頁組件我封裝成了一個JSP標(biāo)簽傳到頁面的參數(shù)就只有當(dāng)前頁和總頁數(shù)其他邏輯都封裝在后臺。4.3 訂單模塊狀態(tài)機(jī)驅(qū)動與操作權(quán)限控制訂單模塊是整個系統(tǒng)里最容易寫亂的地方因?yàn)橛唵卧诓煌A段有不同的狀態(tài)不同角色在不同狀態(tài)下的操作權(quán)限也不同。我用一個狀態(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 已完成交易完成無可評價-4 已取消訂單關(guān)閉無-我在代碼里用了一個OrderStatus枚舉類來管理這些狀態(tài)和流轉(zhuǎn)避免在Service層里寫一堆魔法數(shù)字。這里舉個核心方法示例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); }這段代碼看起來簡單但包含三個關(guān)鍵點(diǎn)第一是業(yè)務(wù)校驗(yàn)訂單是否存在第二是權(quán)限校驗(yàn)只有買家本人能操作第三是狀態(tài)校驗(yàn)必須是已發(fā)貨狀態(tài)才能確認(rèn)收貨。三個校驗(yàn)缺一不可這是我踩過坑后才總結(jié)出來的。4.4 攔截器與安全過濾課設(shè)也要有安全意識安全管理不只是一句“登錄后才能訪問”這么簡單。我加了一個全局過濾器來處理三件事編碼統(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解決中文亂碼。這里有個細(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ì)量有時候比代碼質(zhì)量還重要因?yàn)槔蠋煵豢赡茉谀愦疝q前把所有代碼都看一遍他主要通過文檔來了解你的項(xiàng)目。我按標(biāo)準(zhǔn)軟件工程文檔結(jié)構(gòu)來寫包括五個部分需求分析、概要設(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)鍵類圖和時序圖。測試部分要貼測試用例表和測試結(jié)果截圖。項(xiàng)目總結(jié)部分寫遇到的問題和解決方案。5.2 讓文檔“有分量”的細(xì)節(jié)第一每個模塊的核心功能都要截圖圖比文字更有說服力。我在每個功能模塊下都放了“功能描述操作步驟運(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給評審留個好印象源碼目錄要有清晰的注釋結(jié)構(gòu)。我習(xí)慣把代碼中的類分為四類實(shí)體類、工具類、業(yè)務(wù)類、控制類每類的類注釋寫明類的職責(zé)。關(guān)鍵業(yè)務(wù)方法上加方法注釋寫明業(yè)務(wù)邏輯和輸入輸出。項(xiàng)目根目錄放一個README.md內(nèi)容包含項(xiàng)目簡介、功能清單、技術(shù)棧、環(huán)境要求、部署步驟、默認(rèn)賬號。這樣老師拿到源碼后按README的步驟5分鐘就能把項(xiàng)目跑起來這個體驗(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. 啟動項(xiàng)目訪問 http://localhost:8080/secondhand/ # 5. 管理員賬號 admin/123456測試用戶 user1/1234566. 本地運(yùn)行與部署排錯實(shí)錄6.1 從零復(fù)現(xiàn)環(huán)境準(zhǔn)備與啟動流程如果你拿到源碼后想讓項(xiàng)目跑起來按以下步驟操作安裝JDK 8、Tomcat 9、MySQL 5.7或8.0開發(fā)工具用IDEA社區(qū)版即可。創(chuàng)建一個名為secondhand的數(shù)據(jù)庫導(dǎo)入項(xiàng)目中SQL文件。注意MySQL 8.0的驅(qū)動配置和5.7不一樣驅(qū)動類名要改成com.mysql.cj.jdbc.DriverURL要加serverTimezoneAsia/ShanghaicharacterEncodingutf8mb4。修改db.properties中的數(shù)據(jù)庫賬號密碼。IDEA中配置TomcatDeployment選擇war exploded模式Application context設(shè)為/secondhand/。啟動項(xiàng)目瀏覽器訪問對應(yīng)地址。6.2 高頻問題排查速查表問題現(xiàn)象原因分析解決方案頁面全部亂碼請求/響應(yīng)編碼不一致確認(rèn)Filter中設(shè)置了UTF-8JSP頁面頂部加% page languagejava contentTypetext/html; charsetUTF-8%Tomcat啟動失敗端口被占用8080端口被其他程序占用netstat -ano數(shù)據(jù)庫連接報錯驅(qū)動類名或URL配置錯誤檢查MySQL版本對應(yīng)的驅(qū)動類名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 幾個只有實(shí)操才會踩到的坑第一個坑是Tomcat的GET請求亂碼。我花了大半天排查最后發(fā)現(xiàn)request.setCharacterEncoding只解決POST表單的亂碼GET請求帶中文參數(shù)時Tomcat默認(rèn)按ISO-8859-1解碼必須在server.xml里配置URIEncodingUTF-8。第二個坑是MyBatis的#{}和${}混用。這是我一開始圖方便在動態(tài)查詢里用了${}拼接排序字段后來被SQL注入演練工具掃出了漏洞才狠下心把所有用戶輸入都用#{}傳參。第三個坑是JSP頁面引入CSS和JS時用了相對路徑導(dǎo)致在二級URL頁面下樣式全部丟失。解決方法是統(tǒng)一用${pageContext.request.contextPath}拼接靜態(tài)資源路徑這個坑幾乎每個做JavaWeb課設(shè)的同學(xué)都會踩一次。7. 關(guān)于這次課設(shè)我想再啰嗦幾句做完整套系統(tǒng)后我最大的體會是軟件工程課設(shè)的評分標(biāo)準(zhǔn)從來不是“功能越多越好”而是“工程過程是否規(guī)范”。一個功能完整但沒寫文檔、沒做測試、代碼耦合得一塌糊涂的項(xiàng)目和一個功能適中但需求分析清晰、分層合理、測試完善、文檔規(guī)范的項(xiàng)目后者在答辯時拿到的分?jǐn)?shù)通常更高。如果你現(xiàn)在正在做類似的課設(shè)我的建議是先花一周時間把需求、表結(jié)構(gòu)、接口定義全部定下來再花兩周時間寫代碼留一周做測試和寫文檔、準(zhǔn)備答辯。很多同學(xué)習(xí)慣邊寫代碼邊改需求結(jié)果越改越亂最后文檔全是編的。這個項(xiàng)目做完之后我建議你還可以繼續(xù)擴(kuò)展把支付模擬改成微信支付沙箱、加一個Redis緩存熱點(diǎn)商品瀏覽量、把Session登錄改成JWT令牌、部署到云服務(wù)器上去。每一步擴(kuò)展對應(yīng)的都是實(shí)際工作中的一個真實(shí)場景做完這些你才算是把這門課學(xué)透了。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月婷婷丁香综合| 婷婷五月激情的图片| 99在线观看视频蜜臀| 亚洲激情av| 久久婷婷五月草视频在线播放| 丁香五月色五月| 99这里有精品视频3| 国产美女无遮挡裸体毛片A片| 丁香五月亚洲AV| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 2017狠狠干| 激情五月天激情网| 991精品在线视频| 久99热| 婷婷五月精品中文字幕| site:xmssd.com| 久草婷| 99色综合网| 天天干夜夜b| 99久精品视频| 97香蕉人人在线观看| 91九色在线| 日日爽日日爽| 丁香五月天BBw| 无码人妻电影| 超碰色婷婷| 国产成人片| www,天天干| 日韩三级片一区二区| 欧美久久久久久久久中文字幕| 五月婷婷激情五月| 色五月人妻| 婷婷五月激情天| 五月丁香啪啪激情| 色插综合网| 在线看av| 中文字幕黄色电影网址| 香蕉伊人综合| 色婷婷激情五月天| 色婷婷超碰| 超碰av在| 色级婷婷| 草榴视频网| 国产AV影片| 天天干电影| 天天色99| 五月天婷婷爱| 色五月涩涩婷婷| 丁香五月天色综合| 插插干干干色| 99色婷婷视频| 九九热精品| 9热精品| 五月天狠狠网| 99视频35精品视频在线观看| 深爱激情婷| 色播丁香婷婷五月激情| 91精品久久久久久综合五月天| 五月婷免费视频久久久| 色青五月天| 99热欧| 97色啪| 99伊人婷婷在线| 狠狠色色色| 亚洲精品久久久无码| 99热在线播放| 日本女色人人| 九热视频精品| 一级二级色大片| 东京热人妻一区二区三区在线| 99热8在线| 国产精品久久久久9999小说| 九九爱精品网站| 欧美97超碰| 久久5 9视频免费观看| 白人荫道BBWBBB大荫道| 婷婷五月综合免费在线| 日韩综合天堂| 色欲香综合网| 五月天婷婷綜合院| 婷婷综合在线| 97婷婷五月| 九月av在线| 在线资源av-超碰中文在线-成人AV| 激情国产综合| 六月色伊人婷婷| 九九热只有精品6| 色欲影香| 殴美激情综合网| 成人视频一区| 这里只有精品在线免费视频| 国产性爱一级| 99精品偷自拍| 狠狠草网| 五月综合激情综合久| 五月色丁香视频精品| 丁香六月情| 天天综合色丁香| 久久天天| 午夜天天精品视频| 玖玖爱资源站| www.亚洲激情| 五月天色五月| 9有码中文| 亚洲激情无码久久| 婷婷激情九月| 日本欧美999久久久三级片| 天天插天天射天天干| 久久久久久久五月婷婷六月丁香综合,开心激情综合网 | 97婷婷五月天| 中文字幕成人| 精品牛仔裤超碰| 狠狠狠狠免费| 五月天婷婷在线播放| 熟妇内谢69XXXXXA片| 国产免费av网站| 99热综合| 五月婷啪啪| 青青久在线视频免费观看| 久久婷婷五月激情综合| 激情五月婷婷综合色播小说| 婷婷精品| 亚洲一区二区无遮挡A片| 天天弄天天爽| 天天干天天干天天操| 色狠狠婷婷| 9久热在线视频精品| 亚洲综合色丁香五月天| 大地9中文在线观看免费高清| www.99热在线观看| 九九激情综合| 日本三级日本三级99| 五月丁香激情婷婷| 成人国产网| 婷婷六月丁香激情| 狠狠色综合网站久久久久| 大香蕉色婷婷伊人在线| 天天干-天天日| 99ri国产在线| 97碰碰人人| 五月丁香六月婷婷久久| 就去色色五月丁香婷婷久久久| 久久久人妻不卡| 亚洲乱码w在线观看| 久久5 9视频免费观看| 婷婷色中文字幕| 91成人性爱视频| 久久激丁香| 桃色Av色哟哟| 99精品久久| 人人操91| 色色色热热热| 日韩五月婷婷| 婷婷丁香18| 久久网站免费亚洲| 国自产拍偷拍精品啪啪一区二区| 草婷婷在线| 丰满少妇猛烈A片免费看观看| 综合色情网| 日韩成人中文字幕| peg 2区三区四区的| 五月天综合视频| www.91色| 日韩一本操| 黄色99网| 欧美亚洲成人在线| 日本三级韩三级99久久| 亚洲日韩26uuu| 久久精品99国产精品日本| 99久99热| 玖玖九九9999在线观看视频精品| 丁香五月影院| 影音先锋色色色资源色资源色| 久久婷婷成人综合色怡春院| 777精品成人a v久久| 少妇真实被内射视频三四区| 九九九九这里只有精品| 九月丁香| Caoub青青超碰| 人草人人| 久久66er久久| 久久久久五月丁香| 无码se| www.天天日| 天天色天天色天天色天天色天天色天天色| 久月久在线视频| 激情五月天激情小说| 超碰在线观看9| 亚洲男女激情| 久久99激情丁香婷婷小说网| 色婷婷影视| 夜夜操加勒比| 亚洲天堂热| 色五月激情问网站| 射琪琪| av狠狠操| 色色色色色色色色网站| 九九99香蕉在线视频播放| 26.uuu丁香五月婷婷| 超碰成人免费| 这里只有精品视频在线| 丁香五月激情月| 91丨人妻丨国产丨丝袜| 国产精品久久久久久久久久| 五月婷婷香蕉| 丁香五月人妻| 天天爽在线视频| 黄网在线免费观| 伊人激情影院| 天天射影视综合网| 五月天婷婷久久日| 五月丁香啪综合| 日日操夜夜擼| 超碰久热| 久热免费| 啪啪一区| 丁香六月婷| 欧美久久五月婷婷| 97在线视频观看| 天天肏视奸| 色九九综合| www.开心激情| 亚洲色婷婷激情| www.91在线观看| 99热精国产这里只有精品| 99色日本| 久久婷婷五月综合一| 激情深爱五月天| 婷婷五月天视频免费在线观看| 77799热| 婷婷五月天中文字幕| 99热在线观看| 亚洲经典三级| 五月天婷婷激情| 五月丁香婷婷色色色| 99热只有这里才是精品| wwccc久久久| 亚洲成人综合在线| 超碰人人操在线| 97碰在线免费观看| 男女免费视频999| 狠狠色综合五月人人| 色狠狠综合| 五月丁香久久网| 蜜乳中文字| www好屌操| aaaaa黄色| 五月婷婷激情| 99热超碰在线| ,99视频久久| 久久99网站| 五月天婷婷网站888| 97sese婷婷| 色99综合色88| 婷婷久久色| 亚洲AV日韩在线观看| www久久久久久久久久久| 九九成人| 色色亚洲99com| 99超超碰| 日韩五月婷婷| 日韩啪| 91婷色| 在线成人网址| WWW.激情| 丁香五月综合网亚洲综合欧美狠狠| 五月婷婷九| 99久久成人| 六月丁香婷婷在线波多 | 久九色| 五月天伊人| 丁香六月啪| 大香蕉人妻| 天天干,夜夜爽| 丁香六月天| 激情综合五月色在线| 操操操av| www色综合| 亚洲激情综合免费| 久久99久久99久久99人受| 色色免费网站| 全部老头和老太XXXXX| 538在线精品| 国产一级黄色影片,| 九月婷婷在线观看| 欧美色图45678| 五月丁香手机在线| 精品久久久人妻| 五月精品| 激情内射人妻1区2区3区| 啪啪操网| 青青.com| 五月天激情图片| 色色色婷婷五月| 久久久免费精彩视频| 六月色婷婷| 狠狠干五月| 亚洲在线视频321| 99精品久久| 五月丁香六月婷婷不卡免费无码 | 91在线操逼视频| 91n啪啪| 五月丁香六月激情综合| 久久综合天天综合| 99久久久| 另类激情首页| 日本久久精品| 成人Av在线大片| Se.婷婷五月天| 婷婷五月天电影区小说区| 天堂色婷婷| 最近中文字幕2019视频1| 极品少妇婷婷五月| 丁香五月激情欧欧美| 天天干天天干天天干天天干天天干| 婷婷五月天色色| 一本婷婷丁香久久| 五月丁香啪啪啪免费看| 超碰在线免费| 久草丁香婷婷五月天婷| 激情五月天色爱| 丁香五月天堂| 色五月婷婷五月天激情综合| 99久久精品网| 强壮的公次次弄得我高潮A片日本 | 婷婷六月综合基地| 色五月综合激情| 色综合色| wuyuedingxiang99| 天天骑天天操| 丁香婷婷五月六月久久| 亚洲色优| 极品少妇婷婷五月| 999热成人在线综合网| 欧美精品99久久久| 五月丁香色| 欧美美美女性色视频| 日本久久天堂| 色五月婷婷中文字幕在线观看| 日韩AV大全| 国产AV一区二区三区最新精品| 丁香五月色情| 99热亚洲| 97婷婷狠狠| 91婷婷五月天嫩女| 99热久久日本| 婷婷五月色天| 婷婷综合九月| 99热思思| 五月综合丁香婷婷| 991精品在线视频| 免费观看高清无码| 丁香五月Av| 亚洲综合五月天婷婷| 成人视频九九| 中文字幕日产A片在线看| 久久精典| 九九RE视频在线精品| 成人视频一区| 中文字幕在线免费观看视频| 五月天播播综合| 99久久9| 九九综合视频在线观看| 色九月| 激情久久四色| 国产69久久久欧美黑人A片| 亚洲色色图片| 激情性爱五月天网页| 可以直接看的av网站| www.99视频| 婷婷激情五月天激情在线| 丁香五月成人| 青青草六月丁香| 婷婷五月天天| 99精彩视频| 色婷婷超碰| 亚洲无线视频| 性爱在线播放av| 全部老头和老太XXXXX| 激情婷婷五月黑人| 激情婷婷22月间| 激情综合五月婷婷| 色欲av伊人久久大香线蕉影院| 色啪综合| 天天爽天天爽夜夜爽| yjzz亚洲国产| 大香蕉99| 亚洲婷婷丁香五月亚洲| www.99免费视频| 超碰成人在线观看| 99热这里只有精品13| 九九九九九九热| 夜夜夜夜撸夜夜操| 99热九九这里只有精品| 亚洲第一成人无码A片| 色婷婷丁香| 99在线观看精品| 97人妻碰碰中文无码久热丝袜| 五月天婷婷青青| 久久久久久久久久久久久久久久久精典| 五月色影院| 婷综合| 成人国产欧美大片一区| 六月婷婷色综合| 99久视频| 国产a视频| 五月婷婷色| 另类激情五月| 97人妻碰碰中文无码久热丝袜| 国产AV一区二区三区日韩| 婷婷视频在线| 丁香婷婷综合精品六月初| 色青青电影色五月| 亚洲情欲| 欧美成人精品A片免费一区99| 丁香五月婷婷六月婷婷| 欧美三级视频下载| 亚洲网站观看视频| 五月天色社区| 色五月涩涩婷婷| 性 色 婷婷| 996精品热视频| 日本欧美成人片AAAA| 日本婷色| 色五狠狠| 九九婷婷五月天影视| 99热精品99| 三级毛片视频| 九九热精品视频在线观看| 99色色色色| 欧美日韩大黄| 91久久久久久久| 五月婷婷激情在线| 成人无码髙潮喷水A片| 中文色婷婷| 丁香九月婷婷色| 五月激情五月丁香| 激情五月天色| 亚洲AV人人操| 影视av久久久噜噜噜噜噜三级| ZpRSw| 天天日天天操心| 色婷婷综合久久久久| 婷婷六月色播| 99热这里只有精品50| 婷婷五月天最新综合你懂的| 国産精品| 超碰激情网| 久久在线大香蕉| 六月婷婷日| 久久一级AV| 色婷五月| 国产69久久久欧美黑人A片| 日本一道久久| 香蕉狠狠爱视频| 久草热在线视频| 久久久精品人妻录| 久久黄色片| 这里只有精品9| 天天热夜夜操| 婷婷五月天在婷| 天天撸夜夜爽| 五月综合婷婷久久在线| 五月天激情图| 婷婷激情五月综合丁香社| 亚洲色情一区二区三区四区| 丁香五月激情综合网激情五月| 狠狠狠婷婷五月综合| 丝袜大香蕉| 另类视频综合| 狠狠草天天草| 啪啪干伊人婷婷| 在线,国产,色,热视频| 亚洲色色在线| av在线色五月丁香婷区久| 久色五月婷婷综合| 夜夜骑天天玩天天日| 婷婷色av| 婷婷娌伦网| 色99在线观看| 久久婷婷亚洲| 色婷婷五月天av在线| 亚洲婷婷性爱| 五月激情婷婷国产精品久久久久久| 久久五月天网| 婷婷丁香五月天婷婷| 欧洲永久精品| 在热视频精品| 热99精品视频五月| 色婷婷电影网| 国产AV网页| 91九色欧美| 五月丁香性爱| 五月天中文网| 夜夜爱伊人| 九九99久久| 国产又色又爽又黄又免费| 丁香五月天大香蕉啪啪| 五月婷婷久久久久| 夜夜操夜夜爽| 欧美丁香婷婷五月天| 91碰碰视频| 91五月天| 2015WWW永久免费观看播放| 六月激情婷婷| www,婷婷五月天,com| 99热思思| 中文字幕乱码亚洲精品一区| 玖玖婷婷色五月| 五月丁香五月综合欧美| 国产精品成人网址| 亚洲综合99| 狠狠色丁香婷婷综合久久97AV| 一级黄色尤物综合视频手机在线观看| 婷婷色五月丁香六月欧美啪| 婷婷香蕉香| 久久久久久综合88| 狠狠操狠狠做| 亚洲激情综合| 五月天婷婷激情在线色图| aaaaa黄色| 日本五月天一页| 亚洲激情五月天| 午夜在线成人网站免费观看| AV伊人青草丁香六月| 在线可以看的av网址| 九九人人操| 色综合女人99| 丁香五月婷婷成人综合| 日日噜噜夜夜狠狠久久丁香六月| 热久免费视频9| 99热99成人| 国产激情婷婷| AV在线免费观看不卡| 人妻操逼视频。| www.99热这里只有精品| 天天躁日日躁狠狠躁日日躁2022年5月9日 | 国产裸舞表演WWWW| 国产精品色色| 欧美黑人大吊| 97碰| 欧美激情中文字幕| 俺去也综合| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 久色五月丁香视频| 亚洲图片 丁香婷婷| 亚州欧美国产久精国产99综合视频| 天天日 天天草| 久久精品熟女亚洲AV麻豆| aⅤ79成人片| 九九热在线观看视频| 九热网站| 五月丁六月婷| 色欲五月丁香| Jh7Uf088VHafNm| 五月丁香综合网| 97在线精品| 六月婷婷综合激情| 大香蕉伊人爱在线| 丁香六月婷婷| 亚洲婷婷久久综合| 五月天久久综合| 久久人操-久草婷婷-成人AV| 激情五月六月婷婷| 成人一区在线观看| 亚洲天天操| 东京热人妻一区二区三区在线| 亚洲VA在线| 五月婷婷丁香91| 5月丁香六月情| 欧美叉叉叉BBB网站| 婷婷的五月天另类视频| 双性美人被调教到喷水A片| www.粉嫩av.com| 天天插天天爱| 中文字幕簧片| 丁香五月玖玖| 97色色色| 五月婷婷人人人操| 婷婷久久色| 九九热视频精品2| 九九这里只有精品| 丁香五月天在线直播观看| 日日色五月天| 九九九九九九九九九九九九九九九九九九九在线视频| 五月情四婷婷| 七七久久综合| 久草性爱| 99热久只有精品首页| 思思久久99热只有频精品66| 成人丁香婷婷五月天| 日日操无码| 中文在线成人| site:xiongshengzz.com| 久操热线| 丁香五月无码| www999日韩精品| 丁香五月人妻| 色操b| 婷婷五月色情| 色999五月色| www,婷婷五月天,com| 五月婷婷亚洲色图| 丁香婷婷基地| 99热这里只有精品最新| 四月婷婷五月丁香| 日日夜夜狠狠| 丁香婷婷婷五月| AV操逼网| 久在热99| 91精品久久久久久| 思思精品久久艹| 97资源碰碰在线| 婷婷五月天av| 综合av在线| 美女美女美女三级色天天天天天| 六月婷婷色色网| www.91在线观看| 丁香五月天人体| 91九色PORNY中文啦| 99热这里只有精品55| 色99欧洲色19| 人人爱干人人爱草| 欧美啪啪五月天| WWW·天天操·视频?| av国产精品| 天天插天天插| 久热这里只有精品66| 97在线刺激| 久久九九激情五月天| 在线另类视频| 综合久久人妻| 欧美激情五月天在线观看| 五月情涩综合婷婷| 色偷偷AV亚洲男人的天堂| WWW.桔色成人.COM| 五月天深爱激情网| 亚洲中文无码成人| 碰超99| av婷婷丁香| 日韩操人| 九热视频| www热久久yy9| 五月综合激情视频在线| 另类小说五月天综合网| 天天综合亚洲综合网天天αⅴ| 99热九九在线| 久久久久久久久18久久| 日产精品一线二线三线芒果| 婷婷深爱五月天| 色婷另类| 99九九热视频| 可以直接看的av| 色五月婷激情| 丁香网五月网| 九月婷婷丁香| 九九九午夜影院成人| 区区久久妻| www.五月婷婷| 97人人操人人| 五月婷婷久久久| 99热丁香| 夜夜大香蕉婷婷丁香| 五月天激情综合网| 加勒比日本一区二区三区| 九热av| 玖玖伊人网| 狠狠爱成人综合网| 婷婷五亚洲| 亚洲婷婷激情888精品久| 丁香五月婷婷动漫视频| 天天模,夜夜模夜夜爽| www.99热最新视频8| 色色成人網| 婷婷五月天另类视频| 播五月婷婷开心| 99这里只有免费的小视频在线观看| 天天狠狠婷婷在线| 激情婷婷综合| 色五月亚洲开心网| 五月婷婷色五月| 激情五月婷婷| 狠狠香蕉| 青青草视频免费观看| 懂色av粉嫩av蜜臀av| 沈娜娜av| 欧美色色色色色色| 久久99网站| 蜜乳.comcom| 亚洲噜色| 婷婷九月在线| 色婷婷狠狠| 国产AV一区二区三区日韩| 日本综合99| 久久一品区| 九月丁香| 五月综合影院| 亚洲秘 无码一区二区三区妃光/1| 五月天开心色情网| 狠狠干综合| 九九色黄色| 五月丁香激情怕怕| 久久亚洲网| 五月天影院| 97干网站| www.97视频| 伊人网啪啪| 成人精品一区二区三区四区五区 | 久久资源网五月婷| 国产午夜精品AV一区二区麻豆| 成人久碰| 激情六月天| 黄网在线免费| 九九热re99re6在线精品| 做爱夜夜干天天操| www.色色色色| 99综合| 九九综合九色欧美狠狠| 婷婷色影院| 热99热9| 婷婷伊人网| av操B网站| 热久久91| 亚洲天堂aaa| 日夜操B| 激情都市另类| 丁香九月激情| 五月婷导航| 日韩1区2区| 在线观看视频1区| AV大香蕉| 伊人五月成人| 丁香六月激情| 色色色色色色色色色色色色色97| 婷婷六月中文字幕| 91视频一起草| 激情超碰网| 五月丁香六月色婷| 狠狠干综合| 疯狂做受XXXX高潮A片动画| 99啪99| 天天射射夜| 久久伊人大香蕉| 开心五月婷婷伊人| 亚洲第一色色色| 五月天狠狠| 九九九激情综合| 色综合九九| 99只有这里有精品在线视频| 成人无码髙潮喷水A片| 丁香六月色婷婷| 五月花综合视频| 综合av在线| 亚洲精品亚洲人成人网| 神马欧美精| 香港九九六区八区99| 六月婷婷狠狠| 久久xxxx| 91大神操美女| 激情六月丁| YW无码| 五月天色官网| 97色吧| 开心婷婷中文字慕| 99在线观看| 99热插| 26uuu日韩| 国内自拍1区| 色五月色五天色情网| 99操| 成人必爱视| 99re这里| 无码九九| 天天噜噜| 天天草人人摸| 亚洲日日日| 久久99精品视频| 亚洲乱码w在线观看| 99热狠狠操| 色5月婷婷色| 色婷婷六月| 狠狠综合久久综合| 天天爽天天爽| 一二区成人电影| 婷婷综合亚洲| 91色在线| 五月天婷婷色| 五月丁香六月在线欧美| 色9999日韩国产| 99久久免费性爱视频`| 色婷婷丁香五月| 亚洲 综合中文| 五月婷婷色| 开心五月丁香综合久久| 91久久久久久久久久18| 日日爱678| 嫩草AV久久伊人妇女超级A| 丁香婷婷五月天色播| 无码人妻少妇色欲AV一区二区| 五月婷婷激情色情网| 色五月婷婷777| 亚洲亚洲永久无码777777| 九九热内射| 99热网址| 亚洲小视频免费播放| 欧美色五月| 九九热99精品在线| 九九热在线视频观看免费10| 六月丁香五月婷婷| 九九成人精品免费视频| 日日夜夜干| 五月丁香黄色视频| 欧美VA视频| 色婷婷狠狠18禁| 五月天开心色情网| 牛牛色av| 丝袜人妻| 婷婷六月伊人| 久Se视频在线观看| 色色五月婷| 欧美婷婷五月天综合| 五月婷久久草| 六月婷婷激情| 五月婷婷激情视频| 色婷婷手机在线| 在线看的免费网站| 国产午夜精品一区二区| 天天爽天天爽天天爽天天爽天天爽天天爽天天| 国产精品18久久久| 无码操B| 激情深愛五月視頻| 久热精彩视频98| 天天噜噜| 狠狠色噜噜| 婷婷丁香五月亚洲| 日韩一区二区三区无码| 日本久草福利| 香蕉人妻AV久久久久天天| 99在线热视频| 六月香五月婷| 久久久久网站| 七月婷婷色香综合网| 可以看的av| ji'qing'luan'ren'lun| 色色影院黄大片| 黄桃AV无码免费一区二区三区| 五月天激情图片| 丁香花五月天| 久久久99视频| 色99www.| 午夜天堂一区人妻| 色五月激情五月天| 婷婷五月天小说| 丁香五月激情六月| 色综合99| 午夜九九九九九九| 91人人人人人| 激情av| 激情图片婷婷丁香五月| 手机看片日日做夜夜| 五月大香蕉| 色黄啪啪| 欧美一级a| 成人做爰高潮A片免费视频| 色哟哟www| 日日夜夜婷婷| 秋霞网在线观看理论91| 欧美日韩成人在线| 五月婷婷九九久久| 国产黄色大片| 成人国产欧美大片一区| 这里只有精品视频| 九九精品热| 综合视频五月| 婷婷中文字幕版| 久久久人妻不卡| 色综合色五月| 大伊香蕉玖玖爱| 久久五月天免费网站| 最新高清无码专区| 99综合网| www.丁香五月| 亚洲一区二区无遮挡A片| 天天日本夜夜谢| 天天操,夜夜骑| 互月天综合| 婷婷五月天亚洲色| 丁香五月激情六月| 99热成人精品| 夜夜噜夜夜奇| www.丁香黄色五月天人与| 国产人妻777人伦精品HD| 狠狠操狠狠| 99性视频| 五月丁香婷婷综合网| 另类专区在线观看| 婷婷金品综合视频| 色播综合| 97操碰| 久久精品A片777777| 国产成人精品一区二三区熟女在线 | 在线另类| 色色色色综合网| a网站免费观看| 狠狠色综合网| 国外亚洲成AV人片在线观看 | 婷婷色五月色| 五月婷婷中文| 大香蕉婷婷久久| 97色欧美| 亚洲天堂色色| 亚洲第一成人无码A片| 亚洲亚洲人成综合网络| 99A片| 婷婷久久色| 99操无码视频观看| 91人人网| 久久这里在精品视频| 丁香网五月网| www,26uuu,c0m,色情| av在线免费网站 | 99热99这里有免费的精品| 天天干夜夜欢| 丁香婷婷性久久| 亭亭色网| 欧美性生交XXXXX无码小说| 丁香五月天AV在线| 色婷婷玖玖影院| 影音先锋一区| 五月丁色AV| 丁香婷婷五月基地| 亚洲激情综合五月婷婷啪啪| 看片视频在线免费日产在线看| 丁香五月婷婷影院| 无码日本精品XXXXXXXXX| 亚洲a片免费观看| 丁香六月婷婷综合欧美| 色五月婷婷少妇人妻| 激情五月综合ì香亚洲| 狠狠草狠狠草| 99免费视频| 黄色av高清| 激情四射网| 六月丁香深深爱| 91精品久久久久久久久| 日本久久99| 五月色婷婷综合| 97 A I色色| 狠狠色 综合色区| 超碰色色综合| 色五月天视频| 91碰碰视频| 麻豆WWWCOM内射软件| 丁香激情五月| 亚洲激情婷婷| 五月天另类小说久久小说网| 99热超碰在线| 五月丁香综缴情性爱| www.激情五月天。com| 激情五月,深深爱五月| 色五月婷婷久久| 五月丁香综合久久夜夜| 《诡秘之主》在线观看| 开心婷婷中文字幕| 亚洲人人操| 婷婷六月视频| 五月天社区狠狠| 日日夜夜天天综合| 久99久视频精选| 无码一区二区三区四区五区| 91视频综合网| 永久天堂日本| 色五月婷婷狠狠撸| 五月婷婷色播| 亚洲成人日韩无码精品| 99在线观看这里都是精品| 99热综合网| 91九九九色在| 婷婷在线午夜| 深爱激情综合网| 国产激情在线| 五月丁香六月婷婷操操操| 色色色网站| 97人人射| 日本成人噜噜噜| 中文字幕无码人妻少妇免费视频 | 色婷婷色五月另类综合| 中文字幕AV网址| 丁J香六月首页| 深爱五月亚洲| 看片视频在线免费日产在线看| 久久久久8888| 美国十月色婷婷在线观看| 91男人操女人视频| 婷婷激情五月天在线视频| 五月天激情婷婷| 亚洲成人av在线| 99热这里只有精| 精品一区久热| 99福利视频| 五月婷婷香蕉视频| 免费色色色| 五月婷丁香| 精品久热| jiZZdr| 亚洲夜五月| 99久久9| 成人日韩欧美| 激情久久久| 91黄址| 色丁香久久| 原琪琪色影院| 五月激情综合网| 97干在线| 色婷婷综合网站| 国产欧洲欧洲精品久久| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 久久这里只有精品视频15| 色 五月婷婷基地| 极骚大香蕉伊人| 丁香五月冃欧美| 色色丁香婷婷五月天| 亚城区在线| 欧美碰碰碰| 99色视频| 成人一级片| 九九这里有精品| yazhou seshipin| 国产精品电影| 婷婷综合五月色播| 色原狠狠综合| 涩涩五月天| 国产激情综合| 专区无日本视频高清8| 五月深爱婷婷| 日韩AV在线免费| 这里只有国产精品在线| 天天久久婷婷| 综合久久综合| 思思热久久阴99| 1024国产在线| 丁香五月婷婷基地| 国产精品社区| 亚洲视频一区| 婷婷久久丁香| 超碰人人操在线| 极品人妻VIDEOSSS人妻| 久久99成人性爱高清视频| 五月天丁香综合在线| 色五月婷婷亚洲| 成人五月天在线视频在线观看| 婷婷94s| 狠狠爱综合| 五月亚洲激情| 亚洲啪啪精品| 99九九视频| 丁香婷婷五月六月天| 人人叉久| 欧洲色区| 玖玖资源站中文| 久久香蕉网| 97啪啪| 五月丁香婷婷成人综合网| 欧美三级欧美一级| 婷婷五月天av| 九九视屏| 伦99热| 久热婷婷在线视频| 丁香五月AV| 五月天网站亭亭| 丁香九月激情| 婷婷五月天渟渟| 婷香五月激情视频| 婷婷五月天成人网站| 亚洲人妻av| 一区操| www婷婷| 激情婷婷六月天| 人人舔人人色人人高潮| 五月天激情日色在线| 五月天色五月| 日本女人久久| 丁香六月天婷婷色| 99久久99九九九99九他书对| 亚洲无码影音| 久久婷婷五月天| 五月久久婷婷成人网| 婷婷在线午夜| 丁香婷婷五月激情| 色五月色开心开心五月| 五月激情天| 99噜噜| 五月天婷婷深深爱| 亚洲视频a| 99色.com| 97成人丁香| 色婷婷成人做爰A片免费看网站| 亚洲欧洲中文日韩久久AV乱码| 伊人日日干| 综合激情伊人影视在线| 日本 色综合| 久久涩视频| 国产99久久久国产精品免费看| 色婷婷丁香五月| 色婷婷丁香香香蕉视频| 五月天婷婷丁香蜜桃91| 日韩黄黄| 国产免费一区二区三区三州老师F1F1.CC| 我淫我色婷婷五月天激情四射| 丁香六月婷婷色XXXXX| 欧美性爱一区| 婷婷 色 丁香 夜| 少妇人妻凹凸视频| www.狠狠干| 激情99热| 婷婷伊人| 色婷婷综合视频| 五月综合激情| 热九九九九| 婷婷丁香91| 影音先锋综合网| 婷婷五月,综合伊人| 欧美性生交XXXXX无码小说| 色色五月婷| www.五月天| 99免费| 婷婷伊人綜合中文字幕| 99人人干| 在线观看中文字幕| 激情五月综合| 亚洲中文字幕av| 丁香婷婷色五月| 天天综合精品| 色综合久| 99热这里都是精品| 丰满人妻一区二区三区| 粉嫩AV久久一区二区三区| 国产99热| 亚洲永久免费| 成人va在线播放| 五月丁香六月激情综合| 综合久| 国产亚洲精品久久久久久久久动漫| 久久精品99国产精品日本| 99re在线播放| 久久婷婷午夜| 操操熟女| 久久一品区| 九色视频91| 婷婷五月 丁香六月| 99热大片| 婷婷五月天综合中文| 午夜丁香婷婷| 91黄操| 激情五月天丁香| 国产成人精品亚洲线观看| 色噜噜丁香| 雪千夏麻豆| www91在线| 婷婷综合欧美| 五月综合激情综合久| 综合五月激情网| 婷婷五月丁香欧洲| 996er热| 亚洲亚洲人成综合网络 | 欧美性爱五月天| 伊人五月婷婷| 99性爱无码| 蜜桃人妻无码AV天堂三区| 操91| 久久99国产综合精品免费| AA片在线观看视频在线播放| 操国产人妻| 秋霞午夜理论| 婷婷丁香五月久久| 五月丁香六月婷婷操操操| 大香蕉久| 六月丁香啪啪| 美女被肏网站在线看| 久久久激情视频| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 亚洲精品色| 婷婷丁香无码专区| 久热黄色| xxx日本东京热| 天天舔天天爽| 777精品久无码人妻蜜桃| 日本在线wwww| 五月婷婷六月丁香激情深爱| 手机激情网| 五月色婷婷影院| 日本欧美成人片AAAA| 91超级碰人人操| 国产色色在线| 亚洲精品大片| 色五月激情网| 丁香五月桃花在线激情综合| 女婷久久| 丁香六月激情网C0W| 五月天久久婷婷| 九月丁香久久网| 丁香五月亚洲AV| 天天狠狠夜夜狠狠2023| 色爱五月天| 久久久精品99| 无码G高清天| 成人五月丁香社区| ..真实国产乱子伦对白在线_欧 | 99免费热视频在线| 丁香五月婷婷激情123| 9久视频| 婷婷五月日本| 五月丁香六月婷婷综合免| 婷婷性色| 播丁香五月婷婷欧美| 激情五月天丁香| 激情五月色综合| 日韩精品AV一区二区三区| 91人人操人人| 久久这里都是精品| 国产AV一区二区三区最新精品| 超碰在线视屏| 亚洲五月天另类小说图片| 美女久久婷婷| 午夜婷婷丁香| 精品在线网站| 亚洲精品网址| 色婷婷五月天不卡| AA丁香综合激情| www.91操| 五月天婷婷免费| 色久一| 六月婷婷七月丁香| 天天婷婷综合亚洲亚洲| 婷婷丁香九月| 玖玖婷婷色五月| 超碰在线免费观看3 9| 色亚洲色宗合| 中文成人在线| 播五月婷婷开心| 无码人妻激情| 99九九视频| 思思热这里只有精品| 色色草97| 国产一级婬片毛片| 少妇性按摩无码中文A片| 色欲婷婷夜夜| 综合五月婷婷| 亚洲激情四射| 日本精品99| 99自拍视频网站| 99激情网| 婷婷婷久久久| 激情啪啪五月| 99在线公开视频| 成人一级片| 天天肏天天肏天天肏| 99在线免费视频| 婷婷色在线视频| 99热这里都是精品| 99日精品视频| 亚洲无线视频| AV中文在线| 婷婷色综合| 久久资源网五月婷| 久久a热|