日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

基于SSH框架的花店管理系統(tǒng):JavaWeb畢設項目核心實踐解析

基于SSH框架的花店管理系統(tǒng):JavaWeb畢設項目核心實踐解析 簡介一套面向JavaWeb課程設計與大學生畢設場景的花店管理系統(tǒng)源碼包以SSHStruts2SpringHibernate整合架構實現網上花店前后臺核心功能商品分類展示、關鍵詞檢索、購物車下單、會員登錄以及管理人員對顧客、掌柜、鮮花和訂單的后臺維護并支持上傳鮮花圖片。壓縮包含75個文件含20個Java源碼、JSP頁面、XML配置、SQL數據庫腳本和properties環(huán)境配置另配PNG/JPG/GIF頁面素材與說明文檔整體約219KB目錄按源碼、配置、頁面、數據庫劃分便于快速定位。開發(fā)環(huán)境基于Eclipse、JDK1.7、Tomcat7與MySQL5數據庫包含顧客、經理、鮮花、類目、訂單五張核心表代碼按action、service、dao、model分層struts.xml與spring.xml等配置文件齊全適合作為畢設項目參考或SSH框架整合練習。已有215人學習瀏覽項目規(guī)模適中前臺數據展示、購物車結算與后臺訂單處理形成完整閉環(huán)對入門者理解JavaWeb分層開發(fā)與訂單流程有直接幫助。1. 花店管理系統(tǒng)一個基于JavaWeb與SSH框架的畢設項目到底能干什么判斷一個畢設項目值不值得下載我通常先看它的技術棧是不是「主流且完整」——這套花店管理系統(tǒng)正好踩在這條線上Spring3.1.1 Hibernate4.1.7 Struts2.3.4 的SSH組合配MySQL5和Tomcat7前臺是商品展示、分類搜索、購物車下單后臺是訂單處理、鮮花增刪改、圖片上傳。它覆蓋了JavaWeb課程設計里最常見的幾道大題框架整合、三層架構、文件上傳、購物車業(yè)務流。如果你是做畢設、課程設計或者想找一份能跑的JavaWeb前后端源碼來拆解數據庫表設計和框架配置這份資源值得仔細過一遍。提示項目自帶完整的前后端源碼和flower.sql數據庫腳本Eclipse導入即可運行但JDK、Tomcat、MySQL版本需要按項目要求對齊否則會遇到一堆兼容性報錯下面會逐個說清楚。適合人群很明確正在選畢設題目的在校生、需要JavaWeb項目案例參考的初學者、以及想看看SSH框架怎么把MVC分層落地的開發(fā)者。不適合用來做生產級系統(tǒng)——它就是一份學習性質的項目業(yè)務邏輯不復雜但勝在五臟俱全。2. 本地部署跑起來Eclipse JDK1.7 Tomcat7 MySQL5 的環(huán)境對齊2.1 環(huán)境版本為什么必須嚴格對齊很多人在這一步翻車根源不是項目代碼有問題而是環(huán)境版本和項目要求不一致。這個項目用的是Spring 3.1.1、Hibernate 4.1.7、Struts2 3.4這三個框架版本都是2012年前后的產物那時候的注解方式和API調用跟現在Spring Boot那套差別很大。你拿JDK8去跑部分舊框架版本輕則警告刷屏重則直接啟動失敗。JDK1.7是當時的主流版本Tomcat7對應Servlet 3.0規(guī)范MySQL5的默認存儲引擎是InnoDB字符集默認latin1——這些都是項目作者開發(fā)和測試時用的環(huán)境。我的建議是安裝包里該有的都配齊JDK1.7或1.8兼容模式、Tomcat7.0.x、MySQL 5.5或5.6、Eclipse版本用Eclipse EE的比如Kepler或Luna都行。2.2 數據庫初始化導入flower.sql的正確姿勢解壓項目后你會看到一個flower.sql文件放在根目錄。先啟動MySQL服務然后用命令行或者可視化工具把這份SQL導入。這里有個容易忽略的點項目要求數據庫編碼必須為utf8否則后面頁面顯示中文會亂碼。導入前先執(zhí)行幾條帶字符集設置的命令。CREATE DATABASE IF NOT EXISTS flower DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE flower; SOURCE D:/flower.sql;DEFAULT CHARACTER SET utf8指定數據庫默認字符集為utf8存儲中文不會變成問號。COLLATE utf8_general_ci排序規(guī)則ci表示大小寫不敏感中文查詢和排序都靠它。SOURCEMySQL命令行導入SQL腳本的命令注意路徑里的斜杠要寫成/Windows下用反斜杠會報錯。如果你用Navicat或SQLyog導入操作路徑是新建數據庫flower → 右鍵運行SQL文件 → 選擇flower.sql → 編碼選utf8。導入完成后檢查表是否齊全這個項目一共五張表customer顧客、manager經理、flower鮮花、category類目、shopcart訂單/購物車。注意shopcart表名起得比較特殊它既承擔購物車功能又記錄訂單信息后面第四章會細講。2.3 修改db.properties連接數據庫前必須做的配置項目里數據庫連接參數集中在src/db.properties文件里這是JDBC和Hibernate共用的配置來源。默認參數幾乎肯定跟你的本地環(huán)境不一致必須改。jdbc.drivercom.mysql.jdbc.Driver jdbc.urljdbc:mysql://localhost:3306/flower?useUnicodetruecharacterEncodingutf8 jdbc.usernameroot jdbc.password123456jdbc.driverMySQL驅動類5.x版本的驅動是這個路徑不要換成com.mysql.cj.jdbc.Driver——那是MySQL 8的驅動類名項目lib里沒那個jar。jdbc.url中useUnicodetruecharacterEncodingutf8這兩個參數必須保留它們是Java程序和MySQL之間中文不亂碼的前提。jdbc.username和jdbc.password改成你本地MySQL的實際賬號密碼默認是root/123456具體以你安裝時設定的為準。改完db.properties后打開文件如果看到亂碼用Eclipse右鍵該文件 → Properties → Resource → 將Text file encoding改為UTF-8。項目作者在readme.txt里專門提了這條坑。2.4 Eclipse導入與Tomcat部署的完整步驟打開EclipseFile → Import → General → Existing Projects into Workspace選擇解壓后的項目根目錄。導入后如果項目名旁邊有紅叉在項目上右鍵 → Properties → Targeted Runtimes勾選Tomcat7再把項目的Java Compiler級別改成1.7或1.8。# 確認Tomcat環(huán)境變量如果設了的話 echo $CATALINA_HOME # 在Eclipse Servers視圖添加Tomcat7右鍵項目 → Run As → Run on Serverecho $CATALINA_HOMELinux/Mac下驗證Tomcat路徑是否配好Windows用戶在環(huán)境變量里查CATALINA_HOME。Eclipse的Servers視圖里Add New Server選Apache Tomcat v7.0指向你本地解壓的Tomcat7目錄。Run on Server是Eclipse集成的部署方式內部會自動把項目打成war包放到Tomcat的webapps目錄并啟動。啟動成功后瀏覽器訪問http://localhost:8080/flower/看到主界面說明部署成功。前臺登錄用測試賬號 1/1后臺登錄也在管理入口處用相同的 1/1。如果訪問404檢查項目部署名是不是flower或者是端口沖突——Tomcat默認8080如果你的8080被占用改Tomcat的server.xml端口或者關閉占用端口的進程。3. SSH框架整合源碼拆解Struts2控制層與Hibernate映射的實現細節(jié)3.1 項目整體目錄結構與MVC分層定位這個項目在分層上是非常標準的SSH教科書式結構你打開源碼包會看到清晰的包路徑每一層都有自己的職責這也是它作為學習項目價值最高的地方。源碼包的核心結構如下action包存放Struts2的Action類也就是C層service包是業(yè)務邏輯層dao包是數據訪問層model包是Hibernate實體類也就是M層而WebContent目錄下的JSP頁面就是View層。action包CustomerAction、FlowerAction、OrderAction、FrontAction、ManageAction、BaseAction共6個控制類。service包對dao層進行封裝處理事務和業(yè)務規(guī)則如訂單庫存扣減。dao包BaseDao是泛型基類其他Dao繼承它減少重復的CRUD代碼。model包Flower、Customer、Manager、Category、Shopcart對應數據庫五張表。WebContentJSP頁面、CSS、圖片資源其中index.jsp是前臺首頁admin.html是后臺入口頁面。這種分層的意義在于如果你想改業(yè)務邏輯只動service層想換數據庫方言或查詢方式只動dao層要調整URL路由和參數接收只動action層和struts.xml?;ゲ桓蓴_這也是畢業(yè)設計答辯時老師最愛問的點——你只要把「三層職責分離」講明白這個項目的框架理解分就拿到了。3.2 BaseDao泛型設計為什么它是整個數據層的核心打開dao包你會發(fā)現五個Dao類都很薄核心邏輯全在BaseDao里。它用的是Hibernate的getHibernateTemplate()模板方法把CRUD操作做成泛型方法子類只需要指定實體類型就能用。這個設計是SSH項目里的經典做法也是值得你在答辯時展開講的重點。public class BaseDaoT { Resource private HibernateTemplate hibernateTemplate; public void save(T entity) { hibernateTemplate.save(entity); } public void delete(T entity) { hibernateTemplate.delete(entity); } public void update(T entity) { hibernateTemplate.update(entity); } public T get(ClassT clazz, Integer id) { return hibernateTemplate.get(clazz, id); } public ListT find(String hql, Object... params) { return hibernateTemplate.find(hql, params); } }ResourceSpring注入HibernateTemplate實例HibernateTemplate內部封裝了SessionFactory的獲取和釋放。save/delete/update對應Hibernate的持久化操作不需要手動開啟事務事務由Spring的聲明式事務管理見spring.xml中的tx:advice配置。find(String hql, Object... params)可變參數數組用于給HQL里的?占位符傳值比如find(from Flower where category_id ?, 1)。子類繼承方式比如FlowerDao extends BaseDaoFlower那么flowerDao.save(flower)調的就是BaseDao的泛型方法。這套設計的巧妙之處在于五個實體類共享一套CRUD代碼新增實體時只需要寫一個不加任何方法的Dao子類。當然代價是業(yè)務復雜后Dao會越來越臃腫——在這個項目里夠用也足夠你答辯時說明白「為什么用泛型基類」。3.3 struts.xml路由與Spring整合的關鍵配置Struts2的配置文件把URL請求映射到具體Action類而這個項目里Action的實例不是Struts2自己創(chuàng)建的而是由Spring容器管理。這就是SSH整合的關鍵Struts2只負責路由Spring負責注依賴??纯磗truts.xml里的核心配置。struts constant namestruts.devMode valuetrue / package namefront extendsstruts-default namespace/ action nameflower_* method{1} classflowerAction result namesuccess/flower.jsp/result /action /package package namemanage extendsstruts-default namespace/manage action namemanage_* method{1} classmanageAction result namesuccess/manage/index.jsp/result result namelogin typeredirect/admin.html/result /action /package /strutsstruts.devModetrue開發(fā)模式開啟修改配置文件不需要重啟Tomcat但對性能有影響生產環(huán)境記得關掉。constant namestruts.devMode valuetrue /啟用了devMode但你部署上線前一定改成false否則會暴露異常堆棧給終端用戶。action nameflower_* method{1}Struts2通配符映射flower_list會調flowerAction.list()方法flower_detail調detail()方法。classflowerAction用的不是全限定類名而是Spring容器里的Bean名稱——這個Bean在spring.xml里配置Struts2通過SpringObjectFactory去容器里取實例。關鍵點nameflower_*這種通配符風格要求Action方法名和URL規(guī)范對齊這也意味著你在新增功能時需要遵循約定不能隨意命名。答辯時老師會問「為什么二維碼能對應到方法」你把通配符和method屬性講清楚就過關了。3.4 spring.xml中的事務管理與Bean裝配spring.xml里做了三件事掃描并注冊action、service、dao的Bean配置Hibernate的SessionFactory指向db.properties開啟聲明式事務。事務配置是SSH整合里最容易出問題的環(huán)節(jié)。context:component-scan base-packagecom.flower / bean iddataSource classorg.springframework.jdbc.datasource.DriverManagerDataSource property namedriverClassName value${jdbc.driver} / property nameurl value${jdbc.url} / property nameusername value${jdbc.username} / property namepassword value${jdbc.password} / /bean bean idsessionFactory classorg.springframework.orm.hibernate4.LocalSessionFactoryBean property namedataSource refdataSource / property namepackagesToScan valuecom.flower.model / property namehibernateProperties props prop keyhibernate.dialectorg.hibernate.dialect.MySQLDialect/prop prop keyhibernate.show_sqltrue/prop /props /property /bean tx:advice idtxAdvice transaction-managertransactionManager tx:attributes tx:method namesave* propagationREQUIRED / tx:method nameupdate* propagationREQUIRED / tx:method namedelete* propagationREQUIRED / tx:method namefind* read-onlytrue / /tx:attributes /tx:advicecontext:component-scanSpring自動掃描帶有Component/Service/Repository/Controller注解的類注冊為Spring Bean。項目里的action、service、dao都用的是Controller、Service等注解不需要在xml里逐個聲明。LocalSessionFactoryBean的packagesToScan掃描model包下的Hibernate實體類自動生成映射前提是實體類帶有Entity注解。hibernate.show_sqltrue控制臺打印Hibernate生成的SQL語句調試時非常有用但生產環(huán)境要關掉。tx:method namesave* propagationREQUIRED /事務傳播級別REQUIRED意思是如果當前沒有事務就新建一個Service里以save/update/delete開頭的方法都會走事務。事務配置的核心理解HibernateTemplate的每次操作都在事務上下文中執(zhí)行Spring的tx:advice自動攔截service層以指定前綴開頭的方法并綁定事務。這能保證購物車下單時購物車記錄、訂單記錄、鮮花庫存三件事要么全部成功、要么全部回滾——這是電商類項目最基本的一致性要求。4. 購物車與訂單核心業(yè)務流從前臺加購到后臺處理的完整鏈路4.1 五張表的關聯(lián)關系shopcart表的設計值得細看這個項目的數據表設計不復雜但shopcart表很微妙。通常項目會把購物車和訂單拆成兩張表這里合二為一通過字段區(qū)分狀態(tài)??磒roject正文里的model包Shopcart.java同時承擔了這兩個職責這直接反映在業(yè)務代碼的實現方式上。表名字段角色說明customer顧客信息含登錄賬號密碼前臺登錄校驗manager經理信息后臺登錄校驗測試賬號與前臺相同category鮮花分類如玫瑰、百合、綠植前臺分類導航flower鮮花商品名稱、價格、圖片、庫存、所屬分類shopcart購物車/訂單關聯(lián)flower和customer含數量、下單狀態(tài)shopcart表本質上是一個關聯(lián)表外鍵指向customer和flower核心字段是數量nums和狀態(tài)標記。當用戶未結算時它是一條購物車記錄結算提交后狀態(tài)字段發(fā)生變化它就變成了一條訂單記錄。后臺經理看到的待處理訂單本質就是把這些狀態(tài)為「已提交」的shopcart記錄按顧客聚合展示。4.2 前臺加購到結算的代碼鏈路FlowerAction與OrderService的配合前臺用戶從商品列表頁點「加入購物車」開始會經歷一次典型的SSH三層數據流JSP頁面發(fā)起請求 → Struts2攔截到URL匹配FlowerAction方法 → FlowerAction里調OrderService → OrderService里調OrderDao → Hibernate執(zhí)行數據庫操作。把這條鏈路的代碼拆開看你就知道SSH項目里一次完整操作長什么樣。// FlowerAction.java - 前臺加購的入口 public class FlowerAction extends BaseAction { private static final long serialVersionUID 1L; private Flower flower; private FlowerService flowerService; private OrderService orderService; public String addCart() { HttpSession session ServletActionContext.getRequest().getSession(); Customer customer (Customer) session.getAttribute(customer); if (customer null) { return login; // 跳轉到登錄頁面 } // 創(chuàng)建購物車記錄關聯(lián)當前顧客和所選鮮花 Shopcart cart new Shopcart(); cart.setCustomer(customer); cart.setFlower(flower); cart.setNums(1); cart.setStatus(0); // 0表示購物車未提交 orderService.addShopcart(cart); return success; } public String submitOrder() { HttpSession session ServletActionContext.getRequest().getSession(); Customer customer (Customer) session.getAttribute(customer); orderService.submitOrder(customer.getId()); return success; } }ServletActionContext.getRequest().getSession()在Struts2里拿到HttpSession的標準方式用來獲取當前登錄顧客的信息。customer null判斷用戶是否登錄未登錄返回login結果由struts.xml映射到登錄頁——這是「游客不能下單」的邏輯防線。cart.setStatus(0)狀態(tài)碼是關鍵設計。0是購物車狀態(tài)用戶提交訂單后狀態(tài)改為1后臺看到的「待處理訂單」就是status1的記錄。orderService.submitOrder(customer.getId())一次調用把該顧客所有status0的記錄置為status1實現批量結算。這里注意Action里的flower字段是Struts2通過setter自動注入的前端參數。JSP頁面提交的flower.id會直接綁定到這個對象的id屬性前端表單字段名和后端實體屬性必須對應這在SSH項目里是隱式約定寫錯了頁面報錯還不好排查。4.3 OrderService事務處理一次下單涉及三張表下單不只是改shopcart表的狀態(tài)還要扣減鮮花庫存和校驗庫存是否充足。這步跨表操作是整個系統(tǒng)里事務需求最強的業(yè)務點Service層的注解把事務邊界控制住了。// OrderService.java - 提交購物車為訂單的核心事務方法 Service public class OrderService { Resource private OrderDao orderDao; Resource private FlowerDao flowerDao; Transactional(propagation Propagation.REQUIRED) public void submitOrder(Integer customerId) { ListShopcart cartList orderDao.findCartByCustomerId(customerId); for (Shopcart cart : cartList) { // 加鎖查詢當前鮮花記錄避免超賣 Flower f flowerDao.get(Flower.class, cart.getFlower().getId()); if (f.getStock() cart.getNums()) { throw new RuntimeException(庫存不足); } f.setStock(f.getStock() - cart.getNums()); flowerDao.update(f); cart.setStatus(1); // 標記為已提交訂單 orderDao.update(cart); } } }Transactional(propagation Propagation.REQUIRED)聲明式事務注解方法內全部數據庫操作在同一個事務里執(zhí)行任何一步拋異常都會全量回滾。flowerDao.get(Flower.class, cart.getFlower().getId())按id查詢鮮花取最新的庫存數據。f.getStock() cart.getNums()先檢查庫存再扣減這是防止超賣的第一道防線。因為這個項目沒有用悲觀鎖或樂觀鎖并發(fā)高時仍有風險學習階段夠用。cart.setStatus(1)把購物車記錄標記為訂單這是訂單狀態(tài)流轉的唯一開關。這段代碼是答辯時最能展示你理解深度的素材。老師問「并發(fā)場景下會不會超賣」你既能說出當前方案的問題也能說出改進方向給Flower表加樂觀鎖版本號或悲觀鎖select ... for update比只會背概念強得多。4.4 后臺訂單管理ManageAction里如何處理待辦訂單后臺經理登錄admin.html之后看到的訂單列表就是所有status1的shopcart記錄。ManageAction里的處理方法把你的注意力帶到一個細節(jié)——后臺和前臺操作的是同一張表區(qū)別只在查詢條件上。// ManageAction.java - 后臺訂單處理 public String listOrders() { ListShopcart orders orderDao.findOrdersByStatus(1); MapInteger, ListShopcart grouped new HashMapInteger, ListShopcart(); for (Shopcart cart : orders) { Integer cid cart.getCustomer().getId(); if (!grouped.containsKey(cid)) { grouped.put(cid, new ArrayListShopcart()); } grouped.get(cid).add(cart); } ServletActionContext.getRequest().setAttribute(grouped, grouped); return success; } public String completeOrder() { Integer id Integer.parseInt(ServletActionContext.getRequest().getParameter(id)); orderDao.updateStatus(id, 2); // 2表示已完成 return success; }findOrdersByStatus(1)只查已提交未處理的訂單狀態(tài)2是已完成狀態(tài)0是購物車中。MapInteger, ListShopcart grouped把同一顧客的訂單聚合在一起頁面表格上顯示為一個訂單整體底層還是散列的shopcart記錄。updateStatus(id, 2)把單條記錄狀態(tài)改為2實現訂單完成操作。這里粒度是每個購物車記錄所以一次下單多件商品后臺逐條確認完成。從這個設計能看出項目的簡化策略不對訂單主表和訂單明細表做拆分直接復用shopcart。好處是表少、邏輯直接學習成本低壞處是統(tǒng)計維度單一不能做優(yōu)惠分攤、收貨地址、物流追蹤這些擴展。做畢設答辯時你如實說明這個取舍就行。5. 避坑指南數據庫編碼、配置文件與亂碼問題的四個實戰(zhàn)排錯5.1 坑一db.properties打開亂碼或讀取亂碼現象Eclipse里打開db.properties文件中文注釋全部變成亂碼程序啟動時數據庫連接報錯。原因Eclipse默認的文本文件編碼是GBK中文Windows環(huán)境或ISO-8859-1而項目作者保存properties文件時用的是UTF-8。編碼不一致讀取自然出錯。解決右鍵db.properties → Properties → Resource → Text file encoding選UTF-8。同時確認spring.xml里讀取properties文件的bean配置沒有額外聲明編碼。load-time編碼由Eclipse決定運行時讀取properties文件用的是Properties類默認按ISO-8859-1讀取——如果你的properties文件里有中文注釋最好把關鍵配置都寫成純ASCII字符或去掉中文注釋。從那以后我每次新建properties文件先統(tǒng)一Eclipse工作空間的默認編碼為UTF-8避免同類問題在多個文件上重演。5.2 坑二頁面中文全部顯示為問號現象首頁和商品列表能打開但所有中文文字都顯示成「???」后臺數據也是問號。原因數據庫/表/表的列字符集不是utf8或者JDBC連接串沒帶characterEncodingutf8參數。項目readme里也提醒了——數據庫默認編碼必須為utf8。解決分三步排查。第一步SHOW CREATE DATABASE flower檢查庫的字符集。第二步SHOW TABLE STATUS FROM flower檢查表的字符集。第三步SHOW FULL COLUMNS FROM flower檢查列的字符集。某一張表不是utf8就單獨轉換ALTER TABLE flower CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;CONVERT TO CHARACTER SET utf8把一整張表所有文本字段的字符集和排序規(guī)則都改成utf8比逐列修改省事。這一步不用重啟Tomcat改完重新刷新頁面中文就正常了。如果你的db.properties里characterEncodingutf8沒配再加上再重啟Tomcat。5.3 坑三Tomcat啟動報ClassNotFoundException或NoSuchMethodError現象Eclipse啟動TomcatConsole里報ClassNotFoundException: org.springframework.web.context.ContextLoaderListener或NoSuchMethodError。原因項目的lib目錄下jar包與本地Tomcat或JDK版本沖突。最常見的是Spring版本和Tomcat自帶的類庫沖突或者是lib缺包——比如fileupload相關的jar丟失會導致上傳功能ClassNotFound。另外JDK8環(huán)境下跑Spring3.1.x也可能出現NoSuchMethodError因為部分字節(jié)碼操作庫版本太老。解決先檢查項目lib目錄完整性確認有spring-web、spring-webmvc、struts2-spring-plugin、hibernate4-core這些核心jar。再確認Tomcat運行使用的是JDK1.7或1.8Eclipse的Server配置里Runtime Environment可以指定。如果確認lib完整還是崩潰最省事的方法是換Tomcat7 JDK1.7重試這個組合是項目作者驗證過的。5.4 坑四上傳鮮花圖片失敗或圖片路徑404現象后臺添加鮮花填寫表單、選擇圖片提交后提示失敗或者添加成功后前臺商品圖片顯示成裂圖。原因文件上傳成功后保存到了本地某個磁盤路徑但前臺JSP頁面用img src/upload/xxx.jpg引用的是項目部署路徑下的資源兩者不一致。Struts2的fileupload攔截器默認限制文件大小為2MB圖片稍微大一點就報錯。解決優(yōu)先選小體積圖片測試10KB~500KB的jpg或png如果仍有問題檢查struts.xml里的上傳常量constant namestruts.multipart.maxSize value10485760 /10485760是字節(jié)數即10MB把默認的2MB上限擴大五倍。上傳成功后查看項目里設置的uploadPath通常在配置類或properties里確認保存路徑和引用路徑一致。常見做法是保存到WebContent/upload/下引用時用相對路徑upload/xxx.jpg這樣Tomcat部署后路徑不丟。另外確認FlowerAction里處理upload的代碼在保存時給文件名加了隨機前綴不然用戶上傳兩個同名文件會互相覆蓋。6. 功能驗收清單與二次開發(fā)把畢設項目改造成能演示的作品6.1 拿一張表逐項核對九項功能驗收下載后跑通不代表項目就是你的了你需要按功能逐項驗收每一項都做一遍確認自己理解業(yè)務流。我整理一張驗收清單你照著走一遍比看十遍源碼都有效。功能模塊驗收操作預期結果商品展示前臺首頁打開按分類展示鮮花列表圖片正常加載分類搜索點擊「玫瑰」分類只顯示玫瑰類鮮花商品詳情點擊某束鮮花跳轉詳情頁顯示完整信息游客訪問購物車不登錄點「加購」被攔截跳轉到登錄頁用戶登錄輸入1/1登錄成功session寫入customer加入購物車登錄后加購shopcart表新增status0記錄提交訂單購物車頁點結算庫存扣減shopcart記錄status變?yōu)?后臺訂單管理用1/1登錄后臺看到已提交訂單可改為完成狀態(tài)后臺增刪改鮮花后臺添加鮮花上傳圖片新鮮花出現在前臺列表每一項都過一遍之后你基本就能畫出整個系統(tǒng)的數據流和界面跳轉關系。這會讓你在答辯時面對「講講你的系統(tǒng)有哪些功能怎么實現的」這種大而泛的問題時有話可說而且講得清楚。6.2 畢業(yè)設計答辯加分低成本做三個增強很多人拿到項目以后直接提交換了但這恰恰是答辯容易掛掉的原因——老師對代碼的運行邏輯問兩句就露餡了。我做這行這么多年建議你最少做三個小增強成本很低但答辯效果立竿見影。第一個增強是注冊功能。項目原版只有登錄沒有前臺注冊你可以在CustomerAction里加一個register()方法在JSP加注冊頁在CustomerDao里加一個findByUsername()做重名校驗。這能展示你對注冊流程的完整理解——表單校驗、唯一性約束、密碼存儲。第二個增強是搜索關鍵字功能。FlowerDao里加一個HQL模糊查詢from Flower where name like ?前臺加一個搜索框。這里你還可以順帶講一下Hibernate的HQL預編譯防SQL注入原理——這是個很好的答辯亮點。第三個增強是頁面美化。原版JSP頁面其實很樸素你把CSS改一下、把頁面布局調整成現代風格整個項目的觀感能上個檔次。前端用到的技術還是純JSP HTML CSS不需要引入框架成本低且安全。// CustomerAction.java - 注冊功能增強代碼 public String register() { Customer c new Customer(); c.setUsername(username); c.setPassword(password); // 檢查用戶名是否已存在 Customer exist customerDao.findByUsername(username); if (exist ! null) { return error; // 用戶名重復 } customerDao.save(c); return success; }username和password是Struts2從注冊表單里自動setter注入的字段與JSP表單的input name屬性一一對應。findByUsername(username)是增強內容在CustomerDao里寫一條HQLfrom Customer where username ?返回null則表示該用戶名可用。密碼存的是純文本你可以在答辯時主動說這個安全缺陷以及改進方案MD5或BCrypt加密你會發(fā)現老師非常吃這一套——主動暴露并分析安全問題比被動回答加分不少。6.3 把別人的源碼變成自己的項目還差一步注釋與梳理最后一步也是我最推薦你做的事寫一份「項目說明文檔」。不用很正式但要把關鍵點記錄清楚——數據庫每個表是干什么的、哪些方法負責什么功能、訂單狀態(tài)流轉的數值含義、配置了哪些框架常量。這份文檔我不建議寫到項目代碼里單獨放一個Notion或Word文檔就行。從哪里開始建議順序是先讀flower.sql看表結構和表關系再讀model包看實體映射然后按一條業(yè)務流從頭到尾追代碼加購 → 結算 → 扣庫存 → 后臺處理。這條鏈路走通再回頭補充理解登錄、注冊、后臺增刪改等其他模塊。做完這套動作你再回答「這個項目你熟不熟」的時候就有底氣了。從那以后我每次下載開源的畢設項目都強制自己走一遍「對照數據庫理表關系 → 按業(yè)務鏈路追三層代碼 → 把理解寫進筆記 → 再動手改一個功能」的流程。這四個步驟走完看似是別人的源碼實際成了自己的彈藥。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
丝袜综合| 96久久久久久久| 欧美成人性爱视频免费观看| 97精品视频| 日韩精品9999| 18一区二区三区| 999亚洲国产视频| 亚洲综合电影| 久久欧美按摩999| 操人91| 中文字幕欧美丝袜07资源| 欧亚久久偷拍视频| 中文字幕视频一区视频二区| 东京太热久久久| 精品午夜福利国产一区二区在线观看| 亚洲成人贴图| 超碰导航97| 99色婷婷中文字幕乱色| 伊人大香蕉在线| 日韩av在线播放不卡| 欧美巨大性舒爽顶到了| 竹菊一区二区三区AV线| 国产精品另类| 偷拍欧美亚洲| 日本熟妇精品九九| 激情婷婷丁香| 中文字幕女同在线| 天堂综合| 男人天堂最新手机版在线青青草| 动漫片子网站3黄| 91在线无码精品秘 软件| 欧美日韩电影成人在线| 天天视频网站黄| 亚洲欧美日韩中文播放| 97在线资源| 亚洲另类色图片| 超碰在线成人| 333kkkk·亚洲com久久| 天天操天天舔| 大香蕉黄色一区| 国产 亚洲 丝袜 制服| 国产精品日韩在线一区| 天天日天天操天天射河南省| 国产人人干| 亚洲综合草草| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 怡红院久久老司机| 中文字幕国产在线天堂| 美女午夜福利免费视频| 中文字幕乱在线伦视频中文字幕乱码在线| 日本东京热加勒比久久| 黑丝少妇在线观看| 欧美国产日韩清纯唯美| 五月开心网| 天天综合,91综合永久| 久草婷婷| 中文一区二区婷婷视频| 99精品免费| 天美国产精品| 91成人国产综合久久精品蜜月| 超AV色女| 中文字幕欧美日本乱码一线二线| 97视频新免费| 夜夜爽夜夜操| 18禁中文字幕| 国产一区二区三区影片| 激情AV| 歐美一級亂黃99在綫精品| 女色视频社区| 97爱b| 大逼色网站| 国产家庭乱伦表演| 日韩精品黄片免费观看| 亚洲色天堂日韩中| 蜜臀色乳| 成人三级片一区二区三区视频| 亚洲欧美日韩制服另类| 乱伦图一区| 激情一区二区三区在线观看| 中文字幕午夜精品久久久| 亚欧洲日韩国产精品| 97在线免费视频| av亚欧| 亚洲国产成人精品无码专区| 欧美日韩99精品麻豆传媒| 亚洲精品欧洲精品| TS人妖另类精品视频系列| 性爱网站一区二区| 99操碰| 亚洲91大片| 玖玖综合网| 国产熟女完整版中字| www99热| 国产精品国产| 日本三级A片网站com| 亚洲丝袜色| 九九av| 三级日本一区二区三区| 天天综和| 免费国产视频| 欧美另类综合久久| 亚洲清纯唯美| 园内精品自拍视频在线播放| 欧美精品999| 涩涩久久精品| 波多野42部无码喷潮在线观看| blacked精品一区国产| 99婷婷| 久久骚| 97色97干| 天色综合网| 一本色道熟妇| 无码在线亚洲| 人伦四五区| 人人看人人插| 亚洲综合性网址| 久热影视| 日韩精品人妻中文字幕有码午| 久久风骚城市人| 自拍大香蕉乱插| 丝袜无码a片| 成人精品无码| 亚洲伊人久久精品狠狠在线| 欧美精品三区| 情色AV电影| 欧美天天综合网| 亚洲精品丝袜-不卡成人免费……| www久久精品| 国产92麻豆天美精品色欲5| 欧亚成人在线视频| 成人三一级一片aaa| 丝袜色综合| 亚洲中文一区二区三区| 欧美78| 91色人妻| 蜜臀AV成人精品蜜臀| 国产一区二区三三视频| 嗯嗯啊在线视频| 97超碰中文在线| 男人的天堂啪啪啪啪啪蜜桃不卡| 最新日本中文字幕| 男人的天堂在线| 一线黄色免费性爱片| 中文字幕人妻色偷偷久久皮 | 8x福利精品第一福利视频导航| 男人的天堂2018.| 一级片在线观看高清无码| 久插不卡| 一色网男人的天堂| 日韩偷拍一区二区三区| 日日干男人的天堂| 色9999日韩国产| 2017天天插| 97超级久久强资源| 国产精品探花视频| www.男人的天堂| 91狠狠色丁香婷婷综合久久精品| 精品久久久久久中文字幕三区| 天天综合网~91综合网| 95精品在线| 尤物视频视频官网| SUV一区二区在线看| 婷婷五月综合在线| 亚洲无码 国产无码| 蜜臀精品1区2区| 激情综合网五月婷婷五月天| 999久久久九九九九| 920日本午夜免费| 日韩性爱1级片视频| 久久这里只精品| 欧美少妇大量自拍视频在线观看| 1024人妻熟女一区二区三区| 国产精品国产亚洲区艳妇糸列| 欲射影视| 蜜色网色哟哟| 亚洲最大的综合性av| 国产97免费视频| 91精产一区二区三区| 丁香六月婷婷综合| 国产精品无码久久久久2028| 欧美日韩国产成人高清| 久9无限国产| 丝袜视频一区二区在线播放国产中文| 色色色综合| 淫荡少妇免费| 午夜美女诱惑电源网| 欧洲中文字幕| 丁香五月性爱| www.av在线观看| 中文字幕三四区| 国产日产欧产美韩系列麻豆免费| 精品无码人妻一区二区免费蜜桃| 水澄无码AV| 国产精品成人无码a v毛片| 精品免费视频国产一区| 麻豆 美女 丝袜 人妻 中文| 国产精品久久久九九九| 日韩无码AB| 伊人影院在线理论播放| 婷婷色网| 免费观看欧美日韩操逼视频| 日韩另类| 青青伊人这里只有精品| 国产精品久久久久久久黄无码| 亚洲男人电影天堂| 夫妻天天操岛国视频| 啊啊啊啊啊好多水| 青青草公开在线免费不卡视频| 男生女生啊啊啊啊| 久久一本大香蕉 | 天天干一区二区| 少妇超碰在线| 天天综合精品| 欧美日韩性感| 欧美最婬乱婬爆婬性视频| 九九热免费视频| 91一起操| 美国美女AV在线| 又黑又大又粗| 青青草视频这里只有精品| 天美国产三级传媒| 日韩三级网址| 精品国产99| 四虎在线播放| 久久宗合97| 丝袜美腿91| 舔足天天操天天射| 日韩极品无码B| 日韩视频精品在线观看| 性色生活片久久毛片婬片免费放女人一级毛片| 日本激情免费大片| 另类欧美色| 九久精品| 99久久精品无码一区二区毛片免费| 热热色青青草| 久久精品一区二区| 久久久精品中文字幕爱豆| 激情熟女12P| 91社操逼| 色婷婷导航| 偷拍欧美激情| 丰满精品人妻少妇久久字幕| 99福利社| 黄色免费一级在线毛片| 欧美一级久久久久久久大片动画| www超碰| 国产传媒美日韩av| 玖玖无码超碰| 人人摸.人人色| 亚洲各类熟们中文字幕| 色爱欲亚洲| 啊啊啊啊啊啊啊啊啊在线观看| 美女t无毒不卡不卡| 97超碰9| 91熟女视频| jizzjizz欧美| 在线天堂999| 国内精品不卡无毒99999| 亚洲妇色| 91老熟女| 丁香九月激情啪| 久久最新免费视频23| 麻豆精品天美| 亚洲资源一区| 天天搞在线综合网| 熟妇熟女一区二三区| 日本高清熟女久久一区| 国产成人五月天丁香花| 国产精选三级在线观看| 啊啊啊啊啊啊啊好爽不要| 夜夜免费视频| 欧美顶级黄片AAAAA在线免费看| 天天综合,91综合永久| 影音综合网| 日本高清视频在线观看黄已三辽| 九九综合久久中文字幕| 92午夜免费福利视频| 日本女厕偷拍| 欧美色图20p| 日本一区二区三区午夜观看| 嫖老熟女A片一二三区| 人妻精品视频一区二区三区| 老女人老91妇女老热女| 夜夜爽夜夜高潮夜夜爽| 97色在线| 国产精品伦理| 精品少妇人妻av久久免费| 久久嫩草国产成人一区| 超碰欧美COM| 午夜一区二区三区国产| 色偷偷色偷偷欧美日韩| 性色AV网站| 黑操B| 日本男人天堂| 婷婷五月天网| 乱伦熟女论坛| 吉田爱美AV在线| 91狠狠综合网| 欧美高潮在线| 亚洲春色欧美激情自拍| 国产欧美一区二区| 看免费的黄片| 97干天天| 人人操,操人人| 欧美 综合 亚洲| 欧美日韩啪啪电影| 国产精品视频播放| 精品日韩人妻视频| 骚货| 久久蜜桃综合网| 国产日韩精品suv| 强奸少妇AV导航网| 色综合久久av| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 日韩一区二区精彩视频| 亚洲、日韩、综合、另类| 亚洲无 码A片在线观看麻豆| 91视频观看网站| 亚洲不卡三级手机播放| 日日夜夜国产综合| 精品区国产区一区二区三区| 少妇激情AV| 在线黄页看毛片| 亚洲自拍97| 亚洲日本韩国极品一区二区| 一区操逼| 久久大香蕉97| 天天色综合图片| 肏逼视频日本| 熟女久久久| www.色操逼| 狠狠爱大香蕉| 中文97国产| 国产成人精品日本亚洲语言| 国产馆| 白丝1区2区3区| 亚洲欧美综合区自拍另类 | 亚洲日韩美国人妻| 神马久久久久久久久| 激情综合色| 激情五月天插| 人妻丝袜肏逼| 日人妻视频91| 久久国产免费激情视频| 色色激情| 国产女人高潮嗷嗷嗷叫小说| 精品人妻一区二区三区在| 九九热男人天堂| 免费a v| 最新中文字幕精品在线| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 久久久久久久97| 色天堂综合| 亚洲无无码αⅴ每日更新| 美女黄色91| 天天做天天爱天天爽AV| 亚洲.欧美.丝袜.中文.综合| 亚洲最大成人a毛毛片| 啊啊啊啊好疼| 久久熟女精品不卡一区| 一道本东京热加勒比一区二区三区 | 99这里只有精品| 岛国毛片在线观看免费| 性感美女91影视| 国产精品久久久久久久久久久久久久久久| 亚洲欧洲偷拍一区| 婷婷五月天伊人| 欧美 日韩 亚洲 春色| www.91视频网| 久久久久久久精| 国产AV线| 天天情欲宗合网| 亚洲一区二区 麻豆传媒| 精品国产一区二区三区av在线资源| 亚洲一区在线观看欧洲| 精品国产Av无码久久久伦古装| 久久久一区二区| 日本精品不卡一二三区| 一级特级aaaa毛片免费观看 | 亚洲欧洲自拍图片专区满春格| 青草精品视频一日本久久久久网站| 中文字幕视频免费| 丁香婷婷激情五月天无毒不卡| 极品白嫩福利在线| 色嘟嘟人妻天堂网| 日韩精品99999| 99热18| 国产一级黄色片在线观看| 亚洲一区日韩精品中文字幕 | 国产中文精品一区二区在线观看| 亚洲欧美高清无码| 欧 美 自 拍 偷 拍| 人妻少妇久久中文字幕一区二区 麻豆 | 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 丝袜美腿诱惑亚洲欧美视频在线观看| 特级丰满少妇一级AAAA爱毛片| 成人八戒网站| 精品伊人久久久大香线蕉小说| 欧美性爱第一区| 乱论91| 日韩精品人妻一| 久久免费99精品久久久久久| 亚洲最大成人a毛毛片| 欧美一级黄片视频在线| 超碰人人操97碰| 亚洲一欧洲中文字幕在线| 嗯啊视频免费在线观看| 国产久久av| 精品人妻免费观看| 大香蕉专区| 激情五月天社区| 人妻嗯啊啊在线播放| 色婷婷丁香五月| 91 手机在线播放 绯色| 中文字幕久久精视频久久大全| 最新精品久久蜜桃| 操老熟女AV| 午夜一区| 欧美偷拍区| 天美麻花大全视频| 另类图片五月| 蜜桃狠狠色伊人亚洲综合 | 麻豆熟妇乱妇熟色A片在线看| 久久精品熟妇丰满人妻99| 男女啪啪网站免费视频| AV和黑人在线播放| 九九九九久久久| 熟女色图在线| 国产精品老熟女一区二区| 97超碰热线| 国产外初女出血视频| 搡老女人老熟女91老熟女综合网| 国产精品午夜福利亚洲综合网| 日韩性爱1级片视频| 色婷婷久久| 加勒比AV网| 欧美亚洲韩国视频十五区| 天天看夜夜看日日干| 色呦呦呦在线观看视频| 国产麻豆一级精品视频| 18禁久极品美女久久哦哟呀!| 亚洲区 欧美区| 97精品熟女少妇一区| 日本99久久| av麻豆啪啪| dy888午夜老子影视达达兔| 95自拍视频在线观看| 婷婷久久久| 国产精品久久久九九九| 亚洲成人贴图| 91社操逼| 一区二区三区色综合| 大香蕉中文网| 亚洲第一综合| 97视频新免费| 精品人成视频在线观看| 色色热| 精品九九淫乱男| 一区二区三区高清| 精品在线观看视频在线| 色色色色色色色色综合| 久久久久久久免费A片国产成a人亚洲精∨品无码| 变态乱伦伪娘灌肠一区二区| 天堂伊人久久| 91狠狠| 日韩偷拍色图| 超碰诱惑| 午夜免费福利视频一区| 欧美亚洲清纯| 日本国产欧美高清在线| 久久中日麻豆| 91精品女厕偷拍视频| 国产久久久9999| 东京热男人的天堂| 蜜桃久久久久久| 伊人骚琪琪亚洲天堂网站| 婷婷五月天福利| 亚洲素人综合| 日韩人妻 中文字幕| 国产视频大全| 艹比视频国产精品| 中国91AV| 红杏大香蕉| 色与欲影视| 日本天堂网| 国产午夜在线观看| 自拍视频大全亚洲专媒视频/一区二区三区 | a一区二区三区乱码在线| 97超碰资源网| 在线免费观看日韩一区| 国产精品久久久久久久久久久久久久久久 | 久久久无码精品人妻二区 | 亚洲国产精品无石码久久| 丁香成人五月天| 3级毛片一二| 精品国产乱码久久久久久久久1| 欧综合网| 日本青青草在线| 日B操| 久久精品国产久精国产| 噜噜噜无码AV一级一级久久影院| 欧美成人精品一区| 久久久啊啊| 午夜影美女日鸡鸡天天视频国产| 精品丰满熟妇人妻一区| 性吧在线视频| 色97干| 欧美老妇综合网| 艹精品| 97久久超碰日韩精品| 亚洲欧洲综合视频在线| 男人的天堂2019| 丝袜综合色图| 成人精品在线观看| 亚洲AV成人精品网站在AV| 欧美在线l亚洲| 91久久婷婷| 2024黄色视频| 国产熟码AV| 精精夜夜| 日本成人电影资源网| 亚洲丝袜综合| 欧美性天天影院| 亚洲AV操| 精品无码一区二区三区| 国模久久在线| 无码视频一区二区| 日本大片日本一区二区免费高清| 亚洲熟伦熟妇AV无码春色| 97在线播放 | 国产精品操| 日日夜夜模| 色婷婷影院| 肉嘟嘟www视频在线观看高清| 9久久精品| 在线视频一区二区传媒| 亚洲天天艹| h无码动漫在线观看| a片自拍直播视频| 少妇精品久久久八区九区| 日本不卡码黄色| 亚洲无码99| 亚洲成人一区二区精品| 九九九九九九视频免费| 伊香蕉综合久久久久久久噜噜噜 | 好吊色综合| 亚洲天在线| 一二三四视频在线社区中文字幕| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 青青青在线高清视频在线一二三四区 | 亚洲欧美激情小说| 9999久久久久| 亚洲91大片| 国产乱弄免费在线视频。| 99啪| 亚洲综合小说另类图欧美视频激情小说色五月天 | 一二三四视频在线社区中文字幕| 中文字幕精品丝袜| 青青草视频这里只有精品| 欧美亚洲日本视频久久久| 韩日性爱av| 久久亚州精品成人Av无| 五十路六十路素人熟女| 国产无马在线| 九九九热| 成人av在线播放| 天天影视色香欲综合网小说| 午夜舔阴达高潮视频免费看| 九九热AV| 国产精品人妻无码久久久老鸭窝| 国产毛片片精品天天看视频| 亚洲av青草久久一区二区| 神马久久久久久| 人妻三级在线中文字幕| 超碰色综合| 亚洲国产成人7777| 特级特黄一级毛片免费| 日韩在线国产字幕| 日本人妻中文字幕精品| 久操操AV电影| 欧美东京热精品A∨| 亚洲 欧美 手机在线观看| 欧美日本不卡在线| 人妻夜夜爽天天爽麻豆三区网站| 欧美美女啪啪视频| 大稥蕉免费视频这里只有精品| 亚洲综合在线高清| 亚洲人妖网| 欧美亚洲涩涩| 日韩一卡二卡三卡| 精品人妻一区二区三区在| 岛国福利在线精品播放| 亚洲精美粉嫩嫩泬在线观看| 在线观看色视频| 五月天婷婷欧美三区| 欧美老熟另类| 亚洲情色综合网| 婷婷午夜清品久久久久久久性色视频观| 日本一二三免费久久| 久久狠狠色噜噜狠狠狠狠97| 男女做爰猛烈动高潮A片免费应用| 黑人操一区二区| 超碰免费在线| 中文字幕片| 欧美亚洲清纯| 无码高清操逼| 1024日韩| 日本999精品| 在线天堂资源亚洲| 操逼逼一区视频| www.人人cao| 国产精品久久久视频| 999九九精品| 思思热在线视频免费| 深夜国产一区二区三区在线看| 2020视频1区2区3区| 91爱看| 美女高潮国产高清| 精品在线观看视频在线| 久久综合日韩亚洲欧美| www欧美91| 亚洲精品毛片在线观看| 久久免费精彩视频| 另类图片五月天| 国产91影院| 青青草日韩无码| 丰满丝袜少妇AV| 欧美天天搞| 在线啊v一区| 又黄又粗又硬又长又大| 国产熟女精品一区二区| 天天色播| 欧美在线亚洲| 免费作爱一级视频| 日本 免费 一区二区三区 久久香蕉| 亚洲成人ab| 亚洲精品日日夜夜52| 免费超碰97久久| 色吧5亚洲| 激情五月综合网| 国产精品另类一区大香蕉| 一本一道波多野毛片中文在线| 午夜欧美J进J出白浆流出久久久 | 色yeye成人免费视频| 欧美色图私拍91| 欧美不卡五十路| 欧美色偷拍| 九九九九亚洲| 天天舔天天 | 视频二区美腿丝袜制服人妻欧美 | 日本性爱少妇| 97热视频在线观看| 在线人人人人人人精品超| 中文字幕78| 国产探花精品在线| 天操老女人| 中文色综合| 无码久| 噜噜噜在线视频| 97精品97久久| 中国女人内射6XXXXX| 91女优在线观看 | 亚洲一卡2卡3卡4卡乱码网站| 91爱看| 一牛影视成人片免费| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 五十路二区在线| 久久久精品中文字幕爱豆| 亚洲第一页欧美| 精品无码久久久久久国产浪潮| av亚洲天堂资源网站| 久久av一级av少妇av高潮| 日本新免费二区三区| 国产丝袜美女在线一区| 欲射影视| 蜜乳AV网址| 亚洲91色| 色婷婷蜜臀av| 人人透人人操| 天天肏视频| 久久999久| 国产精品无码论坛| 欧美日综合| 一二三啪啪专区| 国产乱伦性爱区| 一二区在线观看视频| 五月天色图| 美欧色综合| 97综合日韩| 日韩免费大片一级播放| 青青久久艹| 色天使大香蕉| 久热久| 精品人妻免费观看| 亚洲精品一二三四区| 国产av波波国产精品| 青青草原成人| 97综合日韩| 免费看欧美美女黄色大片| 翔田千里AV无码秘 三区| 磁力99AV| 中文字幕亚洲永久精品| 啊啊啊啊网站| 精品无码久久久久| 人妻久热在线| 蜜乳AV网址| 91大神精品长腿在线观看网站| 啊啊啊要高潮了| 欧美人妻精品一区二区| 99无码| 亚洲综合性网址| 天美av在线观看| av午夜影院在线播放| 中文字幕av亚洲精品| 97av,com| 五月婷婷激情网| 乱伦图一区| 欧美高清第一页| 色婷网| 日韩Va亚洲va欧美Ⅴa久久| 亚洲最新Av| 色欲久久99精品久久| 区一二区日韩亚洲乱码av电影| 天天操天天舔| 温婉少妇玩3p| 欧洲黄色网| 国产热av| 91久久国产综合精品| 午夜精品久久久久久久男人的天堂 | 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 久插不卡| 天天摸天天插天天日| 人人干人人操人人..com| 被男人添B超爽视频| 搡老女人老91妇女老熟女| 97干在线视频| 欧美性少妇| 一卡二卡在线播放| 国产视频小说| 蜜桃精品视频一区二区三区| 久久精品视频在线观看| 99热在线不卡| 看黑丝美女操逼青青网站| 日韩成人性爱电影在线播放| 国产黄片在线免费观看| 91丨九色丨国产丨人妻在线 | 国产精品自产拍在线观看社区| 嫩草影院在线观看精品| 搞中出久久| 天天做天天爱夜夜爽毛片试看| 婷婷色综合欧美日韩| 亚洲欧美在线丝袜| 91情色| 青青草中文字幕| 色吧5亚洲| 亚洲爽图| 国产av色网| 国内97干免费看| 亚洲91网站| 加勒比伊人综合| 蘋果手機免費看成人Av| 校园春色家庭伦理欧美激情| 九九九九免费高| 亚洲人精品午夜不卡| 玖玖爱伊人玖玖爱| 97超碰欧美精品| 天天干18禁| 亚洲深夜福利| 精品少妇999| 国产高清亚洲日韩一区| 人妻中文字幕精品无码| 少妇3P性爱自拍| 色狠狠综合| 九九视品黄色| 新精精品久久精品| 干美女人妻| 亚洲精品97| 香蕉黄色一级视频| 婷婷色色五月天福利| 免费在线黄片视频| 欧美日韩操逼嗦吊| 图色综合网| 久久久久久久久久精| 亚洲中文sv| 91w欧美| 国产精品成人蜜臀AV在线| 亚洲福利中文字幕在线| n1038 一二三区| 青青草好吊| 亚洲毛片久久| 亚洲最大成人a毛毛片| 郑州宾馆老熟女露脸啪啪| 67914亚洲精品| 欧洲亚洲人妻无码中字久久三区四区 | 欧美人妻熟女在线| 亚洲男人天堂AV| 国产精品毛片?v一区二区三区| 97色婷婷| 欧美页片| 欧美色人| 亚洲色图亚洲无码强奸乱伦| 亚洲丝袜B诱惑| 密臀成人视频久久久| 黄色电影在线播放综合网站| 不卡免费av在线播放| 久久久久久久久久久久黄色| 亚洲美腿丝袜香蕉影视欧美成人| 久久精品国产97欧美精品亚洲 | 亚洲综合在线高清| 国精综合一二三区影视| 99热婷婷一区二区三| 欧美国产精品| 久久久久久亚洲精品中文字幕人妻| 污电影在线观看| 国产精品高潮久久久无码| 国产一区二区在线播放量| 五月婷丁香| 91色五月俺来也| 欧美激情内射| 亚洲超碰AV| 9超碰免费| 国产精品爆乳懂色蜜乳| 天天色综合天天操| 亚洲高清在线se| 国产v片在线免费观看| 中文字幕一区 二区三四五 区日 日骚| 岛国999| 亚洲日韩美女丝袜美腿人妻视频| 天天精品| 亚洲色图伊人网| 艹精品| 亚洲色图a| 免费看片黄| 亚洲色吧网| 日本天天干天天操一区| 欧美极度丰满熟妇hd| 亚洲综合 欧美| 日韩综合无码色欲vv| 欧美成人色| а√天堂资源官网在线资源| 久久9 9 9精品| 久九色| 欧美亚综合色图| 91精品91久久久久77777俄罗斯老妇姓x| 国产成人在线观看综合| 日韩大香蕉精品在线视频| 婷婷10月天青娱乐| 床上啊啊啊一区二区三区| 91精品国产91熟女| 男人的天堂啪啪| av网站免费看| 欧美精品另类人妖xxxx| 日本乱人伦片中文三区| 久久啊哟| 亚洲精品乱码线路中文字幕 | A级片日韩欧美国产欧美视频精选观看 | 丁香五月激情综合| 天天天干977| 操狠狠| 白丝av| 欧美人妻中出| 欧美精品xxxwww| 亚洲熟女一区二区| 欧美激情综合| av网站国产主播在线| 久久9亚洲| 中文字幕国产| 色哟哟av网址| 婷婷五月色| 天美传媒AV在线播放| 亚洲精品一二三四区| 精品高清av中文字幕| 日日日色色色色色| 亚洲AV成人在线| 狠狠操狠狠燥| 五月色网| 四虎精品永久在线观看| 伊人久久青青草| 99re热有精品视频国产| 中文字幕国产| 日本天天吊| 亚洲天堂人妻熟妇视频| 丝袜美腿91| 欧美在线啊啊啊| 国产 无码 一区二区| 一起草视频在线| 开心六月色| 婷婷操逼| 测评在线观看AV| 蜜臀一二三区| 午夜天天碰综合视频| 亚洲制服欧美另类内射| 欧美欧美少妇| 美熟女逼导航AV操逼| 五月婷婷六月丁香| 中国大陆国产高清AⅤ毛片| 亚洲双插| 粉嫩小泬久久久一区二区| 国产亚洲国产超碰| 国产精品网址| 97极品无码| 精品大全99999| 亚洲精品欧美专业| 在线观看一卡二卡| 高清无码 国产精品| 成人性爱免费播放| 舔人妻中文免费视频| 九一精品牛牛一区二区| 激情五月天婷婷| 亚洲最新a在线观看| 欧美天天综合网| 骚鸭AV| 另类视频在线| 操九九九九九九| 久久婷综合| 嫩草一区二区在线观看| 精品无码久久久久久久杏吧| 久久草视频污视频| 红杏大香蕉| 91精品丝袜在线观看| 青青久久手机线视频| 无码精品久久久久久亚洲| 日韩欧美三级| 999熟女精品| 日韩资源网| 人人色人人射人人妻| 91黑丝在线播放| 立川理惠加勒比无码| 午夜寂寞欧美| 国产农村妇女精品| 久久精品28| 粉嫩久久久久| 91色伦综合| 欧洲无码一区二区| 99热官网| AV九九| 亚洲图片欧美在线视频| 亚洲av强奸乱伦| 日本性爱网址| 爆操无码| 亚洲成a人在线观看久| 欧美系列在线一区二区| 操逼视频国产无套| 日本人妻中文字幕| 中文?日韩?免费?精品| 麻豆三极片| 亚洲欧美色图片| 男女一进一出视频久久| 综合色91| 久久精品国产Aⅴ| 九九九九国产| 日本成人免费一区二区三区| 色综合一本| 在线播放免费av福利片| 日韩激情无码影院| 中文字幕亚洲永久精品| 色香AV| 成人26uuu| 久久精品国产亚洲AV无码做| 日韩 欧美 视频 在线 一区| 全球成人中文在线| 欧美日韩91| 国产av白丝| 天天操天天射青青草| 综合网欧| 五月开心久久AV官网| 超碰97人人乐| 色色九区| 超碰人妻久久| 日韩熟女无码| 日韩精品免费高清视频在线| 黄片aaaaa一区| 色婷婷电影网| 亚洲情色五月天 | 蜜桃精品视频一区二区三区| 人人妻天天做天天爽| 久久在肏| 国产精品直播在线观看直播| 操操逼操操逼操操逼逼| 乱论91| 超碰色美女| 亚洲国产一区二区三区在线 | 久久无码精品| 91看黄片| 超碰人人色| 国产AV超爽| 亚洲精品丝袜| 久久熟女嫩草成人片免费| 加勒比海人人操超碰在线| 一级@啪啪视频| 国产尹人在线视频免费| 97人人爱人人做人人乐| 9999九九九久久久| 国内外内射高清视频| 射久久| 中文字幕日韩人妻视频| 五月天大香蕉| 亚洲天堂另类小说男人| 中文字幕国产| 欧美福利视频啊啊啊啊| 五月激情啪啪| 97视频7| 欧美第二页| 东北丰满熟女国产一区| 中日无幕一二三四区| 亚洲棕合电彰| 欧美姓爱综合网| 久久亚洲AV无码专区国产精品 | 中文字幕黄片在线| 激情啪啪拍91| 亚洲大胆人体av| 中文字幕激情小说| 男男H黄动漫啪啪无遮挡网站| 中文字幕高清20页视频| 精品免费成人久久| 一个色导综合| 天美国产精品| 国产精品丝袜在线| 人人插人人摸人人| 大香网伊人久久综合网eew| 性高潮久久久| 久久久久久AⅤ无码免费肉站| 久九干| 婷婷婷婷婷婷久久久久| 欧美成人一区二区三区在线播放| 91高跟美女在线播放| 亚洲色天堂九9| 亚洲人妻中文高清| 久久99草| 在线岛国新天堂8| 亚洲一二三四区机械| 密臀在线视频| 一起草av| 91视频女生| 国产精品熟女乱伦| 岛国小电影| 蜜臀一区二区三区在线| 婷婷五月天补不补| 中文字幕视频二区| 99视频只有精品| 欧美少妇高潮视频| 五月婷婷基地| 偷拍亚洲情色| 久久香蕉影院| 99热伊人| 色婷婷丁香五月| 国产精品自拍视频| 亚洲色婷婷| 青青草福利视频| 婷婷丁香五月综合| 91bbb| 久久久久久久久久久人妻| 亚洲天天更新| 日本九九久久99播| 屁股久久久久久| 日韩AV中文字幕电影| 久久精品一区二区三区四区五区| 天堂资源欧美| 日韩欧美亚洲自拍偷拍| 搡老女人老妇女老妇老熟女怎么读| 欧美狠狠干| 亚洲最大黄网| 人人操人人搞人人草| 欧亚日韩三区| 天天看,天天做| 欧美极品少妇| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 欧美性夜| 日本少妇va7777| 亚洲欧美日韩免费电影| 97爱碰| 国产精品一二三免费网站| 亚洲欧美黄| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 午夜精品99久久久久传媒| 一区二区三区免费视频入口| 三级片大波波| 岛国黄色大片网站| 婷婷五月天无码| www.婷婷| 亚洲图片日本AⅤ欧美在线| 中文字幕综合人妻| 五月丁香大香蕉| 亚洲97综| 激情婷婷丁香| 91ise欧美| av网站在线观看了| 熟妇人妻精品一区二区| 夜夜夜久久| 果冻国产精品麻豆成人av| a片亚洲一本通视频| 久久婷婷伊人| 成人精品一区二区91毛片不卡| 天海翼久久| 夜夜爽妓女| 26uuu性物| 91亚洲色图| 超碰视97中文| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 日韩综合色网| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 91天射| 婷婷五月天激情四射| 国产毛片久久久久久久| 少妇天堂| 嗯嗯啊啊视频一区二区三区| 一区二区 韩日AV| 岛国福利在线精品播放| 色97干| 久久欧洲| 超碰三级秋霞| 91色色色| 欧美精品23| 91中出| 久久久久久久久久久999| 日本高清电影欧美色图| 极品白嫩美女白浆成人福利在线看| 欧美日韩在线小说 | 伊人丝袜美腿高跟在线观看高清| 99爱精品| 中文日本免费高清| 久久国产在线一区二区| 九久久精| 伊人在线大香蕉二。| 国产成人天堂| 欧美另类色图片| 99热综合| 欧美偷拍区| 亚洲无992tv| 中欧人妻丝袜中文字幕 | 日本性爱少妇| AV在线性爱| 操逼视频国产无套| 天天色图| 久久久久久久唑| 94色色电影网| 精品无码少妇| 日韩人人精品| 久久亚洲日韩国产欧| 国产一区二区三区免费视频在性观看 | 好爽,再快点啊哈嗯嗯嗯嗯| 亚洲综合另类小说色区亚洲成av人片在www | 13小男生GAY自慰脱裤子| 日韩专区久久久| 久久久久久裸体| 九草在线大香蕉| 久久久久ab| 欧美变态激情网| 精品十三区| 欧美性爱一区二区三区四区| 日韩欧美麻豆大片| 亚洲αv一区二区三区| www..com操老师| 国产无马在线| 家庭乱伦国产| 18禁免费视频| 精品成人亚洲午夜电影| 人干人人人操人人摸| 立川理惠被中出无码| 色视频蜜乳|