免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

基于SSM+JSP+MySQL的圖書管理系統(tǒng):從數(shù)據(jù)庫設計到前后臺部署全解析

基于SSM+JSP+MySQL的圖書管理系統(tǒng):從數(shù)據(jù)庫設計到前后臺部署全解析 做JavaWeb課程設計或者畢業(yè)設計的同學十個里有八個都繞不過“圖書管理系統(tǒng)”這個題目。而當你拿到的需求是“基于javaweb和mysql的ssm前臺后臺精品圖書管理系統(tǒng)(javassmjspmysql)”時本質上你要交付的不只是一堆能跑的頁面而是一個把前臺用戶操作和后臺管理維護打通了的完整項目。這套東西放在簡歷上是SSM整合經驗的證明放在答辯現(xiàn)場是數(shù)據(jù)庫設計和業(yè)務邏輯的展示。我將從怎么拆需求、怎么搭環(huán)境、怎么設計表、怎么寫核心代碼再到上線部署前必須處理掉的坑完整走一遍這個項目的落地路徑。不管你是剛學完JavaWeb基礎、準備做課程設計的新手還是被畢設題目折騰到到處找參考的在校生或者接了外包單子需要快速理解需求的開發(fā)這份經驗都能幫你少走一半彎路。1. 拆解“前臺后臺”這套圖書管理系統(tǒng)的業(yè)務邊界到底在哪對著“前臺后臺”這幾個字很多人第一反應是“多做幾個頁面就行”。真上手才發(fā)現(xiàn)前臺的用戶頁和后臺的管理頁之間數(shù)據(jù)是同一套但操作邏輯和權限邊界完全不一樣。先把業(yè)務邊界理清楚后面寫代碼才不會寫著寫著就亂套。1.1 前臺功能用戶能做什么前臺的典型用戶是“借書人”不是管理員。圍繞“找書—借書—還書—看自己借了啥”這條主鏈路前臺至少要覆蓋這幾個場景注冊與登錄用戶能自己注冊賬號密碼不能明文存數(shù)據(jù)庫登錄后狀態(tài)要能保持。圖書瀏覽與檢索按分類瀏覽圖書按書名、作者、ISBN做模糊搜索結果要分頁展示。圖書詳情頁能看到封面、簡介、庫存量、價格等基本信息。借書操作點擊借閱時系統(tǒng)要檢查這本書還有沒有庫存、這個用戶有沒有逾期未還的圖書記錄。我的借閱展示當前用戶的借閱列表區(qū)分“借閱中”和“已歸還”還書操作也在這里觸發(fā)。個人資料修改手機號、密碼等基本信息。實際開發(fā)中前臺頁面大概就是首頁、圖書列表頁、詳情頁、登錄注冊頁、個人中心這五六個頁面??雌饋聿欢嗟總€頁面對應的Controller、Service、Mapper都要完整走一遍。1.2 后臺功能管理員能做什么后臺是給管理員用的核心就一個詞維護。管理員不關心“這本書該不該借”只關心“數(shù)據(jù)是否準確、有沒有人欠書不還”。后臺模塊一般拆成這幾塊圖書管理圖書的增刪改查、上下架、封面圖上傳。用戶管理查看注冊用戶列表、禁用違規(guī)賬號。借閱管理查看所有人的借閱記錄、處理還書、標記逾期。分類管理維護圖書分類新增或刪除。公告管理發(fā)布簡單的系統(tǒng)公告前臺首頁可以展示。后臺和前臺最大的區(qū)別不是頁面長什么樣而是操作權限。后臺URL必須經過管理員校驗不能通過前臺普通用戶身份訪問。用SSM框架實現(xiàn)這種權限分流核心就是攔截器加Session角色判斷這部分后面單獨展開。1.3 為什么這個題目會選SSM而不是Spring Boot這幾乎是面試必問的問題“你怎么看待SSM和Spring Boot的區(qū)別”對于課設和畢設來說選SSM其實是刻意為之的。SSM的每個組件職責非常清晰——Spring管對象、SpringMVC管請求分發(fā)、MyBatis管數(shù)據(jù)庫操作三者耦合度低代碼走到哪一步一看便知。相比之下Spring Boot雖然起步快但很多配置被自動裝配“藏”起來了評審老師追問底層機制時初學者反而容易答不上來。SSM這套架構下一個典型的請求路徑是這樣的JSP頁面發(fā)起請求 - SpringMVC的DispatcherServlet - Controller - Service接口實現(xiàn) - Mapper接口 - MyBatis執(zhí)行SQL - MySQL返回結果把這條鏈路在腦子里跑通整個SSM項目你就理解了八成。后面所有功能都是往這條鏈路上掛新接口而已。2. 環(huán)境與工程骨架從零把SSMJSPMySQL在IDEA里跑起來很多同學項目代碼寫得差不多了卻卡在“項目起不來”這一步。IDEA跑JavaWeb項目這件事看似簡單實際操作里的坑一個接一個——Tomcat版本不匹配、依賴沒引全、數(shù)據(jù)庫驅動版本不對、SSL連接報錯……我把整個環(huán)境搭建過程重新梳理了一遍按順序走基本不會出問題。2.1 IDEA配置Tomcat并運行JavaWeb項目的關鍵操作如果你是用IDEA打開別人給的SSM項目第一步不是點綠色按鈕而是確認三件事JDK版本、Tomcat版本、Maven依賴是否全部下載完成。這三件是項目能跑起來的地基任何一件出問題報錯千奇百怪。項目結構里檢查Project SDKSSM項目通常用的JDK 1.8或11用17容易遇到Tomcat版本不適配和各種反射警告。確認Libararies里是否已有Spring、SpringMVC、MyBatis、MySQL驅動等依賴。如果用的是Maven管理執(zhí)行clean reimport看右側Maven面板的依賴列表是否全部變綠。配置Tomcat時關鍵是“Deployment”標簽頁里把項目的war包添加進去Application context設為/。很多人只配了Server標簽頁沒配Deployment一啟動瀏覽器404。如果你拿到的是不帶Maven的老式SSM項目依賴都放在web/WEB-INF/lib下那更要注意Tomcat版本和依賴jar包版本的兼容性。我建議能轉Maven就轉Maven版本沖突和缺少傳遞依賴的問題會少很多。實踐中最穩(wěn)的依賴組合是Spring 5.x MyBatis 3.5.x MySQL驅動8.x JSTL 1.2Tomcat選擇8.5或9.0。2.2 配置SSM三個核心文件applicationContext.xml、spring-mvc.xml、mybatis-config.xmlSSM整合的本質是Spring容器把SpringMVC和MyBatis全部管起來。多數(shù)教學項目會拆成三個配置文件各管一攤applicationContext.xml只管Service層和Mapper層的Bean開啟注解掃描時注意排除掉Controller注解。spring-mvc.xml只管Controller層開啟注解驅動、配置視圖解析器InternalResourceViewResolver。mybatis-config.xml配置MyBatis全局屬性比如下劃線轉駝峰再交給Spring的SqlSessionFactoryBean加載。新手最常見的問題是在applicationContext.xml里掃描Controller的注解在spring-mvc.xml里又掃描了Service結果導致同一個Bean被創(chuàng)建兩次有些方法調用時拿到的是空的代理對象啟動不報錯一調用就報空指針。正確做法是Spring配置文件里掃描service和daoSpringMVC配置文件里只掃描controller。2.3 MySQL 8安裝配置與驅動、SSL連接的坑數(shù)據(jù)庫環(huán)境的坑比項目代碼更隱蔽?,F(xiàn)在電腦上裝的大概率是MySQL 8.x和很多博客里寫的5.x配置有幾點關鍵區(qū)別JDBC驅動類不要再用com.mysql.jdbc.Driver要寫com.mysql.cj.jdbc.Driver。JDBC連接URL里最好帶上useSSLfalse和serverTimezoneAsia/Shanghai否則啟動時會報SSL連接錯誤或時區(qū)錯誤這是MySQL 8的常見問題。一個典型可用的JDBC配置如下jdbc.drivercom.mysql.cj.jdbc.Driver jdbc.urljdbc:mysql://localhost:3306/library?useUnicodetruecharacterEncodingutf8useSSLfalseserverTimezoneAsia/Shanghai jdbc.usernameroot jdbc.password123456在IDEA里連接數(shù)據(jù)庫時如果也遇到SSL報錯直接編輯連接在Driver Properties里把useSSL設為false即可。別一看到SSL就慌這只是MySQL 8默認走安全連接而本地開發(fā)環(huán)境證書不全導致的。配置完環(huán)境我強烈建議先在數(shù)據(jù)庫客戶端Navicat或IDEA自帶的Database面板里把數(shù)據(jù)庫和表建好、灌入幾條測試數(shù)據(jù)再啟動項目。否則項目起來了頁面上一片空白或者報“Table doesn’t exist”很難分清是代碼問題還是數(shù)據(jù)庫沒初始化。最好用Navicat跑一遍全部建表SQL文件確認沒報錯再繼續(xù)。3. 數(shù)據(jù)庫設計圖書、用戶、借閱、分類四張核心表的落地細節(jié)圖書管理系統(tǒng)的數(shù)據(jù)庫設計網(wǎng)上能找到很多版本但大多存在一個通病邏輯上只有圖書和用戶兩張表借閱關系直接用一張中間表草草了事。等做到“我的借閱”頁面需要顯示圖書名、作者、借閱時間、應還時間時就開始瘋狂聯(lián)表查詢頁面越寫越痛苦。我的建議是把四張表的關系一開始就定死圖書表、用戶表、圖書分類表、借閱記錄表。這樣后期功能擴展空間大代碼也更好寫。3.1 四張表的完整字段設計圖書表book的字段設計要考慮前臺展示和后臺檢索的需求核心字段如下字段名類型說明book_idint主鍵自增book_namevarchar(100)書名authorvarchar(50)作者publishvarchar(100)出版社isbnvarchar(20)ISBN可做唯一索引pricedecimal(10,2)價格category_idint分類ID邏輯外鍵covervarchar(200)封面圖片路徑stockint庫存數(shù)量descriptiontext簡介create_timedatetime入庫時間用戶表user除了基本信息還必須有一個status字段來支持管理員禁用賬號的操作字段名類型說明user_idint主鍵自增usernamevarchar(30)用戶名唯一索引passwordvarchar(64)經過MD5加鹽后的密碼real_namevarchar(50)真實姓名phonevarchar(20)手機號statustinyint1正常0禁用create_timedatetime注冊時間借閱表是整個系統(tǒng)的核心它記錄的不只是“誰借了哪本書”還應該記錄借出時間、應還時間、實際歸還時間、當前狀態(tài)字段名類型說明borrow_idint主鍵自增user_idint借閱人IDbook_idint圖書IDborrow_timedatetime借出時間return_timedatetime應還時間通常借出時間30天actual_return_timedatetime實際歸還時間未還為nullstatustinyint0借閱中1已歸還2逾期未還分類表category就簡單了category_id和category_name兩個字段前臺導航欄按分類查書時用。3.2 為什么借閱表要冗余用戶和圖書信息這是我和很多同學看法不一樣的地方。教科書上總是強調“范式”數(shù)據(jù)庫設計要盡量消除冗余但實際做這種業(yè)務系統(tǒng)時我傾向于在借閱表里冗余賬號和書名兩個字段。原因是聯(lián)表查詢的性能和維護成本。如果借閱列表頁要顯示“誰借了哪本書”按第三范式必須join用戶表和圖書表。當數(shù)據(jù)量到了幾萬條借閱記錄每次打開后臺借閱管理頁面都要做兩次大表關聯(lián)數(shù)據(jù)庫壓力很大。更重要的是如果某本書后來被管理員刪除了物理外鍵會導致借閱記錄刪除失敗邏輯外鍵則會讓借閱記錄變成“孤兒數(shù)據(jù)”頁面上一顯示就是空白或報錯。所以我在實際項目中這樣處理借閱表里除了user_id和book_id還冗余了user_name和book_name兩個字段查詢借閱流水時不需要聯(lián)表直接查這一張表就夠。前提是系統(tǒng)里用戶名不能改、書名改了以后歷史借閱記錄顯示的還是舊名字也無所謂。對于圖書管理系統(tǒng)這個場景這個取舍完全值得。3.3 字段默認值與初始化數(shù)據(jù)的幾個經驗建表時還有一個容易忽略的細節(jié)字段默認值。比如customer的status字段默認設置成1正常借閱表的status默認0借閱中圖書的stock默認0而不是null。從數(shù)據(jù)庫層面多加一層兜底代碼里就能少寫很多空值判斷。初始化數(shù)據(jù)也要提前準備不要等運行時再手動敲??梢詫懸粋€init.sql里面插入幾個分類文學、科技、歷史、少兒、10本左右圖書、一個管理員賬號admin/admin、一個測試用戶。這樣項目第一次啟動頁面上就有內容可看前臺搜索、借閱、后臺管理都能直接演示答辯的時候也不會出現(xiàn)“頁面空空如也”的尷尬。4. 前后臺權限分流登錄校驗、攔截器、密碼加鹽一個都不能少圖書管理系統(tǒng)的“前后臺”不僅是頁面路由的區(qū)分更是安全邊界的區(qū)分。普通用戶JSP頁面可以訪問前臺但后臺管理頁必須管理員才能進用戶調接口必須帶著登錄Session才能操作。用SSM實現(xiàn)這套權限控制最核心的就是SpringMVC攔截器加Session機制。4.1 HandlerInterceptor攔截器的實現(xiàn)邏輯SpringMVC里權限校驗最簡潔的方式就是定義一個HandlerInterceptor類重寫preHandle方法在請求進入Controller之前判斷Session里有沒有登錄標記。public class LoginInterceptor implements HandlerInterceptor { Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { Object user request.getSession().getAttribute(loginUser); if (user null) { // 未登錄重定向回登錄頁 response.sendRedirect(request.getContextPath() /login.jsp); return false; } return true; } }然后在spring-mvc.xml里注冊這個攔截器并配置攔截路徑。這里有個細節(jié)必須注意攔截路徑不能寫死成/否則登錄頁和靜態(tài)資源全被攔截就死循環(huán)了。推薦配置方式mvc:interceptors mvc:interceptor mvc:mapping path/user/**/ mvc:mapping path/admin/**/ mvc:exclude-mapping path/login/ mvc:exclude-mapping path/register/ mvc:exclude-mapping path/static/**/ /mvc:interceptor /mvc:interceptors4.2 后臺管理員的角色區(qū)分與請求分流既然有“前臺后臺”那登錄用戶分成兩類普通用戶和管理員。最簡的做法是用戶表里加一個role字段0表示普通用戶1表示管理員。登錄時把整個用戶對象放進Session后續(xù)每個需要權限的接口都判斷Session里的用戶對象是否存在以及role是否為1。我習慣再加一個AdminInterceptor專門管/admin/**路徑邏輯和LoginInterceptor類似但多一層role判斷Object loginUser request.getSession().getAttribute(loginUser); if (loginUser instanceof User) { User user (User) loginUser; if (user.getRole() 1) { return true; } } response.sendRedirect(request.getContextPath() /login.jsp); return false;之所以單獨再寫一個攔截器而不是在LoginInterceptor里拿到所有業(yè)務邏輯是為了兩個角色的擴展性。以后如果還要加一個“圖書管理員”角色前臺也能訪問某些后臺接口改起來就方便。4.3 密碼不要明文存MD5加鹽的正確做法數(shù)據(jù)庫里直接存密碼明文是答辯時最容易被打低分的點。其實用Spring自帶的DigestUtils就能輕松做MD5加密但單純MD5還是會被彩虹表爆破常規(guī)做法是“鹽值 MD5”。我的實現(xiàn)思路是注冊時取一段固定的鹽值比如“l(fā)ibrary_salt”和用戶輸入的密碼拼接再一起做MD5把加密結果存數(shù)據(jù)庫登錄時對用戶輸入的密碼做同樣拼接加密再和數(shù)據(jù)庫里的密文比對。String salt library_salt; String encryptedPwd DigestUtils.md5DigestAsHex((salt rawPassword).getBytes(UTF-8));這樣做的好處是哪怕兩個用戶的密碼相同只要鹽值參與拼接數(shù)據(jù)庫中存的密文也都一樣不影響驗證邏輯但比純MD5安全了一步。如果是更規(guī)范的項目建議給每個用戶隨機一個鹽值然后單獨存在用戶表里不過課設和外包項目用固定鹽值也夠用了。4.4 登錄信息與退出登錄成功后把用戶對象放進Session頁面上的顯示用JSTL的${sessionScope.loginUser.username}即可。退出功能就是執(zhí)行session.invalidate()把Session整個失效同時把購物車、借閱臨時狀態(tài)一并清掉。這里提醒一句JSP頁面里取Session的值一定要加${empty sessionScope.loginUser}判斷否則未登錄用戶訪問首頁時明明沒登錄卻能在導航欄看到一個用戶名非常出戲。5. 核心業(yè)務實現(xiàn)檢索分頁、借閱事務、后臺CRUD的代碼思路權限分開后剩下的就是把各個業(yè)務功能逐個填進SSM的鏈路。以下三個模塊基本覆蓋了這個系統(tǒng)的全部技術難點也是答辯時老師最想看的部分。5.1 前臺圖書檢索模糊查詢 分頁的實現(xiàn)圖書列表頁是用戶進入系統(tǒng)后看到的第一個頁面處理不好就會又慢又亂。我在項目里用MyBatis的動態(tài)SQL做一個多條件查詢支持按分類、書名模糊搜索、作者模糊搜索。核心Mapper寫法如下select idsearchBooks resultTypecom.example.entity.Book SELECT * FROM book where if testkeyword ! null and keyword ! AND (book_name LIKE CONCAT(%, #{keyword}, %) OR author LIKE CONCAT(%, #{keyword}, %)) /if if testcategoryId ! null AND category_id #{categoryId} /if /where ORDER BY book_id DESC LIMIT #{offset}, #{pageSize} /select分頁有兩種選擇自己手寫一個簡單的PageBean或者引入PageHelper插件。如果你的項目只是課設我建議自己寫邏輯非常清晰——接收當前頁碼pageNum和每頁條數(shù)pageSize計算offset查完數(shù)據(jù)后把總記錄數(shù)拿出來算總頁數(shù)封裝成一個PageBean返回給JSP。5.2 借閱業(yè)務事務、庫存校驗和狀態(tài)判斷借閱是Service層最典型的業(yè)務方法也是考察事務管理是否掌握的關鍵點。一套完整的借閱邏輯包括四步根據(jù)bookId查出圖書判斷庫存是否大于0。根據(jù)當前登錄用戶的ID查其是否有未歸還的借閱記錄避免同一人重復借同一本書。執(zhí)行更新圖書庫存減1插入一條借閱記錄狀態(tài)為借閱中應還時間為當前時間加30天。上述任何一步失敗回滾所有操作。少一個判斷借閱流程就是殘缺的。尤其要注意“減庫存”和“插入借閱記錄”這兩個數(shù)據(jù)庫操作必須放進同一個事務里。如果只減了庫存而沒插入借閱記錄圖書就莫名其妙少了一本如果只插了記錄而沒減庫存庫存數(shù)據(jù)就會虛高。所以Service方法上必須加Transactional注解Transactional(rollbackFor Exception.class) public void borrowBook(Integer userId, Integer bookId) { Book book bookMapper.selectByPrimaryKey(bookId); if (book.getStock() 0) { throw new RuntimeException(庫存不足); } int count borrowMapper.countNotReturnByUserAndBook(userId, bookId); if (count 0) { throw new RuntimeException(請先歸還之前借閱的圖書); } bookMapper.decreaseStock(bookId); BorrowRecord record new BorrowRecord(); // 設置userName、bookName等冗余字段 record.setUserId(userId); record.setBookId(bookId); record.setBorrowTime(new Date()); record.setReturnTime(DateUtils.addDays(new Date(), 30)); record.setStatus(0); borrowMapper.insert(record); }5.3 后臺CRUDMyBatis動態(tài)SQL與批量操作后臺圖書管理的增刪改查核心用法是MyBatis的if動態(tài)SQL。新增圖書時字段很多不同場景下傳參不同動態(tài)SQL最適合。修改圖書時只改有值的字段避免把不需要動的字段覆蓋成null。這里還有兩個容易被忽視的業(yè)務點刪除圖書如果這本書還有未歸還的借閱記錄直接刪除會導致用戶還書時找不到對應圖書應該在刪除前檢查借閱表中有沒有該書的未歸還記錄。有的話提示“該書存在未歸還記錄無法刪除”。修改圖書狀態(tài)不要物理刪除圖書用一個is_delete字段標記邏輯刪除是更穩(wěn)妥的方案。這樣即使某本書被下架歷史借閱記錄也不會變成孤兒數(shù)據(jù)。5.4 JSP頁面的數(shù)據(jù)展示JSTL EL是標準答案JSP頁面里最忌諱的就是寫大段Java腳本片段scriptlet頁面會又丑又難維護。前臺列表頁展示循環(huán)數(shù)據(jù)時用JSTL標簽加EL表達式干凈利落c:forEach items${pageBean.list} varbook div classbook-item h3a href${pageContext.request.contextPath}/book/detail?id${book.bookId}${book.bookName}/a/h3 p作者${book.author}/p p庫存${book.stock}/p a hrefjavascript:void(0) onclickborrowBook(${book.bookId})借閱/a /div /c:forEachJSP頁面加載完成后刷新一次的問題很多人遇到過表單提交后瀏覽器地址欄沒有變化用戶手動刷新導致表單重復提交。解決思路有兩個第一是提交后Controller使用redirect:重定向到列表頁而不是forward第二是JSP里用c:redirect或者在頁面加載時調用一段JavaScript控制歷史記錄。我在項目中實測下來最省心的方案還是Controller里統(tǒng)一用redirect保證刷新不會重復提交。6. 我踩過的坑亂碼、日期、孤兒數(shù)據(jù)與MySQL 8的SSL報錯代碼寫完之后真正常在找錯上耗幾小時的往往不是業(yè)務邏輯而是環(huán)境類和常識類的坑。這些坑百分之百會在你的項目中遇到提前排掉后面就順了。6.1 三層亂碼JSP、請求、數(shù)據(jù)庫各管一截SSM項目出現(xiàn)中文亂碼十有八九是編碼設置不完整。亂碼需要從三個層面同時排查缺一不可頁面層JSP第一行設置% page contentTypetext/html; charsetutf-8 pageEncodingutf-8 %。請求層配置SpringMVC的CharacterEncodingFilter強制UTF-8。數(shù)據(jù)庫層JDBC連接URL里加characterEncodingutf8建表語句加default charsetutf8。filter filter-nameencodingFilter/filter-name filter-classorg.springframework.web.filter.CharacterEncodingFilter/filter-class init-param param-nameencoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameencodingFilter/filter-name url-pattern/*/url-pattern /filter-mapping順序錯了不行漏了更不行。我曾經整了半天發(fā)現(xiàn)數(shù)據(jù)庫表是latin1編碼JSP改一百遍也沒用。建議建表時統(tǒng)一加上ENGINEInnoDB DEFAULT CHARSETutf8一勞永逸。6.2 日期顯示問題JSP上的借閱時間和應還時間數(shù)據(jù)庫datetime字段傳到頁面上默認格式是“2024-06-01 12:00:00”看著還算正常。但如果你把日期放在輸入框中做編輯或者需要顯示成“2024年6月1日”這種格式就得做格式化。JSTL的fmt:formatDate是最方便的選擇fmt:formatDate value${record.borrowTime} patternyyyy-MM-dd HH:mm:ss/后臺借閱管理里經常要根據(jù)應還時間判斷逾期千萬別在Java代碼里把日期轉成字符串比較直接用new Date()和數(shù)據(jù)庫里查出來的Date對象做after、before比較前端只管顯示格式化后端只管拿對象比較這樣不會出時區(qū)偏差。6.3 邏輯刪除導致的孤兒數(shù)據(jù)坑前面提到過借閱表不要物理外鍵這里再提醒一個相關坑如果你用了物理外鍵刪除圖書分類時只要該分類下還有圖書數(shù)據(jù)庫就會拒絕刪除。很多人的做法是改成“邏輯刪除”——分類表加一個is_delete字段刪除時執(zhí)行update而不是delete。這本身沒錯但緊接著就會遇到新問題統(tǒng)計某分類下圖書數(shù)量時、前臺按分類展示時都要記得在SQL里加WHERE is_delete 0否則下架的舊分類和舊圖書全會出現(xiàn)在頁面上。我在最終演示前就栽過一次明明做了邏輯刪除前臺分類導航里還顯示著已刪除的分類就是因為查詢時漏了is_delete條件。6.4 IDEA部署刷新慢、JSP修改不生效的問題操作系統(tǒng)SSM項目時還會遇到一個現(xiàn)象改了JSP重啟Tomcat后看到的還是舊頁面。這跟瀏覽器緩存和Tomcat的JSP編譯緩存都有關系。排查時先按CtrlF5強制刷新瀏覽器還不行就手動清理Tomcat的work目錄下該項目的編譯緩存。IDEA里也可以把Tomcat的On frame deactivation設為Update classes and resources改JSP能熱更新但改Java代碼還是需要重啟別指望完全熱部署。7. 項目跑通之后從IDEA到服務器完成一次可演示的部署交付很多人在IDEA里跑通了項目就以為戰(zhàn)斗結束了其實考試和交付場景下最常見的要求是“在服務器上能訪問”。這個環(huán)節(jié)雖然不需要你精通運維但幾個核心步驟必須有概念。7.1 打war包還是直接打包SSM項目的JSP頁面在webapp目錄下通常用IDEA的Artifacts打war包或者Maven配置packagingwar/packaging后執(zhí)行package。war包的好處是Tomcat直接扔進webapps目錄就能跑無需額外配置。如果你的項目用Maven構建打包前注意資源文件的問題mapper.xml如果放在src/main/java的包下可能不會被打進war包需要在pom.xml的build節(jié)點里加上resources配置把mapper文件也包含進去。這個問題相當常見我見過好幾次“打包后在服務器上報MapperBindingException本地卻好好的”八成就是mapper.xml沒打進去。7.2 云服務器上部署的完整流程在服務器上的部署流程按這個順序操作基本不會翻車服務器安裝JDK、Tomcat、MySQL版本和本地保持一致。把本地的library數(shù)據(jù)庫導出為SQL文件在服務器MySQL里執(zhí)行導入。修改數(shù)據(jù)庫配置文件把localhost換成服務器內網(wǎng)地址或公網(wǎng)地址賬號密碼改成生產環(huán)境的強密碼。把war包上傳到Tomcat的webapps目錄啟動Tomcat。查看Tomcat日志catalina.out確認啟動成功再通過瀏覽器訪問http://服務器IP:8080/項目名/。如果訪問時報404先檢查Tomcat啟動日志里有沒有“Deployment of web application archive ... has finished”字樣如果報數(shù)據(jù)庫連接錯誤優(yōu)先查防火墻是否放通了3306端口以及MySQL是否允許遠程連接user表里host是否是%。這些點排查完部署問題就解決了大半。7.3 交付時怎么展示這個項目最加分最后說點實在的交付或者答辯時代碼量不是重點功能鏈路完整才是重點。站位從“我寫了多少個頁面”轉變成“我把一條數(shù)據(jù)從用戶點擊到數(shù)據(jù)庫落庫走通了”。演示時建議按這條主線走前臺注冊用戶 → 登錄 → 搜索一本書 → 借閱成功 → 庫存減一 → 切到管理員賬號 → 后臺看到這條借閱記錄 → 歸還該書 → 前臺用戶看到已歸還狀態(tài)。這一條鏈路里任何一個環(huán)節(jié)能講出數(shù)據(jù)流轉的原理比如庫存是在哪個事務里減的、Session里存了什么、攔截器攔了誰比你在臺上背一百句“基于SSM實現(xiàn)了什么功能”都管用。再補充一個展示技巧把數(shù)據(jù)庫客戶端分屏放在旁邊。當你在前臺頁面點下“借閱”按鈕時現(xiàn)場指著數(shù)據(jù)表里新增的那條記錄說“看庫里的stock從3變成2了”這種直觀的演示比任何PPT截圖都有說服力。我在實際帶這個項目時最深的體會是圖書管理系統(tǒng)這種老生常談的題目難度從來不在于它看起來有多簡單而在于你能不能把那些“大家都這么寫但都不說為什么”的細節(jié)處理好——為什么要邏輯刪除、為什么借閱表要冗余字段、為什么減庫存和插記錄必須放進同一個事務。這些細節(jié)才是讓老師相信你真的掌握了SSM和MySQL而不是背了份代碼的關鍵。最后分享一個我在收尾階段經常會做的小檢查把項目從IDEA里原封不動部署到一臺干凈服務器上如果中間不依賴任何本地的緩存和配置就能跑通那這個項目才算真正交付完成。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色婷婷久久7777| 超级碰碰碰91| 久操热线| 天天色天天| 五月丁香六月在线欧美| 九九综舍久久| 五月黄色婷婷| 丁香婷婷欧美综合| 怡红院AV亚洲一区二区三区H| 亚洲人人操| 婷色成人| 五月丁香网站在线播放| 五月激情五月丁香| 5月激情天| 岛国资源站| 久久婷婷精品| 三级三久久线久久99久目本WW| 婷婷五月天精品| 99精品久久| 黄色aa观看aaguochan| 26UUU精品一区二区| 这里有精品2| 婷婷五月激情六月丁香 | 丁香六月婷月91婷月| 五月做爱| 婷婷自拍| 天堂中文国产| 九九热超碰| 任你干嘛免费视频播放| 非洲一级AV| 99五月香婷婷丁香在线视频| 超碰99热精品在线| 欧美69色| 99热碰碰热| 九月婷婷综合网| 色综合色色色色色色综合| 欧美搡BBBBB摔BBBBB| 99热在线播放| 疯狂做受XXXX高潮A片动画| 91操在线视频| 欧美99| 天天爽天天爽| 五月婷婷激情综合网| 九九热10| 欧洲色色| 亚洲电影中文字幕| 久久免费丁香| 色啪网| 99色热视频| 亚洲精品网址| 黄色aaaaa| 高清无码.com| SS丁香五月婷婷| 五月综合六月丁| 五月婷婷激情色情网| 色婷婷色五月另类综合| 五月丁香色婷婷熟女| 在线五月色播| 五月婷婷六月丁香在线| 亚洲中文字幕av| 伊人www22综合色| 东京热伊人| 五月天婷婷影院| 婷婷五月天色| 任你弄在线视频免费| 99日热在线视频| 婷婷综合国产| 九九综合久久| 婷婷五月天激情综合深爱激情| 天天插天天插天天插天天插| 国产午夜一区二区三区| 一二线视频 另类| 日逼AV影音先锋男人资源站| 大天天伊人| 色婷婷超碰| 婷婷99视频精品| 欧洲激情网站| 噜噜吧天天爱| 国产成人精品一区二三区熟女在线| 精品9197碰| 色婷婷久久9.com| 久草狼人| 婷婷五月丁香伊人网| 狠狠狠夜夜夜| 亚洲视频一区| www99在线观看视频| 99色色网| 日日干天天爽| 成人无码髙潮喷水A片| 天堂网亚洲色图| av在线中文| 天天狠天天狠| 97性视频| 九九综合五月欧美| 日日干日日s| 日日干天天| 婷婷中文字幕| 婷婷五月综合网| 另类小说婷婷色| 日本九九视频| 五月天堂六月丁香亚州中文字幕久久| 精品视频99看在线视频| 九九色图| 天天干,天天操,天天射| 六月婷婷九月丁香亚洲综合| 中文成人在线| 久久婷婷六月天| 婷婷丁香五月亚洲综合网在线视频观看| 天天射美女| 天天色2017| 人妻九九九九| 中文字幕av在线播放| 婷婷色网| 色情五月丁香婷婷网| www,26uuu,c0m,色情| 五月丁香啪啪综合| 9|无码久久久久久| 久草a片| WwW色婷婷| 亚洲精品影视| 色色五月天激情| 黄色高清无码| 婷婷五月图片小说网| 日韩另类| 婷婷区日本| 人妻人人操| 啪啪五月婷婷| www.久久av.com| 日日日日日| 婷婷在线免费| 亚洲人人操| 国产精品国产| 色五月婷婷在线| Www.久久| 婷婷五月在线观看| aa久久| 一级片操逼视频| 国产亚洲精品人人| 激情五月天综合网| 久久五月网| www.狠狠操| 久久五月综合| 激情丁香五月婷婷| 另类小说婷婷色| 99色婷婷| 婷婷免费无视频| www.色五月| 激情com| 日本va欧美va国产激情| 日本色婷婷综合| 亚洲激情四射| 亚洲国产色色| 99热大香蕉| 黄色片区子| 婷婷六月激情| 久久色婷婷| 91丨九色丨大屁股| 婷婷激情五月天色| 99ri6在线视频| 婷婷色丁香五月| 六六久久黄色| 五月丁香亭亭操逼| 天天人人天天爽| 欧美激情综合色综合啪啪五月| 成久综合视频| 1级欧美日韩| 色欲久久久久| 激情综合五月| 成人免费在线电影| 五月噜噜噜色综合| 日韩久久日| 丁香激情五月少妇| 91超级碰| 久热精彩视频98| 人人干人人操人人摸| 激情丁香五月AV| 日韩99视频| 丁香婷婷六月激情文学 | 六月丁香五月激情亚洲AV| 国产成人亚洲综合A∨婷婷| 玖玖在线资源视频| 丁香五月婷婷综合91| 激情久久肏屄视频| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 九月色婷婷| site:901-07.com| 中文字幕按摩做爰| 伊人久久大香蕉网| er99免费视频在线| 婷婷欧美综合| 天堂网操| 99热在线观看| 五月丁香六月婷| 99热久久这里只有精品| 婷婷七月丁香色色| aV直接看| 日日夜夜干| 色色色色色网站| 超碰久热| 影音先锋91资源站| 九久久九精品视频| 亚洲乱码日产精品BD| 久久ab| 日本va欧美va欧美va精品| 婷婷无五月无码视频| 九九视屏| 天天狠狠六月婷丁香影院| 99激情网| 五月久久婷婷| 任你操精品免费| 粉嫩AV久久一区二区三区| 五月婷婷69| 激情综合网络插| 五月丁香婷婷婷激情爱爱| 激情婷婷丁香| 99热自拍| 夜夜干天天操| 激情久久久| 丁香六月欧美| 婷婷丁香成人五月天| 久久大香蕉| 欧美日韩国产一区二区| 丁香花操逼| av国产精品| 大香蕉中文| 精品无码99| 快乐激情五月色婷婷| 成人一区在线观看| 色色五月天com| 爱久久小说下载网| 亚洲欧洲中文日韩久久AV乱码| 成人国产综合| 亚洲操人| 五月天综合| 97碰碰在线看视频免费| 色婷操逼| 99视频精品| 91视频综合网| 黄色五月婷婷| www色婷婷| 欧美性爱五月天| 五月婷六月婷婷| 99热青青草原| 99在线视频喷水| 五月色情精品| 人橾人| 9 大屁股在线视频精品| aV欲望人妻中文字幕| 伊人久久婷婷五月综合97色| www.91五月| 开心五月色婷婷综合开心网| 国产精品第一国产精品| 热99玖玖99玖玖99九九| 99国产欧美视频| 五月天婷婷青青草| 色婷婷综合丁香五月天| 超碰在线观看9| 9 1在线视频| 一操久久| 五月丁香亚洲校园欧美| 婷婷区日本| 桃色激情婷婷伊人网| www,五月天com| 激情宗合哪里能看| 就去涩涩丁香五月天| 天天檫天天爽| 九九色色| 婷婷五月天色色| 八戒青柠影视剧在线观看| 五月丁香婷婷啪啪| 五月天久久婷| 色9月| 大香蕉操操| av国产精品偷| 五月综合婷婷网| 思思热再线视频| 五月天婷婷视频30| 亚欧州精品视频| 香蕉婷婷| 伊人激情综合| 亚洲AV综合在线观看| 亚洲午夜精品久久久久久人妖 | 青草网在线观看| www色婷婷久久综合久色 | 久久综合首页| 人人色AV| 丝袜人妻| 中文AV网站| 综合九九日本| 伊人久久激情图区五月| www激情| 亚洲AV日韩无码| 日韩人妻无码专区| 色色丁香色五月| 婷婷五月电影| 99热在线观看亚洲区| 婷婷综合一二三| 激情综合五| 国内精品免费一区二区2009| 亚洲婷婷五月天在线激情综合网| 99热这里只有精品3| 99久超碰| 久久婷婷五月综合色和| 97色色色视屏| www.henhenl| 色五月成人| 97色五月丁香婷婷| 2020久久婷婷五月| 久热久| seuuu婷婷| 久综合色| 99热手机在线精品| 五月婷A V在线| 亚洲av网站| 久热网站| 99re欧美精品| 日本激情ⅩXX免费视频| 婷婷五月丁香啪啪| 99热99思午夜精品| 婷婷激情五月综合丁| 日韩综合天堂| 日本色色网站| 激情五月天开心总和网| 色六月 婷婷| 丁香五月天AV在线| 色五月婷婷色| 超碰99久久| 激情亚洲网| 伊人激情AV一区二区三区| 久久综合婷婷五月| 综合图片色色| 精品导航在线x不卡| 亚洲色域网| 99色精品| 9.1综合网| 久青操| 一起操 91N.com| 色婷婷五月天堂资源| 婷婷中文字幕| 天天开心天天色| 久99久精品视频| a片在线免费观看一区| 五月色婷婷综合丁香精品无遮挡| 青草视频在线观看视频| 狠狠999| 婷婷五月在线观看| 色情五月丁香婷婷网| 日本一道久久| 色一情一乱一乱一区91Av| 五月丁香影院| 99re在线精品视频| 五月丁香综合激情网| 97人人做| 久久国产色| 色色色色综合网| 久久狼人天堂| 欧美丁香婷婷天天操| 99热在线精品观看| 日日噜噜久久婷婷五月天| 曰韩少妇内射免费播放| 久久久久人妻精选| 五月丁香综合成人社区| 色婷婷狠狠爱| 操操操av| 色九九中文字幕| 不卡影院午夜理论片| 草草色情综合网| 五月婷婷九| 亚洲精级| 秋霞AV淫| 久久婷婷丁香五月一二三| 99热18| 婷婷丁香五月天色区| 欧美性生交xXxX久久久| 六月丁香五月天| 婷婷久久伊人| 99热成人| 狠狠五月激情丁香六月| 色噜噜狠狠色综合网| 色色五月丁香婷婷| 色五月色综合| 99九九在线观看免费| 亚洲热久久| 色综合爱综合| 九九色区| 麻豆WWWCOM内射软件| 五月丁香六月香综合激情| 久久天堂女人| 欧美这里只有精品| 婷婷噜噜| 激情五月婷婷免费视频| 99ri国产精品| 国产亚洲99久久精品| 精品少妇蜜臀91| 大香蕉娱乐| 丁香五月在线| 五月婷婷婷婷网| 91超级碰在线视频| 99cao婷婷| 99热久草| 五月色网| ww亚洲ww在线观看| 色噜噜五月丁香婷婷| 久色网| www.婷婷,com| 久草大| AAA级久久久精品| 天天综合精品| 五月停停丁香| 久久这里只有精品07 | wwW天天干| 国产精品成人网址| 五月丁香婷婷综合网| 色五月婷婷激情| 大香蕉久操| 日比视频91| 草草视频91| 99精品免费欧美小视频| 五月色导航| WWW.99视频| 久婷狼色诱惑在线| 开心五月深爱五月| 五月天婷婷基地| 五月天六月婷| 人妻尝试久久久久久久久久久久| 任你爽视频| 久久精品天| 婷婷香草网| 色五月激情五月天| 26UUU欧美激情一区二区| 色综合久久88色综合中文字幕| 色综合久久综合中文综合网| 天天综合91入口| 婷婷中文字幕网站| 亚洲电影在线观看| 亚洲激情久久| 可以免费观看的AV| 99久热| 激情婷婷| 深爱激情五月婷婷| 97干在线视频| 97久久久久| 五月婷婷亚洲色视频| 五月天婷a| 五月天堂婷婷| 久久人妻乱子伦| 九九黄色网| 大香蕉婷婷久久| 午夜日日| 六月婷基地| Aα在线免费观看| 色婷婷中文| 亚洲乱码日产精品BD| 日韩aaa| 96精品久久久久久久久| 婷婷月综合| 狼人婷婷综合| 九九热av| 久色| 丁香香蕉射射射| 久久精品国产AV一区二区三区 | 色一情一乱一乱一区91| 五月大香蕉| 久久免片| 成人综合网站| 91免费啪视频| 一区二区传媒视频| 99ri视频在线播放| 激情九月婷婷| 婷婷的五月天另类视频| 丁香六月激情蜜桃| 五月婷婷婷婷| 日韩九区| 久久99热网| 99热午夜精品| 狠狠爱婷婷| 香蕉综合在线| 日日射天天射| 综合久久99| 激情五月丁香六月综合AVXXXX| 五月婷婷草| 大香蕉520| 国产精品大香蕉| 亚洲精品久久久无码| 91国产精品视频播放| 影音先锋91男人资源在线播放| Caop在线| 五月熟妇婷婷久久| 亚洲另类视频| 亚洲最大视频| 色99欧洲色19| 婷婷伊人| 婷婷五月天在线观看免费| 激情五月婷婷| 日日躁夜夜躁狠狠久久AV| 97超碰9久热婷婷热| 国产精品电影网| 激情五月天噢美| 婷婷五月天a| 少妇搡BBBB搡BBB搡毛茸茸 | 国产特级毛片AAAAAAA高清| 五月 婷 久| 伊人婷婷综合| 开心婷婷五月中文字幕组| 91激情五月开心| 九九色色| 激情五月天综合网| 五月丁香花开综合网| 五月丁香六月婷婷激情网| 五月婷婷丁香五月| 99色精品| 久久机热思思热| 色婷婷导航| 色婷婷综合久久| 97碰碰视频在线观看| WWW.开心五月天.COM| 婷婷五月综合社区| 一区二区你懂的| 99久久精彩视频。| 超碰在线免费9| 久久精品99国产精品日本| 97色啪| 狠狠色噜噜狠狠狠888了| 丁香五月首页| 一婬一伦一区二区三区| 欧美性爱特黄一级aaaassss| 91干视频| 婷婷六月色情| WWW久久久| 天天日,夜夜爽| 天天肏在线观看| 久久九九99| 亚洲天堂无码| 综合色色婷婷| 噼里啪啦完整版中文在线观看 | 久久丁香五月综合六月激情红杏视频| 婷婷综合色五月天| 日本猛少妇色XXXXX猛叫| 99在线视频播放| 午夜激情五月| 91婷婷视频| 欧美一级色| 欧美人妻一区二区| 极品嫩草| 婷婷五月天成人影片| 色色色成人网| 丁香五月天网站| 丁香五月天在线观看| 成人精品视频99在线观看免费| 色情五月综合婷婷| 五月丁香亭亭操逼| 五月婷婷六月丁香首页| 久久这里只有精品8| 老师的粉嫩小又紧水又多A片视频| 婷婷色五月开心五月| www久热com| 国产看真人毛片爱做A片| 人妻爽爽爽久久久久久久久| 9久久精品| 丁香五月婷婷Av| 五月婷婷视频| 91啪啪啪啪| 永久地址 色| 久久人人添人人爽添人人片αV| 六月亚洲婷婷6月中文字幕| 丁香美女五月天婷婷| 欧美日韩成人综合9| 五月婷庭丁香在线| 91制片厂久久久国产电影| 婷婷五月天xxx| 久久激情五月| 涩涩涩婷婷| 最近中文字幕大全免费版在线| 日日干五月天婷婷| 日日夜夜天天| 色综合网综合| 97碰 在线视频观看| 美国天天日天天操| 成人丁香五月婷| 日日夜夜久| 97人人妻人人艹| 丁香激情婷婷网| 五月婷A V在线| 夜夜骑夜夜撸| 啪啪操超碰| 99热这里| 无码毛片992367| 色五月情| 日日操夜夜骑| 欧美色九| 久久99综合| 激情宗合网激情五月天| av五月丁香婷婷网| 99热在线观看免费| 色综合久久天天综合网| 国产激情综合五月久久| 天天天日天天天干| 亚洲成片在线观看| 狠狠综合网| 激情黄色五月天| 亚洲成AV人片在线观看| 99热综合网| 婷婷丁香六月综合激情站| 思99热精品久久只有精品| 色开心五月丁香| 五月激情综合网| 99视频久久| 丰满少妇猛烈A片免费看观看| AV天堂婷婷五月天| 91九色视频| 久热无码| 开心五月网| 婷婷丁五月| 日本三级成人秘书精品片| 国产综合网在线| 五月丁香六月色婷| 日韩熟女啪啪视频| 99操视频| 99热这里只有精品1| 91超碰人人操| 六月婷婷最新网址| 97人妻碰碰中文无码久热丝袜| 五月婷婷丁香瑟瑟视频| 激情婷婷五月天。| 色吊操色妞| 色婷婷影院| 九九婷婷网五月天| er99免费视频在线| 视频一二区| 99色综合| 久久久婷| 天天爽免费视频| 五夜丁香| 久久婷婷五月综合色天| 久99| 超碰在线人人| 99爱无码| 五月婷婷另类| 丁香婷婷性久久| 疯狂做受XXXX高潮A片| 色色狼人综合| 色女伊人| 夜夜撸天天日| 五月激情精品视频| 五月婷婷六月天| 青青日韩| 日韩av在线播放综合网| 国产免费性爱| 丁香五月天之婷婷影院| 超碰在线免费9| 人人草人| 欧美日本一区二区三区| 五月婷婷co.m| www色婷婷久久综合久色 | 久热视频这里只有精品| 激情5月天天天| 五月综合激情久久| 99热永久在线观看| 婷婷九月丁香| 玖玖在线| 国产 亚洲 在线| 五月天婷婷色情| 色色综合热| 99热有精品在线观看| 久草热在线视频| 99热新网址| 色色色热| 婷婷综合色图| 99毛片| 九热...av| 五月天激情综合| 激情五月天伊人影院| 91精品久久久久久综合五月天| www·五月天| 五月天成人在线精品| 永久思思热在线| 婷婷影院欧美| www.91九色| 九九大香蕉黄色影院| 99碰| 色综合久久综合中文综合网| 日本久久精品| 色丁香五月婷婷婷| wuyuedingxiang99| 欧美亚洲操逼| 五月丁香在线婷婷美女| 最新va在线播放| 99免费热视频在线| 五月激情网络| 久久综合影院| 久久色婷婷| 色婷视频| 日韩国产在线精品| 激情五月婷婷啪啪| 欧美综合123区| 日韩999| 丁香五月98| 婷婷五月色丁香在线看| www.狠狠| 99re这里只有| 啪啪啪丁香五月| 五月丁香最新| 99久在线视频| 六月婷婷色宗合| 丁香六月伊人| 色99网站| 激情久久伊人| 欧洲亚洲免费视频9| 99re热精品在线视频| 丁香五月人妻熟女| 婷婷丁香六月天| 99精品久久| 精品一区久热| www99在线观看视频| 99er免费在线观看| 女高怪谈在线观看| 色情综合网| 午夜丁香久久久久久| 97超级碰碰碰| 天天综合色综合| 99热在线只有精品| 99色色| 日韩精品一区二区刘| 激情深爱五月婷婷| 天天日日综合| 天天日天天插| 骚五月婷婷| 亚洲婷婷五月草久| 色噜噜综合网| 久久婷婷网址| 久久五月人人摸| 五月天激情小说欧美激情| 色婷久久| 99热销国产这里有精品| 51XX午夜影福利| 欧美美美女性色视频| 91丨九色丨大屁股| 在线不卡中文字幕| 四色女婷婷| 97人人草| 色综合久久综合| 开心五月丁香啪| 武则天精品久久| 五月丁香婷婷啪啪| 91九色在线| 激情五月色播五月| 久热久69| 99精品视频在线免费观看| 99久久www| 内射 无码 伊人| 天天干狠狠操| 五月丁香婷婷六月| 综激情网| 欧洲激情精品婷婷| 色婷婷色和| 精品无码人妻一区| 99啪啪视频| 国产精品国产| 婷婷五月美女直播| av免费在线观看0| 久久狠色噜噜狠狠狠狠97| 激情五月天综合| 桃色激情五月天| 五月天婷婷丁香导航| 亚洲传媒在线观看| 五月丁香六月综合情在线观看| 99这里| 任你日热视频| 丁香五月Av| 国产综合久久久777777| 激情五月丁香综合网站| 99re资源在线视频导航| 色婷婷成人在线| 99国产精品久久久久久久久久久| 激情五月天婷婷| 精品久热69| 亚洲免费在线观看岛国| 这里只有免费精品| 综合日本婷婷| 婷婷色五月色| 久久久久激情网| 日本va欧美va国产激情| 超碰在线中文字幕| 久久99热这里只频精品6学生| 丁香久久九九99| 日韩在线婷婷五月天综合| 日韩天堂久久| 色色色热热热| 欧美va视频| 亚洲激情网| 亚洲无码成人网| 九九黄色网| 五月激情六月| 另类丁香五月天区图| 天天成人综合视频| 停停六月 综合| 综合色播| 午夜大香蕉| 超碰九色| 国产精品成人av在线观看春天| 操日本99| 激情久久久久久久久久| 91成人品| av一级棒av| 激情五月天激情综合网| 99热这里有精品首页10| 婷婷永久在线| 久久这里都是精品视频| 丁香五月伊人| 五月伊人网| 亚洲人成网亚洲欧洲无码久久| 99国产精品久久久久久久久久久| 婷婷五月六月丁香综合| 五月五月婷婷| 久久ww| 丁香五月亚洲天堂| 丁香五月欧美激情| 777精品久无码人妻蜜桃| 在线可以看的av网址| 婷婷综合一二三| 久热99| 色五月首页| 91九色网| 五月丁香久久综合91| 日韩成人AV在线播放| 看黄的网站18禁| av人人操| 国产在这里只有精品| 六月色丁香中文字幕| 久久久五月婷婷| 青柠影视免费高清电视剧| 久久五月天激情| 激情五婷精品网在线观看网址| 成人.在线日韩| 亚洲天堂99| 精品99网站| 激情六月丁香| 秋霞少妇AV网站| 亚洲AV成人在线| www.丁香黄色五月天人与| 日韩人妻在线观看| 乱乱av| www.狠狠| 六月丁香社区| 99热99思午夜精品| 五月激情婷婷国产精品久久久久久| 人妻AV在线| 人人摸人人| 99色色最新视频| 超碰com| 操婷婷基地| 北京熟妇搡BBBB搡BBBB| 91黄操| 色婷婷狠狠干芒果TV| 99热这只有| 亚洲色人妻| 9色免费网| 日本精品久久久久中文字幕| 日韩欧美一级大黄网站| 这里只有精彩亚洲视频推荐| 激情深爱综合| 国产精品视频免费看| 久久免费高| 狠狠色综合网| 久草热在线视频| 波多野结衣AV无码Porn| 色爱亚洲| 五月丁香六月婷婷亚洲| 天天婷婷操| 五月丁香啪啪网| 色狠狠综合网| 天天综合91入口| 五月天大香蕉视频| 丁香香蕉射射射| 99精品国产在热久久| 久9视频| 婷婷黄色| 亚洲成人超碰| 色婷婷综合影院| 婷婷综合五月天亚洲综合| 五月婷婷色吧!| 欧洲激情五月天婷婷| 人人草成人视频| 99热在线精品播放| 久久综合综合久久| 91综合在线视频| 免费看成人747474九号视频在线观看| 亚洲99精品九九在线| 性生生活大片又黄又| 99这里有精品视频| 婷婷久久五月| 99在线资源| 亚洲综合网 665566| 99热在线精品观看| 婷婷精品性性性性性性性| 这里只有精品视频一区| 婷婷天天综合| 亚洲aV写真天天综合网久久| 这里只有九九精品| 天天日天天干天天天| 思思久久99热只有频精品66| 狠狠狠狠狠狠狠狠| 婷婷精品性视频| 日韩另类在线观看| 色综合九九色综合88| 婷婷丁香成人| 99热这里精品| 国产人妻777人伦精品HD| 亚洲精品V天堂中文字幕| http://www.com久久久精品一区| 日产精品一线二线三线芒果| 五月伊人91| 天天操夜夜操| 99热97美女| 欧美日韩成人在线网站| 天天色丁香| 深爱五月婷婷开心中文字幕| 99热在线99| 五月丁香六月婷婷综合网缴情| 深夜A片| 大香蕉网站,大香蕉综合| 97干在线| 日本女色人人| 久久婷婷五月综合一| 亚洲国产成人在线| 婷婷激情五月| 色视五月天婷婷| 亚洲中文乱字字幕在线永久| 欧美色频| 五月丁香啪| 久久婷婷五月天丁香| 欧美日韩国产一区| 六月婷婷深深爱| 思思久久99热只有频精品66| 五月天偷拍| 天天日天天操心| av一区二区电影免费在线观看| 日本啪啪网| 五月天中文字幕在线婷婷| 丁香六月伊人| 五月天啪啪| 九月婷婷在线视频| 伊人综合色干| 色欲五月天| 五月天亚洲色| 99精品视频在线观看| 色婷婷色综合| 欧美日韓成人亚洲精品另类| 九九爱激情| 99亚洲视频| 丁香六月婷婷社区| 国产精品久久99| 五月激情站| 久99视频| 五月丁香色婷婷色| 狠狠色官网| 成人电影在线免费试看| 国产精品久久久爽爽爽麻豆色哟哟| 婷婷网影院| 精品皮股午夜AV| 久久精品婷婷| 丁香婷婷婷婷十二月在线观看视频| 成人网址在线观看| 99热在线观看精品| 国产一级片| 99九九综合久久九九| 色婷婷五月天成人网| 久久久网站| 女人天堂久久| 森林影视大全,最好看的2019年视频 | 99热精品9| 婷婷五月电影院| 亚洲无码九九九| 99色色网站| 色色五月婷| 99碰| 五月婷婷自拍| 色www久视频| 婷婷丁香五月亚洲欧美| 91久久五月天| 996re热精品视频| 99性爱无码| 午夜丁香婷婷| 天天久综合网永久入口17v| 99网| 黄色av网站在线免费播放| 色天天久婷婷| 欧美色五月| 欧美三级欧美一级| 五月天丁香久久| 亚洲视频码| 丁香五月婷婷激情中文| 在线观看免费视频| 色五月久久成人婷婷| 欧美久热| 欧美在线操| 五月丁香婷婷在线| 激情五月天99色| 五月花在线观看视频| 中文字幕一色哟哟哟哟| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 思思久久96热在精品国产,| 99色视频| 综合久久婷婷| 精品人人操| 五月婷婷色啪| 91.com男女操| www.久久久久久| 婷婷午夜综合| 色五月激情| AV色婷婷| 激情综合啪啪| 丁香九月久久| 婷婷六月丁香激情| 婷婷五月av| 五月天天丁香婷婷在线中| 九九综合久久| 六月婷婷网| 欧美S码亚洲码精品M码| 久9热| 五月婷婷大香蕉| 亚洲精品网站色视频| 99热亚洲精品| 秋霞学生妹一二级| 99热偷拍| 亚洲色色图片| 久久精品一区二区三区四区| 日日天天操| 五月婷婷碰碰| 五月婷在线视频免费看| 欧美亚洲成人在线| 亚洲最大在线| 九九国产视频| 任你躁XXXXX麻豆精品| 婷婷五月丁香伊人网| 久久日婷婷| 超碰在线观看9| 婷婷久久五月丁香| 婷婷五月天激情网| 99热这里只有精品33| 秋霞少妇毛片| 色情五月综合婷婷| 婷婷五月天伊人在线| 亚洲无码 图片区| 九九激情视频| 五月婷婷丁香综合| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 亚洲色域网| 99碰视频| 亚洲综合色色色| 在线A色| 玖玖在线| 久久婷婷伊人| 六月丁香婷婷五月| 啪啪黄页网| 天天操天天插| 五月天播播中文字幕| 婷婷中文无码| 久久黄色片| 几激情五月婷婷色五月色天堂| 激情五月婷婷综合| 99在线看视频| 欧美婷婷日本| 色五月天视频| 99色五月| 久久婷婷九月国产精品| 丁香六月狠狠干| 永久99免费视频网站| 五月婷婷综合社区| 国产精产国品一二三在观看| www.99热视频| 丁香五月婷婷丫| 久久婷婷五| 国产在线aaa片一区二区99| 亚洲激情五月| 综合激情开心五月| 99热碰碰| 综合色色五月| 婷婷午夜激情| 另类五月激情| 丁香色五月婷婷17C| 久久六月综合| 粉嫩AV久久一区二区三区| 精品久久这里热66| 99热精这里只有精品| 日韩成人av在线| 婷婷色色欧美综合网| 97五月天| 五月婷婷啪啪| 欧美英丁香开心快乐六月天网| 69精品人人人人| 二区成人视频| 操人妻AV| 狠狠色综合网| 玖玖婷婷综合| 色播五月婷婷| 亚洲射激情| 狠狠色婷婷7| 欧美熟女99| 39视频第二区| 婷婷色综合网日韩国产| 亚洲成av人影院| 在线视频你懂得| 色五月偷偷| 天天狠狠夜夜狠狠2023| 五月天免费色| 婷婷免费精品视频| 中文字幕精品在线观看| 91天堂网综合| 五月激情久久| av高清无码| 色五月激情五月| 成人做爰A片免费看网站找不到了 噼里啪啦在线观看免费完整版视频 | 久久久久人妻中文| 无码毛片992367| 国产免费一区二区在线A片视频| 99久久久久久www| 99热 在线播放| 五月天婷婷Av| 操91综合网| 婷婷干| 婷婷情色开心五月天99| 嫩草AV久久伊人妇女超级A| 97色啪| 一区二区乱码视频| 99九九在线精品热动漫| 丁香色婷婷| 五月激情婷婷国产精品久久久久久| www激情五月天| 色五月视频无码播放| 手机AVAV天堂看网| 狠狠干狠狠干狠狠干狠狠干| 婷五月丁香俺| 色婷婷色五月另类综合| 日韩砖区| 五月伊人综合| 五月激情网五月综合网| 无码激情精品色婷婷久久久久| 国产伊人五月天| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 欧美va亚洲va| 五月视频日本免费观看| 六月亚洲婷婷6月中文字幕| 激情深爱婷婷网| 婷婷五月天激情在线观看| 99久久黄色顶级视频| 五月天婷婷丁香视频| 激情五月丁香综合网站| 五月丁香六月婷婷视频| 色99在线| 久久婷婷色| 天天插天天爱| 99年操人人爽| 五月久久| …亚洲黄色在线播放日韩、av中文a…| 肏屄色播伊人97婷婷| 五月天婷婷激情网| 综合激情开心五月| 伊人9999| 99热资源在线| 精品久热| 成人做爰A片免费看网站找不到了| av操B网站| 色色婷婷色色| 天天久久66xxx| WWW激情五月天| 色99热| 婷婷五月丁香91| 天天干天天干天天| 日韩青青| 一区视频网站| 伊人六月丁香婷婷| 亚洲综合色棒| 99久久婷| 青青草伊人婷婷| 中文av在线观看| 大香蕉婷婷| 亚洲激情免费视频| 99.色| 丁香五月欧美激情| 江苏少妇性BBB搡BBB爽爽爽| 久久99最新地址| 精品成人在线| 激情色五月天| 99色热视频| 99re这里只有精品首页| 外国碰视频网站97| 国产精品一区在线观看你懂的| 1024亚洲| 九九热视频网站| 婷婷五月18永久免费视频| 久热99| 丁香五夜激情四射夜夜夜| 99久热在线精品| 天天夜夜六月丁香五月婷婷老师| av久热| 成人丁香婷婷| www.色婷婷| 啪啪小说五月天| 狼人婷婷久久| 国产精产国品一二三在观看| 五月婷婷第四色| 色色五月丁香婷婷| 日日操,夜夜撸| 26uuu日韩| 亚洲激情久久| www.五月婷婷.com| 久8色色| www婷婷| 狠狠久久婷| 亚洲狠狠狠色婷婷综合激情久久久| 97热在线精品| 610018岁成人视频| 天天色天天搡| 99精品无码| 五月婷婷色| 91人操| 激情綜合W W W,激情五月天| 少妇人妻人伦A片| 久久9热| 日屌日日操日日色| 久操欧美在线观看97| 99re热99| 久久丁香五月| 91av成人| www.久久66| 天天干天天操天天拍| 国产视频福利| 99在线小视频| 成人中文网| 99热久只有精品首页| 97婷婷色| 91色逼| 婷婷五月激情视频| 女人被躁到高潮嗷嗷叫小| 精品婷婷五| 91狠狠综合网| 五月婷婷六月丁香首页| 思思国产99| 六月婷久久| 99亚洲精美视频在线观看| 99热国产这里只有精品| 婷婷99视频全集高清| 操操操www.com| 久久精品人妻| 色五月综合网| 久草热视频在线观看| 婷婷五月天av小说| 婷婷五月色亚洲| 激情综合视频| 在线综合婷婷| 亚洲天堂婷婷丁香| 五月丁香久久激情网| 极品人妻VIDEOSSS人妻| 噜综合| 99九九精品| 日本色婷婷五月天成人电影| 激情五月天综合网| 色色丁香五月| 99热新网址| 香蕉综合在线| Av大香蕉| 婷婷第六色| 婷婷丁香社区| 国产高清精品色| 99视频综合|