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

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
返回資訊列表
国产精品成人网址| 视频这里只有精品| a网站免费观看| 婷婷中文字幕版| 日韩AV在线电影| 一月婷婷色色| 激情五月婷婷五月丁香五月开心五月| 午夜不卡成人一区二区| 婷婷丁香六月综合激情站| 婷婷五月综合中文字幕| 无码激情AAAAA片-区区| 五月丁香五月综合欧美| 97五月天| 国产日韩欧美性爱| 九九精品免费| 99精品色| 五月丁香六月婷婷久久| 五月天激情子轮| 五月丁香啪啪啪综合网| 六月婷欧美| 97很鲁在线视频| 激情性爱五月| 超碰不卡在线| 99碰碰视频| 深爱五月亚洲| 婷婷五月天日日日干干干| 99热国内精品| 99久.| 国产精品男人AV不卡| 亚洲AV成人在线| 99色在线观看视频| 日韩狠狠色| 婷婷五月激情天| 另类图片 五月激情| 欧美天堂久久| 婷婷五月天成人网| 5月婷婷视频网站综合| 蜜桃婷婷狠狠久久| 久久久久婷婷五月热综合| 欧美色色干| 亚洲自拍天堂| 99久久综合网| 99re在线观看视频| 久久五月婷婷开心网| 久久精品爱爱| WWW五月天| 亚洲午夜精品久久久久久人妖| 婷婷五月天Av| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 丁香五月AV在线| 丁香六月综合激情| 青青操avbb| www.日本久久videos| 草榴视频网| 成人片在线免费看| 人妻综合网| 黄色一极大片| 九九综合视频在线观看| 色五月婷婷丁香婷婷| 怕怕av| 激情五月天久久丁香| 超碰97人人操| 玖玖伦理电影| 丁香五月乱中文字幕| 久99热| 天天色综合综合| 婷婷夜夜夜夜| 色噜噜狠狠色综合成人网| 人人爱人人草| 丁香婷婷综合激情五月色| 六月色婷婷| 国外亚洲成AV人片在线观看 | 久久九九热38| 丁香婷色| 国产片色| 99操视频| 97自拍视频网| 丁香五月在线人妻| 色香欲综合| 综合网啪| 亚洲乱码日产精品BD| 色五月天 丁香| 国产精品汇聚精彩第二页 - 高清完整版在线 - 青蛙AV | 99热无码首页| 婷婷丁香六月天| 精品亚洲国产成AV人片传媒| 成人电影在线免费试看| 五月丁香黄色| 色99视频| 99热在线观看精品| 五月婷婷开心亚州在线| 九九热免费视频| 九月丁香婷婷基地| 性色人人爽| 五月婷综合网| 成年人丁香五月| 久久视频在线视频| 色欲婷婷五月天| 五月丁香婷婷中文网| 开心深爱激情网| 99精品在线观看| 九九成人电影婷婷| 亚洲成人色五月天| 97综合在线| 中文字幕 中文字幕明步| 色色五月丁香婷婷综合| 亚洲综合婷婷| 天天射综合网夜夜操| 色狠久| 九九综合| 草久私拍| 日韩按摩二区| 欧美日韩99| 二区成人视频| 久草xx性爱视频| 9l视频自拍九色9l视频自拍九色9l社区| 91919191919久久成人视频| 91视频久久久| 丁香五月婷综合网| 丁香五月婷婷图片综合| 婷婷深爱色五月| 久久久无码精品成人A片小说 | 99热精品免费| 亚洲色色色色色| 婷婷五月激情视频在线| 丁香婷婷婷| 99色啊| 久久9热| 91se视频| 天天干天天操天天爱| 色婷婷成人| 亚洲超级碰| 操逼123网| 色色色999| 婷婷五月欧美| 五月婷婷中文字幕| 99玖玖精品| 日韩成人精品一区久久久久| 免费看成人AA片无码视频吃奶| 天天噜日日噜综合无码| 色欲婷婷五月天| 婷婷五月在线| 色五婷婷在线视频| 玖玖综合色| 亚洲无码色色| 91九色精品| 婷婷成人五月天成人文学小说| 亚洲成av人影院| 伊人久久艹| 色婷婷88| www.日本久久videos| 久色| 99色激| 婷婷综合激情| 日本美女天天日天天爽| 蒲京久久无码视频| 色99在线| 激情综合网五月在线播放| 丁香六月激情综合| 欧美成人热| 99久久久久| 久久久这里都是精品| 影音先锋噜一噜| 99热天堂| 五月天成人综合| 婷婷五月天.com| 天天做天天爱| 色色色色色色网| 丁香六月色| 天天插天天干| 欧美情月伍月天| 狠狠狠狠狠| 久久这里只有精品07 | 亚洲Av入口| 久久久久久久11111111111| 丁香五月综合图片在线观看| 99热99思午夜精品| 激情五月天视频| 五月天激情综合首页| 丁香午夜天| 女人天堂av| 久久44| 欧美成人五月天| 久久色9| 五月婷婷天堂| 日本va视频| bukadeavzaixian| 日本综合色色| 婷婷五月天综合小说网| 亚州色婷婷| 激情五月婷| 丁香婷婷啪啪啪| 色碰97| 91九色视频| 色狠狠激情五月| 色五月婷婷在线观看第一页舔| 亚洲色色香蕉| 成人欧美一区二区三区在线观看| 91色干| 性色五月天| 天天成人综合视频| 一区色色色色网| 色婷婷丁香女女| 九九干视频| 蜜臀A∨在线水帘洞| 婷婷婷狠狠| 9精品在线| 亚洲国产成人裸舞| 婷婷五月天无码视频| Av在线资源| 色五月婷婷亚洲| 日本操逼九九九九58日本操逼| 丁香五月先锋| 中文字幕人妻一区二区| 欧美大肥婆大肥BBBBB| 人人视频人人干人人做| 亚洲人妻一区二区| 婷丁香五月天| 欧美va精品va老师va| 亚州第一A片| 在线播放中文字幕| 色五月天综合网| 色婷婷色五月天| 精品网站99| 久久婷婷五月综合啪| 激情五月综合网| 色丁香五月| 婷婷五月天手机版视频| 欧美噜噜免费观看| 激情五月丁香五月| 色玖玖爱| 日韩精品成人在线| 97色啪| 久久五月天影院| 亚洲激情五月天| 色色色99| 九艹在线| 五月停停色色丁香| 日韩性视频| www.五月天激情| 丁香五月婷婷88在线| 色色色99| AV堂狠狠干| 另类激情五月| 色综合九九| 日本一级大片| www.99精品视频| 婷久久高清| 亚洲最大成人综合网720P| 99热官网精品在线| 噼里啪啦完整版中文在线观看 | 九九热色视频| 五月天激情综合首页| 影音先锋一区| 婷婷导航| 开心婷婷五月天电影院| 欧美婷| 国产精品色色色色| 开心五月深爱五月丁香五月激情五月| 久久激情五月天| 久久思思热视频| 99在线国| 天天干天天做| 久久婷婷综合五月天| 久热 91| 欧美日韩成人在线观看| 亚洲五月花| 久久婷婷亚洲| 99视频热99| 丁香婷婷激情网站| 极品另类| 夜夜骑日日操| 五月精品免费XXX| 99re这里只有精品在线观看| 五月天色社区| 激情综合婷婷| Av狠狠色丁香婷| 人人综合色| 丁香玖玖视频大全| 玖玖在线视频| 精品免费99| 亚洲视频伍月婷婷| 婷婷五月天影院| 丁香六月综合| cao视频,现在观看| 亚洲精品国产setv| 就爱操www com| 五月天婷婷导航| 五月天另类小说久久小说网| 熟女激情网| 99久热| 色色色网站| 大香蕉福利导航| 久久网婷婷| 91色九| 日日日日做夜夜夜夜无码| 色插综合网| 婷婷精品综合| 六月婷婷五月丁香| 成人国产网站| 热久久99视频| 婷婷丁香五月综合| 亚洲综合五月天婷婷| 色婷婷影视99| 亚洲五月婷婷在线| 国产精品视频免费看| 婷婷五月天网| 9福利性视频欧美| 久久黄色网扯| 超碰人人操人人干| 久热9热| 婷婷欧美色| 久久色情综合免费网站| 欧美性生交XXXXX无码小说| 色婷婷精品视频在线播放| 午夜色婷婷| 天天插天天干天天舔| 偷拍91九色| 亚洲妇女熟BBW| 免费成人网在线观看| site:xiongshengzz.com| 99热日韩| 少妇AB又爽又紧无码网站| 亚洲AV无码成人精品电影| 婷婷欧美色| 色噜噜五月天| 六月丁香啪| 色婷婷五月天天天天天| 九九综合| 丁香六月激情| 激情五月天开心| 97在线99| 伊人婷婷激情| 日本精品人妻无码77777| 91成人看片| 天天天摸夜夜夜玩| 欧美亚洲色色色色| 五月婷婷久久开心网| WWW,五月| 99九九精品视频| 五月婷婷AV| 久久综合婷婷激情| 丁香色播五月天| 久久9久| 婷婷基地成人五月天| xx色综合| 国产无套精品一区二区| 99er6| 九九久久精品| 婷婷综合色色| 婷婷激情五月| 久久这里只有精品99| 在线伦子99热| 丁香五月色五月| 久操人| 久8色色| 欧美成人AAA片一区国产精品| 色婷婷五月天中文字幕| 另类激情中文| 色婷婷丁香五月天在线视频| 亚洲亚洲人成综合网络| 婷婷深爱网| 国产精品久久久久久久久久免费| 婷婷色日本| 狠狠精品干练久久久无码中文字幕| 色九月| 99热9| 另类激情五月天。| 色五月激情五月| 丁香婷婷偷拍| 久久久精品免费啪啪国| 丁香婷婷五月基地| 欧美一线视频| 婷婷久久亚洲| 亚洲天天免费| 国产亚洲成AV人片在线| 九九99香蕉在线视频播放| 亚洲成人在线综合| 九九色综合九九色| 成人精品视频99在线观看免费| Av狠狠色丁香婷| 亚洲成人网站在线观看| 五月天激情婷婷五月天久久| 久9热在线免费观看| 五月色综合网| 色婷婷久久| 99爱爱| 亚洲九九九九| 久久99精品久久久久久噜噜| 色婷久久| 婷婷五月天开心网| 99操碰| 激情玖玖sh| 国产精品香蕉| 激情五月天久久丁香| 久久五月丁香| 久久金品黃色| 五月婷婷丁香深深爱| 青青久在线视频免费观看| 五月色俺婷婷| 九九人人精品| 日日操,夜夜撸| ZpRSw| 欧美精产国品一二三区| 六月亚洲| 九九热re99re6在线精品| 伊人婷婷五月天| 久久机热这里只有精品| 9久热| 99综合五月免费视频色婷婷| 99久视频| 99国产在线| 99热只有精品在线播放| www.久久9| 五月婷婷色五月| 亚洲丁香五月| 狠狠五月激情在线| 在线视频99| 麻豆AV一区二区三区| 色色a| 国产欧美日韩一区二区三区| 婷婷综合精品| 97AV人人插人人操| 日本一級黃色一級片| 亚洲婷婷五月| 亚洲日日操| 只有精品在线观看| 丁香五月综合激情啪啪| 色婷大香蕉| 色色亚洲| 99热这里是精品| 橾逼网| 99热综合在线观看| 亚洲精品va| 日韩操女| 国产高潮白浆一区二区| 国产精品美女久久久久AV超清| 九九青草热| 亚洲人人操BD| 婷婷九月丁香久久| 丁香婷婷久久激情| 色综合爽| 这里有精品99| 久久人操| www.五月婷婷| 婷婷色色丁香五月天| 国产av一区二区三区| 操人无码| 五月天天天色| 五月天精品视频| 先锋资源91| 丁香五月激情图片| 色欲AV导航| 99热这里只有精品23| 天天激情5月天亚洲| 色色色色色色色色色色色色色五月天 | 大伊香蕉精品视频在线| 久久激情视频| 成人午夜视频精品一区| 极品少妇高潮啪啪AV无码| 九九热中文| 色五月婷婷丁香五月| 91操操操| 色99热| 亚洲人妻五月丁香婷婷| 79色色| 色综合天天天天做夜夜| 婷婷精品综合| av狠狠操| 99自拍视频在线| 丁香六月婷婷| 久久久久久人妻| 久操操| 成人做爰高潮A片免费视频 | 青青草原爱爱网| 中文字幕人妻AV| 碰碰碰碰碰99| 五月婷婷|欧美| 婷婷五月中文字幕| 人妻激情综合| 全网最新网黄大秀直播高清,主播国产录屏在线 | 五月天久草| 激情久久月| 国产成人在线不卡AV| 99热99精品| 婷婷精品在线| 色五月婷婷少妇人妻| 婷婷久久国产视频| 国色天香伊人狠狠色| 日本 @ va 免费| 五月天激情色色| 色婷婷aV四虎| 99久久精品亚洲综合| 97热在线精品| WWW丁香五月| 国产美女精品| 色色色99| 色情综合网| 激情五月天婷婷五月天| 欧美日韩91| 亚洲精品一区中文字幕乱码| 肏日网在线看| 欧亚色色| 99热国产这里只有精品| 9l视频自拍9l九色成人| 色吧婷婷五月亚洲| 久久看婷婷| 中文人妻主播久久| 91精品久久久久、久五月天| 久久久久久久人妻| 人人操大| 激情综合网,五月| 五月天激情婷婷久久| 婷婷五月天堂| 嫩模草| 五月丁香婷婷色色| 九九精品视频在线6| 亚洲欧洲午夜成人精品av| 91精品久久久久久77777| 亚洲中文字幕翔田千里| 久久精彩综合视频| www天天色天天射| 五月婷婷六月丁香| 久久999久久999久久999久久| 亚洲小视频免费看| 日韩aaaaa| 成人精品视频99在线观看免费| 免费看片在线观看| 激情伍月 欧美| 色婷婷国产精品综合在线观看| 99噜噜噜在线播放| 中文字幕,综合,91| 中文国产五月天| 少妇激情五月天| 91亚洲天堂| 五月婷婷和六月| 亚洲综合色婷婷| 99碰碰碰| 色情激情五月| 伊人综合网站| 婷婷丁香五月天婷婷| 99精品在这里| 激情精品久久| 丁香五月天激情小说| 在线播放中文字幕| 97久久五月丁香婷婷| 色婷婷香蕉丁丁网| 欧美S码亚洲码精品M码| 色婷婷综合网| 色欲久久综合| 啪啪 综合网| 天天精品视频免费观看| 红桃91人妻爽人妻爽| 颜射 精品性爱av| 九九色色| 婷婷五月天激情综合婷婷五月天激情综合| 婷婷香蕉| 异能之下短剧免费观看全集| 久久曰曰| 婷婷久久综合| 婷婷六月综合激情| 五月天婷婷综合久久| 九九精品综合| 亚洲精品国产setv| 激情五月丁香五月| 亚洲va欧美| 色播丁香| 激情五月开心五月在线视频| 六月激情网| 99国产er热视频| 狠狠干无码| 久久久人妻不卡| wwwss在线观看| 99色综合网| 日韩啪啪网| 91爱操| 丁香五月色| 9 1超碰九色| 婷婷久久网| 亚洲欧美综合7777色婷婷| 五月婷婷色影院| 激情另类综合| 日本三级日本三级99| 色婷婷狠狠干| 五月婷A V在线| 天天日天天做天天操| 97碰精品| 99热这里只有精| 五月丁香综合激情网| 色丁香久久| 欧美色色色色色色色色色色影视| 久久人妻熟女一区二区| 亚洲激情综合免费| 97干免费视频| 天天爽夜夜操| 久久久久久久久人妻| 亚洲超级碰| 五月天社区| 亚洲色激婷| 久久婷婷青青草| 精品人妻一区二区三区四区不卡在| 91久久免费| 99精品亚洲| 无码G高清天| 去色色五月天| 久久久精品人妻| 色色色色色色综合| 久久激情五月婷婷| 第四色在线观看| 色亭亭五月天丁香综合AV - 百度 - 百度| 亚洲av成人在线| 熟女人妻一区二区三区免费看| 色婷婷激情五月天在线观看| 丁香婷婷五月六月久久| 99国产精品久久久久久久久久久| 九九热这里只有精品6| 日本 欧美在线| 99ER热精品视频| 五月丁香六月激情在线| 久热这里只有精品在线观看| 国产黄色av| 99热这里只有精品5| 无码人妻一区二区三区免费九色| 超碰超碰在线| 九九色video| 日韩啪啪网| 婷婷五月天免费视频在线观看| 色情丁香五月婷婷精品| 丁香五月亚洲综合| 99久久婷婷国产综合精品草原| 99热精品在线播放| 天天爱天天做天天舔| 天堂久久性| 亚洲V国产V欧美V久久久久久| 天天日夜夜曹| 九九久久五月天综合伊人| 天天色丁香| 亚洲精级| 99ER热精品视频| 欧美三级欧美一级| 婷婷五月丁香在线视频| 丁香五月98| 91热久久| 久大香蕉| 久久99久久久| 超级碰 久久9| 精品久久久久成人码免费动漫| 久久九九爽| 激情丁香五月天| 婷婷丁香激情| 综合性视频99| 老司机午夜福利视频金瓶梅| 在线色色| 久天综合| 大香蕉五月天婷婷丁香91| 日韩五月婷婷久久| 五月天婷久久| 99噜噜噜在线播放| www.色五月| 天天狠狠夜夜狠狠2023| 色啪影院| 在线婷婷| 久久久999精品| 色婷婷国产精品综合在线观看| 成人丁香婷婷| 五月天成人小说| 日韩操| anquye五月| 日韩六六久久电影| 天天开心AV色综合婷婷五月天| 97丁香花五月天激情小说| 超碰99在线| 精品乱码视频| 99视频这里只有免费精品| 在线色色| 丁香五月婷婷无码AV| 亚洲成人在线播放| 欧美欧盟性爱网| 日日夜夜狠狠婷婷色| 五月丁香六月色婷婷综合五月天| 婷婷五月天色| 人妻乱码久久久| 欧美99热| 66精品成人免费网站在线观看| 俺去也在线www色官网| 少妇人妻凹凸视频| 综合五月网| 91婷婷五月天嫩女| 91久久精品无码一区二区三区| 看全色黄大色大片| 大香网伊人久久综合| 九九亚洲视频| 国产精品久久久久久久久久| 久久久av久av久片一区二区| 亚洲狠狠丁香婷婷香蕉| 五月丁香久久色| 色婷婷免费观看| 婷婷综合| 国产色五月婷婷| 婷婷色五月在线视频| 国产精品视频| 国产激情久久久| 激情五月婷婷| 久久婷婷桃花五月天| 亚洲色图81p| jiujiu热在线视频| 99精品网站| 婷婷爱五月| 思思热视频在线| 日韩AV免费电影在线播放| 久久亭亭电影| 日韩另类| 99热这里只有精品最新网址| 五月丁香亭亭操逼| A片女女女女女女BBBB| 五月婷婷9| 色婷五月| 情婷婷五月天| 操人无码| 色色97丁香婷婷五月天| 日韩成人AV在线| 久久这里只有精品无码| 婷婷综合视频| 在线中文AV| 91丁香五月| 六月丁香五月激情网| 九九性爱网| 熟妇人妻中文字幕无码老熟妇 | 91五月天| 开心五月网| 激情丁香五月| 26uuu精品一区二区| 深爱五月天 开心网| 天天操综合网| 中文字幕视频色婷婷| 欧美色宗和激情| 久噜久噜| www.狠狠操| 亚洲 视频 导航 一区| 丁香五月天激情综合网| 五月开心激情| 久久婷婷丁香| 婷婷五月视频| 人人操av| 少妇激情基地| 国产精品色色| 亚洲av电影网站| 第2色五月婷| 六月丁香中文字幕| 伦乱人妻| 日日激情网| 久久98| 激情黄色小说色五月| 婷婷五月综合视频免费播放| 成人午夜天| 五月丁香婷婷网网网网| 超碰色综合| AV大片在线观看| 五月丁香六月激情综合在线| 爱射综合| 青青草性爱视频| 国产成人av在线播放| 五月天婷婷涩涩| 五月婷婷乱| www.婷婷六月天| 久久久久久欧美精品se一二三四| 天堂综合久久| www.久久爱.c n| 五月丁香六月婷婷操操操| 另类五月激情| 五月天成人手机在线视频| 色播五月丁香| 免費亭亭成人| 成人无码髙潮喷水A片| 亚洲成人网无码| 免费视频99| 一起草无码视频| www.minyis.com【JT】实力收量可预付QQ2101460746 | 国内婷婷丁香社区在线播放| 天天综合精品| 五月天国产成人| 五月综合无码| 美女天天艹人人爽| 最近中文字幕2019视频1| 综合婷婷六月| 人妻丰满精品一区二区A片| 五月情四婷婷| 一级黄在线| 狠狠色综合网站| 丁香五月-激情综合| www色中色综合| 99ri6在线视频| 欧美xx激情视频在线观看| 久久精品天| 久久综合影院| 超碰九色| 欧美黑人巨大性生话| 五月丁香综合精品| 99久久超级| 99热这里只有精品4| 五月香蕉婷婷| 久久激情五月婷婷| 五月婷伊人| 淫视馆av三区| 日韩在线一级| 国产片天天爽夜夜爽| 婷婷成人五月天| 丁香六月毛片| 精品九九网| 超碰激情网| 这里只有在线精品| 婷婷丁香精品视频在线观看| 女人被男人吃奶到高潮| av在线免费播放| 五月天精品| 这里只有精品免费观看网占| 欧美日韩国产伦精品日韩人妻一| 五月丁香综合| 另类国产综合| 国产老熟妇亲子乱对白| 日日操夜夜爽| 丁香六月婷婷综合在线| 99ri精品在线| 夜精品无码A片一区二区蜜桃 | 中文字幕丰满孑伦无码专区| 夜丁香综合| 色婷婷在线播放| 美女久久婷婷| 粉嫩av懂色av蜜臀av熟妇| 思思热久在线观看视频| 97操在线资源| 99热网站| 九九性爱网| 中文字幕丁香五月| 国产综合婷婷| www.色五月| 狼友超碰| 深爱激情久久| 伊人婷婷青青cao| 久久五月婷综合网| 91啪啪| 天天色99| 五月婷婷色情| 狠狠色丁香| 综合色视频| 嫩草AV久久伊人妇女超级A | 天天日夜夜帕| 色五月激情问网站| xxxx久| 综合五月激情| 91性高潮久久久久久久久| 久久五月丁香| 综合图区激情| 五月天免费色| 色婷婷电影网| 噜噜操操| 丁香天堂夜| 日本色色影片| 大香蕉九九| 色色丁香婷婷综合| 色色色图| 操熟女成人网| 亚洲婷婷开心五月| 久久婷婷五月天激情新地址| 综合久久久婷| av免费在线观看0| 欧美肉大捧一进一出免费视频| 4438激情网| 六月 丁香 视频| 亚洲男人的天堂婷婷色五月| 天天色情站| 九九久久精品| 亚洲美女高潮久久久久久69| 99热国产婷婷| 野外99热| 六月婷婷日| 九九九九九九九九九九九九九九九九九九九在线视频 | 无码免费人妻A片AAA毛片西瓜| 亚洲天堂久久| 久久九九爽| 久久女人天堂| 黄网免费观看| 久久五月天色婷婷| 天天日天天色| 五夜丁香| 婷婷操久久| 99九九玖玖| 久久五月婷婷丁香| 深爱激情五月天| 色婷婷五月在线| 夜夜夜夜夜操| 99热精品在这里| 丁香五月天论坛| 久久久天天啊| 狠狠色五月| 久久婷婷综合基地| 久久五月丁香婷婷| 亚洲午夜AV| 夜夜干 夜夜操| 九九热在线精品| 五月天社区| 99在线精品免费视频| 免费看欧美成人A片无码| 五月激情小说| 亚洲成人AV高清字幕| 伊人免费视频9| 久久综合图片| 婷婷五月天毛片| 日本一级特黄大片AAAAA级| 色伊人婷婷| 狠狠色丁香久久久婷| 五月色情婷婷开心五月天| 五丁香激情综合| 久久在线人妻| 国产欧美va| 九九aV| 婷婷五月天av| 91se精品国产| 69精品无码一区二区三区| 91综合在线视频| 97精品综合久久| tingting五月天亚洲| 久久综合天天综合| 五月婷婷在线视频观看| 亚洲最大在线| 亚洲综合激情五月久久| 久久色大香蕉| 日本人人草草| 五月丁香美女| 蜜桃五月天| 五月婷婷丁香综合| 国产美女无遮挡裸体毛片A片| 日本性视频| 超级碰碰91| 激情美女五月天| 丁香五月婷婷手机| 91视频一起草| 风流少妇A片一区二区蜜桃| 超碰自拍天堂| 五月丁香六月香香蕉| 天天色五月| 99性爱视频| 精品一区二区三区四区五区六区| 色婷婷在线视频观看| 色5月婷婷色| 婷婷六月插屄激情| 中文字幕成人影视| 成人午夜天| 国产色网站| 26uuuavcom| 丁香婷婷91在线观看视频| 狠狠精品干练久久久无码中文字幕 | 九九干视频| 日本精品人妻无码77777| 亚洲另类av| ji'qing'luan'ren'lun| 精品99视频| 色五月丁香五| 91操操| 欧美成人色婷婷| 丁香六月天| 91ncm视频| 激情九九综合网| 天天天天天天操| 久久五月婷综合网| 五月激情精品视频| 91黄址| 超碰免费电影| 伊人婷婷激情| 涩五月婷婷| 色五月97| 九月色婷婷综合| www.91久久| 色婷精品91| 丁香午夜天| 欧美成人AAA片一区国产精品| 久久大香蕉同僚| 99久久玖玖| 天天揷综合网| 婷婷丁香77777| 91碰视频| 91互操| 婷婷五月丁香基地| 黄色中文字目| 日本精品。999| 大香蕉久操| 亚卅毛片| 深爱五月婷婷| 国产综合A片| 色大综合| 成人无码髙潮喷水A片| 色噜噜狠狠色综合AV兰草影视| 九九干视频| 久久婷婷五| 久久这里有精品视频| 97人妻超级碰碰碰碰碰| 99久热这里有精品| 婷婷六月天| 五月婷婷基地| 99久久久久| 99热99久久| 97性视频| 操九色| 99玖玖在线视频| 91啪啪网| 婷婷五月丁香五月| 99久久五月丁香野外| 五月天国产婷婷精品视频在线| 婷婷在线网| 久久九精品| 午夜伊人大香蕉| 丁香五月天五码婷婷| 搡BBBB搡BBB搡五十| 五月激情另类| 538在线精品| 激情婷婷另类| 91久久久久| 色婷婷色五月天| 免费观看2018www黄色操逼网站| 五月激情婷婷在线| 欧美精品A片一区在线观看| 国产毛片精品一区二区色欲黄A片| 婷婷五月综合色中文字幕| 五月丁香六月婷婷久久肏| 丁香九月综合激情| 91碰碰| 这里只有精品99视频| 亚洲愉拍99热成人精品| 天天日天天干天天插天天射| 色级婷婷| 99久在线观看| 色就是色婷婷五月亚洲激情| 色婷婷五月天| 五月天婷婷视频30| 97干在线观看| 99热都是精品| 亚洲精品久久久久久久久久吃药| 91人无码久久久久久| 天天色99| 婷丁五月| 亞洲自怕| 婷婷五月AV| 深爱网深爱综合网| 丁香五月婷婷激情蜜桃| 91碰超| 婷婷五月深深的爱| 九热av| 五月丁香激情综合网| 六月丁香五月亭亭| 五月叮香啪| 狠狠狠狠狠狠| 天天天天天久久久久久| 五月婷婷偷拍| 亚洲乱码精品久久久久..| 五月天综合图片| 亚洲av网站| 久久久久久久久月丁| 这里只有精品久久| 影音先锋女人av鲁色资源网小说免费| 日本黄色三级片内射| 婷婷五月色情| 色情丁香五月天| 国产操肏网站| 午夜天堂一区人妻| 91日视频| 欧美另类五月激情| 操操国产| 97五月婷| 97天堂| 婷婷五月天六点丁香五月| www九九热| 玖玖九九9999在线观看视频精品| 久操大香蕉| 婷婷五月天日本无码| 91超级碰碰| 97久久超级| 色五月网址| 噜噜色五月| 五月丁香六月婷婷手机无线| 亚洲网视屏| 新男人天堂人妻| 思思热在线视频精品| 97碰人人操| 色婷婷五月天堂资源| 97碰免费视频在线| 人人97操| 影音先锋91网站在线观看| 日本久久综合| www夜夜| 99热777| 久久在线视频只有这里有精品| www.99精品视频| 婷婷五月激情基地| 这里只有精品视频| 久久精品五月天| 色综合久久88色综合天天| 五月六月激情婷婷| 久久草大香蕉| www.久久99热地址发布| 热久久这里只有三级视频| 欧美成人AAA片一区国产精品| 99人人干| 91免费看片| 人人爽天天爽| 深爱五月日韩| 色五月婷婷婷婷| 亚洲色婷婷网站| 99色色热| 九九黄色网| 玖玖在线视| 99在线视频免费| 色五月色情| 丁香八月综合激情| 日韩黄在免| 激情又色又爽又黄的A片| 色色a| 久久这里只有精品热在99| 免费观看亚洲AV片| 色五月婷婷91| 天天日天天爽| 天天操天天干天天日| 色色色色av色色色色| 99热99热不卡| 亚洲国产色色| 深爱1激情网| 丁香婷婷综合激情五月色| 思思热99在线| 综合五月激情网| 久久这里有精品在线观看| 国产美女最新VA在线免费观看| 激情五月婷婷欧美极品| 青青草a在线| 99色啊| 丁香五月狠狠综合欧美| 五月综合777| 久久人妻情侣| 午夜成人天堂久久无码日韩久久| 97碰人人操| 4399高清无码视频| 激情啪啪五月天| 99色日本| 日韩综合久久| 婷婷丁香人妻天久久| 99久久久久| 另类的婷婷| 这里只有精品99www| 欧美97p| 丁香五月六月欧美| 五月丁香婷婷激情视频| 丁香五月激情五月| 99自拍网| 激情综合五| 九九热只有精品| 日日舔夜夜操| 中文字幕有多少字| 国产欧美日韩综合精品一区二区| 99国产精品久久久久久久久久久| 久久一级AV| 日韩精品一曲二曲三曲四曲五曲| 欧美精品久| 美女网黄| 99久久66| 天天色天天色天天色天天色天天色| 六月丁香久久| 综合99综合久久久久久久| 五月丁香好婷婷A片网| 26uuu在线观看| 婷婷情色开心五月天99| 人人操91色| 91综合色| 99热这里只有精品21| 五月天社区狠狠| 国产午夜精品一区二区| 亚洲中文字幕av| 艳妇野外情欲放荡HD| 色射7856五月天激情四射| 久久9久| 激情五月六月婷婷综合啪啪| 一本久道综合色婷婷五月| 免费成人中文字幕| 色播五月| 91人人操.COM| 777精品久无码人妻蜜桃| 亚洲色99综合天堂| 99精品一二三四视频| 伊人婷婷青青cao| 色婷婷视频综合| 亚洲欧美成人在线| 日韩AV免费电影在线播放| bukadeavzaixian| 久久色在线视频| 亚洲婷婷免费| 欧美日韩91| #NAME?| www。五月天激情| 五月婷婷综合久久| 久久婷五月| 伊人久久大香线蕉亚洲五月天,| 国产精品电影| 99热国产这里只有精品| 五月婷婷六月天| 欧美人人草草| 人妻性爱av网站| 5月丁香婷婷激情网| 亚洲色色色| 2021日韩无码| 色婷婷六月激情| 99激情在线| 在线亚洲综合网| 日本在线视频手机播放五月婷| 99热在这里只有精品| 欧洲色区| 91viP在线看| 五月丁香六月情| 91狠狠色丁香婷婷综合久久精品| 亚洲人妻电影| 狠狠五月天婷婷激情网。| 99热在线播放| 亚洲爱婷婷| 色狠狠色狠狠| 久久精彩视频| 色五月综合网| 五月综合777| 色婷婷综合网| 亚欧州精品视频| 天天日天天干天天爽| 97在线观看| 日韩无码成人电影| 婷婷六月丁| 国产亚洲精品久久久久久久久动漫| 日本99在线视频| 久久久久人妻网址| 五月婷婷亚洲天堂97色婷婷| 777久久综合视频| 六月婷婷亚洲| 香蕉AV777XXX色综合一区| 人人干天天舔| 五月丁香六月婷婷久久| 91精品国产99久久久久久天美| 久久久人妻门| 丁香五月狠狠在线观看| 色五月天综合| 婷婷五月天成人| 操操操91| 欧美日韩AAAA| 在线sebiav精品视频| 思思热久久爱| 综合久久婷婷99| 熟女五月天久久综合| 欧美成人AAA片一区国产精品| 久久色五月天| 久久久97| 98毛片| 婷婷激情六月| 色愛综合网| 午夜色婷婷| 思思热99er在线视频| 欧美精产国品一二三区| 日韩精品一区二区亚洲AV观看| 2025天天日爽| 丁香五月婷婷偷拍| 久久伦乱| 中文AV在线观看| 色五月婷婷基地| 婷婷五月天堂网| 欧美性做爰大片免费看办公室|