日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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)??磒roject正文里的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; // 跳轉到登錄頁面 } // 創(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)流轉的唯一開關。這段代碼是答辯時最能展示你理解深度的素材。老師問「并發(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就單獨轉換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è)務流。我整理一張驗收清單你照著走一遍比看十遍源碼都有效。功能模塊驗收操作預期結果商品展示前臺首頁打開按分類展示鮮花列表圖片正常加載分類搜索點擊「玫瑰」分類只顯示玫瑰類鮮花商品詳情點擊某束鮮花跳轉詳情頁顯示完整信息游客訪問購物車不登錄點「加購」被攔截跳轉到登錄頁用戶登錄輸入1/1登錄成功session寫入customer加入購物車登錄后加購shopcart表新增status0記錄提交訂單購物車頁點結算庫存扣減shopcart記錄status變?yōu)?后臺訂單管理用1/1登錄后臺看到已提交訂單可改為完成狀態(tài)后臺增刪改鮮花后臺添加鮮花上傳圖片新鮮花出現(xiàn)在前臺列表每一項都過一遍之后你基本就能畫出整個系統(tǒng)的數(shù)據(jù)流和界面跳轉關系。這會讓你在答辯時面對「講講你的系統(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)流轉的數(shù)值含義、配置了哪些框架常量。這份文檔我不建議寫到項目代碼里單獨放一個Notion或Word文檔就行。從哪里開始建議順序是先讀flower.sql看表結構和表關系再讀model包看實體映射然后按一條業(yè)務流從頭到尾追代碼加購 → 結算 → 扣庫存 → 后臺處理。這條鏈路走通再回頭補充理解登錄、注冊、后臺增刪改等其他模塊。做完這套動作你再回答「這個項目你熟不熟」的時候就有底氣了。從那以后我每次下載開源的畢設項目都強制自己走一遍「對照數(shù)據(jù)庫理表關系 → 按業(yè)務鏈路追三層代碼 → 把理解寫進筆記 → 再動手改一個功能」的流程。這四個步驟走完看似是別人的源碼實際成了自己的彈藥。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
成人无码电影在线观看网| 日韩欧美天天爽爽爽天天爽爽| 999在线电影香蕉| 亚洲男人天堂视频| 国产农村妇女精品1区二区| 欧美色97| 九九久久九九久久| 国产欧美一区激情交| 91久久久亚洲| 91日韩网站| 狠狠色狠狠色狠狠五月| 久久亚洲天堂| 国产精品国产拍高清AV| 操逼精品视频| 超碰97人妻在线| 91成人18| 久久美女国产| 成人婷婷丁香| 无码视频一区二区| 97网站在线观看| 亚洲毛片基地专区| 岛国视频免费在线观看| 久久久久人妻| 欲射影视| 国产精品福利视频| 日本视频在线观看污污污| 亚洲精品三| 天天摸夜夜摸| 俞拍久久国应视频| 婷婷丁香五月天综合东京热| 天天日天天舔天天喷天天射| 加勒比伊人综合| 骚逼自拍99| 国内毛片无遮挡国产| 日本久久精品| 青娱乐黄色录像| 亚洲se91| 久热伊人| 四虎影视 亚洲无码| 2011国产精品| 97精品免费视频网站| 久久性爱精品一区| 久久久九九| 欧美亚洲国内自拍| 色网亚洲人| 国产毛片精品一区二区色欲黄A片| 9久综合网| 欧美成人精品一区| 日本精品一区二区中文字幕| 亚洲十八禁止| 国产AV久久野战精品| 婷婷丁香一区二区三区| 久久国产成人精品国产成人亚洲| 四虎影院成年人片| 国产欧美后入| 久久夜夜| 少妇三P| 日韩中文字幕国产| 97色97好| 久久鲁干| 天天亚洲| 欧美躁死她一区二区| 蜜臀AV午夜精品久| 91亚州欧美| 亚洲毛片一级带毛片基地| 亚洲女人毛茸茸91| 夜夜高潮夜夜爽高清视频一| 后入式在线免费观看60秒| 欧美丰满少妇交换91欧美精品| 麻豆AV96熟妇人妻| 啊啊啊好爽快点啊啊啊嗯嗯| 欧美麻豆成人同性GⅤ在线| 91色欧美| 青青操在线亚洲视频观看欧美在线| 免费的黄片有限公司| 日本黄色XXX| 超碰碰碰碰| 黑人白女精品一区| 少妇无码999| 夜夜骑天天燥| 天综合网| 亚洲国产日韩欧美熟妇在线| 无遮挡男女激烈动态图| 激情五月天校园春色网| 白丝AV网站| 日本女人操逼| 人人艹亚洲| 男人的天堂va在线| 视频在线97| 日本精品一区三区| 爱做久久久久久| 国产粉嫩蜜臀av一区二区三区| 极品内射| 殴美,日韩国产伦精品| 搡老女人老妇女AAA一VU麻豆| 91欧美情色| 97天天弄| 日本伦理一区二区| 亚洲一区二区三区麻豆传媒| 亚洲不卡不卡中文字幕不卡 | 国产一区二区欧美日本| 成人av动漫在线观看| 岛国大片在线观看网站入口| 国产成人拍国产亚洲精品| 中文字幕超碰CAO| 久久精品视频久久久| 五月天婷婷综合网| 色吧综合网| 午夜男人一级A片7777| 亚洲成?V人片在线观看福利| 日韩探花精品在线视频| 九九黄色视频在线观看| 久久久久9| 狠狠五月天| www.夜夜操| 久久精品性| 国产小u女在线观看| 色情五月综合婷婷| 日本高清电影欧美色图| 91亚洲欧美色图| 中文字幕诱惑制服人妻丝袜美丝袜美| 97亚洲综合在线| 久久久久久久久久久久色网| 欧洲精品二区| 92久久| 啊啊啊免费| 日本一区不卡| www亚洲免费| 日本丝袜人妻内射| av一区二区三区 中文| 欧美操人| 超碰国产情侣自拍网| 伊人色综合超碰| 综合网久久| 日han少妇无码| 加勒比少妇AV婷婷六月天超碰超碰| 青青草中日韩在线| 四虎国产精品永久在线囯在线 | 亚洲成人网站在线观看| 97玖玖人妻| 天天影视激情欧美| 麻豆区久久久久亚| 少妇厨房愉情理伦片bd在线观看| 久久五十路熟女人妻| 怡红院一区二区熟女人妻| 欧美激情综合| 亚洲人久久久网| 综合色久欲| 青青草福利视频| 乱伦日本中文自拍| 日韩在线观看中文字幕视频| 性色中出| 富女玩鸭子一级毛片| 天天天天天天天天天天干美女| 色色色热| Aa东京男人的天堂| 男人女人18禁片免费看网站| 色爱三区| 九九拍拍精品视频在线播放 | 丁香六月综合激情| 国产又长又大又粗的视频| 好色综合| 啪啪啪综合网| 超碰97欧美日韩| 色九久| 国产专区第一页| 日韩精品区二区三区不卡| 四季AV一区二区凹凸精品小说| 欧美高潮| 亚洲精品国产专区在线观看| 99re6久热只有精品6在线直播 | 久久亚洲中文字幕视频| 自慰白浆在线观看| 好好的日:com久久九九| 天美精品原创av片国产| 中文字幕av乱伦| 亚洲自拍另类丝袜综合| 一区二区三区看视频| 婷婷丁香九月| 综合干干干av久久久综合网| 日产欧美电影一区二区三区| 在线 制服丝袜中出 人妻| 九九九九免费视频| 在线a v| 国产高清1234区| 亚洲成人AB| 人人潮人人摸| 久久精品72| 3PAV乱伦视频| 玖玖97综合| com 首页 18岁 禁区 女优 免费 精选 同城 | 人妻天天夜夜爽一区二区| 国产精品久久久久999| 久操91视频| 淫妻综合网| 久久宗合97| 久久成人国产| 日本孕妇孕交| 成人免费在线网站| 超碰视97中文| 97摸视频| 久久九九97| 伊人久久艹| 日韩综合第八区国产精品| 午夜精品五区| 欧美第五页| 在线看免费无码AV天堂的| 在线色资源| 亚洲少妇综合在线播放| 久久欧美激情| 青青草吊丝| jizz啪啪| 亚洲色香| 97超碰美国| 人人摸人人入| 亚熟在线| 免费A V在线播放| 国产精品69久久久久孕妇欧美| 黄色视频特级毛片| 青青青在线高清视频在线一二三四区| 亚洲色吧网| 一级一性爱免费视频| 白丝1区2区3区| 黄色成人网久久久久久| 欧美成人贴图| 天天舔天天| 欧洲特黄毛片免费看欧洲毛片| 婷婷成人久久久精品| 亚洲精品一区二区精华| 国产中文日韩欧美一区二区三区人妻丝袜美腿 | 久久久111| 手机在线中文字幕国产| 人人噜夜夜操| 天堂种子在线www网资源| 天堂综合网| 旡码电影特区| 秋霞久久亚洲精品成人| 色色九区| 18岁禁 茉莉成人久久| 91三级理论片播放器| 91日产桃蜜| 欧美日韩免费专区在线| A片 AV一级在线播放观看免费| 另类欧美综合| 91黑丝美女| 性做久久久久久免费观看软件| 加勒比海人人操超碰在线| 日本久操视频| 乱伦av.com| 97干在线视频| 欧美 亚洲 91| 特污免视频| 亚洲色 国产 欧美 日韩| 久久精品国产亚洲粉嫩| 青青操视频在线| 天天色香欲综合网| 色一情一乱一乱一区91Av| 日欧操屄| 乱伦一二三区| 欧美色另类| 日本淫穴在线| 天天插天天舔舔天天干| 性做久久久久久免费观看软件| 国产精品96| 骚熟女AV网| 男人的天堂在线2| 99久久九九| 性影在线视频| 亚洲精品国产熟女久久久久久| 亚洲欧美黄| 欧美特大AA级黄片| 青娱乐福利99| 久久九九97| 色哟哟1区2区| 美腿丝袜高跟网免费视频免费视频| 国产AV超爽| 午夜福利无毒不卡| 视频国产成人精品日本亚洲18| 99精品无码| 97爱b| 成人网欧美风情| 99久久9| 久久精品国产96精品亚洲拳交| 欧美色图片| 91中出视频| 人妻大香蕉| 国内97干免费看| 日韩AV中文字幕电影| 97福利视频| 日本色色的视频| 黄色AAAAA欧美| 午夜国产成人精品视频| 久久精品一区二区| 欧美一级AAAAAAA| 少妇综合| 日韩三级在线观看网站| 久久精品国产Aⅴ| 久久精品熟妇丰满人妻99| 欧美性高潮在线| 97在线/亚洲| 蜜汁欧美| 91麻豆天美传媒在线| 91N综合网| 欧美狠狠狠| 亚洲色图A| 亚洲av资源| 91亚洲图片| 欧美92| 天天干夜夜鈤| 加勒比综合| 尤物视频视频官网| 一区二区三区亚洲| 亚洲人妻在线一区| 黄aaaaaaaaaaaaaaaaaa色网站| 亚洲九月丁香| 99综合视频| 人妻久久久久久| 狠狠中文字幕| 97色欧州| 人人妻人人色一区二区三区| 啊啊啊啊啊啊在线| 秋霞免费无码视频日韩A片| 成人av影院在线观看| 日韩黄色av中文字幕| 亚洲天天操| 九九视频黄色片| 在线综合 亚洲 欧美中文字幕| 国产人妖的免费的视频| 天天操天天舔| 久久本道| 国产噜噜噜噜噜久久久久久久久| 97精品视频在线| 9久热这里只有精品| 国产精品一区二区a| 久久黄色视频一区二区三区| 无码国产精品午夜不卡(| 日韩AV一区二区三区四四| 欧美日日夜夜| 4tube欧美女厕所| 囯产精品久久久久久久久久二区三区| 亚洲国产精品无码AV在线| 九九热精品| 好看的91视频| 91岛国动作片| 亚洲性爱电影| 激情网五月天| AV99热18这里只有精品| 91亚洲欧美激情| 成人免费看吃奶视频网站| 日韩欧美字幕亚洲一区二区| 操死我干死我| 色欲久久99精品久久| 成·人免费午夜在线观看| 欧亚乱色熟女一区二区| 黄页大片在线观看| 热久久无毒不卡| 91春色| 白嫩国模丰满一二三区| n1038 一二三区| 成人区人妻精品一| 一线黄色免费性爱片| 色播五月婷婷| 伊人成人情色综合| 九九久久玖玖| av资源在线观看少妇| 黄总AV色图| 人妻91少妇| 欧美性爱中文字幕无线码| 亚州色图第三区| 青久久| 高清国产性猛交xxxx乱大交| 色穴精品| 91精品91久久久中77777| 精品国产乱码久久久久久口爆网站| 91人妻丝袜无码| 欧美色图20P| 自拍大香蕉乱插| 中文字幕十五区| 亚洲国产丝袜熟女av| 噜噜噜无码AV一级一级久久影院| 狠狠躁天天躁日日躁97| 亚洲自拍天堂| 在线视频一区二区传媒| 亚洲中字幕日本一区二区三区| 国产AV高清AV无码| 久久精品一区一起草| 男人高清无码一区二区| 99色骚| 久久亚州精品成人Av无| 亚洲高清内射| 国产精品爱欲| 97在线欧洲| 综合影院永久入口国产| 日本伦理一区二区| 操日韩第| 青青草国产一区二区三区| 超碰成人公开| 99re热| 顶级丝袜熟女一区二区三区| 一级免费精品| AA丁香综合激情| 亚洲 欧美 第一页 | 精品制服美女中文一区二区三区| 亚洲二区精品在线观看| 日韩成人人妻网站| 婷婷视频网| 97欧美综合| 98一区二区精品| 91美女网站| 一区久久久二区| 人妻二区| 91美女视频电影| 成年人一级黄色毛片大全在线观看| 超碰69| 91精品久久久久久77777| 精人妻一区二区三区| 五月天开心网| 超碰成人人人爽人人爽| 国内操逼视频二区| 搡老熟女老女人老熟妇免费视频| 九t超碰| 91久久精品国产| 人人看黄色视频| 91AV天堂| 污啪啪啪视频| 亚洲第一精品在线视频| 日日不卡av| 第二页中文字幕| 成人影院永久免费观看网址| 亚洲精品久久一区二区三区蜜桃臀| 日韩无码极品| 男人的天堂日韩| 丁香激情五月天| 国产精品不卡一区二区电影| 欧美色道啊| 日韩AV电影网站 | 东北女人操比视频| 婷婷五月天在线观看| 亚洲性爱成人| 超碰精品97| 男人的天堂激情| 欧美黑人精品一区二区| yiqicaoav| 亚洲情色综合网| 精品一区二区3区| 久久久久久久伊人精品| 精品传媒在线一区| 久久精品电影| 久久神马影院| 蜜臀av一区二区三区免费观看| 亚洲 欧美 偷拍 唯美| 少妇高潮一区二区三区在线| 麻豆一区二区三区精品| 麻豆国产尤物AV| 国产一进一出视频网站| 精品久久久av无码免费| av影院十区| 久久久久9| 大香蕉 222| 亚洲日本韩国在线| 色色色欧美| 97超碰人人模人人拍人人| 亚洲色棕合| 亚洲成人精品久久久| 久久xx| 亚洲AV无码黄色强奸| 日本成a人v网站在线观看| 久啪视频| 18精品一二区| 日韩成人小视频| 中文字幕女同在线| 密臀AV在线| 看黑人AV不卡| 欧美1727免费观看视频| 综合啪啪| 国产小视频91| 性爱1区| 亚洲色图日韩精品| 上海一级黄片| 天天色天天干天天射| 国产强奸乱伦欧美| 国产精品爆乳懂色蜜乳| 9999久久久| 久久有码视频| 美女91av| 2003天天干夜夜操| 久久是精品| 性欧美精| 福利五区| 天天射夜夜骑| 青娱乐啪啪视频| 国产97在线 | 亚洲| 人妻少妇精品久久久久久| 欲色综合| 天天亚洲| 久操精品| 久久精品午夜国产亚洲AV无码 | 插老姨肥穴| 91天天综合网,天天综合网| 99热精品青草在线 | 久久久久久久久久8888| 五月丁香激情综合网| 婷婷亚洲综合| 日韩pv中文| 99啪啪视频| 久久久久元码视频| 少好三P| 加勒比色99999| 欧综合网| 啊啊啊想要| 国产精品乱码久久| 无码一区免费在线不卡| 91色人妻| 国产九九九九九九九九| 天天综合精品| 97香蕉人人乳| 五月天九九日国产精品一区二区三区| 欧美 亚洲| a片偷拍视频| av网页一区二区三区| 蜜乳av首页| 91婷婷伊人狠人| 日韩av三四区| 色综九九九一区| 精品久久久久久久| 93人人操人人| 2010男人的天堂| 欧美亚洲丝袜美女电影| 久久久91福利姬| 伊人九九九| 中文色综合| 337p大胆噜噜噜噜噜91Av| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 国产高清不卡视频| 天天射天天色成人| 久久性生大片免费观看性| 蜜乳AV一区| 夜夜一区二区| 精品人妻一二三四区视频| 亚洲中文字幕熟女少妇一区二区| 日本欧美一区二区三区视频麻豆| 91色婷婷综合久久中文字幕二区| 国产性感在线观看| 色吊丝 日日骚 清纯唯美| 中文字幕日韩电影人妻| 亚洲精品丝袜-不卡成人免费……| surenchaopeng| 九月伊人中文字幕| 色网在线视频观看免费| 嫩草一区二区在线观看| 免费看污网站| 91精品人妻一品二品三品| 成年人三级黄色片视频| 91美女在线精品视频| 曰本道人妻久久久在线不卡色视频| 国产综合日韩伦理| 夜夜爽33333| 久久久一二三四区| 亚欧视频在线| 十八禁黄色成人网站观看| 三级色影综合网| 亚洲成人美女无吗| 午夜毛片高清免费不卡| 天堂v无码免费视频| 丁香六月综合激情| 51一区二区三区| 欧美成人四级在线播放| 超碰 av 女人天堂| 国产一区二区三区高清视频| 六月婷婷五月丁香| 天天操福利视频综合网站| 操逼视频色| 欧美三级不卡| 91欧美在线| 六十路日本| 色哟哟av| 亚洲乱码国产乱码精网站| 日本不卡高清免v欧美日韩在线观看| 中文字幕AV中出| 入口操逼网站| 青草伊人久久| 婷婷丁香五月天综合东京热| 青青草乱入乱欲视频在线观看| 张柏芝国产一区在线观看| 蜜桃臀av在线观看| 久久人妻无码毛片A片麻豆| 国产激情视频一区区三区| 99色热| 亚洲毛片久久| 亚洲操操操| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美日产国产在线成人第一区| 欧美另类色| 国产精品懂色tv影视免费观看| 欧美后进式| 污色区网站| 暖暖精品二区三区观看| 在线97视频| 亚洲影院小综合| 人人么人人操| 一本久久精品中文字| 日韩操逼HD| 性性欧美| 日本Xx性爱| 亚洲情色 自拍| 色色色欧美| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 美国aaaaa一级黄片| Aa东京男人的天堂| 99热这里只有精品地址 | 熟妇人妻一区二区三区| 国模无码人体一区二区三| 熟女网站最新| 乱伦系列一区二区| 午夜啊啊| 天天综合日韩网| 尤物av网站免费在线播放| 精品国产国产AV| 色色色欧美| 九九九精品美女| 在线女人91| 天天操人人操狠狠插| 久久久国产护士丝袜美腿一| 九色婷婷| 秋霞网—男女啪啪亚洲免费体验区| 久草热制服丝袜在线观看 | 无码国产精品96久久久久孕妇| 日本不卡三级网在线播放| 日日噜噜夜夜狠狠视频无| 亚州欧美综合| 亚洲色鬼| 干婷婷综合网| 麻豆精品一区二区三区四区免费观看| 国产成人主播| 久久香蕉影院| 葡萄牙性视频一二区 | 亚洲日韩精品在线播放| 综合另类| 日韩久草| 五月天激情婷婷| 91在线欧美| 日韩精品人妻中文字有码在线 | 欧美午夜视频精品久久| 欧美亚洲图片| 国产精品对白自产拍| 欧美精品在线观看| 女人午夜视频777| 亚洲国产成人7777| 天躁夜夜躁2021| 欧美 综合 亚洲| 成人五月香网在线| 国产精品三级视频网站| 国内偷拍精品一区二区| 青娱乐手机日韩在线视频| 色av中文字| 国语av最新自产拍在线观看| 高潮的A片激情扒开一区| 78m成人视线| 97超碰色中文字幕| 欧美三级免费伊人| 五月丁香久久| 久久久国产三级黄色片| 久久社区一区二区三区| 内射老妇BBWX0C0CK| 欧美的精品的视频| 亚洲丨在线| 性感女人网页在线观看视频| 性爱边摸边日免费AV| 久久午夜鲁丝片| 美女91| 日本欧美不卡| 青青草五月份天| 久久久少妇诱惑精品视频| 久久內射| 日韩精品操少妇| av在线人气| 91久久久久免| 六月婷激情福利天堂69| 大香蕉手机视频| 亚洲色综合| 亚洲一区二区三区欧美日韩| 人人操人人大香蕉| 国产精品久久久久亚洲av| 91丨豆花丨熟女| 波多野结衣AV无码一区| 一区二区乱码福利| 91AV入口| 内射夫妻三片| 成人小说视频在线精品欧美| 无码久久国产| 眼镜人妻101.com| 国产精品久久久久久久AV大片| 狠狠婷婷亚洲中文综合久久| 无遮挡又黄又刺激的视频| 日本影视久久免费| 一起草三级AV电影在线观看| 欧美极品美女aaaaaa级黄片| 秋霞网无码| 国产AAAAAABBBBB| 26uuu国产亚洲综合| 国产大陆天天艹| 国产精品久久久久久久AV大片 | 中文字幕二区| 夜夜骑日日| 啊v在线观看视频| 亚洲国产熟妇综合色专区| 国产日韩久久| 国产精品久久久啊| 亚洲成人免费中文字幕| 乱伦Av网| 中文字幕 人妻不满 在线视频| 天天干天天拍| 大吊色| 老女人碰碰在线碰碰视频| 欧美综合制服在线| 97se综合| 欧洲视频在线| 18禁在线视频| aaaa少妇高潮大片| 男人天堂婷婷五月天校园春色| 精品国产少妇高潮视频| 好屌色综合| 亚洲校园激情| 日本潮催一卡操| www..com操老师| 精品人妻伦一二三区久久| 久久久久13| 久久精品中文字幕女同| 欧美色蜜桃97| 人人澡人人干| 免费公开人人操| www久| 欧美大片天天看| 欧美综合综合| 一级毛片久久久久久久女人18| 无码日韩人妻av一| AV天堂丝袜| 国产性爱欧美性爱在线| 96久久久久| 久久精品福利影院| 91美女中出| 日本淫穴在线| AV中亚| 日韩乱伦影音先锋| 尤物av网站| 少妇高潮九九九九九九九| 91精品亚洲内射孕妇| 操高情无码| 黄片色区软件| 高清不卡国产| 另类欧美| 久久久久久亚洲中文| 九九自拍伦理| 欧美加勒比| 91人妻做a观看视频| 五月天婷婷小说| 亚洲欧洲日产国产综合网| 精品久久97| 多毛小伙内射老太婆| 色av中文字| 91欧美丨精品丨入口| 色狠狠一区二区三区香蕉| 最新岛国大片| 中文字幕丝袜人妻| 精品一区二区三区18| 青娱乐欧美激情一区二区| 狠狠狠一区二区三区| 9ⅰ久久久天天| 国产精品精品系列在线观看| 大香蕉丝袜一级片| 大香蕉日亚洲日本亚大| 欧美一区二区福利在线| 老师充足的奶水小说| 在线午夜成人无码视频| 一起草av| 九久9精品| 中文字幕一区电影在线观看| 超碰久久草| 夫妻天天操岛国视频| 狠狠操夜夜操蜜桃视频三区| 91精品操美女| 爱做久久久久久| 97欧美精品综合| 国产精品一区二区手机看片| 极品五月天噜噜| 久久久久97| 性爱精品一区| 亚欧美色图| 日韩久久激情精品| 加勒比五月天| 最近2019中文字幕国语免费版| 亚州色站 日韩电影| 三级精品三级在线观看| 天天干一区二区| 天天看天天干| 熟女高潮合集-永久久久-成人AV | 久草精品一区| 91精品国产91久久福利| 色诱avtt| 免费试看60秒| 中文字幕片| 福利视频香蕉免费一区二区在线| 人妻天天操天天爽视频免费| 快播久久人人aV| 婷婷亚洲天堂| 亚洲女优有码无码高清| 日本中文字幕在线电影| 好吊色综合| 嗯啊不要啊在线 | 久久大陆| 入口操逼网站| 久久9久久| 艳美熟妇先锋一二三区| 大肥女高潮bbwbbwhd视频| 青青草伊人久久| 久久青青草原免费视频| 99热这里只有精品1| 免费农村成人少妇人妻Aa一区二区视频| 殴洲老熟女| 国产午夜激片Av毛片不卡| 999九九九九国产动| 五月婷婷六月天| 丁香婷婷五月| 日产123区精品免费观看| 色欲日韩欧美在线一区| 九九九九9999| 东京热熟女亚洲视频网站| 人人妻人人狠人人| 色99999| 欧美成人一区二区| 亚码激情| 在线播放一级无码视频| 亚洲中文丝袜美腿诱惑字幕| 日本97久久久精品| 高清无码国产亚洲| 青春草莓视频在线观看网址| 欧美黑人91| 亚洲不卡不卡中文字幕不卡| 十八禁av无码免费网站APP| 青青青在线高清视频在线一二三四区| 嗯嗯啊啊啊好舒服| av在线资源| av爱爱爱| 亚洲熟女av中文字幕| 亚洲日韩久久精品一区| 欧美精品在线观看| 精品v日韩欧美国产| 午夜啪| 男女啊啊啊| 粉嫩av一区二区三区四季| 91国产精品在线看| 日本熟妇人妻中出视频| 欧美区亚洲区偷拍区| 91成人高清在线观看| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 不卡在线观看视频| 欧美日韩国产三级黄色| 嗯啊免费视频| 神马久久久久久久久久久久| 色婷五月天| 肉动漫无遮挡h在线观看| 91少妇通奸网站| 日韩传媒在线| 一牛影视久久久一区二区三区| 日韩 欧美 视频 在线 一区| 超碰免费人妻人人| 精品九九九| 麻豆视频一区二区| 99久久9| 大香网伊人久久综合网eew| 日韩人体偷拍| 五月天综合| 91足交| 人人看欧美性爱| 色综合V| 日韩欧美福利视频看看| 色香av| 亚洲人妻爽爽爽| 99操逼| 男女啊啊啊啊啊| 丝袜高跟澳门91视频| 亚洲精品一区二区免费在线观看| 中文字日本乱码| 美女露胸露奶头| A久久| 骚逼高潮久久精品| 亚洲色图超碰在线| 激情综合97| 婷婷丁香六月| 五月丁香六月| 性爱动态120秒| 色欧美天天| 激情网五月天| 久久超碰爱| 久久久久无码| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 丰满精品人妻少妇久久字幕| 99999精品视频| 伊人97色天使| 97日视频| 丝袜狠狠草尤物 91| 99热这里只有是精品10| 色偷偷人人玩人人舔人人操人人摸人人爽| 亚洲日韩乱码中文无码蜜桃臀网站 | 吖在线不卡一区二区国产剧情| 久久亚州精品成人Av无| 精品视频免费在线一区| 天天综合网网欲色| 欧美视频一| 亚洲性爱免费电影| 手机在线观看不卡无码av| 亚洲精品视频在线播放| www.zbzhongsen.com| 亚洲国产欧美日韩人妻日中文| 日本高清_区二区三区| 午夜偷拍久久熟女| 日韩精品免费高清视频在线| 俺去俺来也在线www| 99热这里只有精品9| 青青青操| 成人五月天色网| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 国产乱伦亚洲| 中文字幕狠狠玩| 99在线精品视频| 亚洲熟妇无码一区二区三区| 99九九久久| 中文字幕精品专区搜索结果91| 亚洲成人在线乱码色午夜| 久久久久久精| 日韩簧片免费看| 久久一区二区三区入口| 男人的天堂2010| 屌妞视频久久久久久久| 97 视频在线| 9九九国产| 欧洲特黄毛片免费看欧洲毛片| 午夜精品久久久久久久久久蜜桃| 色牛牛AV| 人人色97| 午夜精品人妻二区三区| 国产成人久久精品蜜臀| 91c色| 久久精品国产精品亚洲艾通辽熟妇| 国产午夜福利视频在线| 欧美日综合| 1级午夜影院费免区| 日韩不卡a级视频专区| juliaann精品熟女一区| 九九久久国产精品怡红院| 亚洲97成人在线观看| 国产精品日韩在线一区| 影音先锋国产精品| 91 丝袜在线| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 91青视频| 久草精品国产蜜臀| 天堂射| 色九久| 久久高清欧美国产| 亚洲视频一二区| 91色宗合| 黄网色一区二区三区四区精品| 999狠狠综合| 亚洲第一视频 欧美风情 日韩| 欧美日韩啪啪电影| 人妻久久久| 日韩少妇无吗| 97精品一区二区视频| 91久久久久久| 天欧美在线| 男人天堂网站| 婷婷六月色开| 亚洲。天堂。日本在线观看| 成人五月天丁香激情综合| 99超级碰免费视频| 久久久久元码视频| 最新av网站在线观看| 久久久9品一区二区三区| 99操逼| 国模精品娜娜一二三区| 欧美精品三区| 7777奇米影视久久| 男人干美女| 亚洲色婷婷久久91| 97色碰| 亚洲女优有码无码高清| 91三级理论片播放器| 国产精品高潮久久AV| 亚洲97成人在线观看| 97中文天堂| 欧美日韩在线小说 | A片三级无码| 蜜桃精品视频一区二区三区| 国产福利在线视频网站| 久久超碰亚洲人| 看日韩黄片| 亚州成人A√| 亚洲无码偷拍| 91色黑人少妇| 五月婷亚洲精品天堂| 亚洲aV性爱| 国产精品九9| 国产91福利小视频在线观看| 中文字幕在线观看第二页| 亚洲国产综合视频| 激情文学网伊人| 婷婷爽人人婷婷爽视频| 玖玖人人爱| 亚洲无码视频免费在线观看网址!| 亚洲国产一区二区三区在线| 欧美精品97| 久久一区无码| 老外又粗又长一晚做五次| 后入式在线免费观看60秒| 国产理论视频在线播放| 成人久久精品| 国产尤物AV尤物在线观看不卡| 无卡一区=区| 婷婷五月天激情小说| 9久9久| 992这里有精品| 欧美日韩大香蕉| 亚洲精品美女操逼| 深夜激情无码| 91伊人久久在线| 99九九精品| 亚洲啪啪综合?v一区综合精品区| 91色图片| 亚洲一区二区三区AV无码| 91超碰丝袜制服| 亚洲色图激情小说| 操逼天美3区| 婷婷五月天色网| 欧美色偷拍| 亚洲日韩在线a不卡99精品| 新视频sss国产| 天天爽天天操| 日韩精品在线视频在线观看| 欧美色道啊| 婷婷久草| 在线观看亚洲成人精品| 欧美 综合 亚洲| 久久99热这里只频精品6学生| 欧美精品久久96人妻无码| 99 国产丝袜在线| 凹凸视频特色日本特黄| 国产自制av蜜乳| 亚洲在钱| 4141514逼喷水三级片| 日韩综合无码色欲vv| 久热这里| 安徽熟妇视频| 噜噜在线| 色综合天天| 鸥美极品| 九九九九九九九九九九九免费国产| 久操网线| 男女一进一出视频久久| 亚洲熟女少妇免费视频| 混色激情av| 成人亚欧免费视频| 好爽视频在线观看视频| 丝袜色综合| 国产农村妇女精品1区二区| 国产亚洲精品自在线亚洲情侣| 美女诱惑一区| 四虎884| 91nbbbbbb| 日本不卡高清免v欧美日韩在线观看| 伊人女女资源在线观看| 91肉片| 夜夜欧美 | 日韩av在线播放不卡| 黑人精品一区二区在线播放| 日逼97| 人妻激情视频| 亚洲自拍欧美国产首页网曝| 亚洲欧美精品91| 亚洲精品无码少妇久久| 天天谢天天干| 丁香婷婷五月| 日日骚av| 天天躁夜夜躁狠狠躁AV| 欧美亚洲美少妇一区二区| 黄页大片在线观看| 五月天激情网图片| 超碰成人国产| 欧美综合娱乐久久| a片久久久久久久久久久久| 午夜一区| 91美| 中国91AV| 超碰97导航| 东方亚洲在线操逼天堂| 91五月天| 伊人国产视频| 97资源欧美| 欧美黑人与女人91~| 六月丁香啪啪| 亚洲夜夜欢无码一区二区| 一级A片女人高潮叫床| 国产aⅴ无码片毛片一级网站| 色就色综合| 97亚洲精品超碰| 超碰人妻久久| 亚洲欧美清纯| 9久久久久| 大香蕉综合网| 97啪啪| 91丝袜在线观看| 翔田千里AV无码秘 三区| 亚洲欧美日韩偷拍色图| 91在线视频国产网站| 欧美成人一级麻豆| 久久国产在线一区二区| 免费a v| 国产黄色视频久久| 国产三级资源在线观看| 国产9 9在线 | 亚洲| 国产乱伦性爱区| 超碰成人公开| 亚洲av综合色| 一区二区三区精品视频| 五月丁香综合激情| 韩日精品四区| 丝袜内射| 十八禁黄色成人网站观看| 闷骚老熟女15P| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 龙兴卡官方查询| 大香蕉琪琪日本女优不卡| 国产乱子伦一区二区三区免看| 天天在线91| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 日产欧美电影一区二区三区| 熟女激情综合网| 久草免费福利在线播放| 伊人久久大香大香线蕉中文| 久久久 国产精品| 日本三级久| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 性色AV蜜色av色欲av| 岛国在线免费视频| 欧美日韩精品一区二区三区高清| 日本123区操B视频| 亚洲人精品久久久喷水| 97精品国产97久久久久久免费| 欧美中文字幕男人天堂久久精品| 啊啊啊啊啊好大好舒服想要| 欧美综合777| 国产久久久久久| 黑人白女精品一区| 操逼网免费无码视频| 国产精品ⅴ无码大片在线看.| 极品美女福利在线观看| 久久精品国产精品亚洲艾通辽熟妇| 色综合网1| 91人妻丝袜无码| 啊啊啊啊在线播放|