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

ARTICLE DETAIL

資訊詳情

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

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

基于SSH框架的花店管理系統(tǒng):JavaWeb畢設(shè)項目核心實踐解析 簡介一套面向JavaWeb課程設(shè)計與大學生畢設(shè)場景的花店管理系統(tǒng)源碼包以SSHStruts2SpringHibernate整合架構(gòu)實現(xiàn)網(wǎng)上花店前后臺核心功能商品分類展示、關(guān)鍵詞檢索、購物車下單、會員登錄以及管理人員對顧客、掌柜、鮮花和訂單的后臺維護并支持上傳鮮花圖片。壓縮包含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等配置文件齊全適合作為畢設(shè)項目參考或SSH框架整合練習。已有215人學習瀏覽項目規(guī)模適中前臺數(shù)據(jù)展示、購物車結(jié)算與后臺訂單處理形成完整閉環(huán)對入門者理解JavaWeb分層開發(fā)與訂單流程有直接幫助。1. 花店管理系統(tǒng)一個基于JavaWeb與SSH框架的畢設(shè)項目到底能干什么判斷一個畢設(shè)項目值不值得下載我通常先看它的技術(shù)棧是不是「主流且完整」——這套花店管理系統(tǒng)正好踩在這條線上Spring3.1.1 Hibernate4.1.7 Struts2.3.4 的SSH組合配MySQL5和Tomcat7前臺是商品展示、分類搜索、購物車下單后臺是訂單處理、鮮花增刪改、圖片上傳。它覆蓋了JavaWeb課程設(shè)計里最常見的幾道大題框架整合、三層架構(gòu)、文件上傳、購物車業(yè)務流。如果你是做畢設(shè)、課程設(shè)計或者想找一份能跑的JavaWeb前后端源碼來拆解數(shù)據(jù)庫表設(shè)計和框架配置這份資源值得仔細過一遍。提示項目自帶完整的前后端源碼和flower.sql數(shù)據(jù)庫腳本Eclipse導入即可運行但JDK、Tomcat、MySQL版本需要按項目要求對齊否則會遇到一堆兼容性報錯下面會逐個說清楚。適合人群很明確正在選畢設(shè)題目的在校生、需要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í)行幾條帶字符集設(shè)置的命令。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具體以你安裝時設(shè)定的為準。改完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)境變量如果設(shè)了的話 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端口或者關(guān)閉占用端口的進程。3. SSH框架整合源碼拆解Struts2控制層與Hibernate映射的實現(xiàn)細節(jié)3.1 項目整體目錄結(jié)構(gòu)與MVC分層定位這個項目在分層上是非常標準的SSH教科書式結(jié)構(gòu)你打開源碼包會看到清晰的包路徑每一層都有自己的職責這也是它作為學習項目價值最高的地方。源碼包的核心結(jié)構(gòu)如下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è)設(shè)計答辯時老師最愛問的點——你只要把「三層職責分離」講明白這個項目的框架理解分就拿到了。3.2 BaseDao泛型設(shè)計為什么它是整個數(shù)據(jù)層的核心打開dao包你會發(fā)現(xiàn)五個Dao類都很薄核心邏輯全在BaseDao里。它用的是Hibernate的getHibernateTemplate()模板方法把CRUD操作做成泛型方法子類只需要指定實體類型就能用。這個設(shè)計是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的泛型方法。這套設(shè)計的巧妙之處在于五個實體類共享一套CRUD代碼新增實體時只需要寫一個不加任何方法的Dao子類。當然代價是業(yè)務復雜后Dao會越來越臃腫——在這個項目里夠用也足夠你答辯時說明白「為什么用泛型基類」。3.3 struts.xml路由與Spring整合的關(guān)鍵配置Struts2的配置文件把URL請求映射到具體Action類而這個項目里Action的實例不是Struts2自己創(chuàng)建的而是由Spring容器管理。這就是SSH整合的關(guān)鍵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)境記得關(guā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去容器里取實例。關(guān)鍵點nameflower_*這種通配符風格要求Action方法名和URL規(guī)范對齊這也意味著你在新增功能時需要遵循約定不能隨意命名。答辯時老師會問「為什么二維碼能對應到方法」你把通配符和method屬性講清楚就過關(guān)了。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)境要關(guān)掉。tx:method namesave* propagationREQUIRED /事務傳播級別REQUIRED意思是如果當前沒有事務就新建一個Service里以save/update/delete開頭的方法都會走事務。事務配置的核心理解HibernateTemplate的每次操作都在事務上下文中執(zhí)行Spring的tx:advice自動攔截service層以指定前綴開頭的方法并綁定事務。這能保證購物車下單時購物車記錄、訂單記錄、鮮花庫存三件事要么全部成功、要么全部回滾——這是電商類項目最基本的一致性要求。4. 購物車與訂單核心業(yè)務流從前臺加購到后臺處理的完整鏈路4.1 五張表的關(guān)聯(lián)關(guān)系shopcart表的設(shè)計值得細看這個項目的數(shù)據(jù)表設(shè)計不復雜但shopcart表很微妙。通常項目會把購物車和訂單拆成兩張表這里合二為一通過字段區(qū)分狀態(tài)??磒roject正文里的model包Shopcart.java同時承擔了這兩個職責這直接反映在業(yè)務代碼的實現(xiàn)方式上。表名字段角色說明customer顧客信息含登錄賬號密碼前臺登錄校驗manager經(jīng)理信息后臺登錄校驗測試賬號與前臺相同category鮮花分類如玫瑰、百合、綠植前臺分類導航flower鮮花商品名稱、價格、圖片、庫存、所屬分類shopcart購物車/訂單關(guān)聯(lián)flower和customer含數(shù)量、下單狀態(tài)shopcart表本質(zhì)上是一個關(guān)聯(lián)表外鍵指向customer和flower核心字段是數(shù)量nums和狀態(tài)標記。當用戶未結(jié)算時它是一條購物車記錄結(jié)算提交后狀態(tài)字段發(fā)生變化它就變成了一條訂單記錄。后臺經(jīng)理看到的待處理訂單本質(zhì)就是把這些狀態(tài)為「已提交」的shopcart記錄按顧客聚合展示。4.2 前臺加購到結(jié)算的代碼鏈路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)建購物車記錄關(guān)聯(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結(jié)果由struts.xml映射到登錄頁——這是「游客不能下單」的邏輯防線。cart.setStatus(0)狀態(tài)碼是關(guān)鍵設(shè)計。0是購物車狀態(tài)用戶提交訂單后狀態(tài)改為1后臺看到的「待處理訂單」就是status1的記錄。orderService.submitOrder(customer.getId())一次調(diào)用把該顧客所有status0的記錄置為status1實現(xiàn)批量結(jié)算。這里注意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)的唯一開關(guā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)訂單完成操作。這里粒度是每個購物車記錄所以一次下單多件商品后臺逐條確認完成。從這個設(shè)計能看出項目的簡化策略不對訂單主表和訂單明細表做拆分直接復用shopcart。好處是表少、邏輯直接學習成本低壞處是統(tǒng)計維度單一不能做優(yōu)惠分攤、收貨地址、物流追蹤這些擴展。做畢設(shè)答辯時你如實說明這個取舍就行。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文件里有中文注釋最好把關(guān)鍵配置都寫成純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相關(guān)的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上限擴大五倍。上傳成功后查看項目里設(shè)置的uploadPath通常在配置類或properties里確認保存路徑和引用路徑一致。常見做法是保存到WebContent/upload/下引用時用相對路徑upload/xxx.jpg這樣Tomcat部署后路徑不丟。另外確認FlowerAction里處理upload的代碼在保存時給文件名加了隨機前綴不然用戶上傳兩個同名文件會互相覆蓋。6. 功能驗收清單與二次開發(fā)把畢設(shè)項目改造成能演示的作品6.1 拿一張表逐項核對九項功能驗收下載后跑通不代表項目就是你的了你需要按功能逐項驗收每一項都做一遍確認自己理解業(yè)務流。我整理一張驗收清單你照著走一遍比看十遍源碼都有效。功能模塊驗收操作預期結(jié)果商品展示前臺首頁打開按分類展示鮮花列表圖片正常加載分類搜索點擊「玫瑰」分類只顯示玫瑰類鮮花商品詳情點擊某束鮮花跳轉(zhuǎn)詳情頁顯示完整信息游客訪問購物車不登錄點「加購」被攔截跳轉(zhuǎn)到登錄頁用戶登錄輸入1/1登錄成功session寫入customer加入購物車登錄后加購shopcart表新增status0記錄提交訂單購物車頁點結(jié)算庫存扣減shopcart記錄status變?yōu)?后臺訂單管理用1/1登錄后臺看到已提交訂單可改為完成狀態(tài)后臺增刪改鮮花后臺添加鮮花上傳圖片新鮮花出現(xiàn)在前臺列表每一項都過一遍之后你基本就能畫出整個系統(tǒng)的數(shù)據(jù)流和界面跳轉(zhuǎn)關(guān)系。這會讓你在答辯時面對「講講你的系統(tǒng)有哪些功能怎么實現(xiàn)的」這種大而泛的問題時有話可說而且講得清楚。6.2 畢業(yè)設(shè)計答辯加分低成本做三個增強很多人拿到項目以后直接提交換了但這恰恰是答辯容易掛掉的原因——老師對代碼的運行邏輯問兩句就露餡了。我做這行這么多年建議你最少做三個小增強成本很低但答辯效果立竿見影。第一個增強是注冊功能。項目原版只有登錄沒有前臺注冊你可以在CustomerAction里加一個register()方法在JSP加注冊頁在CustomerDao里加一個findByUsername()做重名校驗。這能展示你對注冊流程的完整理解——表單校驗、唯一性約束、密碼存儲。第二個增強是搜索關(guān)鍵字功能。FlowerDao里加一個HQL模糊查詢from Flower where name like ?前臺加一個搜索框。這里你還可以順帶講一下Hibernate的HQL預編譯防SQL注入原理——這是個很好的答辯亮點。第三個增強是頁面美化。原版JSP頁面其實很樸素你把CSS改一下、把頁面布局調(diào)整成現(xiàn)代風格整個項目的觀感能上個檔次。前端用到的技術(shù)還是純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 把別人的源碼變成自己的項目還差一步注釋與梳理最后一步也是我最推薦你做的事寫一份「項目說明文檔」。不用很正式但要把關(guān)鍵點記錄清楚——數(shù)據(jù)庫每個表是干什么的、哪些方法負責什么功能、訂單狀態(tài)流轉(zhuǎn)的數(shù)值含義、配置了哪些框架常量。這份文檔我不建議寫到項目代碼里單獨放一個Notion或Word文檔就行。從哪里開始建議順序是先讀flower.sql看表結(jié)構(gòu)和表關(guān)系再讀model包看實體映射然后按一條業(yè)務流從頭到尾追代碼加購 → 結(jié)算 → 扣庫存 → 后臺處理。這條鏈路走通再回頭補充理解登錄、注冊、后臺增刪改等其他模塊。做完這套動作你再回答「這個項目你熟不熟」的時候就有底氣了。從那以后我每次下載開源的畢設(shè)項目都強制自己走一遍「對照數(shù)據(jù)庫理表關(guān)系 → 按業(yè)務鏈路追三層代碼 → 把理解寫進筆記 → 再動手改一個功能」的流程。這四個步驟走完看似是別人的源碼實際成了自己的彈藥。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色婷婷久久| 老子午夜伦不卡影院| 亚洲国产成人高清在线| 久久无码成人| 精品人妻一二三| 最新精品久久蜜桃 | 日本亚洲vr欧美不卡高清专区| 亚洲?V无码专区在线电影| 玖玖资源视频一区二区三区| 色天堂在线观看| 久久最新免费视频23| 91高清无码下载| 亚洲无码精品AV久久久| 日韩一二三区| 欧美草草高清日韩视频| 欧美传媒一区| 日韩 成人 有码| 国产欧美日韩女同性恋ww喷水精品| 另类 日韩 熟女| 又大又大又大又粗爽高潮观看| 亚洲日精品| 亚洲Av噜噜一区二区三区妖精| 99色视频| 99热精品在线在线| 蜜臀av在线播放一区二区三区| 青娱乐国产精品| www..com操老师| 成人五月天丁香激情综合| 久久九九热| 东京热熟女亚洲视频网站| 91少妇香蕉久久精品| 日韩丝袜人妻AV| 中文字幕一区av| 激情小说五月天| 太久视频| 日韩中文字幕视频在线观看| 日本日皮视频逼| 精品人妻一区| 911粉嫩人妻| 在线无码操| 黄页视频网站野外| 韩国三级理论在线| 色色五月丁香| 区二区亚洲婷| 日韩日韩日韩-国产乱码精品一区二区| 色天堂综合| 人妻少妇久久中文| 天天射天天色成人| 大香蕉一区二区在线观看.| 美国一区二区三区视频| 99热日本| 密臀AV在线| 一区二区三区无卡视频在线观看| 啊啊啊啊啊好舒服视频| 97色操| 久久粉色| 91看黄片| 日韩av在线播放不卡| 国内精品久久久久影院亚洲| 九九亚洲| 九九九九欧美| 香蕉黄色一级视频| 国产精品久久久久久久久AV大片| 大香蕉免费中文| 情色日播放AV| 日韩精彩视频| 国产精品成人久久一区二区三区 | 亚洲色图第四色| 88在线一区二区三区| 日韩精品三级| AA级电影三区| 亚州精人品大香蕉| 欧美,亚洲,日韩,v,天堂,手机在线观看 | 天操天操夜操夜月月年年操操| 成人草草视频| 91亚洲色人| 9999免费精彩视频| 亚洲综合性网址| 在线观看啊啊啊啊啊| 精品69网| 性爱av网站| 不卡超碰护士AV在线免费播放| 欧美aⅴ99久久黑人专区| 午夜美女诱惑电源网| PMv在线观看| 欧美性生活综合| 精品免费一区二区三区在线亚洲人成| 偷拍片久久| 秋霞 色色| 91丨九色丨东北熟女| 国产视频小说| 激情黄色片在线观看| 国产91精品福利在线| 久久理论字幕视频| 淫淫综合网| 精品伊人久久久大香线蕉小说| 午夜男人天堂| 日韩成年人性爱视频| 欧美十八禁导航成人| 日韩在线女优天天干| 国产精品粉嫩福利在线| 精品中文字幕第一页| 五月婷婷六月天| 一卡二卡三卡| 婷婷五月天综合网| 啊啊啊水好多| 性爱久久| 欧美色院| 欧美有码激情视频一区二区三区| 久久激情四射婷婷丁香五月天| 日本性交操一区二区不卡系列| 精品国产一区二区久久| 91爱啪| 国产自偷自拍一区| 亚洲综合有码| 艹我哪美一区无码| A级片日韩欧美国产欧美视频精选观看| 久久五月丁香| 亚洲久久久| 超踫中文字幕| 欧洲在线性爱视频| 色九九九| 日韩精品中文字幕二区| 男人的天堂一区| 久久久无码国精品无码三区三区| 一本色道久久综合精品婷婷| 激情第四色| 加勒比综合88| 久操99| 天堂69亚洲精品中文字| av72网| 亚一综合久久久久久久久久| 97超碰人操| 伊人女女资源在线观看| 欧美色网络| 色色色色色色色色色色色色色色综合| 国产高清自拍| 天美欧美国产| 国产AV高清AV无码| 亚洲成人贴图| 伦理日韩国产久久| 无套内射性感少妇视频| 操操吧亚洲乱伦视频| 超碰538| 黄色小视频日本txt| 欧美黑人168页欧美黑人167| 欧美成人精品A片免费一区99| 97超碰精品图片| 口爆综合网| 偷拍精品一区二区三区| 亚洲综合一| 久久香蕉网| 99亚洲精品| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 欧美一品道| 日本免费中文一区二区三区四区 | 丁香久久| 这里只有精品视频在线观看麻豆| 久9爱精品| 日本免费一区二| 久久久久亚洲av综合波多野制衣| 欧美美女视频| 日本不卡一区二区三区| 蜜臀亚洲中文| 天天插天天插| 亚洲欧洲精品视频发布| 天天插网| 亚洲蜜臀精品视频久久| 日韩av色图综合| 99色综合| 国产尤物AV尤物在线观看不卡| 国产美女高潮| 超碰碰97资源站| 蜜臀久久久国产| 69超碰综合| 欧美经典一区二区三区| 人妻日日干| 午夜性生活av免费在线看| 91少妇通奸网站| 欧洲乱码视频| 欧美精品第四五页中文字幕在线观看| 成人av免费观看| 思思热免费在线视频| 人人操人人色网| 亚洲国产97在线精品一区| 嗯……啊…嗯嗯…啊…好舒服| 欧美黄片视频在线观看免费| 中文字幕中文字幕一区二区| 两女互慰AV高潮喷水在线观看| 97国产|免费| 亚洲青青草| 天堂在线一区二区| 9 1超碰九色| 十八禁电影伊人网| 大香蕉在线SuP| 天天干天天日天天射黄色片| 九九精品美女高溯喷水| 五月天婷婷欧美三区| av凤凰久久久| 亚洲国产一区二区三区四区国产| 色色五月丁香| 婷婷五月综合在线| 97久久超碰| 在线观看国产黄色| 久操婷婷| 国模一区二区三区| 深夜啪啪啪视频免费| 天天干天天干天天| 亚洲精品久| 日韩AV电影网站| 狠狠操夜夜操蜜桃视频三区| 女同在线视频一区| 密臀在线免费观看| 97视频620| 国产乱人妻精品入口| 91天天爱| 亚洲 欧美综合| 久久久久久999| 就去色综合| 97在线视频网站| 亚洲在线a| 精品国产Av无码久久久伦古装| 五十路熟女人妻一区二区三区四区五| 99亚洲精品| 中文字幕AV乱伦| 麻花传媒免费网站在线观看| 亚洲激情在线一区二区| 丁香五月av| 日韩99神马视频片| 外国免费性情大片| 国产女人与拘做受视频免费| 国产精品久久久久久久久AV大片| 亚洲精品视频二区| 久久成人午夜狠狠| 超碰99re| 日韩AC| 亚洲老熟妇xxx| 国产黄a三级三级三级av在线看 | 欧美日韩色综合网| 去干网最新版| 久热久一区二区三区| 亚洲涩涩| 极品另类| 成人免费福利在线观看| 麻豆天美制片厂网站视频| 久九9精品| 亚洲欧美日韩中文播放| 国产97视频免费观看| 人妻少妇久久久| 蜜臀AV成人精品蜜臀| 欧美日综合| 国产一级高跟丝袜| 五月天激情网站| 91爱看| 四虎影视国产精品| 国产亚洲日韩欧| 一起草精品人妻| 亚洲精品中文字幕一区在线视频| 婷婷啪啪| 久久精品一区一起草| 久久久精品网站| 亚洲精品影视老司机| 天天综合,91综合永久| 日韩欧美丝袜诱惑| 夜夜爽夜夜| 夜夜一区二区| 亚洲另类色综合网站| 国产专区路线| 欧美激情高清性猛交| 国产中文字幕在线点播| 欧美九9 9 9| 国产精品九九| 高清国产成人无码| 神马久久久久久久久久| 啊啊啊网站| 婷婷五月天成人网| 尤物视频新赏网鲜网色诱网| 四虎国产精品永久地址入口| 国产精品一区二区后入| 性久久久| 91网亚洲| 欧美日韩*字幕一区| 野狼激情网| 91n欧美| 国产女人91精品嗷嗷嗷嗷| 久久久久久久久久黄色网 | 国语精品内射在线观看| 麻豆一区在线| 久久成人午夜精品影院| 91暧暧| 欧亚日韩一区在线| 伊人五月天青青草婷婷| 女人天堂av在线播放| 色色色综合| 一二三区视频在线观看| 97碰在线视频| 中文乱码字幕观看| 狠狠热这里都是精品| 大香蕉乱级| 国产传媒日本欧美专区| 国产高清精品一区二区三区毛片 | 欧美在线啊啊| 日本色色网| 亚洲第一视频 欧美风情 日韩| 日本韩欧美在线播放a| 97超碰超欧美。| 午夜精品久久久久久久99蜜桃一| 97在线观看视频| 丁香激情网| 91视频在线观看18| 日日夜夜模| 午夜影美女日鸡鸡天天视频国产| 99超碰网| 亚洲s在线观看| 国产隔壁老王影院在线| 亚洲偷91色| 少妇超碰在线| 2020中文在线一区二区三区| 人妻喷水| 丰满少妇一区二区三区专区| se吧提供国产乱老熟视频胖女人 | 日韩免费福利在线观看| 人人摸人人舔一区二区| 五月丁香网站| 黑人美精品 A片| 夜夜欧美 | 色九九久九九| 少妇69中文| 手机看片1024你懂的国产| 国内伊人久久久久久网站视频| 国产嫩草精品A88AV在线| 日本视频一区二区三区| 欧美色图亚洲色| 成人在线视频一区| 啊啊啊啊嗯嗯嗯用力好爽| 一级婬片120分钟试看| 久久9免费视频| 91在线美女| 久久高清欧美国产| 日本性感人妻91| 亚洲日韩狠狠撸视频| 精品久久久久瑟瑟| 午夜一区| 成人性爱全视频观看| 加勒比综合网| 久久香蕉国产线看观看亚洲女人| 精品无码久久久久| 亭亭丁香激情| 日本大片日本一区二区免费高清| 日韩一级特黄av毛片| 成人久久久| 亚洲熟妇白浆无码AV| 国产精品乱码久久久久久久久久久久| 噜噜噜无码AV一级一级久久影院| 福利在线黄片| 操逼天美3区| 亚洲天堂精品日韩电影| 抽插一区二区视频| 亚州高清av| 九九热视频这里只有精品| 激情网五月天| 亚洲色啪| 人人考人人摸人人干| 波多野结衣AV无码一区| 中文乱码字字幕在线第5页| 深夜激情| 欧美性少妇| 啊啊啊不要嗯嗯在线观看| 美女的肌被草喷水视频| 91色黑人少妇| 97一区二区三区视频| 美女在线H91| 日韩欧美麻豆大片| 青青草啪啪网| 伦在线97| 国产精品久久久久久久久久久久久久久久 | 亚洲视频二区 | 精品人妻一区二区免费看| 九九九九九九免费视频| 国语精品av| 亚洲,欧美,综合网| 精品免费囯产一区二区三区 | 日韩一性一交一A片俄罗斯| 亚洲精品性爱片| 九月激情婷婷| 国产亚洲美日韩Aⅴ中文字幕无码成人| 搡老熟女免费视频| 男人高清无码一区二区| www.色操逼| 97碰在线视频| 国产又黄又猛又粗又爽的网站| 亚洲男人的天堂亚洲| 国产少妇肉丝在线观看| 超碰激情808| 欧美在线伊人色| 大香蕉一人在线| 蜜桃狠狠色伊人亚洲综合 | 玖玖大干人妻| 夜夜欢天天干| 久久久久亚洲三级电影| 艹比视频国产精品| 大奶啊啊好爽| 老师充足的奶水小说| 欧美在线l亚洲| 囯产精品强| 国产久久天堂资源| 乱伦a片视频| 日本女人操逼| 亚洲天堂第一页| 天天在线91| 九九热三级片| 国产精品美女在线一区| 国产亚洲在线观看| 久久AV无码1区2区3区| 蜜臀无码一区二区| 国产福利合集| 操逼操逼逼操操逼91 | 亚洲伊人青青草| 色欧洲| 波多野结衣一级视频| 99热在线观看| 神马久久久久久久久久久久| 大逼色网站| 老熟女乱伦片| 久久婷五月天| 中文字幕女同在线| a级免费在线观看| α√在线| 闷骚老熟女15P| 神马久久久久久久久| 欧洲特黄毛片免费看欧洲毛片| 亚洲成人久久一区二区| 啊啊啊啊啊在线观看网址 | 尤物av网站免费在线播放| 狠狠色噜噜狠狠狠狠狠色综合久久 | 亚洲国产一区二区三区四区国产| 亚州综合AⅤ| 亚洲一区二区AV| 艹少妇网站| 宗合情欲网| 黄页| 四虎影院成年人片| 亚欧美综合网。| 香蕉国产精品麻豆亚洲欧美日韩| 99久久99久久综合| 日本熟妇自慰性高潮一区二区三区| 精品久久久久久无码| 大香蕉97久久| 男人天堂新在线| 色噜噜人妻丝袜a∨先锋影| 台湾大香蕉99热| 日本欧美中文字幕| 夜夜爽爽爽| 校园春色AV天堂| 麻豆啪啪啪视频| 天天综合麻豆视频| 国产欧美成人第一页在线观看 | 亚洲AV麻豆Aⅴ无码电影一| 日日干夜夜干| 天美传媒婬乱在| 97啪啪| 亚洲区小说| 国产在线精品偷| 九色 蝌蚪 熟女自 | 噜噜噜噜天天狠狠| 强奸a片网| 伊人久大| 99热免费| 天堂v无码免费视频| 天美国产精品| 日韩性爱免费观看视频| 大香蕉男人的天堂| 91社操逼| 天美传媒精品久久视频| 中文字幕永久在线| 精品人成视频在线观看| 中文字日本乱码| 一区操逼| 精品欧美日韩在线观看| 欧美视频在线视频免费va| 综合熟妇一区二区三区| 超91综合网| 亚洲欧洲成人在线电影| 91高跟美女在线播放| 午夜啪啪片| 草B在线| 久久精品小视频| 一中国女人毛片水真多| 国产精品久久久九九九| 99热在线观看| 欧美成熟性爱精品| 久久久一区二区| 色婷婷99| 天天干天天燥| 婷婷10月天青娱乐| 美女啊啊啊啊pc| 国产 日韩 欧美高清| 亚洲男人天堂视频| 天天综合精品| 综合五月婷婷亚洲一区| BBBBB97COM| 色噜噜人妻av 中文字幕| 国产精品黄色三级av| 久9久9久9久9久9久9| 射 色综合| 免费亚洲黄色视频在线观看 | 熟女丰满人妻一区| 欧美性爱1080p| 亚洲色电影在线| 青青草日本中文字幕| 国产精品熟女乱伦| 成人小说视频在线精品欧美| 婷婷人妻激情| 日韩欧亚中文在线| 久久发布国产伦子伦精品| 欧美强奸乱能| 日韩无码视频黄色| 日韩性色| 日韩 女同 综合| 嗯……啊…嗯嗯…啊…好舒服| 婷婷激情五月天小说网| 欧美gv在线观看| 熟女熟妇一区二区三四区| 热久日综合| 亚洲图片 91| 久久婷婷综合国际产色怕| 成人五月天丁香激情综合| 91精品91久久久久77777| 国产美女口爆吞精| 久9久| 丁香色婷婷| 在线人人人人人人精品超| 日产欧美电影一区二区三区| 综合色一区三区二区| 高清孕妇孕交 交孕妇| 超碰99热中文字幕| 欧美在线色图| 91逼逼女人91| 黄色大片一区二区密桃丝袜| 五月丁香激情综合| 丁香五月婷婷基地| 欧美特大黄一级片片免费| 91在线秘 男同| 男人天堂网址| 久久亚洲AV无码白度| 97在线视频免费看| 久久线上视频免费看| 99re在线视频| 亚洲一二三四区在线免费看视频| 美女诱惑在线一区| 九九九九九精品十六| 大香蕉男人的天堂| 国产精品电影推荐| 制服中出中文人人精品| 99国内熟女露脸视频| 91 丝袜在线观看| 亚洲日韩熟女人妻高清在线| 一区二区视频你懂的| 国产白领连续中出在线播放| 精品人妻视频一区二区三区蜜桃视频| 情色av电影| 欧美九九99久久精品| 色爱欲亚洲| 热久久九九热| 性爱AV天堂| 99热18这里只有精品| 加勒比人妻综合| 久久网亚洲| 91大香蕉伊人| 九九九九免费| 以及麻豆国产入口在线观看免费| 亚洲国产91精品一区二区久久| 亚洲欧美日韩二区视频| 激情干在线| 婷婷五月丁香五月| 中美日韩毛片| 999九九精品| 在线播放欧洲免费av| 992视频一区| 人人操人人摸人人骑| {男男暴菊gay无套网站| 日韩一级特黄av毛片| 91超碰人人操| 大鸡吧尹人在线| 999九九精品| 精品人妻丰满熟妇一区二区三| 91美女视频| 亚洲精品人妻在线| 99综合网| 久草男人天堂| 97av在线观看| 国产精品熟女九色九色蜜臀| 337p大胆噜噜噜噜噜91Av| 91久久久久久久久久久| 骚人妻少妇视频| 91综合网站| 高清无码 国产精品| 999久久久精品国产| 国产乱弄免费在线视频。 | 97精品熟女少妇一区| 色婷婷丁香五月| 欧美综合制服在线| 麻豆成人AV| 九色精品视频导航1| 黄色AV影视| 蜜桃臀一区二区aV| 国产无码精品成人| 日韩精品99999| 亚州高清av| 亚洲欧洲av影音| www九九热| 久久綜合很很很| 亚洲丝袜少妇在线| 欧美日韩中文亚洲v在线综合| 久久色一区| 婷婷国产精品一区二区| 伊人久久大香线蕉无码| 色噜噜人妻av 中文字幕| 久射吧| 波多野结衣被操50分钟免费视频| 青青草密桃在线播放| 久久久96精品| 国产亚洲中文不卡二区| 亚洲情色一区三区| 日本一区不卡| 婷婷丁香五月综合| 日韩欧美久久婷婷网站| 国产精品自拍xxxx| 欧美日韩精品久久| 久久午夜鲁丝片| 欧美 亚洲 制服 精品| 秘书高跟黑色丝袜国产91在线| 成在线人在线观看视频| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 亚洲美女 晚间男人天堂 | 国产一区二区三区影片| 夜夜青青无码影院| www.91理论| 四虎免费看黄| 巨爆乳一区二区爆乳区| 99RE在线视频精品,这里只有精品| 欧洲久久一二线| 情色日播放AV| 国产激情视频一区区三区| 9九九九九视频在线观看| 中国熟妇| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 日韩成人网址| 婷婷激情四射| 美女啊啊啊啊啊啊啊| 亚州综合网| 五月天黄色av| 久久久一区二区三区三州| 插老姨肥穴| 中文字幕一区二区日韩网| 色 亚洲 91| 伊人五月天激情| 亚洲人妻久久久| 亚洲激情综合| 激情五月天中文字幕色| 五月天伊人| 操逼免费视频无码国产| 久久精品99| 激情小说五月天| 性天堂| 中文字幕久久精品一区| 强奸乱伦大香蕉网| 一区二区三区一亚洲中文字幕、综合区灬 | 搡老熟女老女人老熟妇免费视频| 97久久超碰国产精品| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 色婷婷婷五月天激情四射| 成人性爱视频在线看| 91高清日| www老逼91| 免费伦费视频在线观看| 熟妇人妻精品一区二区| 图色综合网| 另类一区| 成人精品无码| 人妻熟女一区二区| 青青草原人妻| 日韩av一级黄片| 97超碰碰| 亚洲日韩黑丝| 啊啊啊啊啊操我视频| 日本高清_区二区三区| 久久久夜夜夜| 土豪酒店各种姿势玩弄极品幼稚| 欧美拳交在线播放| 淫荡少妇免费| 啪啪视频免费在线观看| 天天操天天7| 亚洲熟妇乱女区二区三区| 乱伦AVxx| 亚洲日韩精品久久久久一区壹牛| 一二区在线观看视频| 97人人爱人人做人人乐| 五月综合久久| 黄色av片三级三级三级免费看| 亚洲精品久久久久毛片A片拉屎 | 97超碰色中文字幕| 97色色色综合网站| 色综合五月天| 國產尤物AV尤物在線觀看| 国产一国产一级毛片古装| 后入日本1234| 久久久久久久久久精| 精品久久青青草| 久草视频分类在线| 日韩丰满熟妇| 人人玩人人添人人澡免费| 日韩射精| 欧美92| 天天搞欧美| 乱欲性色| 18岁禁 茉莉成人久久| 裸体美女国产免费久久久网站| 欧美一区二区三区黄色影视| 性色avv| 亚洲国产成人福利在线观看| 日欧操屄| .精品人妻一区二区三| 久久久蜜桃一区二区三区| 日本三级A片网站com| 东京热男人的天堂| 美女网站91| 天天色综合影视网| 97色欧洲| 少妇贴图| 91中出视频| 中国91AV| 亚洲风情在线观看| 少妇天堂| 亚洲综合20p| 91天堂| 葡萄牙性视频一二区| 怡红院成人视频| 超碰在线91| 欧美色乱| 97久久超碰| 成人五月天丁香激情综合| 久久超碰网| 少妇综合| 色综合V| 国产乱伦亚洲| 乱伦Av网| 性色av婷婷久久一区二区点复制| 色小视频蜜乳| 欧美亚洲综合色| 91美女视屏| 男生女生啊啊啊啊| 超碰这里只有精品| 肉丝无码中文高清| 国产白丝网站| 亚欧色图在线激情| 99久久久无码精品国产人| 先锋色眉乱伦资源| 狠狠激情综合狠狠操中文字幕| 国内毛片无码一级毛片| 五月丁香在线| 亚洲欧美天堂在线| 日韩国产十八禁| 在线小视频| 91bbbbbb| 青娱乐999| 日韩国产在线观看av| 日本肉体xxxx裸交| 插入综合网| 精品乱码久久久久| 999色欧美中文字幕| 欧美成人精品欧美一级乱黄一区二…| 免费操逼91| 一区二区三区视频国产免费| 99热最新| 亚洲 se图 欧美电影| 色哟哟精品1精品2| 免费精品无码一级毛片牛牛影视| 91香蕉视频在线观看免费| 亚洲aV无码成人在线观看| 99超碰色| 亚洲 欧美 综合 91| 超碰九7| 国产精品久久久久久无码红治院| 久99视频| 亚州色国| 天天看天天日天天操| 亚洲色 国产 欧美 日韩| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 亚洲中亚日激情视频| 屁股久久久久久| 黑人嘿嘿嘿超爽免费视频| 精品久久青青草| 久久精品99| 日韩免费福利在线观看| av中文在线| 青青三级视频| 中文字幕第9页萱萱影音先锋| 91精品伊人久久久大香线蕉91| 婷婷综合在线观看| 精品国产乱码久久久影院| 久久久精品电影| 久久久一级| 国产中文字幕在线| 熟女五十路一区二区三| 伊人大香蕉在线| 熟妇人妻丰满久久久久久久无码| 免费看黄视频亚洲网站| 久久综合久久综合人久久夜精品| 99久久久| 日欧操屄视频| 亚洲人久久久网| 性色av大全| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 久久东京伊人一本到鬼色| 欧美熟爽综合| 欧美激情视频一区二区| 久久精品性| 黑人综合色| 色欲蜜臀AV| 综合视频91| 三级特黄60分钟播放| 2025亚洲男人天堂| 亚洲av青草久久一区二区| www.狠狠| 久久免费9| 天天干少妇| 精品1区2区3区| 亚洲无码99| 91爱剪切久久| 久久久九97| 亚洲色图亚洲| 97资源超碰| 尤物网站91| 国产自产91区13区| 日韩 国产 欧美自拍| 色爱综合网欧美| 男女日B国产| 美国久久一二三四| 久久精品中文字幕观看| 91影视亚洲| 欧美在线观看综合国产| 91中出在线| 熟女性视频| 综合网亚洲| 99综合自拍| 草草网站影院白丝内射| 99久在线精品99re8| 超碰人人在线| 大象AV在线| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 九九在线精品| 91久久青青草原精品| 中文字日本乱码| 99色热国产视频精品| 国产91丝袜在线播放蜜月| 综合久久欧美| 玖草在线视频| 91美女在线视频| 中文字幕狠狠玩| 久久综合97| 久久蜜桃综合网| 国产www色在线观看| 一本久久久精品| 91亚洲不卡一区| 再深点灬舒服灬太大了添视频| 97天天在线| 国产精品一二三区福利| 日韩一区二区精彩视频| 91无摭挡| 久久国产99精品72福利| 日韩av不卡在线看| 99re黄| 在线黄色污污网站| www.狠狠| 密乳AV免费观看| 91性情| 亚洲 另类 丝袜 自拍 动漫| 亚洲色欲天天人妻无码系列专区| 日韩一级欧美一级国产一级台湾| 亚洲天堂日本| 国色天香av| 亚洲五码一区二区三区| 偷拍 亚洲 欧美| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 99亚洲人人| 五月丁香| 金莲网址| 天天看天天干| 久久久久久十| 亚欧美综合网。| 久久手机视直播| 免费视频a级毛片免费视频| 在线中文字幕| 亚洲天堂男人天堂网| 综合网97| 久久久中文版| 91丨国产丨白浆| 国内毛片无码一级毛片| 欧美国产欧美在线观看| 曰韩中文人妻视频| 天天肏夜夜肏| 国产外初女出血视频| 熟妇艹鸡八| 97精品国产97久久久久久免费| www网站黄| ..日韩av毛片精品久久久| 美女91网站| 久久精品导航| 亚洲熟女少妇免费视频| 亚洲天堂人人妻| 日韩一级二级在线| 日韩pv中文| 色情综合网| 丁香五月天堂| 1769一区二区| jk白丝没脱就开始啪啪| 国产家庭乱伦性爱视频| 国产 日韩,欧美 自拍| 综合色好色| 日韩有码中文字幕女同性恋 | 欧美成人午夜免费福利785| 俄罗斯一区二区视频在线观看| 天天澡天天爽日日AV| 色噜噜狠狠色综无码久久合欧美| 久久超碰天天| 精品久久久一本一道| 狠狠干2020| 本道在线| 久久精品女同亚洲女同13| 操死我了啊啊啊| 亚洲资源网| 天天摸天天舔天天操| 91黑丝美女| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | se,,,亚洲欧美| 性性久久| 4虎在线视频| 人人澡人人澡人人| 色97欧美| 亚洲情色视频| 日韩精品中文字幕人妻| 亚洲国产精品成人综合| 国产精品探花色| 亚洲最大成人a毛毛片| 精品v日韩欧美国产| 日韩午夜精品一区二区三区电影| 国产 无码 一区二区| 亚洲图片偷拍视频区| 99精品在线| 欧美大码在线视频| 久久久久9999妇女| 97av,com| 国产精品久久久亚洲第一牛牛_在线观看| 久久精品无码熟妇一区二区三区视频导航 | AV久日| 97超碰超| 激情熟女12P| 国产久久av| 激情综合五月婷婷| 久久久亚洲精品电影免费看| 久久97资源 网| 日韩精品一区,二区 九九...老司机| 在线 欧美 亚洲| 97国产精品一区二区传媒公司| 久久久少妇| 欧美成人AⅤ大片在线观看| 伊人久久大香大香线蕉中文| 一区二区三区精品黑丝白丝酒店对鸡 | 国产一区二区三区,在线观看观看| 国产久久久久影院老熟女| 伊人网一本| 国产精品白丝| av绯色| 亚洲 欧美 天天| 精品美女少妇一区二区三区| 96精品久久久| 看免费一级在线播放毛片| 国产AV无码AV| 7月婷婷综合| 天堂av最新电影网| 欧美高清18A片| 亚洲色诱惑| 诱惑人妻欧美一区在线播放| 秘书高跟黑色丝袜国产91在线| 欧美人与动性人交a| 欧美性爱十八禁| 懂色AV一区二区三区| 欧美美女后入| 三上悠亚在线毛片91| 亚欧成人中文字幕一区| 91九久| 色噜噜人妻av中文字幕| a片偷拍视频| 超碰狠狠操| 日本九九久久99| 国产一级内射高清视频| 国产亚州精品美女久久久免费| 色五91| 欧美后入式| 波多野结衣一级视频| 中文伊人大香蕉视频| 夜夜国自区| 亚洲 自拍偷拍 欧美| 啊啊啊用力在线观看| 一卡二卡在线播放| 精品偷拍13p欧美dodk视频| 丰满人妻一区二区三区在线| 国产又粗又长的视频| 91快色色色色色| 抽插爽| 精品国模无码| 在线只有精品| 欧美淫乱视频| 色呦呦呦在线观看视频| 91电影色诱| 国内毛片热久久思思热| 熟女丰满人妻一区| 97超碰9| 五月婷久久| 骚熟女AV网| 伊人久操| 超碰视97中文| 久久九九视频九九视频| 热久日综合| 日本成人A片网站| 日本 免费 一区二区三区 久久香蕉 | 97在线免费观看| 日本一本一区二区三区四区五区欧美日韩中文字幕 | a级免费在线观看| 69精品少妇一区二区三区蜜桃| 强乱老妇中文字幕| 99热精品在线| 一二三区精品视频| 久久精品国产精品亚洲艾通辽熟妇 | 福利操逼| 99re在线精品78| 午夜电影在线观看无码专区| 九九国产热| 日本高清_区二区三区 | 人人干人人操人人..com| 天美麻豆黄色录像| 麻豆国产96在线| 成人AV在线网站| 亚洲色色色| 天天干人人看综合| 久久一留热品黄| 午夜福利无毒不卡| 久久少妇人妻| 性做久久久久久免费观看软件| 视频在线观看青青99国产| 激情久久av一区av二区av| 少妇贴图| 久久本道| 亚洲精品三区在线观看| 97就爱干| 激情五月综合| 美女裸体无遮挡永久免费观看网站| 中文字幕在在线观看网站| 日韩欧美大力操| 精品欧美日韩在线观看| www.99热| 亚洲码在线中文在线观看| 九九九九九用不成了| 留下AⅤ黄色片| 在线不欧美| 国产白丝在线| 五月丁香啪啪网| 大JI巴好深好爽又大又粗视频| 国产精品91ai| 国产欧美日韩在线不卡第一页| 男同专区一区二区三区在线| 欧美性色综合网| 日韩AV一起草| 国产免费一区2区3区| 无码人妻精品一区二区三区九九| 午夜男人一级A片7777| 中文字幕国产在线天堂| 综合激情一一91| 天美麻豆精品视频99| 欧美综合娱乐久久| 91亚洲网站| 91色伦综合| 美女黄色一级A视频| 人人艹亚洲| 91精品人妻一区二区三区蜜臀| 亚洲欧美日韩有码| 无码伊人久久大杳蕉中文无码| 思思热国产高清| 无码人妻丰满熟妇区毛片| 男人天堂站| 性爱1区| 74成人在线| 久久久久久九九九| 96久久久精品| 亚洲。日韩。欧美| 曰韩av中文字幕专区| 日韩人妻一区二区| 蜜臀中文无码午夜| 一级黄碟在线看| 精品91摸| 综合久久婷婷| 中文字幕日韩人妻视频一区二区三区| 校园春色五月天| 色97综合中文字幕| a人欧美综合天堂麻豆| 超碰97起碰| 日韩性爱播放| 老司机老司机午夜影院| 老熟女乱伦片| 97 色综合| 东北女人性交| 欧洲精品欧洲精品| 久久夜嗨| 91美腿丝袜在线观看| 99性爱视频| 欧美日韩性爱视屏免费看了| 国产精品亚洲无码| 色哟哟AⅤ| 97在线观看免费视频| 欧美—性—交—色| 91丝袜在线视频| 蜜臀va69| 欧美性天天影院| 黄色高清久久无码依人| 日本免费中文一区二区三区四区 | 91欧美成人色站| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 伊人96在线| 动漫av中文| www.AV有限公司一区| www.一本大99| 国产精品久久发布| 殴美性色a级欧美| 成人五月香网在线| 91色情黑丝搞鸡在线观看一区二区三区三州| 久久高清欧美国产| 亚洲欧美在线观看免费| 逼操网站| 日日操丁香五月天| 伊人影院综合是一个与深夜成人在线| 亚洲日本激情| WWW啪啪的com| 国产精品视频麻豆入口| 国产日韩欧美中文在线播放 | 人人操人人精品影片| 国产精品大屁股999| 国产AV线| 久久亚洲一区二区色婷婷| 国产伊人精品在线| 蜜臀网 一区| 五月天亚洲色图| 少妇一级无码精品| 涩综合导航| 免费一级a毛片久久久久久鸭绿欲 国产精品亚洲天堂网址 | 国产精品岛国片在线观看| 日本在线播放不卡一区| 欧美日韩999| 免费视频在线观看啊啊啊啊啊| 刺激性视频黄页|