国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

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

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

基于SSH框架的花店管理系統(tǒng):JavaWeb畢設項目核心實踐解析 簡介一套面向JavaWeb課程設計與大學生畢設場景的花店管理系統(tǒng)源碼包以SSHStruts2SpringHibernate整合架構實現(xiàn)網(wǎng)上花店前后臺核心功能商品分類展示、關鍵詞檢索、購物車下單、會員登錄以及管理人員對顧客、掌柜、鮮花和訂單的后臺維護并支持上傳鮮花圖片。壓縮包含75個文件含20個Java源碼、JSP頁面、XML配置、SQL數(shù)據(jù)庫腳本和properties環(huán)境配置另配PNG/JPG/GIF頁面素材與說明文檔整體約219KB目錄按源碼、配置、頁面、數(shù)據(jù)庫劃分便于快速定位。開發(fā)環(huán)境基于Eclipse、JDK1.7、Tomcat7與MySQL5數(shù)據(jù)庫包含顧客、經(jīng)理、鮮花、類目、訂單五張核心表代碼按action、service、dao、model分層struts.xml與spring.xml等配置文件齊全適合作為畢設項目參考或SSH框架整合練習。已有215人學習瀏覽項目規(guī)模適中前臺數(shù)據(jù)展示、購物車結算與后臺訂單處理形成完整閉環(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前后端源碼來拆解數(shù)據(jù)庫表設計和框架配置這份資源值得仔細過一遍。提示項目自帶完整的前后端源碼和flower.sql數(shù)據(jù)庫腳本Eclipse導入即可運行但JDK、Tomcat、MySQL版本需要按項目要求對齊否則會遇到一堆兼容性報錯下面會逐個說清楚。適合人群很明確正在選畢設題目的在校生、需要JavaWeb項目案例參考的初學者、以及想看看SSH框架怎么把MVC分層落地的開發(fā)者。不適合用來做生產(chǎn)級系統(tǒng)——它就是一份學習性質(zhì)的項目業(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年前后的產(chǎn)物那時候的注解方式和API調(diào)用跟現(xiàn)在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 數(shù)據(jù)庫初始化導入flower.sql的正確姿勢解壓項目后你會看到一個flower.sql文件放在根目錄。先啟動MySQL服務然后用命令行或者可視化工具把這份SQL導入。這里有個容易忽略的點項目要求數(shù)據(jù)庫編碼必須為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指定數(shù)據(jù)庫默認字符集為utf8存儲中文不會變成問號。COLLATE utf8_general_ci排序規(guī)則ci表示大小寫不敏感中文查詢和排序都靠它。SOURCEMySQL命令行導入SQL腳本的命令注意路徑里的斜杠要寫成/Windows下用反斜杠會報錯。如果你用Navicat或SQLyog導入操作路徑是新建數(shù)據(jù)庫flower → 右鍵運行SQL文件 → 選擇flower.sql → 編碼選utf8。導入完成后檢查表是否齊全這個項目一共五張表customer顧客、manager經(jīng)理、flower鮮花、category類目、shopcart訂單/購物車。注意shopcart表名起得比較特殊它既承擔購物車功能又記錄訂單信息后面第四章會細講。2.3 修改db.properties連接數(shù)據(jù)庫前必須做的配置項目里數(shù)據(jù)庫連接參數(shù)集中在src/db.properties文件里這是JDBC和Hibernate共用的配置來源。默認參數(shù)幾乎肯定跟你的本地環(huán)境不一致必須改。jdbc.drivercom.mysql.jdbc.Driver jdbc.urljdbc:mysql://localhost:3306/flower?useUnicodetruecharacterEncodingutf8 jdbc.usernameroot jdbc.password123456jdbc.driverMySQL驅(qū)動類5.x版本的驅(qū)動是這個路徑不要換成com.mysql.cj.jdbc.Driver——那是MySQL 8的驅(qū)動類名項目lib里沒那個jar。jdbc.url中useUnicodetruecharacterEncodingutf8這兩個參數(shù)必須保留它們是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集成的部署方式內(nèi)部會自動把項目打成war包放到Tomcat的webapps目錄并啟動。啟動成功后瀏覽器訪問http://localhost:8080/flower/看到主界面說明部署成功。前臺登錄用測試賬號 1/1后臺登錄也在管理入口處用相同的 1/1。如果訪問404檢查項目部署名是不是flower或者是端口沖突——Tomcat默認8080如果你的8080被占用改Tomcat的server.xml端口或者關閉占用端口的進程。3. SSH框架整合源碼拆解Struts2控制層與Hibernate映射的實現(xiàn)細節(jié)3.1 項目整體目錄結構與MVC分層定位這個項目在分層上是非常標準的SSH教科書式結構你打開源碼包會看到清晰的包路徑每一層都有自己的職責這也是它作為學習項目價值最高的地方。源碼包的核心結構如下action包存放Struts2的Action類也就是C層service包是業(yè)務邏輯層dao包是數(shù)據(jù)訪問層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對應數(shù)據(jù)庫五張表。WebContentJSP頁面、CSS、圖片資源其中index.jsp是前臺首頁admin.html是后臺入口頁面。這種分層的意義在于如果你想改業(yè)務邏輯只動service層想換數(shù)據(jù)庫方言或查詢方式只動dao層要調(diào)整URL路由和參數(shù)接收只動action層和struts.xml。互不干擾這也是畢業(yè)設計答辯時老師最愛問的點——你只要把「三層職責分離」講明白這個項目的框架理解分就拿到了。3.2 BaseDao泛型設計為什么它是整個數(shù)據(jù)層的核心打開dao包你會發(fā)現(xiàn)五個Dao類都很薄核心邏輯全在BaseDao里。它用的是Hibernate的getHibernateTemplate()模板方法把CRUD操作做成泛型方法子類只需要指定實體類型就能用。這個設計是SSH項目里的經(jīng)典做法也是值得你在答辯時展開講的重點。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內(nèi)部封裝了SessionFactory的獲取和釋放。save/delete/update對應Hibernate的持久化操作不需要手動開啟事務事務由Spring的聲明式事務管理見spring.xml中的tx:advice配置。find(String hql, Object... params)可變參數(shù)數(shù)組用于給HQL里的?占位符傳值比如find(from Flower where category_id ?, 1)。子類繼承方式比如FlowerDao extends BaseDaoFlower那么flowerDao.save(flower)調(diào)的就是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但對性能有影響生產(chǎn)環(huán)境記得關掉。constant namestruts.devMode valuetrue /啟用了devMode但你部署上線前一定改成false否則會暴露異常堆棧給終端用戶。action nameflower_* method{1}Struts2通配符映射flower_list會調(diào)flowerAction.list()方法flower_detail調(diào)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語句調(diào)試時非常有用但生產(chǎn)環(huán)境要關掉。tx:method namesave* propagationREQUIRED /事務傳播級別REQUIRED意思是如果當前沒有事務就新建一個Service里以save/update/delete開頭的方法都會走事務。事務配置的核心理解HibernateTemplate的每次操作都在事務上下文中執(zhí)行Spring的tx:advice自動攔截service層以指定前綴開頭的方法并綁定事務。這能保證購物車下單時購物車記錄、訂單記錄、鮮花庫存三件事要么全部成功、要么全部回滾——這是電商類項目最基本的一致性要求。4. 購物車與訂單核心業(yè)務流從前臺加購到后臺處理的完整鏈路4.1 五張表的關聯(lián)關系shopcart表的設計值得細看這個項目的數(shù)據(jù)表設計不復雜但shopcart表很微妙。通常項目會把購物車和訂單拆成兩張表這里合二為一通過字段區(qū)分狀態(tài)。看project正文里的model包Shopcart.java同時承擔了這兩個職責這直接反映在業(yè)務代碼的實現(xiàn)方式上。表名字段角色說明customer顧客信息含登錄賬號密碼前臺登錄校驗manager經(jīng)理信息后臺登錄校驗測試賬號與前臺相同category鮮花分類如玫瑰、百合、綠植前臺分類導航flower鮮花商品名稱、價格、圖片、庫存、所屬分類shopcart購物車/訂單關聯(lián)flower和customer含數(shù)量、下單狀態(tài)shopcart表本質(zhì)上是一個關聯(lián)表外鍵指向customer和flower核心字段是數(shù)量nums和狀態(tài)標記。當用戶未結算時它是一條購物車記錄結算提交后狀態(tài)字段發(fā)生變化它就變成了一條訂單記錄。后臺經(jīng)理看到的待處理訂單本質(zhì)就是把這些狀態(tài)為「已提交」的shopcart記錄按顧客聚合展示。4.2 前臺加購到結算的代碼鏈路FlowerAction與OrderService的配合前臺用戶從商品列表頁點「加入購物車」開始會經(jīng)歷一次典型的SSH三層數(shù)據(jù)流JSP頁面發(fā)起請求 → Struts2攔截到URL匹配FlowerAction方法 → FlowerAction里調(diào)OrderService → OrderService里調(diào)OrderDao → Hibernate執(zhí)行數(shù)據(jù)庫操作。把這條鏈路的代碼拆開看你就知道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; // 跳轉(zhuǎn)到登錄頁面 } // 創(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())一次調(diào)用把該顧客所有status0的記錄置為status1實現(xiàn)批量結算。這里注意Action里的flower字段是Struts2通過setter自動注入的前端參數(shù)。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)聲明式事務注解方法內(nèi)全部數(shù)據(jù)庫操作在同一個事務里執(zhí)行任何一步拋異常都會全量回滾。flowerDao.get(Flower.class, cart.getFlower().getId())按id查詢鮮花取最新的庫存數(shù)據(jù)。f.getStock() cart.getNums()先檢查庫存再扣減這是防止超賣的第一道防線。因為這個項目沒有用悲觀鎖或樂觀鎖并發(fā)高時仍有風險學習階段夠用。cart.setStatus(1)把購物車記錄標記為訂單這是訂單狀態(tài)流轉(zhuǎn)的唯一開關。這段代碼是答辯時最能展示你理解深度的素材。老師問「并發(fā)場景下會不會超賣」你既能說出當前方案的問題也能說出改進方向給Flower表加樂觀鎖版本號或悲觀鎖select ... for update比只會背概念強得多。4.4 后臺訂單管理ManageAction里如何處理待辦訂單后臺經(jīng)理登錄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實現(xiàn)訂單完成操作。這里粒度是每個購物車記錄所以一次下單多件商品后臺逐條確認完成。從這個設計能看出項目的簡化策略不對訂單主表和訂單明細表做拆分直接復用shopcart。好處是表少、邏輯直接學習成本低壞處是統(tǒng)計維度單一不能做優(yōu)惠分攤、收貨地址、物流追蹤這些擴展。做畢設答辯時你如實說明這個取舍就行。5. 避坑指南數(shù)據(jù)庫編碼、配置文件與亂碼問題的四個實戰(zhàn)排錯5.1 坑一db.properties打開亂碼或讀取亂碼現(xiàn)象Eclipse里打開db.properties文件中文注釋全部變成亂碼程序啟動時數(shù)據(jù)庫連接報錯。原因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 坑二頁面中文全部顯示為問號現(xiàn)象首頁和商品列表能打開但所有中文文字都顯示成「???」后臺數(shù)據(jù)也是問號。原因數(shù)據(jù)庫/表/表的列字符集不是utf8或者JDBC連接串沒帶characterEncodingutf8參數(shù)。項目readme里也提醒了——數(shù)據(jù)庫默認編碼必須為utf8。解決分三步排查。第一步SHOW CREATE DATABASE flower檢查庫的字符集。第二步SHOW TABLE STATUS FROM flower檢查表的字符集。第三步SHOW FULL COLUMNS FROM flower檢查列的字符集。某一張表不是utf8就單獨轉(zhuǎn)換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現(xiàn)象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也可能出現(xiàn)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現(xiàn)象后臺添加鮮花填寫表單、選擇圖片提交后提示失敗或者添加成功后前臺商品圖片顯示成裂圖。原因文件上傳成功后保存到了本地某個磁盤路徑但前臺JSP頁面用img src/upload/xxx.jpg引用的是項目部署路徑下的資源兩者不一致。Struts2的fileupload攔截器默認限制文件大小為2MB圖片稍微大一點就報錯。解決優(yōu)先選小體積圖片測試10KB~500KB的jpg或png如果仍有問題檢查struts.xml里的上傳常量constant namestruts.multipart.maxSize value10485760 /10485760是字節(jié)數(shù)即10MB把默認的2MB上限擴大五倍。上傳成功后查看項目里設置的uploadPath通常在配置類或properties里確認保存路徑和引用路徑一致。常見做法是保存到WebContent/upload/下引用時用相對路徑upload/xxx.jpg這樣Tomcat部署后路徑不丟。另外確認FlowerAction里處理upload的代碼在保存時給文件名加了隨機前綴不然用戶上傳兩個同名文件會互相覆蓋。6. 功能驗收清單與二次開發(fā)把畢設項目改造成能演示的作品6.1 拿一張表逐項核對九項功能驗收下載后跑通不代表項目就是你的了你需要按功能逐項驗收每一項都做一遍確認自己理解業(yè)務流。我整理一張驗收清單你照著走一遍比看十遍源碼都有效。功能模塊驗收操作預期結果商品展示前臺首頁打開按分類展示鮮花列表圖片正常加載分類搜索點擊「玫瑰」分類只顯示玫瑰類鮮花商品詳情點擊某束鮮花跳轉(zhuǎn)詳情頁顯示完整信息游客訪問購物車不登錄點「加購」被攔截跳轉(zhuǎn)到登錄頁用戶登錄輸入1/1登錄成功session寫入customer加入購物車登錄后加購shopcart表新增status0記錄提交訂單購物車頁點結算庫存扣減shopcart記錄status變?yōu)?后臺訂單管理用1/1登錄后臺看到已提交訂單可改為完成狀態(tài)后臺增刪改鮮花后臺添加鮮花上傳圖片新鮮花出現(xiàn)在前臺列表每一項都過一遍之后你基本就能畫出整個系統(tǒng)的數(shù)據(jù)流和界面跳轉(zhuǎn)關系。這會讓你在答辯時面對「講講你的系統(tǒng)有哪些功能怎么實現(xiàn)的」這種大而泛的問題時有話可說而且講得清楚。6.2 畢業(yè)設計答辯加分低成本做三個增強很多人拿到項目以后直接提交換了但這恰恰是答辯容易掛掉的原因——老師對代碼的運行邏輯問兩句就露餡了。我做這行這么多年建議你最少做三個小增強成本很低但答辯效果立竿見影。第一個增強是注冊功能。項目原版只有登錄沒有前臺注冊你可以在CustomerAction里加一個register()方法在JSP加注冊頁在CustomerDao里加一個findByUsername()做重名校驗。這能展示你對注冊流程的完整理解——表單校驗、唯一性約束、密碼存儲。第二個增強是搜索關鍵字功能。FlowerDao里加一個HQL模糊查詢from Flower where name like ?前臺加一個搜索框。這里你還可以順帶講一下Hibernate的HQL預編譯防SQL注入原理——這是個很好的答辯亮點。第三個增強是頁面美化。原版JSP頁面其實很樸素你把CSS改一下、把頁面布局調(diào)整成現(xiàn)代風格整個項目的觀感能上個檔次。前端用到的技術還是純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)是增強內(nèi)容在CustomerDao里寫一條HQLfrom Customer where username ?返回null則表示該用戶名可用。密碼存的是純文本你可以在答辯時主動說這個安全缺陷以及改進方案MD5或BCrypt加密你會發(fā)現(xiàn)老師非常吃這一套——主動暴露并分析安全問題比被動回答加分不少。6.3 把別人的源碼變成自己的項目還差一步注釋與梳理最后一步也是我最推薦你做的事寫一份「項目說明文檔」。不用很正式但要把關鍵點記錄清楚——數(shù)據(jù)庫每個表是干什么的、哪些方法負責什么功能、訂單狀態(tài)流轉(zhuǎn)的數(shù)值含義、配置了哪些框架常量。這份文檔我不建議寫到項目代碼里單獨放一個Notion或Word文檔就行。從哪里開始建議順序是先讀flower.sql看表結構和表關系再讀model包看實體映射然后按一條業(yè)務流從頭到尾追代碼加購 → 結算 → 扣庫存 → 后臺處理。這條鏈路走通再回頭補充理解登錄、注冊、后臺增刪改等其他模塊。做完這套動作你再回答「這個項目你熟不熟」的時候就有底氣了。從那以后我每次下載開源的畢設項目都強制自己走一遍「對照數(shù)據(jù)庫理表關系 → 按業(yè)務鏈路追三層代碼 → 把理解寫進筆記 → 再動手改一個功能」的流程。這四個步驟走完看似是別人的源碼實際成了自己的彈藥。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产色综合亚洲色综合吹潮| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 久久精品女同亚洲女同13| 天天激色| 91精品人妻电影| 人妻久久久久久久久久久久久久久 | 日本三级A片网站com| 久久免费精品视频免一| 60秒免费小视频| 天天干夜夜操一区二区| 曰韩无码777| 综合性视频99| 国产精品老师| 色臀AV| 欧美人妻久久精品二区三区| 无码一区二区三区四区五区六区七区八区九区十区视频 | 中文字幕版| 无马一区二区| 激情第四色| 日本国产二线女色| 懂色Av| 破苞ⅩXXX性无码动漫无码| 99精品人人爽| 精品9999| 人人妻人射| 国产高清自拍视频| 久久蜜色情在线视频xxx免费观看| 亚洲最大成人a毛毛片| 欧美日韩国产另类综合| 免费一级精品啪啪视频| 欧美岛国精品在线观看| 都市激情人妻一区二区青青操视频 | 五月天婷婷色| 国产成人精品亚洲日本| 国产又黄又粗的视频| 欧美狠狠弄| 国产精品日韩在线一区| 亚州熟女乱伦| 超碰免费人妻在线| 日本久久999| 黄页视频网站野外| 日本免费专区| 国产精品一区午夜福利| 香蕉久久精品| 97欧美日韩精品| 伊人精品久久网站| 91久久久久久| 日韩图色| 自拍视频大全亚洲专媒视频/一区二区三区| 秋霞怕怕片| 国色天香av| 97综合网| 国产精品高朝久久久久久久| 日韩99精品视频综合区| 欧美亚洲综合999| 综合久久久久久久综合网| 日夜久久久九九九久| 天躁夜夜躁2021| 久热69九色熟妇97| 伊人久久大香线蕉无码| 久久久久久久九九九九| 日韩午夜国产| 99久久网站| 综合久久97| 久久久免费懂色| 久热无码| 手机看片日韩人妻| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 91狠狠狠| 蜜臀久久一区二区| 国产乱子伦一区二区三区在线观看| 91久精品| 操逼操操操91| 日本 色 导航| 在线a亚洲视频播放在线| 精品一二三区女同| 日本三级久| 亚洲影院365| 黑人精品久久97| 污啪啪啪视频| 亚洲超碰AV| 女性91网站| 超碰天天操你比| 欧洲成人性爱视频| 亚洲美腿丝袜香蕉影视欧美成人| 在线人妻熟女一区二区三区四区五区| 超碰成人国产| 在线综合色| 久久国产熟女影院| 丰满人妻区一区二区三| 精品国产99999| 久久精品72| 五月激情综合网| 国产黄片精品在线| 亚洲图片另类| 国产激情在线| 一区二区三区在线日韩影院观看| 91AV天美在线视频| 97超碰超欧美。| 中文字幕成人| 欧美日韩国产色图在线| 一级黄色性爱A级片| 国产又粗又长的视频| 97超级久久强资源| 欧美一区91大爱| 亚洲美女自拍偷拍视频| 免费一级黄色录像影片| 中文操逼字幕| 欧美日韩*字幕一区| 97欧美| 人妻激情视频| 精品黑人一区二区| 国产AV色黄看到爽| 欧美性生活免费网| 亚洲国产欧美一区二区潘金莲| 精品人妻一区二区三区日产| se..亚洲欧美| 天天综合中文字幕 91| 99操| 久久久久78| 五月天伊人| 曰本精品久久久| 中文字幕二区日韩天堂| 91天天日| 亚洲吊色| 一区二区三区四区在线不卡| 日本一卡二区在线| 欧美激情 亚洲色图| 男人的天堂在线| 青青操视频在线| 日韩欧美被操黄免费观看| 97超碰jingpin| 国产农村妇女一区二区| 免费人人搞97| 国产免费久久精品99re韩国| 99在线啪| 97日亚洲欧美| 亚洲春色欧美激情自拍| AAAAAAAAA黄片| 无遮挡猛进视频免费无限观看| 丁香五月久久| 成人无码专区精品视频| 美女毛片999| 亚洲污污网站| 午夜传煤十二区精品| 日本免费一区二区不卡| 久久久极品| 亚洲国产亚洲天堂| 色综合天天爱去电影网| 日本性感人妻91| 欧美日韩激情无码专区| 色婷婷成人| 国产精品自产拍在线观看社区| 色婷婷影视| 99热综合在线| 超碰97在线色男人??| 综合色区偷拍| 大肥女高潮bbwbbwhd视频| 国产一级黄色片在线观看| 啊啊啊啊啊舒服| 久久αⅴ| 人看人人摸人人操| 好湿好紧好爽 视频| 人妻酒店出差被中出免费在线播放| 加勒比海成人视频网 | 欧美少妇熟女| 黄色一区三区| 黄色成人网久久久久久| 午夜免费视频1000| 中文字幕乱偷人妻久久艾草网| 加勒比av网| 伊人国产成人av网站| 艹少妇网站| 天天日老熟妇| 密臀AV在线| 东京太热男人的天堂久久久| 中文字幕日韩专区精品系列| www.色婷婷| 欧美亚洲第1页| 亚洲同性aV综合| 黄色香蕉视频网站一区| 日韩AV一起草| 男人的天堂日本东京热| 免费人成在线观看网站品爱网| 思思视频免费看网站| 色色五月天激情| 亚洲诱惑| 91狠狠| 国产精品一级毛片不卡视| 人妻少妇久久久| 青草影院内射高潮| 91色狼| 777奇米影视777四色| 99自拍B亚洲 | 青青欧美| 操逼视频色| 综合久| 国产白领连续中出在线播放| 草草影院最新网址| www被窝色com| 很很热性爱视频| 精品人妻一区二区三区-国产| 天天操天天干美女网址导航| www.99热| 一二区在线观看视频| 新婚人妻扶着粗大强行坐下| 情侣操 逼视频99| 操逼视频国产无套| 久久久久久久久久久97| 最新AV在线| 亚洲成av人片色午夜乱码| 人妻色情天天操| 秋霞久久亚洲精品成人| 96精品一区| 青青草丝袜在线视频| 国产熟女精品区| 性久久久| 久草精品一区| 欧美强奸一区二区诱惑| 伊人网在线点播| 国产三区免费在线观看| 国内成人圈中文字幕无码视频| 五十路六十路七十路熟婆| 97色欧州| 人、人、摸,人、人、草| 色哟哟av网址| 天天日天天色| 翔田千里AV无码秘 三区| 91美女在线精品视频| 久草加勒比一区在线| 人人操人人狠狠操| 一区二区视频在看| 夜夜操老骚逼视频网站| 黄色大片免费在线| 男人的天堂日韩| 精品久久久亚洲AV成人网站| 亚洲九九九| 婷婷久草一区二区三区| 日韩一级性爱无码| AV男人天堂网| 920日本午夜免费| 天天综合~91| 热久日综合| 温婉少妇玩3p| 台湾一区国产高清在线| 在线播放欧洲免费av| 男人的天堂在线有码| 9国产超碰| 操淫穴亚洲五月丁香 | 91在线无码精品秘 软件| 成人AV在线网站| 麻豆久久视频在线地址| 无码一区二区精品视频久久久春药 | 九久9精品| 综合五月天| 欧美性猛交美女自慰91| 午夜福利免费精品视频| 丁香九月婷婷| 精品十八在线观看| 北京美女一区二区| 97五月天| 香蕉久久AⅤ...| 青青欧洲黑| 久久草大香蕉| 精品中文字幕第一页| 五月天日日操夜夜操| 亚洲情色五月天 | 天美传媒精品久久视频| 少妇与黑人高潮在线| 国产五码丝袜屁眼| 天美麻豆精品视频99| 欧美色图成人网一区二区| 日韩 成人 有码| 天天做天天爱| 久久久久免费少妇| 性在久久久久久| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 狠狠操狠狠爱| 粉嫩AV一区夜夜嗨| 亚洲综合色婷婷| 九九热九九| 97免费在线视频在线观看| 亚洲乱色熟女一区| 伊人久日| 97人妻色| 91操人| 人人妻人人爽| 国产精品网站www| 人人射人人操人人摸| 啊啊啊在线看| 97九色人妻| 欧美日韩另类在线播放| 白嫩妹子国产骚| 中文字幕在线播放2中文字幕在线观看2| 久久久极品| 国产精品久久久蜜臀| 夜间福利片1000无码| 成人精品久久| 综合网,亚洲,欧美| 91 丝袜在线观看| 麻豆 亚洲 97| 99久久99九九99九九九| 欧美人体性爱互联网第一页婷婷日本| 青苹果影院男人的天堂| 福利风月五月天影院| 天天看片天天爽| 啊啊啊啊好爽好舒服一区二区易域| 人妻熟女一区在| 爽 好舒服 无码刺激久久| 欧美日韩国产在线| 欧美色亚洲| 日韩三级视频一区二区三区| 懂色av色欲av蜜臀av| 好涩综合| 日韩专区久久久| 打av高清| 日韩三四五区| 无码国产精品久久久久| 69av一区二区三区| 99re28在线观看| 日韩av色图| 久草久热| 蜜桃色色网站视频三区| 久久久 国产精品| 欧美性第1页| 九九国产热| 亚洲欧美变态| 深爱伊人影院| 亚洲性爱乱操x| 国产又大又粗又长视频| 亚洲色图欧美色图综合| 欧美日韩在线小说| 懂色av中文字幕一区二区三区天美 | 日本一区二区做爱的视频| 三级网站超变态精品| 9 9精品一区二区三区| 精品在线观看视频在线| 亚洲小电影免费涩涩成人在线高清| 亚洲日韩美女丝袜美腿人妻视频| 国产97色在线 | 亚洲| 91中文精品日韩欧美在线| 99在线精品视频| 中国探花熟女| www.av在线观看| 国产自产一区视频在线| 日本东京热加勒比久久| 蜜乳AV.COM| 久艹日日日| 91成人无码| 欧美丝袜中文字幕07在线| 天天操熟妇| 91精品人妻啪啪间| 五月天欧美色图| 国产免费久久精品99re韩国| 日韩美女高潮喷水视频| 高清肉丝中文无码| 欧美色图片欧美色图| 91九九九小逼| 91少妇香蕉久久精品| 欧美aⅴ99久久黑人专区| 黄aaaaaaaaaaaaaaaaaa色网站 | 一起草日韩| 国产 亚洲 丝袜 制服| 蜜乳AV一区二区三区四| 人人透人人操| 黑丝少妇| 色综合潮| 天美麻豆黄色录像| 亚洲午夜免费狠狠干| 日韩亚洲Av人人夜夜澡人人爽| 1024人妻熟女一区二区三区| 黄色免费网页无码| 久久久久成人蜜桃精品| 800zy一区二区| 婷婷五月天激情网| 日本午夜福利视频| 老熟妇一区二区三区啪啪| 久久噜| 偷拍亚洲视频一区二区三区四区| 欧洲综合色| 日韩一级二级三级免费看完整版| 深夜国产一区二区三区在线看| 国产丸一视频| 五月婷婷五月天| 六月色婷婷| 91肉丝| 中日无幕一二三四区| 日韩操逼性鲍| A片三级无码| 嗯啊不要啊在线| 色墦五月丁香| 欧美日本天堂| 国产suv一区二区三区6| 亚洲成av人片色午夜乱码| 91女人的网站| 美女网站黄页| 特级毛片特黄久久免费看| 亚洲永久AV无码精品秋霞| 加勒比伊人综合| 屁股久久久久久| 少妇高潮对白在线观看| 免费试看60秒| 2025亚洲男人天堂| 女生看匆91网站| 九色精品视频导航1| 精品无码一区二区人妻久久蜜桃| 男人的天堂VA| 樱花蜜乳av| 国产激情在线观看| 欧美一区二区在线资源| 中文字幕av一区二区三区人妻少妇| 青草一区二区| 亚洲天堂7777| 亚洲人成色9999精品久久| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 欧美精品亚洲精品日韩传电影| 日韩大香蕉AV影片| 久久久久久久久久精| 中文一区在线日| 大奶的诱惑| 国产日韩欧美亚洲精品95| 在线 亚洲 网爆 自拍| 亚洲骚男同com| 另类图片欧美激情综合| 激情五月天色色| 男人夜色天堂ss| 2017大香蕉国产精品久久| 一级免费精品| 亚洲国产av中文字幕久久| 丁香五月久久| 国产AV线| 国产午夜精品理论片一二三区区 | 久久老女人| 睡产熟女乱伦| 天天综合网1| 欧美,日韩,中文,另类| 最新av网站在线观看| 色色五月丁香| 中文字幕97色| 69视频入口| 婷婷五月天成人| 蜜桃狠狠色伊人亚洲综合 | 蜜臀99久久国产| 无码天天操| 欧亚不卡| 婷婷在线视频在线观看| 激情五月天丁香| 亚洲美女黄色| 欧美综合色图网| 久久91精品国产9丨久久分亭| 区一在线观看| 亚洲精品97p| 嫩草影院性色| 亚洲日韩少妇一道本视频| 欧美高清色| 女人喷水视频在线观看| 骚女高跟AV在线| 国内精品a| 区一二区日韩亚洲乱码av电影| 一本大道久| 性色av网站| 91精品人妻一区二区三区蜜桃臀 | 欧美色97| 亚洲天堂久久| 极品少妇久久久| 亚洲AV成人无码一区二区三区在线观看| 亚州人妻| 亚洲中文字幕久久人妻| 久草精品一区 | 好吊色综合| 大香樵伊人网| 激情视频图片| 超碰成人国产| 98超碰欧美| 亚洲操人| 99热销国产这里有精品| 国产av高清版| 97干97色| 中文字幕乱碼在线| 亚洲图片欧美色图| 青青草吊丝| 欧美一二三级精品在线| 久偷拍| 97精品97久久| 日本性爰一道本| 超碰综合色| 国产成人欧美一区二区三区的国产| 亚州操操穴网| ,成人免费啪啪视频| ai欧美亚洲小说| 无码操逼网| 性爱AV天堂| 亚洲操逼视频网站| 日本一二区不卡| 色诱中文字幕| 五十路六十路素人熟女| 国模91| 开心五月天激情网| 国产91av在线播放| 久艹视频在线| 97资源超碰| 国产精品毛片?v一区二区三区| 秋霞鲁丝午夜无码一区二区三| 久久‘黄片视频| 亚洲中文字幕一区二区| 美女高潮视频91| 精品亚洲国产成人av网站| 97超碰亚洲| 伊人天天久久动态图| 久久婷婷在线观看视频| 亚洲图片色图欧美另类| 亚洲成人色情五月天丁香花| 97国产高清视频在线观看| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 日韩乱伦AⅤ| 伊人性在线视频| 欧美色图天堂网m| 性爱网站一区二区| 97国产精选| 日本三级一区二区 在线| 一区二区三区男人的天堂| www.四虎在线| 韩三级a视频在线观看| 天天碰久久入| 夜夜国产一区| 狠狠狠一区二区三区| 超碰成人公开| 精品午夜福利| 啊啊啊不要嗯嗯在线观看| 久久欧美按摩999| 秋霞操逼片| 精品美女少妇一区二区| 欧美78| 69精品少妇一区二区三区蜜桃| AV乱伦国产| 天操天操夜操夜月操月年年操操| 久久综合精品一区二区三区| AV 少妇 人妻 偷拍| 国产女人极品高潮毛片| 女性喷水高潮在线观看| 久操频道免费在线呗看| 亚洲色图国产另类| 中文伊人大香蕉视频| 日亚韩精品视频二区三| 精品九九国产无码| 精品无码产区一区二| 亚洲天堂2020| 按摩中文字幕| 婷婷五月天在线观看| 国产第12页| 亚州91| 九久久精| 欧美亚洲清纯| 大香蕉青青9| AV高清一区| 9/A片| 女人高潮大叫一级毛片| 老司机深夜影院18未满| 999亚洲国产视频| 欧美色图色综合| 天堂综合网| 久久久涩| 日韩BBN| 亚洲天堂久| 青草园大香蕉| 色网在线| 欧美国产有色电影| 性性久久| 97视频www| 婷婷15月天青娱乐| 性爱AV天堂| 日本天天人人狠狠在线日美女| 97超碰超碰| 91久久久久久久久18| 97色综合中文网| 色综合91好| 人妻久久一区二区三区| 777超碰| 中文乱码字幕观看| 97超碰色| 综合影院永久入口国产| 日韩欧美大片免费高清啪啪| 国产精品福利资源在线尤物| 三男一女不戴套的A片| 人妻色偷色噜| 欧美一区二区三区互相| 九色精品视频导航1| 国产精品呦一区二区三区| 一本一道波多野毛片中文在线| 亚洲国产一区二区入口| 韩国午夜理伦三级好看| 超碰成人最新最好看| 五月天婷精品激情| 操人91| 欧美亚州手机在线| 超碰爽人妻熟女Av| 精品人妻一区二区乱码一区二区| 欧亚成人在线视频| 加勒比av网| 91中文字幕在线观看| 亚洲欧美天| 东北操逼| 天天搞欧美| 亚洲色图A| 一级黄色性爱裸体视频| 91在线超高颜值国产| 国产福利影视| 色999人与兽| 在线观看A啊啊啊| 加勒比人妻综合| 美女黄页网站| 欧美v亚洲v综合v国产v妖精| 日本免费专区| 国产免费一区二区在线A片视频| 尻女朋友一夜| 欧美少妇性乱| 加勒比aⅴ| 综合影院永久入口国产| 高潮的A片激情扒开一区| 深夜激情无码| 日本综合久久| 亚洲综合图文| 人妻夜爽夜夜爽| 香港澳门日本三级网站| 在线精品福利免费播放| 天美av在线观看| 中文字幕诱惑制服人妻丝袜美丝袜美| 青青草久久| 精品一级毛片在线观看| 国产强上视频在线观看| 精品.99999| 久久久91福利姬| 天天综合亚洲综合| 91在线视频观看国产| 色色丁香| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 九九九免费视频| 大香网站| 青青草原综合久久大伊人精品| 区自美91| 午夜毛片亚洲精品片国产久久久| 欧美1区二区三区公司| 美国aaaaa一级黄片| 日本亚洲vr欧美不卡高清专区| AV色五月天| 国产美女在线精品免费看| 91超碰人人操| 亚洲老司机123专区| 久久久久久9| 黄色毛片A片| 久久久不卡区一区二区三区久久久| 精品夜夜澡人妻无码AV| japan日本高清乱xxxx| 啊啊啊不要好疼视频| 日本999精品| 高潮精品| 日韩成人综合网| A男人的天堂| 久久成年片色大黄全免费网站| 国产精品青草综合久久| 91嫩草在线| 操一操摸一摸| 黑丝少妇| 一二区在线观看视频| 久久五月天婷婷丁香中文字幕| 九色婷婷| 97超碰欧美手机在线| 一级黄色视频网| 亚洲色图欧美色图制服丝袜| 一本色道无码DVD中文字幕| 国产精品乱人伊人网| 免费成人自拍视频在线| 久久精品视频久久久| 3PAV乱伦视频| 国产专区路线| 久久久久人妻二区精品叶可怜| 伊人 俄罗斯 a v| 精品国产人成在线| 久久久久久九九九九九九| 在线观看av区| 啪啪视频mP4| 亚洲图片欧美| 97玖玖超碰| 人人看人人爰人人操| 伊人亚洲综合| 亚卅熟女乱色| 极品肉射| 欧美激情 日韩精品| 欧美性爱无码一区二区三区| 久神马| 日韩在线观看字幕精品| 正宗无毛一线天嫩逼| 婷婷五月天成人| 免费试看60秒| 成人熟女区| 成人三级片无码| 操熟女91| 欧亚不卡| 日韩性爱电影一区| 超碰九区| 91久久18禁| 92午夜免费福利视频| 精品国产乱子伦一区二区三区,精品一 | 东北老熟女| 亚洲18禁| 国产人伦a片信息免费片| 99草精| 日本亚洲vr欧美不卡高清专区| 午夜a成v人电影| 超碰碰小说97| 欧美在线官网| 国产大学生口爆吞精合集| 91日韩网站| 日韩久久超碰色| 91小视频| 一二三区操逼国产91| 少妇色综合| 午夜精品久久久久久久男人的天堂| 欧美福利视频啊啊啊啊| 久久久久人| 久久久9视频| 欧美日韩国内不卡| 在线视频 亚洲精品| 97欧美久久久久久久| 口爆综合网| 久久美女国产| 男人亚洲天堂| 久久丁香| 91成人高清在线观看| 欧美美逼| 嗯嗯啊好大| 97精品国产97久久久久久| 99国产精品视频尤物| 好吊色青靑草| 亚洲女人毛茸茸91| 丝袜喷水在线| 色综合婷婷| 少妇人妻好深太紧了vr91| 久热热| 是还免费视频1727我| 天美国产三级传媒| 免费中文在线| 在线有码中文字幕| 2019天天干| 色天天野狼综合社区| 欧美日韩国产电影| 一色网男人的天堂| 偷拍自拍在线视频观看| 搡老女人老91妇女熟女| 国产精品乱码久久| 国产精品69人妻无码久久久| 亚洲日本韩国在线| 欧美亚洲激情一二三| 久草新在线| 亚洲婷婷综合网| 日韩免费性爱视频在线观看| 韩国黄色片精品久久久| 激情久久久| 精品少妇高潮久久| 人妻插插人妻人| 久久男人的天堂| 婷婷激情四射| 久久久亚洲精品中文字幕人妻| 国产92麻豆天美精品色欲5| 欧美综合亚洲综合| 欧美人妻久久精品二区三区| 日韩成人高清一区二区| 久久日韩肥臀| 91中文字幕在线观看| 精吧天堂| 亚洲素人网| 少妇69中文| 日韩一区二区熟女| 国产日本熟女顶级一区二区三区视频| 欧美久热| 精品久久久亚洲AV成人网站| 岛园激情| 亚洲中文日韩欧美大香蕉视频| 国产无码高清操逼视频| 日本成人免费一区二区三区| 久久久久久97| 91狠狠综| 日本不卡一区二区| 白嫩少妇| 亚洲中文字幕熟女| 九九综合九九综合| 粉嫩av在线| 17c嫩草51久久91嫩草| 欧美97| 东北毛片| 国内精品嫩模A∨私拍小视频| 又粗又长又大国产不卡| 韩国一级做a久久久久| 极品白嫩美少妇在地板上位骑射淫水泛滥| 日本大香蕉综合网| 精品福利| 高清有码一区二区| 国产精品久久久久无码Av网曝门| 欧美大香蕉久| 超碰无码加勒比| 久久91精品国产9丨久久分亭| 国产毛片在线| 九月丁香综合网| 99人人干| 欧日韩不卡视.频| 9久久9综合| 国产不卡中文字幕免费avi| 久久亚洲人妻| 久久久久久久久国产| 香蕉国产97| 午夜一区| 国产一区二区免费福利片| AV一起草在线| 操逼1区| 天美麻花大全视频| 999日韩中文精品观看视频。| 中文伊人大香蕉视频| 青春草A| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 三级片网站在线播放| 色色激情| 大香蕉伊人网WWWn0n| 国产精品第二页| 一区二区亚州激情久婷婷欧美| 欧美日综合| 超碰78| 精品少妇人妻av久久免费| 在线v中文字幕一区二区三区| 日日狠狠久久偷偷色综合免费| 啊啊啊啊啊在线观看网址 | 超碰人人操97碰| 在线观看国产黄色| 亚洲乱色熟女一区| 操人妻少妇中文| 国产深喉| 九九热精品| 亚洲图片日本AⅤ欧美在线| 日韩特一级久久| 久久久工口| 最近的最新的中文字幕视频| 青青操网| 夜夜夜夜久久久久| 欧美A√综合网| 99这里只有精品| 国产精品自在自拍视频| 嗯嗯啊啊亚欧精品| 天天日天天舔东京热 | 91路www| 91情色在线| 九九精品99| 婷婷五月丁香五月| 日夜干射色啊| 在线不欧美| 91爆操视频| 综合国产97| 久久久久久人| 高潮毛片无遮挡高清免费| 久久99综合| 国产地址二三| 97爱综合| 欧美极度丰满熟妇hd| 91人妻视频| 91亚洲人| 日欧操屄视频| 亚洲有码第一页| 97色97干| 亚洲综合成人网| 一本久久精品中文字| 亚洲日韩天堂| 丁香五月自拍| 丝袜狂射91| 97色伦97色伦国产欧美| 玖玖色综合| 日韩综合97P| 日韩av免费一级电影| 狠狠综合| 国产熟码AV| 脫衣舞一区二区三区| 日本久久久久久久久| 丝袜美腿91| a天堂视频| 欧美日韩亚洲天堂网| 啊啊啊啊啊啊啊啊在线观看| 亚洲女毛多水多21P| 欧美日韩国产电影| 1240青青草一区二区三区视频天爱| 午夜福利视频在线一区| 天堂精品小草| 亚洲本色精品一区二区久久| 丁香六月婷婷久久综合| 国产夫妻性生活视频| 亚洲一区二区三区中文字幕| www.一本大99| 欧洲久久一二线| 婷婷五月成人| 久久激情视频| 中文字幕亚韩| 色男人色天堂东京热| 四虎午夜影院| 99re99在线视频| 国产熟女自拍| 天天搞欧美| 久久久久久久久久久久97| 欧美性高潮| 欧美色乱| 欧美十八禁视频| 爽极品影院| 麻豆国产精品午夜视频| 热九九精品| 久久久78| 久久人妻熟女一区二区| 熟女熟妇伦久久影院毛片一区二区| 黄站在线免费观看| 久久有码视频| 黄骗免费网站| 8x福利精品第一福利视频导航| 国产亚洲欧美每日在线| 国产aⅴ无码片毛片一级网站| 日本护士高潮| 欧美亚洲丝袜人妻制服99| 热九九精品| 狠狠爱AV| 亚卅熟女乱色| 91精品国| 99re视频在线观看这里只有精品| 一区二区三区一亚洲中文字幕、综合区灬 | 亚洲密乳AV| 日本精品性生活久久久| av网站在线观看了| 综合激情一一91| 日本护士高潮| 91制服丝袜| 中文字幕一区 二区三四五 区日 日骚| 1240青青草一区二区三区视频天爱| 国产91丝袜 在线播放| 巨乳特殊服务按摩| 日本操逼视频不卡直接放| 日韩欧美字幕亚洲一区二区| 骚逼高潮久久精品| 日日夜夜干| 伊人国产AV| 夜夜爽33333| 免费视频在线一区二区不卡| 久久伊人青青草| 国产成人免费观看在线视频| chaopen97久久| 亚洲综合小说另类图欧美视频激情小说色五月天| 日韩欧美传媒一区国产| 久热久一区二区三区| 亚洲精品一区二区精品| 果冻传媒一区二区三区| 爱射综合| 国产色产精品在线观看| 极品久久久久久久久久久久久久| 免费观看的黄色的网站| 日韩AV噜噜噜一区二区三区四区 | 成人久久久| 伊人久久大香线综合无码| 人妻系列无码专区中文有码| 91大香蕉伊人| 116美女午夜| 亚洲日韩美国人妻| 狠狠入| 少妇一区二区三区在线观看| 欧美日韩性爱无码| 91殴美| 嗯嗯啊啊好疼| 五月丁香色综合| 国产最火爆久久国产网站网站| 桃色人妻在线视频| 激情综合五月| 370p日韩欧美亚洲精品| 亚洲第一页色网| 日韩强奸av| 亚洲超碰在线| 日韩av情韩国爱禁区av一区二区| 亚洲av噜噜噜噜噜噜| 开心五月激情网| 一区二区三区在线日韩影院观看| 99这里只有精品国产| 青娱乐av在线| 男人的天堂久久久| 五月天伊人| 亚洲欧美在线综合| 五月婷婷六月丁香| 国产欧美精选自拍一区| 草草草视频| 超碰午夜| 影音综合网| 久操热| 久久久久亚洲av综合波多野制衣| 97这里有精品| 98超碰日本| 国产性刺激| 九九碰九九爱97| 国产AV激情无码久久无码| 久久永久无码人妻视频| 91高清日| 国产视频第2页| 亚洲国产精品无码AV久久| 国产免费久久久久| 亚洲熟妇白浆无码AV| 黑人精品成人一区二区三区| 激情婷婷丁香| 小情侣高清国产在线视频| 久湿久久| 欧美黄色大香蕉一区二区| 亚洲有薄码区久久在线一区| 日本性爱少妇| 久久99干一本高清| 六月色婷婷| 九九九九九九视频免费| 热天堂一区二区| 在线观看亚洲成人精品| 国产精品乱人伊人网| 九九伊人网| AV无码久久久精品| 亚洲一区二区三区中文字幕| 日韩国产欧美伦理在线| 国外91| 国产热RE99久久6国产精品首| 九七超碰人人乐| 欧美性天天影视| 天堂v无码免费视频| 区一二区日韩亚洲乱码av电影| 国产精品爱欲| 亚洲国产中文字幕| 久热9| 午夜小电影在线插入淫高潮| juliaann丝袜大战黑鬼| 福利在线观看一区二区| 国产午夜福利合集| 淫淫总合网| 国产精品毛片?v一区二区三区| 久久久9 9 9精品| 亚洲精品色| 青娱乐二区免费| 成人天天爽| 婷婷在线视频| 亚洲一区操| 中出91视频| 亚洲情色一区综合| 亚洲精品三区在线观看| 久久久999国产精品| 国产极品999| 中国国国产一级特黄毛片| 久久久久久999| 黄污污污污| 久久婷婷一区二| 夜夜夜久久| www.97在线| 欧美色图亚洲色图成人在在线| 大香蕉伊人一区在线观看| JULIA人妻风俗店中出电影| 久久a久久| 91亚州欧美| 96久久久精品| 精品欧美日韩在线观看| 97精品网站| 欧洲亚洲人妻无码高清久久三区四区| 青青草色AV| 啊啊啊啊啊啊好多水| 老熟女91| 亚洲AV成人无码一二三久久 | 国产精品免费美女视频| 国产精品一区二区 尿失禁| 九九黄色视频在线观看| 九九99久久| 人妻久热在线| 国产成人AV麻豆| 东北操逼| 91欧美色| 翔田千里无码一区| 加勒比在线观看一区二区| 亚洲无码?第一页| 91九色首页| 久久9久9久99久9久9| 九九亚洲精品| 一区二区三区在线日韩影院观看| 999国产精品999久久久久久| 国产精品乱码久久久| 国产在线视频午夜精华在| 影音先锋少妇| 思思热免费视频观看| 久久久久免费少妇| 欧美亚洲丝袜美女电影| 裸体美女久久久| 人妻熟妇一区二区三区| 青春草莓视频在线观看网址| 久久夜精品一区二区三区| 国产精品大香蕉| 在线精品福利免费播放| 亚洲 自拍偷拍 欧美| 日韩免费av片高清无码| 无码78| 精品人妻一区二区免费看| 免费草草草草草视频| 伦在线97| 国产亚洲欧洲在线观看| 免费看污网站| 国产原创精品| 日韩丰满熟妇| 操人91| 久插不卡| 亚洲双插| 欧美呦呦性爱| 五月天色图| 久久av色| 91欧美www| 精品国产一区二区三区四区在线看| 翔田千里av一区二区三区| 中文字幕制服欧美久久一区| 国产精品在线一区二区| 少妇久久久久久| 国产乱人伦AVA麻豆软件.| 人妻天天爽夜夜爽爽| 美女让帅哥通她小鸡鸡| 超碰欧美| 操逼日韩无码| 天天看高清麻豆| 亚洲欧美日韩激情不卡| 丝袜剧情| 欧美高清性猛交| 久久9久久| www.久久最新地址| 天天添天天干电影| AV在线播放网址| 看免费的黄片| 日本人体九九九九九九| 蜜桃臀一区二区三区久久| 亚洲中文字幕在线视频一区二区| 亚洲AV成人无码一区二区三区在线观看| 欧美无圣光在线| 亚洲 欧美 色图| 玖玖玖玖精品国产剧情| 91电影色诱| 亚洲黑人在线| 久久婷婷精品| 国产中文日韩欧美一区二区三区人妻丝袜美腿 | 午夜男人天堂| 亚洲图片视频小说| 欧美日韩一区二区三区四区蜜桃| 久久超碰亚洲人| 国产精品操| 国产欧美一区激情交| 超碰久久精品| 人人摸.人人色| 蜜臀精品1区2区| 国产白丝AV| 日韩av乱伦| 一本色道久久综合狠狠操| 韩日性爱av| 女生自91网站| 日韩精品在线视频,日韩精品……| 97爱爱影院| 天天射影院| 综合网亚洲在线| 日本日皮视频逼| 国产热av| 国产精品久久99日日|