色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

JSP+Servlet外賣系統(tǒng)四角色協(xié)同實戰(zhàn)指南

JSP+Servlet外賣系統(tǒng)四角色協(xié)同實戰(zhàn)指南 簡介這是一套基于Java Web技術(shù)棧開發(fā)的完整外賣訂餐系統(tǒng)實戰(zhàn)項目面向Java初學者與Web開發(fā)入門者解決多角色協(xié)同業(yè)務(wù)場景下的MVC架構(gòu)實踐問題。資源采用JSP實現(xiàn)視圖展示、Servlet處理請求邏輯、MySQL存儲用戶、訂單、商家等核心數(shù)據(jù)依托Eclipse開發(fā)環(huán)境覆蓋會員下單、騎手接單配送、商家管理商品與訂單、管理員全局監(jiān)控四大功能模塊。壓縮包為ZIP格式大小93.63MB包含源代碼、數(shù)據(jù)庫腳本online.sql、系統(tǒng)截圖及賬號初始化說明等關(guān)鍵文件其中SQL文件用于快速構(gòu)建數(shù)據(jù)庫環(huán)境源碼結(jié)構(gòu)清晰體現(xiàn)Model-View-Controller分層設(shè)計。已有659人學習下載讀者可直接導入Eclipse運行調(diào)試掌握JSP動態(tài)頁面開發(fā)、Servlet請求響應(yīng)機制、MySQL表關(guān)系設(shè)計及多角色權(quán)限控制等核心技能是理解傳統(tǒng)Java Web企業(yè)級應(yīng)用落地的典型范例。1. 這不是“又一個JSP畢設(shè)”它真能跑通四角色協(xié)同的外賣閉環(huán)且所有Servlet跳轉(zhuǎn)鏈路可調(diào)試、MySQL表關(guān)系可追溯你手頭這份基于JSPServlet開發(fā)外賣訂餐點餐系統(tǒng)會員 騎手 商家 管理員.zip不是那種只在首頁放個登錄框、點進去就404的“教學演示包”。我拆開后第一件事是啟動Tomcat——沒改任何配置直接導入Eclipse連上MySQL 5.7五分鐘后四個角色賬號全登進去了會員下單、商家接單、騎手搶單、管理員看實時訂單熱力圖。關(guān)鍵在于它的Servlet層沒有用response.sendRedirect()硬跳轉(zhuǎn)堆砌邏輯而是用RequestDispatcher.forward()做MVC內(nèi)流轉(zhuǎn)每個請求路徑都對應(yīng)明確的Controller類比如OrderServlet.java處理全部訂單動作你能打斷點、看request域里塞了什么、查session里存了哪個用戶ID。它解決的不是“怎么寫Hello World”而是“如何讓四個角色在同一個數(shù)據(jù)庫事務(wù)里不搶同一張訂單”——比如當騎手點擊“已取餐”時系統(tǒng)會先鎖住該訂單記錄再更新狀態(tài)扣減騎手積分觸發(fā)短信模板三步原子性執(zhí)行。適合剛學完Servlet生命周期、正卡在“為什么我的轉(zhuǎn)發(fā)總丟參數(shù)”的JavaWeb新手也適合想快速搭一個可演示、可講清楚權(quán)限隔離邏輯的畢設(shè)答辯者。別被標題里的“JSP”勸退——它恰恰是理解傳統(tǒng)Java Web請求流最干凈的入口沒有Spring Boot自動裝配黑匣子沒有Thymeleaf語法糖干擾每一個% request.getAttribute(list) %背后都是你親手寫的DAO查出來的List 。2. 從零部署Eclipse Tomcat 9 MySQL 5.7 三件套實操指南2.1 環(huán)境版本對齊為什么必須用Tomcat 9而不是10這個項目源碼里大量使用javax.servlet.*包如HttpServlet,HttpServletRequest而Tomcat 10默認啟用Jakarta EE 9規(guī)范包名已改為jakarta.servlet.*。如果你強行用Tomcat 10編譯時會報錯The import javax.servlet cannot be resolved。血淚經(jīng)驗不要升級Tomcat也不要改源碼包名——直接下載Tomcat 9.0.83官方歸檔頁最新穩(wěn)定版解壓后在Eclipse中Window → Preferences → Server → Runtime Environments里添加它。驗證方法右鍵項目 →Properties → Targeted Runtimes勾選你剛配的Tomcat 9此時項目圖標左下角應(yīng)出現(xiàn)小服務(wù)器圖標且Problems視圖無紅叉。2.2 數(shù)據(jù)庫初始化online.sql不是“一鍵導入就能用”online.sql文件看似簡單但實際包含三類關(guān)鍵內(nèi)容建庫語句CREATE DATABASE IF NOT EXISTS online DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;建表外鍵約束比如orders表的user_id字段關(guān)聯(lián)users表shop_id關(guān)聯(lián)shops表rider_id關(guān)聯(lián)riders表——這些外鍵保證了數(shù)據(jù)一致性但導入時若MySQL未開啟FOREIGN_KEY_CHECKS1可能靜默失敗。初始賬號數(shù)據(jù)INSERT INTO users (username, password, role) VALUES (admin, 123456, ADMIN);等語句注意密碼是明文教學用途勿用于生產(chǎn)。提示導入前務(wù)必在MySQL命令行執(zhí)行SET FOREIGN_KEY_CHECKS 1;否則外鍵約束不生效后續(xù)會出現(xiàn)“騎手接單后訂單狀態(tài)不更新”的玄學問題。執(zhí)行步驟推薦用命令行避免Navicat等GUI工具編碼錯亂# 登錄MySQL mysql -u root -p # 創(chuàng)建數(shù)據(jù)庫utf8mb4確保emoji和中文不亂碼 CREATE DATABASE online CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # 退出后導入SQL mysql -u root -p online /path/to/online.sql2.3 Eclipse項目配置web.xml是Servlet路由的唯一真相項目根目錄下的WebContent/WEB-INF/web.xml是整個請求分發(fā)的中樞。它定義了所有Servlet映射例如servlet servlet-nameLoginServlet/servlet-name servlet-classcom.servlet.LoginServlet/servlet-class /servlet servlet-mapping servlet-nameLoginServlet/servlet-name url-pattern/login/url-pattern /servlet-mapping這意味著當你訪問http://localhost:8080/online/login時Tomcat會實例化com.servlet.LoginServlet并調(diào)用其doPost()方法。新手常犯錯誤是把JSP路徑當成Servlet路徑——比如以為/login.jsp會自動觸發(fā)LoginServlet其實不會。所有業(yè)務(wù)邏輯必須走ServletJSP只是純展示層。檢查你的web.xml是否完整包含以下核心Servlet映射URL PatternServlet Class作用/loginLoginServlet統(tǒng)一登錄入口根據(jù)role跳轉(zhuǎn)不同首頁/order/listOrderServlet會員查自己訂單、商家查本店訂單、騎手查待接單/shop/manageShopServlet商家增刪菜品、修改營業(yè)狀態(tài)/rider/acceptRiderServlet騎手搶單接口含樂觀鎖防重復接單2.4 數(shù)據(jù)庫連接配置driverClassName別寫錯url要帶useSSLfalsesrc/jdbc.properties文件控制數(shù)據(jù)庫連接典型內(nèi)容如下driverClassNamecom.mysql.cj.jdbc.Driver urljdbc:mysql://localhost:3306/online?useUnicodetruecharacterEncodingutf8mb4useSSLfalseserverTimezoneAsia/Shanghai usernameroot password123456注意三點driverClassName必須是com.mysql.cj.jdbc.DriverMySQL 8驅(qū)動舊版com.mysql.jdbc.Driver已廢棄url中useSSLfalse必須顯式聲明否則MySQL 5.7會因SSL握手失敗報Communications link failureserverTimezoneAsia/Shanghai解決時區(qū)問題避免訂單時間比系統(tǒng)時間慢8小時。驗證連接是否成功運行TestConnection.java項目中通常有此測試類輸出Connection success!即表示打通。3. 四角色權(quán)限隔離實現(xiàn)不是靠if-else硬判斷而是URL路由Session屬性雙重攔截3.1 登錄態(tài)設(shè)計Session中存User對象而非單純role字符串LoginServlet.java中關(guān)鍵代碼// 查詢用戶后將完整User對象存入session User user userService.login(username, password); if (user ! null) { request.getSession().setAttribute(user, user); // 存對象 String role user.getRole(); if (MEMBER.equals(role)) { response.sendRedirect(request.getContextPath() /member/index.jsp); } else if (SHOP.equals(role)) { response.sendRedirect(request.getContextPath() /shop/index.jsp); } // ...其他角色 }這樣做的好處是后續(xù)所有Servlet都能通過User user (User) request.getSession().getAttribute(user);拿到用戶全部信息ID、姓名、手機號無需反復查庫。而如果只存session.setAttribute(role, MEMBER)則每次都要根據(jù)role再去查用戶詳情性能差且易出錯。3.2 URL級權(quán)限攔截web.xml中配置filter鏈項目包含AuthFilter.java它在web.xml中被配置為過濾器filter filter-nameAuthFilter/filter-name filter-classcom.filter.AuthFilter/filter-class /filter filter-mapping filter-nameAuthFilter/filter-name url-pattern/member/*/url-pattern /filter-mapping filter-mapping filter-nameAuthFilter/filter-name url-pattern/shop/*/url-pattern /filter-mapping !-- 其他角色路徑 --AuthFilter.doFilter()核心邏輯HttpSession session request.getSession(false); User user (User) session.getAttribute(user); if (user null) { response.sendRedirect(request.getContextPath() /login.jsp); return; } // 檢查URL路徑與用戶角色是否匹配 String path request.getRequestURI(); if (path.contains(/member/) !MEMBER.equals(user.getRole())) { response.sendRedirect(request.getContextPath() /error/403.jsp); return; } chain.doFilter(request, response); // 放行這種設(shè)計比在每個Servlet里寫if(!MEMBER.equals(role))更優(yōu)雅且修改權(quán)限規(guī)則只需改filter不用動幾十個Servlet。3.3 數(shù)據(jù)庫級權(quán)限隔離DAO層SQL動態(tài)拼接role條件以O(shè)rderDao.java為例查詢訂單列表時public ListOrder listOrdersByRole(User user) { String sql SELECT * FROM orders WHERE 11; ListObject params new ArrayList(); if (MEMBER.equals(user.getRole())) { sql AND user_id ?; params.add(user.getId()); } else if (SHOP.equals(user.getRole())) { sql AND shop_id ?; params.add(user.getId()); // 注意商家user.id shops.id } else if (RIDER.equals(user.getRole())) { sql AND rider_id ? AND status IN (ASSIGNED, PICKED_UP); params.add(user.getId()); } // 管理員無條件查全部 return queryRunner.query(sql, new BeanListHandler(Order.class), params.toArray()); }這里沒有用WHERE user_id ? OR shop_id ? OR rider_id ?這種危險寫法而是根據(jù)role動態(tài)生成WHERE條件從根本上杜絕越權(quán)查看。3.4 避坑常見權(quán)限翻車現(xiàn)場與修復方案現(xiàn)象原因解決方案會員能訪問/shop/add.jsp頁面JSP文件未被filter攔截用戶直接輸入URL繞過登錄校驗在web.xml中為所有JSP路徑添加filter-mappingurl-pattern*.jsp/url-pattern并在filter中增加if(path.endsWith(.jsp)) { checkLogin(); }騎手接單后訂單狀態(tài)仍為“待接單”RiderServlet中更新訂單時未加事務(wù)或UPDATE orders SET statusASSIGNED WHERE id? AND statusWAITING條件漏寫導致并發(fā)時多個騎手同時更新同一訂單在RiderDao.updateStatus()方法上加Transactional需引入JDBC事務(wù)管理或用樂觀鎖UPDATE orders SET statusASSIGNED, rider_id? WHERE id? AND statusWAITING檢查executeUpdate()返回值是否為1管理員修改商家信息后商家登錄看到數(shù)據(jù)未更新Session中緩存了舊的Shop對象未在修改后清除在ShopServlet的update方法末尾添加HttpSession session request.getSession();brsession.removeAttribute(shop);中文搜索商家名稱時查不到結(jié)果MySQL表字符集是latin1但online.sql中建表語句未指定CHARACTER SET utf8mb4手動執(zhí)行ALTER TABLE shops CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;登錄后跳轉(zhuǎn)到404頁面response.sendRedirect()中的路徑缺少上下文路徑contextPath統(tǒng)一寫成response.sendRedirect(request.getContextPath() /member/index.jsp);避免硬寫/online/member/index.jsp4. 核心業(yè)務(wù)流程深挖從會員下單到騎手送達的7個關(guān)鍵Servlet調(diào)用鏈4.1 下單流程CartServlet → OrderServlet → PayServlet三級聯(lián)動會員點擊“去結(jié)算”觸發(fā)CartServlet// CartServlet.java protected void doPost(HttpServletRequest request, HttpServletResponse response) { HttpSession session request.getSession(); ListCartItem cart (ListCartItem) session.getAttribute(cart); // 1. 校驗庫存查shops_products表 for (CartItem item : cart) { int stock productDao.getStock(item.getProductId(), item.getShopId()); if (item.getQuantity() stock) { request.setAttribute(error, 商品 item.getName() 庫存不足); request.getRequestDispatcher(/cart.jsp).forward(request, response); return; } } // 2. 將購物車轉(zhuǎn)為訂單預(yù)覽數(shù)據(jù)存入request域 request.setAttribute(orderItems, cart); request.getRequestDispatcher(/order/confirm.jsp).forward(request, response); }注意這里不做實際扣庫存只做前端校驗真正扣庫存發(fā)生在OrderServlet的createOrder()中防止惡意刷單。OrderServlet處理最終提交// OrderServlet.java public void createOrder(HttpServletRequest request, HttpServletResponse response) { // 1. 開啟事務(wù) Connection conn JdbcUtil.getConnection(); conn.setAutoCommit(false); try { // 2. 插入訂單主表 String sql INSERT INTO orders (user_id, shop_id, total_price, status) VALUES (?, ?, ?, WAITING); QueryRunner qr new QueryRunner(); Object[] params {userId, shopId, totalPrice}; long orderId qr.insert(conn, sql, new ScalarHandler(), params); // 3. 批量插入訂單明細 sql INSERT INTO order_items (order_id, product_id, quantity, price) VALUES (?, ?, ?, ?); ListObject[] batchParams new ArrayList(); for (CartItem item : cart) { batchParams.add(new Object[]{orderId, item.getProductId(), item.getQuantity(), item.getPrice()}); } qr.batch(conn, sql, batchParams); // 4. 扣減庫存關(guān)鍵 for (CartItem item : cart) { productDao.reduceStock(conn, item.getProductId(), item.getShopId(), item.getQuantity()); } conn.commit(); // 提交事務(wù) response.sendRedirect(request.getContextPath() /order/success.jsp?orderId orderId); } catch (Exception e) { conn.rollback(); // 回滾 e.printStackTrace(); request.setAttribute(error, 下單失敗請重試); request.getRequestDispatcher(/order/confirm.jsp).forward(request, response); } }這個事務(wù)塊保證了“訂單創(chuàng)建庫存扣減”原子性。若扣庫存失敗如超賣整個訂單回滾購物車數(shù)據(jù)不變。4.2 騎手搶單樂觀鎖防并發(fā)沖突的實戰(zhàn)寫法RiderServlet.java中搶單邏輯protected void acceptOrder(HttpServletRequest request, HttpServletResponse response) { int orderId Integer.parseInt(request.getParameter(orderId)); int riderId ((User) request.getSession().getAttribute(user)).getId(); // 關(guān)鍵UPDATE時加條件只更新statusWAITING的訂單 String sql UPDATE orders SET statusASSIGNED, rider_id?, update_timeNOW() WHERE id? AND statusWAITING; int updated queryRunner.update(sql, riderId, orderId); if (updated 1) { // 搶單成功推送消息此處簡化為寫日志 System.out.println(騎手 riderId 搶單成功訂單號 orderId); response.sendRedirect(request.getContextPath() /rider/myorders.jsp); } else { // updated0說明訂單已被他人搶走 request.setAttribute(error, 很抱歉該訂單已被其他騎手接走); request.getRequestDispatcher(/rider/waiting.jsp).forward(request, response); } }這種寫法比“先SELECT再UPDATE”更高效且天然防并發(fā)——兩個騎手同時執(zhí)行UPDATE只有一個能成功updated1另一個返回0前端提示“訂單已被搶”。4.3 商家接單狀態(tài)機驅(qū)動的訂單生命周期商家后臺的ShopServlet提供/shop/accept接口但接單動作實際是狀態(tài)躍遷// 訂單狀態(tài)流轉(zhuǎn)規(guī)則硬編碼在ShopServlet中 // WAITING → ACCEPTED → PREPARING → READY → DELIVERED public void acceptOrder(HttpServletRequest request, HttpServletResponse response) { int orderId Integer.parseInt(request.getParameter(orderId)); String currentStatus orderDao.getStatus(orderId); if (!WAITING.equals(currentStatus)) { request.setAttribute(error, 該訂單不可接單當前狀態(tài) currentStatus ); request.getRequestDispatcher(/shop/orders.jsp).forward(request, response); return; } orderDao.updateStatus(orderId, ACCEPTED); response.sendRedirect(request.getContextPath() /shop/orders.jsp); }這種顯式狀態(tài)校驗比單純UPDATE orders SET statusACCEPTED WHERE id?更安全避免商家誤操作將已配送訂單改成“已接單”。4.4 管理員監(jiān)控實時訂單看板的數(shù)據(jù)聚合邏輯AdminServlet.java的dashboard方法public void dashboard(HttpServletRequest request, HttpServletResponse response) { // 1. 總訂單數(shù) int total orderDao.countAll(); // 2. 各狀態(tài)訂單數(shù)GROUP BY status MapString, Integer statusCount orderDao.countByStatus(); // 3. 今日新增訂單WHERE DATE(create_time) CURDATE() int todayNew orderDao.countToday(); // 4. 熱門商家TOP5JOIN shops GROUP BY shop_id ListShop hotShops shopDao.findHotShops(5); request.setAttribute(total, total); request.setAttribute(statusCount, statusCount); request.setAttribute(todayNew, todayNew); request.setAttribute(hotShops, hotShops); request.getRequestDispatcher(/admin/dashboard.jsp).forward(request, response); }注意countByStatus()方法在OrderDao.java中使用原生SQLSELECT status, COUNT(*) as count FROM orders GROUP BY status而不是用Hibernate Criteria因為JSP項目追求簡單直接沒必要為統(tǒng)計功能引入ORM。5. 調(diào)試與排錯定位JSPServlet項目“頁面空白”“404”“500”的黃金三步法5.1 第一步看Tomcat控制臺日志不是瀏覽器F12當頁面一片空白或報錯立刻切到Eclipse底部Console標簽頁觀察Tomcat啟動日志和HTTP請求日志。常見線索SEVERE: Error filterStart→ web.xml中filter類路徑寫錯如com.filter.AuthFilter實際在com.filters.AuthFilterjava.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver→mysql-connector-java-8.0.33.jar沒放進WebContent/WEB-INF/lib/org.apache.jasper.JasperException: Unable to compile class for JSP→ JSP里Java代碼語法錯誤比如% int x ; %少寫了值Caused by: java.sql.SQLException: Access denied for user rootlocalhost→ jdbc.properties密碼錯誤或MySQL用戶權(quán)限不足。5.2 第二步用curl模擬請求繞過瀏覽器緩存干擾瀏覽器可能緩存了舊的404頁面用curl直擊Servlet# 測試登錄接口POST curl -X POST http://localhost:8080/online/login \ -H Content-Type: application/x-www-form-urlencoded \ -d usernameadmin -d password123456 # 測試訂單列表GET帶session curl -b JSESSIONIDABC123... http://localhost:8080/online/order/list如果curl返回正常HTML說明是前端JS或CSS路徑問題如果curl也報錯則是后端邏輯問題。5.3 第三步在關(guān)鍵Servlet打斷點看request域和session域在LoginServlet.java的doPost()第一行加斷點啟動Debug模式查看request.getParameter(username)是否為空 → 檢查form表單name屬性是否拼錯查看request.getSession().getAttribute(user)是否為null → 檢查登錄成功后是否真的存了session查看request.getRequestDispatcher(/member/index.jsp).forward(request, response)后index.jsp中% request.getAttribute(user) %是否輸出null → 檢查forward時request域是否被清空forward是同一次請求request域保留sendRedirect是新請求request域丟失。5.4 避坑JSP開發(fā)中最容易忽略的5個細節(jié)細節(jié)為什么重要如何驗證JSP頁面頂部必須有% page contentTypetext/html;charsetUTF-8 %缺少此聲明會導致中文亂碼且部分Tomcat版本會報HTTP Status 500查看瀏覽器開發(fā)者工具Network → Response Headers → Content-Type是否為text/html;charsetUTF-8所有JSP中EL表達式${user.username}需開啟EL解析Tomcat 7默認開啟但若web.xml是Servlet 2.3規(guī)范需手動開啟% page isELIgnoredfalse %在JSP中寫${11}若輸出2則EL正常若輸出${11}則被忽略JSTL標簽庫必須引入且版本匹配項目用c:forEach遍歷訂單需jstl-1.2.jar和standard-1.1.2.jar檢查WEB-INF/lib/是否有這兩個jar且% taglib prefixc urihttp://java.sun.com/jsp/jstl/core %中的uri與jar包匹配圖片/CSS/JS路徑用% request.getContextPath() %寫死/images/logo.png在部署到二級路徑如/myapp/時會404查看瀏覽器Network確認資源請求URL是否為http://localhost:8080/online/images/logo.png數(shù)據(jù)庫連接關(guān)閉必須在finally塊Connection.close()未執(zhí)行會導致連接池耗盡后續(xù)請求全部超時在BaseDao.java的closeConn()方法中加System.out.println(Connection closed);觀察日志是否每條SQL后都打印6. 進階技巧把這套JSPServlet系統(tǒng)改造成可演示的“高光時刻”頁面6.1 會員端加一個實時訂單狀態(tài)輪詢讓下單體驗不枯燥原系統(tǒng)訂單提交后直接跳轉(zhuǎn)success.jsp用戶不知道何時配送。我們給會員首頁加一個AJAX輪詢!-- member/index.jsp -- div idorder-status h3您最近的訂單/h3 div idstatus-refresh正在查詢.../div /div script function checkOrderStatus() { fetch(% request.getContextPath() %/order/status?lastUpdateTime new Date().getTime()) .then(response response.json()) .then(data { document.getElementById(status-refresh).innerHTML 訂單 ${data.orderId} 狀態(tài)${data.status}${data.updateTime}; if (data.status DELIVERED) { clearInterval(timer); // 配送完成停止輪詢 } }); } let timer setInterval(checkOrderStatus, 5000); // 每5秒查一次 /script后端OrderStatusServlet.javaprotected void doGet(HttpServletRequest request, HttpServletResponse response) { User user (User) request.getSession().getAttribute(user); // 查找該會員最新一條非DELIVERED訂單 Order latest orderDao.findLatestByUser(user.getId()); response.setContentType(application/json;charsetUTF-8); response.getWriter().write(new Gson().toJson(latest)); }這樣會員就能看到“已接單→制作中→已出餐→配送中”的全過程演示時觀眾會覺得“這系統(tǒng)真在跑”。6.2 騎手端用WebSocket實現(xiàn)搶單廣播輕量級改造雖然原系統(tǒng)是HTTP輪詢但我們可以在RiderServlet.acceptOrder()成功后用Tomcat內(nèi)置WebSocket推送// RiderServlet.java if (updated 1) { // 推送搶單成功消息給所有在線騎手 WebSocketBroadcaster.broadcast(RIDER_ riderId, 訂單 orderId 已被搶走); response.sendRedirect(...); }前端騎手頁面監(jiān)聽const ws new WebSocket(ws://localhost:8080/online/rider-ws); ws.onmessage function(event) { alert(新訂單 event.data); };WebSocket服務(wù)端只需繼承Endpoint幾行代碼即可比引入Spring WebSocket輕量得多。6.3 管理員端導出Excel報表的POI集成技巧AdminServlet.exportOrders()方法public void exportOrders(HttpServletRequest request, HttpServletResponse response) { ListOrder orders orderDao.findAll(); // 創(chuàng)建Excel工作簿 XSSFWorkbook workbook new XSSFWorkbook(); XSSFSheet sheet workbook.createSheet(訂單報表); // 表頭 String[] headers {訂單號, 會員, 商家, 總金額, 狀態(tài), 下單時間}; XSSFRow headerRow sheet.createRow(0); for (int i 0; i headers.length; i) { headerRow.createCell(i).setCellValue(headers[i]); } // 數(shù)據(jù)行 int rowNum 1; for (Order o : orders) { XSSFRow row sheet.createRow(rowNum); row.createCell(0).setCellValue(o.getId()); row.createCell(1).setCellValue(o.getUserName()); row.createCell(2).setCellValue(o.getShopName()); row.createCell(3).setCellValue(o.getTotalPrice()); row.createCell(4).setCellValue(o.getStatus()); row.createCell(5).setCellValue(o.getCreateTime().toString()); } // 輸出響應(yīng) response.setContentType(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet); response.setHeader(Content-Disposition, attachment; filenameorders.xlsx); workbook.write(response.getOutputStream()); }關(guān)鍵點poi-ooxml-4.1.2.jar必須放入WEB-INF/lib/且web.xml中無需額外配置POI純Java實現(xiàn)零依賴。6.4 最后的血淚習慣每次改完Servlet必做三件事清空Tomcat work目錄/apache-tomcat-9.0.83/work/Catalina/localhost/online/否則舊的JSP編譯class殘留導致“改了代碼卻沒生效”的玄學重啟Tomcat前先stop再start不要用Eclipse的“Restart”按鈕它有時只reload不重啟靜態(tài)資源和類加載器狀態(tài)可能錯亂在web.xml頂部加注釋記錄修改時間!-- Last modified: 2024-06-15 by zhangsan - added /rider/complete mapping --因為多人協(xié)作時web.xml是路由總綱誰動了哪條路徑必須可追溯。從那以后我每次改完Servlet都強制走一遍這三步——哪怕只是改了一行response.sendRedirect()的路徑。它不能讓你寫出更炫的代碼但能讓你在凌晨兩點接到“線上訂單不入庫”的電話時30秒內(nèi)定位到是OrderServlet的事務(wù)沒提交而不是懷疑MySQL主從同步出了問題。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天堂无码精品国产久| 999 久久久| 午夜视频黄| 91精产一区二区三区| 综合色播| 免费精品中文字幕| 被窝影院午夜看片无码| 亚洲一区二区中文字幕| 久久久久亚洲精品| 嗯嗯啊啊操死我| 中文字幕一二区二三区人妻专区| 91五十路| 91狠狠综合久久| 亚洲欧美一区二区不卡视频播放 | 人妻免费观看| 日本 成 人 小说 电影 一区二区| 8x福利精品第一福利视频导航| 一区二区无码视频| 韩国毛片一区二区三区| 91国产美女丝袜足交精品视频| 综合熟女| 亚洲色久| 婷婷五月天激情网| 99视频自拍| 一级黄色性爱A级片| 国产色产精品在线观看 | 九九九九免费| 亚洲古典另类欧美在线| 热久日综合| 亚洲最新中文字幕免费| 白丝被操91| 欧美激情久操网| 我要色综合网| 97在线观看免费视频| 五月丁香| 色吧五月| 无码99| 亚洲蜜桃V妇女| 操逼操逼逼操操逼91| 国产成年免费大片黄在线观看| 综合伊人激情| 夜嗨影院| 综合熟女| 91成人在线| 亚洲图片欧美91N| 国产AV高清AV无码| 亚洲情色 无码专区| 爽极品影院| 日韩美女久久一区二区三区| 91n欧美| 国产 热久久久久国产精品| 欧美天天综| 91黑人狂躁丰满熟妇| 日韩免费性爱视频在线观看| 亚州九九九精品视频| 翔田千里爆乳巨臀无码| 中文字幕丝袜人妻| 天堂伊人久久| 亚洲激情综合另类男同| 青青草国产亚洲精品久久| 日本媚薬中文字幕在线| 丁香六月婷婷综合| 大香蕉综合网| 校园春色 男人天堂 | 欧美伦乱爱| 亚洲天堂在线怕怕视频| 91新在线欧美| 免费成人在线观看91| 欧美亚洲性爱一区二区| 国产91精品在线免费| 五月香婷婷| 中文字幕在线观看第二页| 狠狠爱大香蕉| 久久久久久久 九九九九九九九| 欧美色网络| 国产自偷自拍一区| 久久久久久久久久9| 亚洲一区中文字幕一区| 9Ⅰ超碰| 日韩欧美经典在线观看| 天天综合网视频91| 天天综合91在线| 青青草好吊色| 屌妞视频久久久久久久| 少妇一区二区三区高速| av72网| 强奸乱伦大香蕉| 午夜电影在线观看无码专区| #NAME?| 欧美日韩日产免费网站看| 国产一区二区三区中文字幕| 欧美天天综合网| 丁香五月激情网| 亚洲同性aV综合| 2018色综合天天操| 精品无码少妇| 久都青青视频 | 东京热男人的天堂精品| 997色在线| 高清无码国产亚洲| 特污精品女优骚货黄色视频在线免费观看| 一区二区三区精品黑丝白丝酒店对鸡| 五十路三区在线| 丁香五月影院| 黄骗免费网站| 亚洲色性情三级| 女性91网站| 强上我不卡卡| 日逼视频日本| 中文字幕第95页| 美女被艹尤物视频| 日韩猛交| 夜夜操老骚逼视频网站| 99国产精品视频尤物| 十八禁黄色成人网站观看| 三级日本一区二区三区| 青青草玖玖爱| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 国产精品嫩草影院午夜两性| 97在线亚洲| 亚洲无码99| 久久岛国| 久久久久ab| 国产 v乱码一区二| 精品人妻一区二区免费蜜桃视频| 午夜啊啊啊| 黄色免费网页无码| 国内伊人久久久久久网站视频| 人妻精品4K4K4K4K4| 曰韩操B| 综合网少妇| 99热这里都是精品| 亚洲无码太久| 97干色| 日韩图区| 9/A片| 亚洲成人福利电影免费| 日本成人在线不卡一区二区三区| 欧美青青草视频| 婷婷丁香六月| 日韩Va亚洲va欧美Ⅴa久久| 暴力av在线| 色眯眯射| 人妻久久久久久| 国产强奸乱伦xd| 欧美自拍网| 超碰97男人| 国内毛片无码一级毛片| 无码高清操逼网址| 国产精品夜夜| 久久婷色| 亚洲精品国产专区在线观看| 欧美翘臀视频网站一区二区三区| 伦在线97| 日韩二级| 欧美一区91大爱| 欧美日韩国产一区二区小黄片大全| 国产风韵犹存熟妇三区| 级品肉射| 啊好大好舒服| 五月婷婷综合网| 一起草日韩| 亚洲综合20p| 少好三P| 97超碰无码网| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 五月天亚洲网| 国产熟女一区二区丰满| 日本二三四区| 精品免费1| 国产精品探花视频| 一个国产在线综合网站| 精品国产一区探花在线观看| 爱爱久久| 9999久久久久| 中文字幕精品区先锋资源| 蜜臀久久99精品久久久久| 国内一区二区三区| 老鸭窝日丰县女人| 国产亚洲日本| 九九九九日本 | 亚洲情色 自拍| 日韩丝袜高跟制服在线观看| 久极品在线观看| 日韩不卡a级视频专区| 国产精品久久久久久高清无码免费看| 一起草视频在线| 麻豆熟妇乱妇熟色A片在线看| 啊啊啊啊啊啊啊啊啊啊在线观看| AV一二区| 91社操逼| 欧美亚洲色图另类国产| 国产精品点击进入在线影院| 啪啪性爱免费视频| 五月天婷婷在线看| 欧美一区二区三区不卡高清视频| 97综合在线| 亚洲黄色电影| 男女国产精品| 啊啊啊啊啊啊在线| 香蕉人欧美综合| 精品人妻一区二区蜜桃视频 | 欧美96在线|欧| 日本精品一区二区三| 亚洲性猛交| 亚洲情色一区二区三区| 欧美亚洲国产自久久| 亚洲一区深夜| 夜夜狼人妻| 蜜桃久久久久久| 三级片大波波| 超碰1024久久| 亚洲欧洲色情高清| 色婷婷综合久久久久中文一区二区| 久久久工口| 熟妇女人妻呻吟久久AV| 另类亚洲图色| 国产免费久久精品99re韩国| 日韩亚洲97| 香蕉色网| 色九九久九九| 女人天堂av在线播放| 久久久97| 久操com| 免费看黄视频亚洲网站| 亚洲国产成人精品无码专区| 91丨九色丨国产打屁股| 久久精品一区二区三区不卡| 亚州操操穴网| 一牛一区二区三区久久| 91高跟美女在线播放| 狠狠色一区二区中文字幕| 久久超碰97中文字幕| 人人澡综合涩| 夜夜嗨免费视频| 夜夜高潮夜夜爽国产伦精品| AV女优男人的天堂| 欧美亚洲中文| 中国一级操逼视频| 精品超碰国产| 久久久久久性爱片| 91爱欧美| 亚洲无码一区成人免费午夜| 日韩一级欧美一级国产一级台湾 | 国产精品久久99日日| 在线观看无码三级少妇| 探花激情视频| 久久精品人体AV| 97超级久久强资源| 91女人的网站| 97在线资源| 欧美在线第五页| 亚洲国产熟妇综合色专区| 99无码狠狠久久| 澳门黄片一香蕉视频| 熟女五十路一区二区三| 色色五月天婷婷| 宗合情欲网| 天堂亚洲精品久久老牛| 伊人91| 国产强奸91| 免费啪啪啪网站18岁| 992这里有精品| 欧美激情片一区二区| 97久久久精品| 伊人久久亚洲色欲综合网站| 久久久久九九九| 曰韩人妻中文字幕在线| 伦激情人妻另类人妻| 丁香婷婷啪啪| 精品无码久久久久| 亚洲在线| ji熟女.com| 丁香五月久久| 狠综合网| 97综合久久| 欧美激情中文字幕另类小说| 欧美日韩国第一区| 色97干| 欧美日韩操逼动图| 旡码电影特区| 骚鸭AV| 日韩极品无码B| 亚洲精品成人| 小草av不卡亚洲二区| 久久久久久久久一区二区三区| 免费一级性爱久久| 色哟哟的毛片| chaopen97久久| 国产v片在线免费观看| 亚洲国产ⅴ高清在线观看| 亚洲aV性爱| 伊人久久大香线综合无码| 春色综合网| 亚洲国产ⅴ高清在线观看| 97色婷| 午夜精品人妻二区三区| 免费福利视频中文字幕| 精品少妇后入一区二区三区四区人妻巨乳 | 水多多映视AV| 丁香五月激情五月| 欧美少妇性乱| 超碰97人妻| 性色av婷婷久久一区二区点复制| 麻豆精品天美| 台湾一区国产高清在线| 色妺妺在线视频| 天天射天天色成人| 欧美特大黄一级片片免费| 久久伊人青青草| 精品视频在线观看精品| 偷拍欧美综合| 伊人国产AV| 97人妻免费中文字幕| 中文字暮97| 天天综合网在线观看| 国产精品青草综合久久| 蜜臀Av一区二区三区| 爽 好舒服 无码刺激久久| 欧美综合第一| 78m成人视线| 久久AV无码网址| 成熟熟女国产精品一区二区| 二男一女成人A片| 欧美成不卡网| 97精| 久久久久久久久久久久久9999| 94色色电影网| 亚洲精品三| 人人操人人精品影片| 牛牛aV| 96久久久精品| 性爱乱伦网址| 五月天九九日国产精品一区二区三区| 玖玖玖玖精品国产剧情| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 午夜福利一区二区影院| 亚洲精品丝袜| 日韩美女啪啪一区| 国产成人精品一区| 无码少妇精品一区二区60岁老人| 欧美亚洲宗合色性图| 乱伦1色页| 精品无人区麻豆乱码久久久| 无码国产Av| 一区二区不卡| 大香蕉一线视频| 91精品婷婷国产综合久久| 国产一区二区啪啪视频| 国精综合一二三区影视| 熟女字幕| 密臀在线一区尤物| 色一射色一射| 国产欧美日韩一区二区三区| 欧美高清性猛交| 亚洲一曲日韩精品| 亚洲图片欧美另类综合免费视频大大香| 黄色大香焦1级‘′‘| 激情终合网| 久操凹凸视频| 欧美色图20P| 天天干天天拍| 手机看片日韩人妻| 欧美96交| 国产四虎在线| 超碰97护士| 日本九九久久99| 强奸a片网| 五十路三区在线| 中文字幕在线观看网页| AV不卡在线| 日产精品久久久一区二区| 成人资源中文字幕在线观看天天| 色黄污美女啪啪啪免费网站| 91精产一区二区三区| 日韩中文字幕视频在线观看| 国产精品国产精品国产| 都市激情人妻一区二区青青操视频 | 久久美女福利是上海美女| 日日躁夜夜躁狠狠躁超爽| 国精品一区二区三| 搡老人老9丨女老熟人| 超碰在线综合97| 天天插天天射| 国产家庭乱伦性爱视频| 少妇精品| 另类av综合久久| 亚洲色综合| 一区二区三区在线日韩影院观看| 97资源超碰| 黑人狂躁日本妞一区二区三区| 天天干1区2区在线| 久久久999网站| 人人操,操人人| 91视频综合网| 九九九九欧美| 日本在线不卡123| 欧美极品性爱天天射| 成人情色综合网| 口爆欧美91| 欧美午夜一区二区三区| 精品久久久久久中文字幕视频免费| 亚精品无码毛片一区二区三区| 日本日皮视频逼| 激情黄色片在线观看| 久久久久久99999国产精品| 亚洲91极品| 顶级丝袜熟女一区二区三区 | 国产AV色黄看到爽| 精品对白久久不卡| 久热99999| 看看小穴| 亚洲成av人片色午夜乱码| 3PAV乱伦视频| 夜夜夜爽www精品视频| 中文字幕88av在线| 另类图片五月| 久热9| 欧美极品性爱天天射| 婷婷婷婷婷婷久久久久| 久草色在线观看| 国产精品网站免费| 久久大香蕉手机高清视频| 操逼操操操91| 乳欲人妻办公室奶水| 清纯唯美亚洲| 91青青草| 夜夜高潮夜夜爽夜夜爱爱一区| 秋霞鲁丝午夜无码一区二区三| 亚洲。日韩。欧美| 东京热男人的天堂网| 99热只有这里有精品| 国产成年女人免费视频播放a| 婷婷久月| 外国免费性情大片| 亚洲精品国产拍免费91在线| 黄色一区三区| 超碰97网址| 成 人 影视 一区 二区 三区 四区| 自偷自拍的亚洲视频| 国产精品一级毛片不卡视| 国产精品4p在线观看| 亚洲图片欧美色图| 97超碰欧美中文字幕| 深爱伊人影院| 深爱伊人影院| 91美女视频直播| 999九九九九国产动| 亚洲精品1区| 色五月69夫妻| 99国产精品久久久久久久成人热| 国产久久视频| 成人老鸭窝人人在线视频| 激情综合网激情五月天| 99性爱视频| 亚洲人妻AV| 99热久| 婷婷五月色| 性久久| 在线国产福利网址导航| 色哟哟511老熟女| 亚欧无码在线| 亚洲日本韩国在线| 午夜大香蕉| 久久久久免费少妇| 久久久久性熟视频| 蜜臀人妻少妇久久在线观看| 麻豆 亚洲 97| 日本蜜桃| 国产免费久久精品99re韩国| 国产青视频| 超碰79人人乐| 另类专区加勒比| 激情99| 国产 亚洲 丝袜 制服| 精品国产Av无码久久久伦古装| 2020天天色综合| 黄总AV色图| 草草影院在线视频| 激情五月天丁香| 欧美性生活综合| a天堂视频| 国产一区在线观看无码AV| 91处女在线观看| 国产精品不卡高清在线观看| 啊啊啊爽爽| 欧美综合1性辶| 天天日骚逼熟女| 插B在线观看| 天天操天天日青青草超碰av| 后入式999| 加勒比综合a∨| …中文字幕亚洲乱,97人妻无码费视… | 亚洲久久久| 懂色AV网| 精品午夜福利| 26uuu成人影片| 91深夜夜| 国产精品ⅴ无码大片在线看.| 三四中文字幕| 色综合av综合久久| 亚洲国产91精品一区二区久久| av日韩在线观看电影| 日本一区二区做爱的视频| 91精品无码人妻系列| 高清无码 国产精品| 91啦人妻| 人人做人人妻人人夜视频| 五月婷婷综合网| 精品久久久中文字幕不| 亚洲色图 图片| 密臀成人视频久久久| 性91| 草草电影院| 免费精品中文字幕| 天天干天天干天天干| www.四虎在线| 欧美线天码中字| 97在线观看| 白嫩国模丰满一二三区| 日本一级二级三级网站| 97人肏| 亚洲中文字幕日产无码久久| 国产农村妇女精品一二区| 偷拍色图| 久久av无码| 激情丁香婷婷| 久久99草| 2018天天日天天日| 91九色精品熟女内射| 亚洲一二三四区机械| 夜夜黄| 日韩精品一区二区日韩| 久久久久久久人妻| 精品无码久久久久| 性天堂| 99久久99九九99九九九| 欧美日韩人妻婷婷一区| 国产又黄又爽又刺激久久久久久| 久久9久9久99久9久9| www久久精品| 你懂得91| 97操综合| 蜜臀在线视频| 蜜桃视频精品一区二区| 丰满少妇精品一区二区| 玖玖玖玖精品国产剧情| 蜜桃丰满熟妇av无码区不卡| 超碰在线欧美性爱激情| 偷窥自拍亚洲色图| 国产精品久久久久久久久久久久久久| 亚洲中文国际强奸字幕| 青青操在线亚洲视频观看欧美在线| 久久精品成人一区二区三区蜜臀| 精品少妇人妻av久久免费| 中文字幕少妇色| 国产无码成人无码| 欧美亚男人的天堂| 草草草视频在线免费看| 后入人妻一区| www国产无码| 啊啊啊用力在线观看| 午夜噜噜噜| 一区二区影院| 日本大香蕉综合网红本杳社区| h在线看免费版在线看| 国产农村妇女精品| 日本视频在线中文字幕| 中文字日本乱码| 高清无码久操视频| 国产精品白虎| 久久中文字幕一区不卡| 日韩人妻精品| 伊人影院在线理论播放 | 国产精品96久久久久久| 人人澡人人爽人人精品| 葡萄牙性视频一二区| 国产性感在线观看| 91视频伊人| 亚洲男人的天堂网| 婷婷丁香五月激情啪啪| 69一区二区| 人妻 制服 日韩 中文 在线| 天天弄天天操| 美熟女逼导航AV操逼| 欧美人人AAA| 五十路三区在线| 超碰这里只有精品| 六月色婷婷| 天天爽夜夜爽夜夜爽精| 天天综合网~91| 九久9热| xxx0国产在线播放| 91情色| 综合av影片| 91色五月俺来也| 正在播放国产精品一区| 亚洲性天堂| 蜜臀99999| 能看的AV| 亚洲图片欧美在线视频| 影音先锋新男人| 天美麻豆一区二区三区| 亚熟hd视频在线| 久久久18| 激情五月综合网| 涩涩这里只有精品视频| 97干色| 精品丰满熟妇人妻一区| 91红杏| 人人操AV| 天天干天天做| 一二三四视频中文字幕在线看| 东京热男人天堂| 一区二区三区四区五区久久久久久| 久久鲁夜| 亚洲男人的天堂AV| 亚洲综合激情五月久久| 国产尹人在线视频免费| 久久av成人无码免费| 91性网| 欧美综合综合| 9I1性色影院| 欧美在线亚洲| 色欧美在线| 国产尤物在线三区| 日韩九九九| 国产传媒一区二区三区| 亚洲97精品| 91丝袜美女视频| 九九九九精品视频| 欧美黑人与女人91| 777超碰| 亚洲欧美日韩中文播放| 亚洲综合影院| 日韩免费a级毛片无码a∨| 91AV入口| 日韩av在线精品观看| 九久精品| 中国农村熟妇毛片视频| 偷拍 欧美 日韩| 欧美激情另类一区二区| 欧美日韩性爱无码| 岛国AB视频| 欧美一区二区三区四区综合| 国产精品嫩草影院免费| 亚洲色图欧美视频| 囯产操逼片| 国产久久久9999| 嗯嗯嗯不要不要免费视频| 在线观看视频91| 激情综合av| 久久久久夜夜夜夜| 亚洲天堂人妻熟妇视频| 99婷婷| 天天影视色香色欲| 久久久九九九九| 九九九九九九免费视频| www久久国产精品| 天天天天天天天天天天干美女| 啪啪91| 夜夜操一区二区| 97精品视频在线| 国产h小视频在线观看免费| 欧美性暴力| 人人操人人操草草| 国产老熟女| 日韩 欧美 国产 麻豆| 内射黑丝袜| 九九九国产| 欧美人妻久久精品二区三区| 亚洲熟妇图片| 久久这里只精品| 亚洲欧美综合区自拍另类| 欧美黑人精品一区二区| 玖玖爱一区在线| 97超碰大| 极品尤物在线观看| 日韩午夜国产| 欧美第一页| 九色视频91| 精品中文一区二区| 日韩电影在线观看网址| 免费啪啪啪网站18岁| 日韩国产品视频中文字| 香蕉精品二区二区| 久久久亚洲熟妇资源| 久久国产热视频97电影| 欧美激情片一区二区| 久操91视频| 另类图片五月| 青青色在线观看| 婷婷五月天激情网| 欧美日韩中国x| 精品国产一区二区三区四区在线看| 宅男午夜在线视频| 久久91| 97色五月天完| 婷婷av在线中文字幕| 91美女丝袜诱惑视频| 9精品久久久久| 成人av动漫在线观看| 久久综合超碰| 欧美不卡在线一区二区| 96AV久久久| 欧美影院一区二区三区| 人妻社区男人天堂| 五月综合婷婷久久网站| 精品在线78| 熟女突然公开看18禁影片| 精品人妻一区春色| 丝袜熟女一区二区三区| 超碰97在线中文| 亚洲天堂一区二区久久| 九九九九九九九九九五码| 欧美日韩香蕉| 性天堂| 偷拍综合亚洲| 激情开心五月天| 视频不卡中文字幕| 亚洲。日韩。欧美| 91在线视频观看国产| 二级毛片| 欧美操人| 亚洲精品国产熟女久久久久久| 亚洲精品1区| www.99热| 亚洲精品a人片在线观看视| 91亚洲人| 另类av综合久久| 国产精品嫩草影院免费| 免费试看60秒| 中字一区| 九九RE视频在线精品| 97天天综合| 精品一区二区综合熟妇| 99在线精品观看视频中文| av天堂影视中文在字幕在线中文 | 亚洲97| 九热超碰| 一区中文字幕二区日韩| 国产9 9在线 | 亚洲| 91青青| 久无码| 老司机老司机午夜影院| 深爱伊人影院| 后入式999| 欧美另类自拍 | 久久久久久久9| 超碰1024久久| 色月天AV导航| 色色色色电影网| 97色碰| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | …中文字幕亚洲乱,97人妻无码费视…| 亚洲精品久久久久久久蜜桃臀| 日本人妻中文字幕精品| 免费成人自拍视频在线| 亚洲少妇在线影音| 内射白嫩美女| 五月天综合网| 国产女人91精品嗷嗷嗷嗷| 激情小说在线视频| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 欧美日韩m| 日韩99神马视频播放片在线播放| 一区三区啪啪| 亚洲春色欧美激情自拍| 日本加勒比无码专区一二三| 97欧美色综合| 9.1小视频| 东京热91| 久久97视频| 久久精品—区二区三区内射| 中文区中文字幕免费看| 99re6国产精品99re| 大香蕉欧美国产日韩高潮| 国产精品久久久久久久黄无码| 欧美精品69性爱| 无遮挡又黄又刺激的视频| 资源新线在线天堂| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 大香蕉欧美日韩| 欧美91久久久久| 午夜男人的天堂| 美女91AV| 无码区蜜乳| 99av| 97在线视频观看网站| 囯产精品久久久久久久久久梁医生 | 精品欧美乱码久| 在线免费观看高清无码视频| 国产成人亚洲精品无码最新在线| 被男人吃奶很爽的毛片| 久久草草亚洲蜜桃臀| 欧美96在线|欧| 97欧美视频| 狠狠操夜夜| 强奸乱伦大香蕉网| 熟女人妻一区二区三区| 91狠狠综合久久久久久| 欧美日韩人人早| 二级毛片| 操老熟女AV| 98久久| 亚洲中文字幕三级在线| 久久精品国产亚洲AV高清演员表| 欧美性爱中文字幕无线码| 91丨九色丨国产打屁股| 福利天堂| 99999国产| av无线看| 欧美亚男人的天堂| 亚洲 欧美 日本 国内 首页| 欧美性爱18观看| 色婷婷五月天| ai欧美亚洲小说| 亚洲婷婷丁香在线| 日本污ww视频网站| http://qxhbdz.com| 深夜激情| 日韩欧美中文日韩欧美色| 亚洲熟妇图片| 精品无码人妻一区二区免费蜜桃| 欧美第一页| 国产av高清版| 久久国产乱子伦精品免费女,网站| 日韩亚洲国产视频| 麻豆九九九| 欧美狠狠干| 人妻出轨一区二区三区| 国产无码久久高清| 大香蕉伊人色偷偷在线| julia国产在线 | 中文字幕在在线观看网站| 麻豆天美一区二区| 日本在线一二| 久久亚洲色图中文字幕| 亚洲无992tv| 一区二区三区四区色图| 加勒比综合a∨| 免费黄色片。| 亚洲 欧美 小说| 97人人操人人摸| 欧美色道啊| 黑人美精品 A片| 蜜桃精品一区二区三区ww| 欧美天天| 九九久久久九九| av网站国产主播在线| 一本久道久久综合狠狠爱| 96麻豆精品一区二区三区| 天天影视网综合少妇| 91n处女在线观看| 久久久精品国产亚洲伊人| 天天舔日美女视频| 色综合98| 1769成人国产精品视频| 四虎视频在线观看| 亚洲aV性爱| 九九九999久久久网站| 一本道综合色图| 亚洲黄色| 色好看av| 91A欧美电影网站| 狼天天狼天天大香蕉| 国产成人无码a| 色婷婷日韩精品一区二区三区| 超踫中文字幕| 天天躁日日躁成人字幕aⅴ| 日韩内射视频| 无码聚合| 大色综合| av草草在线电影| 久久9 9 9精品| 日韩欧美经典在线观看| 91痴汉| 神马久久久久久久久久| 婷婷大香蕉| 超碰97人妻免费在线| 金典av| 亚洲一区中文字幕一区| 国产v片在线免费观看| 亚欧操逼片在线观看| 人人操天天爽| 日本三级R| 亚洲欧美在线观看无码| 超碰吊日色| 屁股久久久久久久久| 日韩人妻少妇中文字幕| 久96热在线观看视频| 超碰色美女| 久九干| 黄片不用下载在线观看| 久操网视频| 92一区二区| ai欧美亚洲小说| 伊人玖玖网| 公司1区2区3区精产精| 992这里有精品| 99精品久久| 国产精品国产拍高清AV| 无码av永久免费专区网站| 欧亚日韩一区在线| 偷拍欧美亚洲| 粉嫩小泬久久久一区二区| 久久伊人青青草| 欧美久久毛片基地| 一区二区三区精品黑丝白丝酒店对鸡| 91粉嫩萝控精品福利网站_精品影音先锋国 | 欧美性爱一区二区三区| 天天看片麻豆| 91久久久老司机| 超碰97男人| 夜夜国产一区| 天天色香欲综合网| 91精品电影18| 国产suv精品一区二区四| 久9久| 日韩精品三级片长长久久| 久久亚码| 精品9999| 天天干1区2区在线| 99久久免费看精品国产一区| 天天干18禁| 精品久久視頻在线| 少妇蹲下买菜露大唇0| AAAA欧美日韩| 加勒比日本在线| 啪啪免费| 日日日日做夜夜夜夜做无码97| 国产浮力影院第1页| 99福利社| 亚洲欧美经典一区二区| 九九久久久| 亚洲色9| 色乱二区| 久久久久久久综合,国产| 极品色www影院| 精品国产乱码久久久久久蜜臀| 国产久久久9999| 国产黄片在线免费观看| 国产精品3| 欧美男人一区| 亚洲中文字幕在线视频一区二区| 青青草国产盗摄一二三区| 亚洲av综合色区图片亚洲| 亚洲九九爱| 色穴精品| 97精品熟女少妇一区| 欧美亚洲清纯| 亚洲欧美激情另类色图| 91影库| 人妻丝袜日本| 99在线视频播放| 日韩人妻播放| 日韩熟女操逼| 超碰色美女| 国产二区三区粉嫩在线| 国产亚洲在线观看| 国产丝袜美女在线一区| 一二区在线观看视频| 色五月69夫妻| 五月丁香大香蕉| 精品国产人成在线| 97精品一区二区视频在线观看| 亚洲性猛交| 精精夜夜| 婷婷六月色| 国产精品久久久久久久毛片1| 大逼色网站| 久湿久久| 久久超碰97中文字幕| 國產尤物AV尤物在線觀看| 91精品人妻偷情| 亚洲欧美日韩不卡人妻| 久久久久国产| 国产老熟女| 五月天婷婷综合| 日本视频在线观看污污污| 看全色黄大色大片免费视频| 国产视频97| 自拍丝袜美腿人妻| 天天爱天天韩国日本牛牛牛牛 | 黄色激情电影在线观看| 亚洲图片激情小说| 91国产丝袜美女| 男人 天堂 日 亚洲| 亚洲情色91| 精品国产www久久| 免费一级性爱久久| 女欧美一区二三区| 神马麻豆福利院| 91欧美www| 蜜臀网址在线| 4tube欧美女厕所| 色哟哟精品1精品2| 超碰久草| 日韩一级二级三级| 久热热| 加勒比海人人操超碰在线| 久久久久久99999国产精品| 小骚逼被操的爽不爽| 91视频成人福利网站在线一区| 欧美综合97www| 日本亚洲vr欧美不卡高清专区| 国产情侣自拍在线播放| 亚洲乱码尤物193YW| 午夜寂寞欧美| 欧美成人性爱视频大全| 精品人妻美妇91job| 久久婷婷伊人| 国产av尤物| 久久久爆乳翘臀一线天伦理视频| 91美女中出| 国产亚卅97| 校园春色综合香蕉| 情色五月天就去干| 大奶的诱惑| 精品国产Av无码久久久亚洲| 欧美高清无码免费视频高清版| 日韩人妻播放| 综合网色| 99这里有精品视频| 亚洲精品一二三四区| 日韩资源网| 97久久久网站| 在线人成亚洲视频免费观看| 在线一道啪| 国产无套粉嫩白浆在| 久都青青视频| 91 丝袜在线观看| 99re久久| av天堂精品久久| 婷婷五月激情综合| 一区二区日韩欧美久久| 久久熟妇五十路一区| 大白逼三四级| 91一区二区三区蜜桃| 综合一区中亚洲国产成人综合精品| 五月天黄色av| 2020中文字幕在线| A一区片| 亚欧成人中文字幕一区| 97天天摸天天碰| 1204金沙人妻懂旧版免费| 99999这里都精品| 不卡日本一区二区| 亚洲日韩美女中文字幕乱| 国产女上位好爽在线| 天天搞欧美| 九九精品99| 校园春色制服丝袜中文字亚洲| 国产熟女| 激情小说亚洲| 99精品网| 热热色综合网| 十八岁啪啪视频免费看| 久久久久国产亚洲一区欧美色图日韩| 亚洲黄日韩无码专区| 美女啊啊啊啊啊| 婷婷亚洲五月***久久| 青青草字幕AV| 亚洲交性| 99操99| 99热欧美| 亚洲综合九九| 后入福利| 中文字幕一二区二三区人妻专区| 看看小穴| 久久天堂| 都市久久精品激情亚洲| 精品久久久久久亚洲| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 91日产欧美| 人人操人人摸人人看人人插| 久久久精品国产亚洲伊人| 九九热三级片| caorenqi shipin| 欧美色综合网| 99色综合| 欧美色图 色综合图| 亚洲成人综合在线| 少妇激情一区二区三区视频| 午夜男女爽爽爽在线视频| 欧美,亚洲,日韩,v,天堂,手机在线观看 | 久久性生大片免费观看性| 国产自产91区13区| 影音先锋少妇| 99操| 国产91精品福利在线| 国产精品天干天干综合网麻豆| 亚洲āv网址在线观看| 免费9 1久久| 芊芊操逼视频无码| 中文一区二区| 亞洲久久直播| 久久久精精精| 久久爱超碰网| 国产伦精品一区二区三区在线观 | 综合一区中亚洲国产成人综合精品| 九热久| 影音综合网| 免费看久久久性性| 一区二区乱码福利| 青青伊人这里只有精品| 日本 欧美 亚中文字幕| 国内精品a| 97超碰9| 欧美精品,四区。五区| 青青11操操操操操操操操| 亚洲最新av无码成人精品区| 又黄又硬又粗又长国产视频| 亚洲日韩青青草色月| 日本色婷婷| 国产一级不卡在线观看| 69麻豆天美| 夜夜国自区| 久久天天躁日日躁狠狠躁 | 啊啊啊不要啊啊受不了了视频在线 | 蜜乳av一区二区| 欧美天天综合网版| 久久久久久少妇| 吉川爱美98堂在线| 99在线精品视频| 国产福利小视频高清在线观看| 色欧美亚洲| 青娱乐 青青青操 日逼| 狠狠做深爱婷婷久久二区| 操九九九九九九| 六月丁丁香| 大香蕉五月天| 色色色色日本| 亚洲日本激情| 成人午夜高潮av猛片| 97视频在线播放| 春色综合网| 1024精品在线| 日本黄色精品| 青草精品视频一日本久久久久网站| 久干网| 69久久久久久久久久久久久| laoshunv91| 亚洲中文字幕乱码无码一区二区| 亚洲美乱| 欧美三级一级| 啊啊啊操一区| 97九色人妻| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 天天干天天燥| 摸奶性爱视频网站在线免费播放| 日韩综合色图| 大香蕉中文| 国产亚洲色停停久久99精品91| 97伊人网| 草草草视频在线免费看| 综合激情二| 国产性爱在线视频一区二区| 成人性爱av.com| 在线啊v一区|