久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

校園卡系統(tǒng)JavaWeb課程設(shè)計(jì):從數(shù)據(jù)建模到業(yè)務(wù)閉環(huán)的完整實(shí)踐指南

校園卡系統(tǒng)JavaWeb課程設(shè)計(jì):從數(shù)據(jù)建模到業(yè)務(wù)閉環(huán)的完整實(shí)踐指南 1. 為什么校園卡系統(tǒng)能成為課程設(shè)計(jì)里的常青樹(shù)選題1.1 一個(gè)看似簡(jiǎn)單卻五臟俱全的業(yè)務(wù)場(chǎng)景每年到了課程設(shè)計(jì)和畢業(yè)設(shè)計(jì)的季節(jié)JavaWeb方向的選題翻來(lái)覆去就那么幾類(lèi)圖書(shū)管理系統(tǒng)、學(xué)生管理系統(tǒng)、網(wǎng)上商城、食堂點(diǎn)餐……而校園卡服務(wù)管理系統(tǒng)屬于其中辨識(shí)度很高的一類(lèi)。它不像商城那樣要處理復(fù)雜的購(gòu)物車(chē)和訂單狀態(tài)機(jī)也不像純粹的學(xué)生管理那樣只有簡(jiǎn)單的增刪改查它恰好卡在一個(gè)難度適中但又足夠完整的位置上。從用戶角度看校園卡系統(tǒng)涉及的是每個(gè)人每天都會(huì)遇到的場(chǎng)景食堂吃飯刷卡、超市消費(fèi)、自助充值、卡丟了掛失、補(bǔ)辦新卡、查詢余額和消費(fèi)流水。這些場(chǎng)景大家都有切身體驗(yàn)業(yè)務(wù)規(guī)則非常清晰不需要額外普及背景知識(shí)。從技術(shù)角度看它需要用戶權(quán)限區(qū)分學(xué)生/管理員、一張卡的狀態(tài)流轉(zhuǎn)正常/掛失/凍結(jié)/注銷(xiāo)、充值和消費(fèi)兩條資金流水線、以及基于時(shí)間維度的消費(fèi)統(tǒng)計(jì)報(bào)表。這些功能組合在一起幾乎把JavaWeb課程里要求的Servlet、JSP、Session、JDBC、事務(wù)、過(guò)濾器等知識(shí)點(diǎn)全部覆蓋了。我一直覺(jué)得課程設(shè)計(jì)選題最怕兩種一種是太簡(jiǎn)單兩張表就能做完答辯時(shí)三句話講完老師問(wèn)幾句就露餡另一種是太復(fù)雜比如做個(gè)帶支付網(wǎng)關(guān)的完整電商系統(tǒng)學(xué)生做到一半就卡死在某個(gè)環(huán)節(jié)。校園卡系統(tǒng)正好繞開(kāi)了這兩個(gè)極端——它的核心業(yè)務(wù)閉環(huán)是有限的但每一環(huán)都有值得展開(kāi)講的東西。1.2 這個(gè)選題能鍛煉到的核心能力如果你或者你帶的學(xué)生正在糾結(jié)選題我建議先想清楚做完這個(gè)項(xiàng)目后能回答出哪些為什么。校園卡管理系統(tǒng)不是背幾個(gè)CRUD就能糊弄過(guò)去的第一數(shù)據(jù)建模能力??ê蛯W(xué)生是什么關(guān)系一個(gè)學(xué)生可不可以有多張卡消費(fèi)流水和充值流水為什么不能合成一張表卡狀態(tài)應(yīng)該放在學(xué)生表里還是單獨(dú)一張卡表里這些問(wèn)題在寫(xiě)建表語(yǔ)句之前就要想明白而很多課程設(shè)計(jì)恰恰是在這里翻車(chē)的。第二業(yè)務(wù)閉環(huán)能力。掛失之后卡為什么立刻不能用了如果只是在某個(gè)查詢語(yǔ)句里加一個(gè)狀態(tài)判斷能不能保證所有入口都判斷到補(bǔ)辦新卡之后舊卡的余額怎么遷移流水記錄是保留還是合并這些邏輯不寫(xiě)代碼是發(fā)現(xiàn)不了的。第三項(xiàng)目交付能力。課程設(shè)計(jì)和畢業(yè)設(shè)計(jì)的最終成果是一份報(bào)告加一次答辯演示不只是代碼能跑。數(shù)據(jù)庫(kù)腳本能不能一鍵初始化、README能不能讓別人按著步驟跑起來(lái)、演示時(shí)先點(diǎn)哪個(gè)按鈕后點(diǎn)哪個(gè)按鈕這些非技術(shù)細(xì)節(jié)往往決定了最終評(píng)分。我自己見(jiàn)過(guò)太多這樣的案例代碼功能全做完了但MySQL的建庫(kù)腳本里寫(xiě)著中文注釋導(dǎo)致導(dǎo)入報(bào)錯(cuò)或者Tomcat的JDBC連接串寫(xiě)的是本機(jī)絕對(duì)路徑換臺(tái)機(jī)器就起不來(lái)。這類(lèi)問(wèn)題在答辯現(xiàn)場(chǎng)比功能缺陷更致命。所以這篇就按我平時(shí)幫人review課程設(shè)計(jì)項(xiàng)目的思路把從選型、建庫(kù)、寫(xiě)業(yè)務(wù)邏輯到打包交付的完整過(guò)程捋一遍。2. 技術(shù)選型從JSPServlet到SSM怎么選更穩(wěn)2.1 三種主流方案的真實(shí)差異JavaWeb方向的課程設(shè)計(jì)技術(shù)棧一般集中在下面三種里。很多學(xué)生會(huì)來(lái)問(wèn)我用哪個(gè)更好我的回答通常是先搞清楚你的課程要求是什么再考慮哪個(gè)更好。技術(shù)組合典型構(gòu)成適合場(chǎng)景主要痛點(diǎn)傳統(tǒng)JSPServletJDBCJSP頁(yè)面 Servlet控制器 JDBC操作MySQL部署在Tomcat課程明確要求原生技術(shù)、不允許用框架代碼重復(fù)多連接管理麻煩但最能講清楚原理SSM組合Spring SpringMVC MyBatis前端JSPBootstrap大多數(shù)課程設(shè)計(jì)和畢設(shè)的安全牌配置繁瑣版本兼容問(wèn)題多初學(xué)者容易陷入配置地獄Spring Boot MyBatisSpring Boot簡(jiǎn)化配置 MyBatis持久層畢業(yè)設(shè)計(jì)或想往工程化方向靠如果課程限定JavaWeb且老師要求手寫(xiě)Servlet可能不符要求如果你問(wèn)我的個(gè)人傾向在課程設(shè)計(jì)這個(gè)場(chǎng)景下SSMSpring SpringMVC MyBatis是性價(jià)比最高的選擇。原因有三一是它比純Servlet代碼量少很多學(xué)生能把精力放在業(yè)務(wù)邏輯而不是重復(fù)的請(qǐng)求轉(zhuǎn)發(fā)上二是市面上資料極多遇到問(wèn)題容易搜到解決方案三是它能往Spring Boot平滑遷移答辯時(shí)如果老師問(wèn)下一步怎么改進(jìn)你可以說(shuō)換成Spring Boot 微服務(wù)拆分這個(gè)回答幾乎是標(biāo)準(zhǔn)答案。但有個(gè)前提如果你的課程大綱白紙黑字寫(xiě)了使用JSPServlet不得使用框架那就老老實(shí)實(shí)寫(xiě)原生技術(shù)。這時(shí)候反而有個(gè)優(yōu)勢(shì)——你可以把JDBC連接池、過(guò)濾器實(shí)現(xiàn)登錄攔截、自定義標(biāo)簽這些點(diǎn)講得很深框架版反而不容易講出彩。2.2 前端部分和部署環(huán)境怎么配校園卡系統(tǒng)的前端不需要花哨但也不能太難看。常用的組合是JSP頁(yè)面 Bootstrap jQueryBootstrap負(fù)責(zé)柵格布局和表格樣式j(luò)Query負(fù)責(zé)Ajax局部刷新。要提醒一下Bootstrap 3和Bootstrap 5的寫(xiě)法差異很大如果你在網(wǎng)上找到一份比較老的項(xiàng)目照著抄可能會(huì)遇到class名對(duì)不上的問(wèn)題。建議直接鎖定一個(gè)版本比如Bootstrap 4.6它的兼容性和資料豐富度都比較平衡。環(huán)境方面JDK 1.8 Tomcat 8.5/9 MySQL 5.7是經(jīng)過(guò)大量驗(yàn)證的穩(wěn)定組合。這幾個(gè)版本之間有大量歷史項(xiàng)目的兼容性驗(yàn)證出現(xiàn)問(wèn)題容易排查。非要上JDK 17和最新版Tomcat不是不行但沒(méi)必要——課程設(shè)計(jì)講的是穩(wěn)定跑通不是追新。MySQL的字符集設(shè)置是個(gè)經(jīng)典坑。建庫(kù)時(shí)統(tǒng)一用utf8mb4連接串里也要帶上characterEncodingutf8參數(shù)。我見(jiàn)過(guò)不止一個(gè)項(xiàng)目表里寫(xiě)中文一切正常但Java往數(shù)據(jù)庫(kù)插入中文變成問(wèn)號(hào)最后發(fā)現(xiàn)是連接串沒(méi)加編碼參數(shù)。這類(lèi)問(wèn)題在答辯前夜出現(xiàn)心態(tài)很容易崩。2.3 一個(gè)很多人忽略的選型問(wèn)題要不要做前后端分離這幾年前后端分離的概念很流行有些學(xué)生想用Vue Spring Boot搞一套。我的態(tài)度很明確課程設(shè)計(jì)階段不建議這么做除非你的題目明確要求或你本身對(duì)Vue已經(jīng)很熟。原因很直接前后端分離意味著你至少要同時(shí)管理兩個(gè)工程、處理跨域問(wèn)題、把接口文檔寫(xiě)得足夠規(guī)范這些工作量對(duì)于三五周內(nèi)要完成的項(xiàng)目來(lái)說(shuō)太重了。傳統(tǒng)的JSP頁(yè)面由后端渲染天然沒(méi)有跨域問(wèn)題Session管理也簡(jiǎn)單演示時(shí)直接輸入地址就能看效果對(duì)于答辯場(chǎng)景是最穩(wěn)妥的。如果確實(shí)想展示一點(diǎn)現(xiàn)代感可以在SSM的基礎(chǔ)上用Ajax局部刷新代替整個(gè)頁(yè)面跳轉(zhuǎn)比如充值成功后不刷新整個(gè)頁(yè)面而是彈個(gè)提示然后局部更新余額數(shù)字。這已經(jīng)比大多數(shù)課程設(shè)計(jì)觀感好很多了。3. 數(shù)據(jù)庫(kù)設(shè)計(jì)先讓數(shù)據(jù)模型立得住3.1 核心表結(jié)構(gòu)的拆解思路校園卡系統(tǒng)最核心的表我建議控制在7張左右再多就是給自己找麻煩再少則功能撐不起來(lái)。它們分別是用戶表學(xué)生、管理員表、校園卡表、充值流水表、消費(fèi)流水表、掛失記錄表、操作日志表。用戶表和校園卡表的關(guān)系是重點(diǎn)。很多第一次做的人會(huì)把卡號(hào)直接作為用戶表的一個(gè)字段這看起來(lái)省事但會(huì)帶來(lái)兩個(gè)問(wèn)題第一補(bǔ)辦新卡時(shí)舊卡號(hào)要作廢、新卡號(hào)要寫(xiě)入你需要不停地改用戶表里的卡號(hào)字段歷史消費(fèi)流水卻掛在這張用戶表上新舊卡的數(shù)據(jù)就攪在一起了第二一個(gè)人的卡狀態(tài)正常/掛失/注銷(xiāo)如果放在用戶表里那這和用戶本身的屬性就耦合了比如一個(gè)用戶辦了新卡舊卡的狀態(tài)誰(shuí)來(lái)記錄更合理的做法是用戶表和卡表分開(kāi)。用戶表存學(xué)號(hào)、姓名、密碼、學(xué)院、專業(yè)等相對(duì)靜態(tài)的信息卡表存卡ID、卡號(hào)、所屬用戶、余額、狀態(tài)、發(fā)卡時(shí)間、注銷(xiāo)時(shí)間等動(dòng)態(tài)信息。這樣一個(gè)用戶對(duì)應(yīng)多條卡記錄當(dāng)前生效的卡用狀態(tài)字段標(biāo)出來(lái)舊卡記錄完整保留補(bǔ)辦的業(yè)務(wù)邏輯就順暢多了。3.2 流水表的設(shè)計(jì)這是一張表的兩種面孔充值和消費(fèi)是校園卡的兩條資金流水為什么我堅(jiān)持把它們拆成兩張表因?yàn)樗鼈兊臉I(yè)務(wù)語(yǔ)義完全不同充值只涉及卡的余額增加消費(fèi)涉及具體商戶、消費(fèi)窗口、消費(fèi)項(xiàng)目充值的操作方通常是持卡人自己或自助機(jī)消費(fèi)的操作方是商戶終端。拆成兩張表后查詢某張卡今天的充值總額和某食堂窗口今天的消費(fèi)總額都非常直觀。流水表的核心字段一定有流水號(hào)主鍵、卡ID、發(fā)生時(shí)間、金額、操作類(lèi)型、關(guān)聯(lián)商戶或窗口。金額字段用DECIMAL(10,2)絕對(duì)不要用FLOAT或DOUBLE——浮點(diǎn)數(shù)在累加時(shí)會(huì)產(chǎn)生精度誤差余額對(duì)不上賬是校園卡系統(tǒng)最嚴(yán)重的事故。這是基礎(chǔ)常識(shí)但每年都有人踩。掛失記錄表單獨(dú)建一張也有講究。它不只記錄什么時(shí)候掛失的還要記錄什么時(shí)候解除掛失的、補(bǔ)辦的新卡ID是什么、操作人是誰(shuí)。這張表實(shí)際上承擔(dān)了審計(jì)職責(zé)答辯時(shí)老師大概率會(huì)問(wèn)掛失之后你怎么追溯歷史操作這張表就是答案。3.3 表之間的關(guān)鍵約束和索引主外鍵關(guān)系是必須明確的但MySQL里我建議邏輯外鍵為主、物理外鍵為輔或者干脆不加物理外鍵只在應(yīng)用層維護(hù)一致性。原因不是偷懶而是課程設(shè)計(jì)的演示環(huán)境經(jīng)常要手動(dòng)改數(shù)據(jù)、調(diào)整種子數(shù)據(jù)物理外鍵會(huì)帶來(lái)很多無(wú)法刪除父表記錄的干擾。當(dāng)然應(yīng)用層一定要有校驗(yàn)否則孤兒數(shù)據(jù)會(huì)出現(xiàn)。索引方面流水表一定要對(duì)卡ID 發(fā)生時(shí)間建聯(lián)合索引。消費(fèi)流水表是這幾張表里數(shù)據(jù)增長(zhǎng)最快的沒(méi)有索引的話查某張卡最近10條消費(fèi)記錄會(huì)變成全表掃描數(shù)據(jù)量幾千條時(shí)不覺(jué)得演示時(shí)老師多翻幾頁(yè)就會(huì)卡頓。CREATE TABLE t_card ( card_id INT PRIMARY KEY AUTO_INCREMENT, card_no VARCHAR(20) NOT NULL UNIQUE COMMENT 卡號(hào), user_id INT NOT NULL COMMENT 關(guān)聯(lián)用戶ID, balance DECIMAL(10,2) NOT NULL DEFAULT 0.00 COMMENT 當(dāng)前余額, card_status TINYINT NOT NULL DEFAULT 1 COMMENT 1正常 2掛失 3凍結(jié) 4注銷(xiāo), create_time DATETIME NOT NULL COMMENT 發(fā)卡時(shí)間, cancel_time DATETIME DEFAULT NULL COMMENT 注銷(xiāo)時(shí)間, INDEX idx_user (user_id), INDEX idx_status (card_status) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT校園卡表; CREATE TABLE t_recharge_record ( record_id INT PRIMARY KEY AUTO_INCREMENT, card_id INT NOT NULL COMMENT 卡ID, recharge_no VARCHAR(32) NOT NULL UNIQUE COMMENT 充值單號(hào), amount DECIMAL(10,2) NOT NULL COMMENT 充值金額, recharge_time DATETIME NOT NULL COMMENT 充值時(shí)間, operator_type TINYINT NOT NULL COMMENT 1自助充值 2現(xiàn)金充值 3管理員代充, operator_id INT DEFAULT NULL COMMENT 操作人管理員ID, INDEX idx_card_time (card_id, recharge_time) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT充值流水表;這是我在實(shí)際項(xiàng)目中常用的建表方式字段注釋寫(xiě)清楚、狀態(tài)用TINYINT加注釋說(shuō)明、時(shí)間字段統(tǒng)一DATETIME。這套習(xí)慣在寫(xiě)報(bào)告時(shí)能省大量力氣每個(gè)字段的物理意義直接對(duì)應(yīng)報(bào)告里的數(shù)據(jù)字典表格。4. 核心業(yè)務(wù)閉環(huán)充值、消費(fèi)、掛失、補(bǔ)辦是怎么串起來(lái)的4.1 充值和消費(fèi)的金額校驗(yàn)鏈路充值的業(yè)務(wù)邏輯看起來(lái)簡(jiǎn)單——余額加金額記錄流水——但實(shí)際寫(xiě)代碼時(shí)要考慮幾個(gè)邊界情況。第一充值金額必須大于0且一般設(shè)置單次上限比如500元。第二充值操作必須包裹在事務(wù)里先插入充值流水再更新卡余額中間任何一步失敗都要回滾。如果先更新余額再插入流水流水插入失敗會(huì)導(dǎo)致余額和流水對(duì)不上如果先插流水再更新余額更新失敗則流水存在但余額沒(méi)變。只有把它們放在同一個(gè)數(shù)據(jù)庫(kù)事務(wù)里用Transactional或手動(dòng)控制connection.commit()才能保證兩條語(yǔ)句要么都成功要么都失敗。消費(fèi)的邏輯更需要注意余額不足的判斷。這里有個(gè)細(xì)節(jié)判斷余額是否充足和扣減余額必須使用UPDATE語(yǔ)句進(jìn)行原子操作不要先SELECT余額到Java代碼里判斷再UPDATE。因?yàn)閮蓚€(gè)請(qǐng)求同時(shí)到達(dá)時(shí)SELECT出來(lái)的值可能是過(guò)期的兩人都判斷余額足夠最后都扣款成功余額就變負(fù)了。正確的寫(xiě)法是UPDATE t_card SET balance balance - ? WHERE card_id ? AND balance ?;通過(guò)受影響行數(shù)判斷是否扣款成功。行數(shù)為1說(shuō)明余額充足、扣減成功行數(shù)為0說(shuō)明余額不足或卡不存在。這個(gè)寫(xiě)法是防并發(fā)超扣的基礎(chǔ)講清楚這一點(diǎn)答辯時(shí)能明顯加分。4.2 掛失狀態(tài)流轉(zhuǎn)與臟卡問(wèn)題掛失在整個(gè)系統(tǒng)里是一個(gè)狀態(tài)切換動(dòng)作把卡的狀態(tài)從正常改為掛失同時(shí)生成一條掛失記錄。聽(tīng)起來(lái)簡(jiǎn)單但真正的難點(diǎn)在于——校園卡的使用場(chǎng)景非常多你必須保證每一處使用到卡的地方都檢查了狀態(tài)。假設(shè)你的代碼里有這么幾處食堂消費(fèi)接口、超市消費(fèi)接口、自助查詢機(jī)接口、充值接口。如果只在消費(fèi)接口里檢查了卡狀態(tài)而充值接口沒(méi)檢查就會(huì)出現(xiàn)卡已經(jīng)掛失了卻能往里充值的荒誕現(xiàn)象。掛失的卡原則上不能充值萬(wàn)一被撿到的人拿去充值再消費(fèi)呢所以充值接口同樣要校驗(yàn)狀態(tài)。更隱蔽的問(wèn)題是掛失之后手里這張物理卡在某個(gè)離線消費(fèi)終端上還可能被刷出去。傳統(tǒng)校園卡的解決方案是消費(fèi)終端定期同步黑名單但這在課程設(shè)計(jì)里講不了那么深。你可以這樣處理在消費(fèi)接口里每次實(shí)時(shí)查庫(kù)校驗(yàn)狀態(tài)同時(shí)在報(bào)告里說(shuō)明真實(shí)場(chǎng)景下需要終端離線驗(yàn)證機(jī)制這里用實(shí)時(shí)校驗(yàn)簡(jiǎn)化處理。這樣既保證了演示效果又體現(xiàn)了業(yè)務(wù)認(rèn)知。補(bǔ)辦新卡是掛失的后續(xù)動(dòng)作。新卡需要復(fù)制舊卡的歷史信息嗎余額怎么辦我的處理方案是舊卡余額清零并標(biāo)記注銷(xiāo)新卡初始化余額為舊卡余額在事務(wù)內(nèi)先查舊卡余額、再創(chuàng)建新卡并把余額寫(xiě)入舊卡的消費(fèi)流水保留新卡生成自己的流水。這樣既保持了歷史數(shù)據(jù)的完整性又不需要修改舊流水記錄。這個(gè)設(shè)計(jì)在報(bào)告的數(shù)據(jù)流轉(zhuǎn)章節(jié)非常出彩。4.3 管理端的統(tǒng)計(jì)報(bào)表從聚合查詢到柱狀圖管理端的統(tǒng)計(jì)報(bào)表是整個(gè)系統(tǒng)觀感上的點(diǎn)睛之筆。最常見(jiàn)的需求是按天統(tǒng)計(jì)全校當(dāng)日的消費(fèi)總額、充值總額按食堂/窗口統(tǒng)計(jì)消費(fèi)排名按學(xué)院統(tǒng)計(jì)消費(fèi)分布。這些統(tǒng)計(jì)的本質(zhì)就是聚合查詢。比如統(tǒng)計(jì)每個(gè)食堂窗口最近7天的消費(fèi)總額SELECT c.window_name, DATE(cr.consum_time) AS day, SUM(cr.amount) AS total_amount FROM t_consum_record cr JOIN t_window c ON cr.window_id c.window_id WHERE cr.consum_time DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY c.window_id, DATE(cr.consum_time) ORDER BY total_amount DESC;拿到聚合結(jié)果后前端用jQuery配合圖表庫(kù)比如ECharts畫(huà)柱狀圖和折線圖。這一塊不用做得很復(fù)雜一張柱狀圖、一張折線圖就足夠撐起管理端的面子了。但要注意圖表庫(kù)引入要提前測(cè)試ECharts的CDN在部分校園網(wǎng)絡(luò)環(huán)境下可能加載慢建議把JS文件下載到本地項(xiàng)目的webapp目錄下。這個(gè)細(xì)節(jié)我反復(fù)強(qiáng)調(diào)過(guò)因?yàn)橛H眼見(jiàn)過(guò)答辯時(shí)圖表加載不出來(lái)的尷尬場(chǎng)面。5. 寫(xiě)代碼和走通流程時(shí)最容易翻車(chē)的幾個(gè)地方5.1 中文亂碼、路徑跳轉(zhuǎn)、事務(wù)失效三大坑這三個(gè)問(wèn)題幾乎是JavaWeb課程設(shè)計(jì)里的三座大山我按踩坑頻率排序說(shuō)一下。中文亂碼的源頭往往不止一處。JSP頁(yè)面要設(shè)置pageEncodingHTML要設(shè)置charsetServlet接收請(qǐng)求參數(shù)時(shí)要設(shè)置request.setCharacterEncoding(UTF-8)數(shù)據(jù)庫(kù)連接串要帶編碼參數(shù)。這些地方的編碼必須統(tǒng)一任何一處漏掉都會(huì)在某個(gè)特定操作上暴露問(wèn)題——最常見(jiàn)的就是表單提交中文姓名變成問(wèn)號(hào)。建議在項(xiàng)目初期寫(xiě)一個(gè)統(tǒng)一的字符編碼過(guò)濾器所有請(qǐng)求都過(guò)一遍UTF-8。WebFilter(/*) public class EncodingFilter implements Filter { Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding(UTF-8); response.setCharacterEncoding(UTF-8); chain.doFilter(request, response); } }路徑跳轉(zhuǎn)的問(wèn)題集中在兩個(gè)方面一是JSP頁(yè)面里CSS和JS文件的引入用了絕對(duì)路徑或相對(duì)路徑導(dǎo)致在二級(jí)目錄下的頁(yè)面樣式丟失二是Servlet的forward和redirect用混導(dǎo)致刷新頁(yè)面時(shí)表單重復(fù)提交。統(tǒng)一的解決辦法是頁(yè)面里用${pageContext.request.contextPath}拼接靜態(tài)資源路徑Servlet跳轉(zhuǎn)一律用redirect并攜帶必要參數(shù)不要在doPost里直接forward到結(jié)果頁(yè)面。事務(wù)失效是SSM項(xiàng)目里比較隱蔽的坑。Transactional注解默認(rèn)只在拋出RuntimeException時(shí)回滾如果代碼里捕獲了異常并返回一個(gè)錯(cuò)誤提示對(duì)象事務(wù)是不會(huì)回滾的。我見(jiàn)過(guò)很多學(xué)生寫(xiě)這樣的代碼try { cardService.recharge(...); } catch (Exception e) { // 記了日志但沒(méi)拋出去 return 充值失敗; }充值流水插入了余額更新卻被catch吞掉了異常事務(wù)照樣提交最后數(shù)據(jù)不一致。正確的做法是在catch里手動(dòng)標(biāo)記回滾或把異常重新拋出讓事務(wù)管理器感知到失敗。5.2 演示用的測(cè)試數(shù)據(jù)怎么造才像樣很多項(xiàng)目的演示效果差不是功能有問(wèn)題而是測(cè)試數(shù)據(jù)太假。每個(gè)學(xué)生的卡里都是100.00元整消費(fèi)流水全是同一天刷的統(tǒng)計(jì)報(bào)表畫(huà)出來(lái)就是幾條光禿禿的橫線——老師看著就沒(méi)興趣。我的建議是寫(xiě)一個(gè)init_data.sql腳本專門(mén)用于生成看起來(lái)真實(shí)的數(shù)據(jù)。學(xué)生至少20個(gè)名字用百家姓學(xué)院專業(yè)多樣化校園卡余額要有零有整比如128.50、86.00、250.75消費(fèi)流水要覆蓋最近30天每天每人至少3條消費(fèi)記錄金額從1.5到25不等充值記錄和消費(fèi)記錄在時(shí)間上要對(duì)應(yīng)得上比如月初充值、月中消費(fèi)遞減。造數(shù)據(jù)時(shí)有個(gè)技巧用MySQL的DATE_SUB和RAND()函數(shù)批量生成流水記錄可以一次插入幾百條不用手動(dòng)逐條寫(xiě)。這些數(shù)據(jù)的分布規(guī)律直接決定統(tǒng)計(jì)報(bào)表的畫(huà)質(zhì)一定要花半小時(shí)精心設(shè)計(jì)。5.3 報(bào)告和代碼的對(duì)應(yīng)關(guān)系課程設(shè)計(jì)的報(bào)告通常要求有需求分析、系統(tǒng)設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)、測(cè)試這幾章。我見(jiàn)過(guò)最普遍的問(wèn)題是報(bào)告畫(huà)了架構(gòu)圖、寫(xiě)了模塊說(shuō)明但代碼里的包結(jié)構(gòu)和報(bào)告里的模塊名對(duì)不上數(shù)據(jù)庫(kù)設(shè)計(jì)截圖和實(shí)際SQL腳本不一致。這個(gè)問(wèn)題很好解決——先定包結(jié)構(gòu)再寫(xiě)報(bào)告的目錄結(jié)構(gòu)。比如你的Java包就按controller、service、dao、entity、filter、util來(lái)分報(bào)告的系統(tǒng)設(shè)計(jì)章節(jié)就完全按同一個(gè)順序講數(shù)據(jù)庫(kù)設(shè)計(jì)章節(jié)里貼的表結(jié)構(gòu)直接截圖自數(shù)據(jù)庫(kù)客戶端而不是手畫(huà)一個(gè)看起來(lái)像的表。報(bào)告先做目錄代碼按目錄來(lái)寫(xiě)兩邊永遠(yuǎn)對(duì)齊。測(cè)試章節(jié)也有講究。不要只寫(xiě)系統(tǒng)運(yùn)行正常要寫(xiě)具體的測(cè)試用例輸入什么數(shù)據(jù)、預(yù)期什么結(jié)果、實(shí)際什么結(jié)果。比如輸入余額為5元的卡消費(fèi)8元預(yù)期提示余額不足不扣款實(shí)際提示正確且余額未變。這類(lèi)測(cè)試用例表既是報(bào)告加分項(xiàng)也能反向幫你驗(yàn)證代碼邏輯一舉兩得。6. 交付篇源碼、數(shù)據(jù)庫(kù)、文檔怎么組織才加分6.1 目錄結(jié)構(gòu)的規(guī)范和注釋的尺度交付項(xiàng)目的時(shí)候壓縮包里的目錄結(jié)構(gòu)決定了別人對(duì)你的第一印象。我建議的最少組織方式campus-card-system/ ├── README.md # 項(xiàng)目說(shuō)明、運(yùn)行步驟、環(huán)境要求 ├── sql/ │ └── init_db.sql # 建庫(kù)建表腳本 │ └── init_data.sql # 測(cè)試數(shù)據(jù)腳本 ├── docs/ │ └── 課程設(shè)計(jì)報(bào)告.docx ├── src/ │ ├── main/ │ │ ├── java/ # 按包分層的Java源碼 │ │ └── webapp/ # JSP頁(yè)面、靜態(tài)資源 │ └── test/ # 選做基礎(chǔ)單元測(cè)試 └── README-source.md # 源碼使用說(shuō)明README.md是很多人忽視的文件。它不需要長(zhǎng)但必須讓別人照著三步能跑起來(lái)第一步導(dǎo)入init_db.sql建庫(kù)第二步修改jdbc.properties里的數(shù)據(jù)庫(kù)賬號(hào)密碼第三步用IDEA導(dǎo)入項(xiàng)目并配置Tomcat啟動(dòng)。如果這三步里有任何一步不明確項(xiàng)目在別人手里就基本跑不起來(lái)了。注釋的尺度我不建議寫(xiě)滿每行代碼。好的注釋是給關(guān)鍵業(yè)務(wù)邏輯寫(xiě)為什么不是給每一行寫(xiě)做了什么。比如充值事務(wù)方法上寫(xiě)充值流水與余額更新必須同事務(wù)失敗回滾比在balance balance amount旁邊寫(xiě)這里給余額加上充值金額有用得多。6.2 數(shù)據(jù)庫(kù)初始化腳本的三個(gè)細(xì)節(jié)init_db.sql必須做到雙擊執(zhí)行不出錯(cuò)這里有幾個(gè)容易翻車(chē)的細(xì)節(jié)。第一腳本開(kāi)頭要DROP DATABASE IF EXISTS campus_card; CREATE DATABASE campus_card;保證可以重復(fù)執(zhí)行而不會(huì)因?yàn)閹?kù)已存在而報(bào)錯(cuò)。第二腳本里不要用存儲(chǔ)過(guò)程和復(fù)雜的觸發(fā)器——課程設(shè)計(jì)的演示環(huán)境大概率是重裝的MySQL越簡(jiǎn)單的SQL越不容易出兼容問(wèn)題。第三在腳本末尾加上幾條SELECT驗(yàn)證語(yǔ)句比如統(tǒng)計(jì)學(xué)生數(shù)量、卡數(shù)量執(zhí)行完一眼就能看出數(shù)據(jù)是否正常。測(cè)試數(shù)據(jù)腳本init_data.sql要和建表腳本分開(kāi)原因是答辯老師可能想看干凈的表結(jié)構(gòu)和有數(shù)據(jù)的演示效果兩種情況分開(kāi)的話隨時(shí)可以切換。6.3 答辯前最有用的三條建議課程設(shè)計(jì)答辯的核心不是代碼講得多么深而是讓老師在三到五分鐘內(nèi)get到他真的做出來(lái)了、他真的理解了。三條建議都是我反復(fù)強(qiáng)調(diào)的第一條準(zhǔn)備一條黃金演示路徑。從學(xué)生登錄開(kāi)始依次展示查詢余額和最近消費(fèi)記錄、模擬消費(fèi)、充值、掛失、管理員審核掛失、補(bǔ)辦新卡。每個(gè)操作前想好要點(diǎn)哪里不要現(xiàn)場(chǎng)現(xiàn)找菜單。掛失之后最好真實(shí)驗(yàn)證一下掛失狀態(tài)下消費(fèi)會(huì)被拒絕這個(gè)小細(xì)節(jié)能讓老師對(duì)你的業(yè)務(wù)完成度印象深刻。第二條把數(shù)據(jù)庫(kù)窗口開(kāi)著。演示時(shí)切換到數(shù)據(jù)庫(kù)管理工具刷新流水表給老師看數(shù)據(jù)確實(shí)寫(xiě)進(jìn)去了——這比口頭說(shuō)我們的系統(tǒng)能記錄流水有力得多。很多同學(xué)演示時(shí)只盯著瀏覽器頁(yè)面老師根本看不到數(shù)據(jù)落庫(kù)的過(guò)程評(píng)分時(shí)對(duì)系統(tǒng)的完整性就打折扣。第三條準(zhǔn)備一個(gè)如果老師問(wèn)了不會(huì)的問(wèn)題的應(yīng)急預(yù)案。比如老師問(wèn)你這個(gè)系統(tǒng)怎么防SQL注入你應(yīng)該能答MyBatis的#{}預(yù)編譯參數(shù)或JDBC的PreparedStatement并且現(xiàn)場(chǎng)指一下代碼。再比如如果同一張卡在多個(gè)窗口同時(shí)消費(fèi)怎么辦就能把上面說(shuō)的原子UPDATE方案講一遍。這些其實(shí)都是你自己寫(xiě)代碼時(shí)一定處理過(guò)的問(wèn)題只要提前組織好語(yǔ)言就行。最后再分享一個(gè)小體會(huì)。校園卡服務(wù)管理系統(tǒng)這個(gè)題目做了這么多年還沒(méi)過(guò)時(shí)是因?yàn)樗岩粋€(gè)真實(shí)系統(tǒng)的核心邏輯壓縮到了課程設(shè)計(jì)的體量里。做完它你學(xué)到的不是某個(gè)框架的API而是從建表到業(yè)務(wù)閉環(huán)再到交付演示的一整條鏈路。這份經(jīng)驗(yàn)對(duì)后續(xù)找工作、做畢設(shè)、接小項(xiàng)目都有直接幫助。如果你正在做這個(gè)題目遇到卡住的地方優(yōu)先從數(shù)據(jù)庫(kù)事務(wù)和狀態(tài)流轉(zhuǎn)兩個(gè)角度去排查——很多時(shí)候代碼沒(méi)錯(cuò)是數(shù)據(jù)模型和業(yè)務(wù)規(guī)則沒(méi)對(duì)齊。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久99999| 亚洲成人福利电影免费| 久久精品熟妇丰满人妻99| 韩国午夜理伦三级好看| 日韩中文9| 欧美五十路熟| 欧美九一精品久久久熟妇| 伊人影院综合是一个与深夜成人在线| 97Ai亚洲| 日韩精品人妻中文字幕有码午| 亚洲精品九九九| 亚洲激情色片| 热的中文 热的有码 热的国产| 久久久久亚洲av综合波多野制衣| 蜜臀va69| 91男女啊啊啊| 无码日韩人妻av一| 蜜臀久久99精品久久久久久成人小说 | 国产精品无码在线| 99精品综合久久久久五月天| 天美传媒Av在线| 亚洲欧美日韩精品久| 亚洲少妇视频| 国产成人主播| 嗯嗯啊啊啊好舒服| ?亚洲伊人伊成久久人综合网| 国产女主播视频在线观看| 99热精品在线| 日本操逼视频不卡直接放| 99re视频在线播放青草| 亚洲 暴爽 AV人人爽日日碰| 日韩精品一区二区高清| 女人香蕉久久毛毛片精品| 97久精品| 国产原创剧情在线丝袜| 亚洲av影音先锋| 家庭乱伦国产精品| 日韩三级网址| 精品国产一区二区久久| 在线看免费无码AV天堂的| 国内伊人久久久久久网站视频| 中文字幕乱碼在线| 久久综合婷婷| 老司机深夜影院18未满| aaaa少妇高潮大片| 1769精品一区二区三区| 久久久久骚| 久操视频免费在线观看| 96AV久久久| 高树玛利亚无码流出| 91 国产丝袜在线放观看| 亚洲天堂女优在线 | 少妇高潮九九九九| 欧美亚洲在线| 久久成人午夜狠狠| 欧美丝袜中文字幕07在线| 九九精品网| AV中亚| 12一15性XXXX粉嫩国产| 60秒不遮不挡| AV和黑人在线播放| 激情 欧美 亚洲 小说| WWW啪啪的com| 91肏屄网| 国产性感骚丝袜在线| 美女的肌被草喷水视频| 国产视频一区二区在线| 午夜噜噜噜| 999综合网| 色在线综合| 国产成人无码高清| 色婷婷激情| 在线v中文字幕一区二区三区| 澳门特级毛片免费观看| 美女91在线观看| 97国产亚洲中文在线| 欧美日韩国产人人| 人妻少妇久久| 中文字幕第9页萱萱影音先锋| 国产熟女无套内射| 久久黄色视频一区二区三区| 99热这里只有精| 粉嫩久久久久| 一本一道久久综合久久| 激情小说图片亚洲首页| 久久久久免费少妇| 另类视频在线| 91在线视频国产网站| 很黄很色的视频在线观看| 最新国内自拍av免费| 日韩丝袜二区| 啊啊啊好舒服视频在线观看| 96超碰网| 五月婷婷性爱| 大香蕉国产中文自拍| 亚洲一本色码中文字幕| 亚洲日韩东京热一区| 欧美东京热青青草| 日韩精品字幕| 一牛影视久久久一区二区三区| 精品乱码在线观看| 91日韩网站| 一级性爱啪啪视频| 人妻 欧美 中文| 男人的天堂网页| 日本www操操操| 日本新免费二区三区| 大香蕉78| 四虎永久在线精品免费网址| 天堂性色| 五月婷婷丁香六月| 久久久久久久| 天天日B狠狠操| 啊啊啊啊免费视频| 天天影视网综合少妇| 中文字幕片| 在线不欧美| 99精品视频在线观看| 精品综合久久久久久97| 天天干夜夜一操| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 欧美色图91p| 精品人妻丰满熟妇一区二区三| 欧美精品69性爱| 农村妇女一级二级三级视频| 国产农村妇女毛片精品久久| 五月丁香婷婷啪啪| 亚洲在饯| 久久啊哟| 欧美日本一区二区a人| 99精品久久久久久| 少妇无码999| 亚洲国产欧美中日韩成人综合视频| 亚洲网污污污污| 免费福利视频中文字幕| 51一区二区三区| 国产妇女精品视频青青草| 三级激情网站| 天天射天天色成人| 亚洲……91| 福利视频香蕉免费一区二区在线| 色婷婷久久| 本道综合精品| 中文字幕在线观看第二页| 黄色免费网| 色诱avtt| 高跟丝袜AV专区国产| 视频二区熟女人妻| 久婷婷一区| 国产网站在线播放| 尤物视频视频官网| 野狼激情网| 99婷婷一区二区| 日韩不卡码| 久久一区二区三区入口| 精品人妻视频入口| 亚洲欧美变态| 嫩草 人人网精品| 国产二区三区免费视频| 91麻豆一二三区| 国产大学生高潮在线播放| 五十路一区无码| 亚洲色图美腿丝袜| 天美精品av| 99999国产| 日本裸体久久色噜噜| 亚洲国产麻豆一区二区三区| 精品黄色电影| 亚洲第一视频 欧美风情 日韩| 家庭乱伦性爱av| 欧美人妻一区| 精品熟女呻吟久久91| 午夜天堂网| 久久久无码av精| 免费精品无码一级毛片牛牛影视 | 国产精品自产拍在线观看社区| 性猛交| av线电影| 性色高清在线| 大香蕉亚洲中文| 日本不卡在线二区三区| 日本不卡免费二区| 五月丁香综合激情| AA特级绝黄| 无码久久亚洲高清,| 99后入| 这里是精品| 99热精品在线播放| 日本理论在线| 天天色天天干天天射| 操逼无毒无码免费视频| 情色五月天就去干| 91色综合色| 99热在线观看| 亚洲高清无码AAA久久久精品| 丝袜AV一区二区三区| 中文字幕二区| 亚洲美女黄色| 天天综合站| 亚洲 综合 第一页| 好屌色综合| 久视频在线观看| 3571色综合一区二区二区| 日韩精品一区的| 三级三级三级a级全黄三| 亚洲图片激情综合另类| 1769国内精品视频| 91人妻精华帖| 日本中文字幕在线电影| 超碰九7| 精品国产a∨一区天美传媒| 久久超碰av在线| 久久久专区| jiujiujiujingpin| 大香蕉92| 亚洲AV成人精品网站在AV| 91啪啪| 综合久久久久久久久91| 综合伊人激情| 日本东京热加勒比久久| 操高情无码| 天天操天天舔| 五月天啪啪| 色99色| 69人妻人人揉人人躁人人精品| 亚洲日韩肥臀视频在线观看| 成人五月天色网| 97超碰免费人人性爱| 久久99草| 91丰满| 精品久久久久久中文字幕视频免费| 欧州91高潮| 男人女人18禁片免费看网站| 久久九九视频九九视频| 亚洲九九夜夜| 国产精品网站www| 97欧美色综合| 丁香九月婷婷| 亚洲色图欧美色图日韩色图| 婷色五月| 九草在线大香蕉| 精品国产a∨一区天美传媒| 欧美在线电影| 一区操逼| 激情开心五月天| 久久久久中出| 综合网少妇| 日韩强奸av| 日本在线不卡v二区| 日日干日日| 亚洲男人的天堂AV| 亚洲精品电影| 亚洲成人免费中文字幕| 天美国产三级传媒| 欧美成97爱| 日韩免费大片一级播放| 亚洲情色1区| 亚洲天堂资源| 日韩卡一卡二卡三在线| yellow网站免费观看日韩高清无码| 国产精品青草综合久久| 躁躁日曰躁2020| 欧美97网| 26uuu国产成人综合| 亚洲AV色图一区| 青青国产在线拍揄自揄拍| 人人么人人操| 欧美黄色大香蕉一区二区| 清纯唯美第一页| 强奸乱亚洲| 日日骚 av| 日本国产亚洲一区在线观看| 国产女人视频三四五区| 三级AV入口| 天天射夜夜骑| 四虎884| 男人的天堂久久久| 亚洲中文日韩欧美大香蕉视频| 午夜天堂精品久久久久91| 国产欧美黑人丰满在线| 日韩一级性爱无码| 97九色人妻| 欧美97免费| 精品亚洲国产成人精品| 色大香蕉97N| 色综合av综合久久| 丰满少妇一区二区三区专区| J?P?NESEHD熟女熟妇伦| 青草青青久久久久久国产| 猛猛干| 先锋精品av色鲁| 久热伊人| 亚洲情色91| 特色a在线上| 五月天综合| 久久久女人| 大香蕉九九| 偷偷人人精品女女久久| 日本久久久久久久久| 丝袜足交视频| 91亚州日韩高清| 国产精品国产精品国产| 密臀在线免费观看| 日韩一区二区精彩视频| 色九九九九| 久久 国产 无码| 青青久操| 久热香蕉精品在线视频| 中文字幕一区二区三区四五区| www狠狠| aaa淫乱视频| 国产强奸乱伦xd| 99国产精品久久久在线播放| 国人欧美精品一区二区| 97天堂| 91视频观看网站| 台湾一区国产高清在线| 欧美国产一区二区三区麻豆传媒| 欧美劲爆视频一区二区| 99国产女人| 精品国产嫩穴视频| 国产www色在线观看| 国产9熟妇视频网站| 91 在线亚洲| 免费国产电影一区二区| 91嫩草在线| 亚洲人人操| 亚洲无码com| 亚洲性猛交| 99操碰| 日韩福利电影网| 亚洲青色欧美| 99爱久久视频频| 大香网站| 1000部熟女视频在线观看| 任我爽在线视频免费观看| 99免费视频| 国产亚洲精品久久久久小| 后入式五六区| 国产精品经典一卡久久久 | 99爱久久视频频| 一级@啪啪视频| 亚州,欧美在线| 台湾佬激情综合| AAAAAAAAA黄片| 色噜噜狠狠色综无码久久合欧美| 人妻少妇久久| 十八禁黄色成人网站观看| 九九色色| 亚洲一区二区中文字幕| 素人一区二区三区日韩| 欧美日韩中文字幕人妻| 丁香7月婷婷| 亚州精品丝袜-不卡成人免费| 午夜精品探花| 国产高清无码一区三区二区| 免费人成毛片乱码| 国产久久久久久| 91久热| 操曰本熟女| caopeng97人妻| av大香蕉| 99re国产中文字幕| 蜜乳AV一区二区三区四| 中文字幕一区二区三区四区在线视频| 一区二区影视| 午夜毛片亚洲精品片国产久久久| 91美女在线| 久草电影网| 国产蜜臀在线| 激情情色五月天| 天天插夜夜爽| 欧美国产有色电影| 亚洲视频二区| 97视频www| 亚洲有码第一页| 欧美97在线观看| 男人天堂站| 精品熟女一区=区三区| 国产玖玖| 五月天春色激情网| 蜜桃久久久久久久| 国产夫妻一区二区| 人妻社区男人天堂| 性性久久| 天天操熟妇| 国产精品毛片| 亚洲黄色电影| 欧美欧美啪啪视频| 中文字幕亚洲永久精品| 亚洲午夜AV| 99亚洲精品| 欧美日韩超碰在线| 91久久18禁| 日韩美女高潮喷水视频| 欧美 亚洲 综合 制服 另类| 亚洲国产中文字幕| 丰满人妻一区二区三区四区| 青青草国产欧美非洲黑人| 黄色无码高清黄色无码网站| 亚洲97成人在线观看| 日日操免费视频| 岛国黄色短视频| 日韩亚洲Av人人夜夜澡人人爽| 性爱av网站| 欧美拳交在线播放| 欧美激情一区二区| 狠狠97| 精品99999| 中文字幕av片| 成年无码动漫av片无尽在线 | www.av家庭乱伦| 日本人妻中文字幕精品| 欧亚免费视频| 成人影 天天操 亚洲| 亚洲AV不卡在线观看尤物| 另类成人首页一区| 奇米四色网| 日韩久久激情精品| 欧天美中出| 大香蕉99re| 欧美99999| 国产熟女免费观看久久| 久久久9视频| 东北操逼| 丁香五六月啪啪| 国产亚洲色婷婷久久99精品91葵花宝典| 日本一区二区成人在线| 成人丁香五月| 日本97久久久精品| 日韩十八禁| 福利社区午夜一区二区| 野狼激情网| 久久久天美| 欧美一级黄色免费专区| 99性视频| 一本色道久久综合亚洲二区三区| 97在线观看播放视频| 天天综合网一91网| 无码人妻毛片丰满熟妇精品区 | 欧美人妻精品| 亚洲色婷婷综合久久久久中文| 亚洲一卡二卡在线免费| renqi久久久久久久久久久久| 久久国99999| 风月影院十八禁| 欧美性爱另类综合| 搡老女人老91妇女熟女| 国产精品一区二区亚洲人成毛片| 丝袜 亚洲 偷拍| 加勒比性爱成人在线| 日B操| 亚殴在线| 97香蕉网| 中文字幕91综合| 久久伊人影院| 日本岛国黄色网址| 综合色久欲| 欧美综合娱乐久久| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 欧美性暴力| 九九亚洲视频| 激情婷婷丁香网| 啪一啪免费视频| 欧美影音在线| 色久桃花影院在线观看| 麻豆成人av| 午夜精品久久久久久久久久蜜桃| 久草精品国产蜜臀| 婷婷av在线中文字幕| 伊人青青一区成人视频在线观看区 | 秋霞一级A片黄色视频| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 72av视频| 95精品在线| 国产 日韩 欧美一区| 亚洲 图片 综合91| 久久久久9999| 日韩国产十八禁| 欧美日韩另类在线| 韩国毛片一区二区三区| 婷婷五月天丁香花| 亚洲av噜噜噜噜噜噜| 国产福利夜| 日本日逼高清| 蜜臀在线网站| 欧美精品成人亚洲| 人人摸.人人色| 嫩草 我啊~嗯~在线| 伊人久久艹| 天天综合~91| 色麻豆AV| 丁香五月天激情综合| 青娱乐休闲视频在线观看| 欧美狠狠弄| 乱论91| 999国产精品999久久久久久| 久久这里都是精品| 91碰超| 超碰精品97| 日韩AV色图| 五月天婷精品激情| 97亚洲精品| 精品一区二区三区四区外站| 99热在线观看| 超碰在线观看av不卡| 中文字幕一区二区三区四五区| 97中文天堂| 视频国产精品未满十八禁止在线观看| 台湾佬大香蕉| 免费超碰97久久| 色欧美天天| 一级黄色性爱A级片| 啊啊啊好舒服视频| 在线小视频| 亚州操操穴网| 91九九| 曰韩精品视频一区二区| 99热在线播放| 激情文学小说一区二区 | 日日骚精品视频| 女优免费一区二区永久| 国产精品无套内谢| 黄色AV免费| 欧色网址| 在线播放中文字幕| 欧美亚洲厕所精品偷拍91| 亚洲男人的天堂亚洲| 色嗨嗨在线| 亚洲A曰本VA欧美VA视频| 亚洲成人AB| 91老熟女老女人国产老太| 欧美专区第一页| 韩国黄色片精品久久久| 美女极品一区二区三区| 人人操人人操人人人操| 成 人 A V免费视频在线观看| 香蕉精品二区二区| 天天夜夜rb| 蜜臀aV午夜一区二区三区| 色天堂综合| 中文字幕亚洲欧美在线不卡| 亚洲欧洲小说图片视频| 久久女人一区二区三区| 五月丁香大香蕉| 中文字幕精品区先锋资源| 亚洲制服aⅴ中文字幕| 日韩免费av片高清无码| 91久久久亚洲| 精品国模无码| 视频一区二区三区精品| 最新无码国产| 人人操人人插 - 百度 - 百度| 国产免费一区2区3区| 97久久超碰| 国产精品视屏| 日本一道在线播放高清| 欧美成人一级麻豆| 女性喷水高潮在线观看| 久久国产在线一区二区| 久久久一区二区三区三州| 日韩欧美午夜一区二区| 人人操人人摸人人看人人干| 欧美成人性爱视频免费观看| 亚洲精品三| 五月综合激情网| 67914亚洲精品| 操九九九九九九| 超碰 另类 欧美 | 日韩啪啪视频| 黄色免费网| 日韩亚洲精品一区二区| 亚洲欧美国产其他二区| 开心激情婷婷| 少妇天堂网络| 国产一| 超碰诱惑| 中国操逼无码| 久久鲁干| 日韩女优在线| 亚洲自拍欧美色综合| 亚洲综合在线91| 久久久久久网址| 新久久AV| 亚洲成人av色网| 操B久久| 密臀成人视频久久久| 九九亚洲| 大香蕉专区| 日韩三级一区 | 人妻一区二区三区视频 | 男人天堂久久精品不卡| 精品九九九| 熟女色综合久久| www.狠狠干.coom| 好舒服视频| 蜜臀99精品国产高清在线观看| 久久的免费性爱视频| 日韩精品1区2区中文字幕| 1024人妻| 91丝袜美腿片| 美女黄网| 免费一级视频特黄色大片| 欧美色图天堂网m| 天天爽入口| 日产欧美电影一区二区三区| 成人国产精品三级A片| 日本女厕偷拍| 2020中文字幕在线观看| 操逼不卡中文字幕| 熟妇亚洲一区二区三区| 91n处女在线观看| 午夜视频好爽啊| 亚州精品一区二区三区香中文字幕在线| 国产精品视频播放| 91九九| 操逼日韩无码| 久久久久921| 自拍偷拍草一草| 2020视频1区2区3区| 久久久精品九| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 九九色色| 人妻激情视频| 国产92麻豆天美精品色欲5| 国产一区麻豆免费观看| 欧美色女人| 亚洲精品男人的天堂| 激情文学小说一区二区 | 裸模AV女优| 思思热一热婷婷热一热| 欧美一二三区四五区| 九九九九九九九九九国产精品 | 欧美色图私拍91| 91亚州| 国产一区二区三区中文字幕| 亚洲 日本 不卡| 色婷婷丁香| 亚洲女人毛茸茸91| 黄色av片三级三级三级免费看| 亚洲男人的天堂在线看| 先锋激情∨在线视频播放| 无码人妻丰满熟妇奶水区毛片| 久草午夜| 伊人97色天使| 日韩 国产 欧美自拍| 日本天堂网| 一级黄色性爱裸体视频| 校园春色综合色| 亚洲国产精品99久久久| 天天操人人操骚逼网站| 操我无码| 日1区2区3区2020| 五月天婷婷基地| 久久久久久久唑| 国产伦精品免编号公布| 乱伦一二三| 久久蜜色情在线视频xxx免费观看| 国产精品视频自拍在线| 人人爽人人精品乱人伦AV| 久久av成人无码免费| 亚洲玖玖爱| 夜夜嗨一区二区| 亚洲AV成人精品网站在AV| 亚洲精品欧洲精品| 欧美一区二区观看在线| 欧美高清91| 中文字幕在线观看第二页| 天堂69亚洲精品中文字| 成人在线午夜视频一区| 色婷婷狠狠18禁| 91美女视频| 欧美日韩青操| 国产亚洲在线观看| 人人操人人爽人人操人人| 国产精品天干天干综合网麻豆| 草莓精品视频| 久艹日日日| 男人天堂综合| 天天干一干| 人人贴人人摸| 久九九九九九九九热| 精品大久久| 久久‘黄片视频| 亚洲色婷婷久久久综合日本| 性爱AV天堂| 久久香蕉网| 黄片视频,下载| 成人三级片一区二区三区视频| 亚洲AO在线| 秋霞欧美性爰视频| 亚洲无无码αⅴ每日更新| 蜜桃午夜视频一区二区| 色第一页| 天天天天干| 久久东京伊人一本到鬼色| 天天综合网在线91| 2017超碰| 99热精品青草在线 | 天天天肏屄欧美| 久99视频| 操逼国产免费| 久久久精品| 中文字幕一区二区三区四五区| 少妇69中文| 久久久久13| 高清无码国产亚洲| 精品人妻中文字幕4399| 色汉综合| 成人九九| 人人九九精| 日本男人插女人的逼黄色| 偷窥自拍亚洲色图| 丁香六月激情| 综合一区中亚洲国产成人综合精品 | 亚洲欧洲综合| 天天色综合图片| 奇米狠999| 免费αV在线视频| 天天干18禁| 免费的很黄很污的全部视频| 亚洲九九九| 亚洲欧美激情小说| 色眯眯av| 伊人991| 用力操死我| 伊人97超碰| 九九伊人网| 大香蕉丝袜一级片| 日韩乱伦视频| 99热只有这里有精品| 色色福利| 欧美日韩操逼动图| 国产亚洲精品农村妇女 | 九九色色| 激情丁香五月婷婷| 丁香久久| 婷婷尹人大香蕉免费| 亚洲av无码成人精品国产| 黑人无码一区二区| 日本国产欧美高清在线| 中文字幕aⅴ在线视频| 亚洲 一区二区 自拍| 亚洲 自拍偷拍 欧美| 久久性爱精品一区| 免费观看国产小粉嫩喷水精品午| ji熟女.com| 狠狠中文字幕| 中文字幕av亚洲在线| A片三级无码| 婷婷激情四射| 天美国产三级传媒| 91扒丝袜综合在线| 好吊色一区| 亚洲熟久久| 色综九九九一区| 国产精品久久久亚洲第一牛牛_在线观看 | 国精综合一二三区影视| 天堂资源站| 国产自偷| 热99这里有精品综合久久| AV乱伦专区| 欧美日韩性爱无码| 99热66| 欧亚不卡| 人澡逼| 啊啊啊无码| 国产日韩欧美操逼视频| av日韩在线观看电影| 东京热免费视频| 亚洲国产综合久久天堂| 欧美午夜视频| 男女啊啊啊啊啊| 欧美一级AAAAAAA| 亚洲乱码尤物193YW| 男人的天堂网免费| 97资源免费视频| 男人的天堂Va| 中文字幕,人妻,日韩| 立川理惠加勒比无码| 富二代亚洲精品99| 欧美最大综合网| 欧美色女人| 国产黄色 A 片免费看| 日韩熟妇二区| 国产性爱欧美性爱在线| 久久系列| 国产一区二区欧美日本| 亚洲国产一区二区三区在线 | 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 18禁看网站一区| 日韩av影片在线观看| 国产精品久久久视频| 欧美另类天堂| 新久久AV| 日韩欧亚太美不卡| 亚洲高潮影院| 日日操丁香五月天| 欧美人妻二区三区| 男人的天堂com| 精品偷拍13p欧美dodk视频| 亚洲人成色9999精品久久| 97视频在线免费| 97在线精品观看视频| 蜜桃色色网站视频三区| 在线播放中文字幕| 国产精品无码久久久久2028| 少妇免费视频| 久久精品店| 亚洲成av人片色午夜乱码| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 亚洲AV资源| 91欧美综合| 国产又爽又黄| 亚洲加勒比色图| 高清成年美女黄网站免费大全 | 中文三一区| 丰满人妻一区二区三区大胸懂色| 亚洲自拍一区夜夜操| 亚洲国产美女久久久久| 99精品视频在线观看| av橘色网站| 亚洲第一无码播放立川理惠| 日韩天天本| 国产一级内射无挡观看| 久久久久久九九九九-美女久久久久久久-成人AV| 欧美激情精品| 蜜桃臀av在线观看| 91精品久久久久| 亚洲高清在线| 999热日韩精品| 欧亚免费视频| 亚洲色图日韩丝袜制服一区二区五月在线| 亚洲成人一区二区精品| 后入式视频国产自| 无码日韩人妻av一| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 色色操| 欧洲精品二区| 男人天堂2012| 日产操逼| 久久亚洲人妻| 黄页网站免费高清在线观看| AV色五月天| 国产AV久久久蜜爱影集| 欧美综合1性辶| 天天综合网~69| 精品国产av一区二区三区四区入口| 精品久一区免费| 啪啪啪东京| 日韩综合97P| 手机看片1025| 亚州色综合| 亚洲色图加勒比| 秋霞久久亚洲精品成人| 国产精品久久久午夜夜伦鲁鲁| 五月丁香婷婷色| 亚洲成a人v欧美综合天堂下载| 伊人大香蕉在线| 熟女这里只有精品6| 伊人少妇久久久| 清柠毛片| 女同女同恋久久级三级| 亚洲影视高清第一页| 色欧美天天| 日韩欧美成人综合在线| 午夜九九| 国产精品国产自产拍高清AV| 强奸乱伦大香蕉| 欧美色另类| 黄色不卡视频| 9999久久久久| 内射夫妻三片| 91亚.色| 国产av青草| 亚洲天堂无码| J?P?NESEHD熟女熟妇伦| 啊啊啊啊啊啊啊在线| 激情五月婷婷综合| 超碰国产精品无码| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 久久久亚洲精品电影免费看| 97在线精品观看视频| 国产麻豆91欧美一区二区久久婷婷国产精品| 激情自拍 校园春色| 尤物网址| 啊啊啊想要| 久久久内射良家| 97操97色| 日韩成人综合网| 天天色黄色影院天天操| 久久这里只| 97热视频在线观看| 欧美色九九九| 六月丁香啪啪| 免费伦费视频在线观看| 国产v亚洲v日韩v欧美v片另类| 久久久精品中文字幕麻豆| 中文字幕 av v| 欧美婷婷五月天| 免费人成在线观看网站品爱网| 啊啊啊啊好爽好舒服一区二区易域| 青草视频人妻在线观看| 午夜久久一区二区无码中出| 丁香五月自拍| 国产美女mm131爽爽爽爽| 久久国产在线一区二区| 麻豆天美一区二区| 国产97av| 啊啊啊操死我了| 超碰97久久国| 热热热热日日漂亮永久永久国产日| 久久久久久久久久久久久久久性生活视频| 无色无码| 日欧亚洲二三区大片不卡| 操逼无码操逼| yw尤物av无码点击进入麻豆| 久久综合97| 91美女精品| 久久久999国产精品| 亚洲区限制级 99| 欧美午夜视频| 熟女网站最新| 欧美亚洲厕所精品偷拍91 | 日韩 欧美 视频 在线 一区| 日本高清视频xxxx| 久久久久亚洲熟妇熟女| 精品99999| dy888午夜老子影视达达兔| 精精品人妻一区二区三区| 亚洲在线综合| 中文字幕欧洲有码| AV天黑人| 麻豆天天躁天天揉揉AV| 久草电影网| 99re视频在线播放青草| 中国熟妇| 国产97在线视频| 国产精品九九九| 91社区伊人| 操国产逼| 亚瑟国产精品久久无码| 人妻少妇被猛烈进入中| 日韩精品1区2区中文字幕| 午夜120视频在线观看| 强奸乱伦Av网| 亚洲最大网站av| 天天色播| 俺去久久| 青青操在线亚洲视频观看欧美在线 | 午夜精品久久久久| 校园春色宗合网| 呻吟 欧美 日本 中出| 97色欧洲| www国产无码| 天天干天天燥| 国产九九九九九九九九| 欧美99| 二区熟妇韩日| 免费亚洲国产精品久久一区| 欧美小说区视频区| 97超碰超碰| 久久五月天婷婷丁香中文字幕| 国产h片在线观看视频| 在线观看日韩av不卡| h在线看免费版在线看| 久久久久久久久久久人妻| 97资源免费视频| 桑老女人九区| 欧美人体性爱互联网第一页婷婷日本| 国产中出内射一区二区| 亚洲高清国产理伦片| 五月天婷婷基地| 亚州再线| 亚洲欧美变态| 日韩激情电影中文字幕| 婷婷激情五月天小说网| 99综合网| 欧美日韩人妻婷婷一区| 天天爱天天操| 国产一级特黄大片处女| 九九碰九九爱97| 97视频620| 国产sv美女内射| 一级日本牲交大片好爽在线看| 9999免费精彩视频| 久久熟妇五十路一区| 久久久久久中文| 亚洲AV麻豆Aⅴ无码电影一| 人妻精品一区二区在线| 国产有码一区| 91制服丝袜| 日本一级婬片试看三分钟| 啊啊啊啊一区| 91色人| 日韩99精品视频综合区| 色婷婷丁香五月| 91性| 成全动漫视频观看免费下载| 日本在线激情一区二区三区 | 在线视频亚洲无码| 天天色播| 操死我了啊啊啊| 看免费一级在线播放毛片| 婷婷激情五月综合| 国产人妻精品一区二区三区秋霞| 激情综合网激情综合| 99超级碰免费视频| 男女性扦B| 中文色综合| 亚洲AV资源| 久久久人妻| 色综合婷婷| 日韩国产九九精品一区二区三区毛片| 狠狠久久手机视频精品| 色香色香欲天天天影视综合网| 欧美 日韩第一性色| 九九干| 丁香婷婷激情五月天无毒不卡| 欧美色青| 欧美操逼一二三区| 97神马久久| 超碰人人色| 久9爱精品| 中文字幕av乱伦| 久久久久久久久国产| 国产精品人妻熟女aⅴ| 欧美一区二区情色| 亚洲中文字幕在现观看| 伊人亚洲国产一成人久久精品,久久| 97在线欧| 亚洲欧美国产日本一区二区三区| 九九九九九九九| 91成人久久| 国产成人啪一区二区| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 亚洲宗合网| 亚欧无码在线| 国产91专区| 国产成人久久久精品免费AV| 久草线上视频免费看| 久久久久国产精品片区无码直播| 日韩97精| 欧美网站免费| www.久久超碰| 婷婷五月天小说| 天天澡天天爽日日AV| 91暧暧| 日韩性爱视频在线免费观看| 老司机久久| 亚洲无码久久久久久久| 欧美96交| 色色色色色色色色色色色色色色综合| 日韩无限资源| 亚洲欧美日韩有码| 99精品欧美一区二区三区桃色| 婷婷九月国产| 91五月天| a级免费在线观看| 久久久中文版| 黑人无码一区二区| 国产精品久久久亚洲第一牛牛_在线观看| 婷婷五月天网| 免费A片三p视频| 欧美97视频| 少妇滛荡视频| 亚洲综合另类| 91欧美性| 狠狠五月天| 国产JDAV无码视频在线观看| 校园春色综合香蕉| 五月婷婷综合在线| 亚洲av无码成电影在线播放| 九一性生活免费视频| 五月婷婷六月天| 欧美伊人久久综合网| 亚洲骚男同com| 九九视品黄色| 高清成年美女黄网站免费大全 | 97在线精品观看视频| 青娱乐 青青青操 日逼| 18一区二区三区| 国产精品蜜乳AV| 神马久久久久| 久久精品成人一区二区三区蜜臀| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 操一操摸一摸| 欧亚韩国999| 天天弄欧美| 操一区| 国产乱伦性爱区| 亚洲狠| 亚洲人人夜夜澡人人爽| 伊人影院在线理论播放| 日韩精品在线观看网站| 日韩成人私密一级精品av| 208天天久久九九九| 亚洲色图欧美色图制服丝袜| 国内三级自拍小视频在线观看| 国产9 9在线 | 亚洲| 亚洲色图欧美色18直播在线| 蜜臀99999| 六月婷激情福利天堂69| 黄片不用下载在线观看| 性videos欧美熟妇hdx| 成人国产二区三区在线,男女精品。| 久久久久久久久久久999| 人妻少妇精品一区二区三区| 老司机深夜影院18未满| 操逼无码操逼| 亚洲日韩电影| 日本道人妻久久久在线不卡色视频| 双插在线| 婷婷国产精品九区| 色综合五月天| 九九综合久久| 欧美日韩 强奸乱伦| 国产亚洲精品A在线观看下载| 亚洲日韩美女丝袜美腿人妻视频| 精品人妻视频一区二区在线播放 | 久久九色| 中文字幕成人乱码熟女精品国50 | 欧美一级特黄淫片在线观看| 一级毛片电影免费看| 男同专区一区二区三区在线| 久久噜噜噜精品国产亚洲综合| 亚洲情色在线| 熟女中出视频| 大香蕉 222| 丝袜狠狠草尤物人妻av91| 日韩免费人妻色情网站| 激情综合色| AV大香蕉| 激情五月天视频| 四虎影院成年人片| 国产精品99久久久www| 色青青久久影视| 青青草一本道福利视频| 国产美女高潮| 上特色A在线| 懂色av一区二区三区天美传媒| 亚洲男人在线观看天堂| 日韩本不卡视频在线观看| 亚洲天堂少妇| 欧美三四五区| 视频二区美腿制服人妻欧美| 欧美亚州综合网图片| 78m成人视线| 老鸭窝成人免费毛片视频| 操熟女91| 99热在线观看| 黄片www视频免费| 精品久久久久久中文字幕视频免费| 九九九九免费| 国产精品福利资源在线尤物| 精品久久无码午夜福利| 超碰国产精品久| 國產尤物AV尤物在線觀看| 国产免费一区在线观看| 五月婷婷丁香六月|