日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于struts+spring+ibatis的轻量级J2EE开发

發布時間:2023/12/14 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于struts+spring+ibatis的轻量级J2EE开发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
基于struts+spring+ibatis的輕量級J2EE開發
內容:
1. 前言
2. JpetStore簡述
3. JPetStore的改造
4. 結束語
參考資料
關于作者
對本文的評價
訂閱:
developerWorks 時事通訊
developerWorks 訂閱
(訂閱CD 和下載)

吳高峰 (shuwgf@21cn.com)
常德卷煙廠信息技術部
2005 年 2 月

大多數IT 組織都必須解決三個主要問題:1.幫助組織減少成本 2.增加并且保持客戶 3.加快業務效率。完成這些問題一般都需要實現對多個業務系統的數據和業務邏輯的無縫訪問,也就是說,要實施系統集成工程,以便聯結業務流程、實現數據的訪問與共享。

JpetStore 4.0是ibatis的最新示例程序,基于Struts MVC框架(注:非傳統Struts開發模式),以ibatis作為持久化層。該示例程序設計優雅,層次清晰,可以學習以及作為一個高效率的編程模型參考。本文是在其基礎上,采用Spring對其中間層(業務層)進行改造。使開發量進一步減少,同時又擁有了Spring的一些好處…

1. 前言
JpetStore 4.0是ibatis的最新示例程序。ibatis是開源的持久層產品,包含SQL Maps 2.0 和 Data Access Objects 2.0 框架。JpetStore示例程序很好的展示了如何利用ibatis來開發一個典型的J2EE web應用程序。JpetStore有如下特點:

  • ibatis數據層
  • POJO業務層
  • POJO領域類
  • Struts MVC
  • JSP 表示層

以下是本文用到的關鍵技術介紹,本文假設您已經對Struts,SpringFramewok,ibatis有一定的了解,如果不是,請首先查閱附錄中的參考資料。

  • Struts 是目前Java Web MVC框架中不爭的王者。經過長達五年的發展,Struts已經逐漸成長為一個穩定、成熟的框架,并且占有了MVC框架中最大的市場份額。但是Struts某些技術特性上已經落后于新興的MVC框架。面對Spring MVC、Webwork2 這些設計更精密,擴展性更強的框架,Struts受到了前所未有的挑戰。但站在產品開發的角度而言,Struts仍然是最穩妥的選擇。本文的原型例子JpetStore 4.0就是基于Struts開發的,但是不拘泥于Struts的傳統固定用法,例如只用了一個自定義Action類,并且在form bean類的定義上也是開創性的,令人耳目一新,稍后將具體剖析一下。
  • Spring Framework 實際上是Expert One-on-One J2EE Design and Development 一書中所闡述的設計思想的具體實現。Spring Framework的功能非常多。包含AOP、ORM、DAO、Context、Web、MVC等幾個部分組成。Web、MVC暫不用考慮,JpetStore 4.0用的是更成熟的Struts和JSP;DAO由于目前Hibernate、JDO、ibatis的流行,也不考慮,JpetStore 4.0用的就是ibatis。因此最需要用的是AOP、ORM、Context。Context中,最重要的是Beanfactory,它能將接口與實現分開,非常強大。目前AOP應用最成熟的還是在事務管理上。
  • ibatis 是一個功能強大實用的SQL Map工具,不同于其他ORM工具(如hibernate),它是將SQL語句映射成Java對象,而對于ORM工具,它的SQL語句是根據映射定義生成的。ibatis 以SQL開發的工作量和數據庫移植性上的讓步,為系統設計提供了更大的自由空間。有ibatis代碼生成的工具,可以根據DDL自動生成ibatis代碼,能減少很多工作量。

2. JpetStore簡述

2.1. 背景
最初是Sun公司的J2EE petstore,其最主要目的是用于學習J2EE,但是其缺點也很明顯,就是過度設計了。接著Oracle用J2EE petstore來比較各應用服務器的性能。微軟推出了基于.Net平臺的 Pet shop,用于競爭J2EE petstore。而JpetStore則是經過改良的基于struts的輕便框架J2EE web應用程序,相比來說,JpetStore設計和架構更優良,各層定義清晰,使用了很多最佳實踐和模式,避免了很多"反模式",如使用存儲過程,在java代碼中嵌入SQL語句,把HTML存儲在數據庫中等等。最新版本是JpetStore 4.0。

2.2. JpetStore開發運行環境的建立
1、開發環境

  • Java SDK 1.4.2
  • Apache Tomcat 4.1.31
  • Eclipse-SDK-3.0.1-win32
  • HSQLDB 1.7.2

2、Eclipse插件

  • EMF SDK 2.0.1:Eclipse建??蚣?#xff0c;lomboz插件需要,可以使用runtime版本。
  • lomboz 3.0:J2EE插件,用來在Eclipse中開發J2EE應用程序
  • Spring IDE 1.0.3:Spring Bean配置管理插件
  • xmlbuddy_2.0.10:編輯XML,用免費版功能即可
  • tomcatPluginV3:tomcat管理插件
  • Properties Editor:編輯java的屬性文件,并可以預覽以及自動存盤為Unicode格式。免去了手工或者ANT調用native2ascii的麻煩。

3、示例源程序

  • ibatis示例程序JpetStore 4.0 http://www.ibatis.com/jpetstore/jpetstore.html
  • 改造后的源程序(+spring)(源碼鏈接)

2.3. 架構

圖1 JpetStore架構圖

圖1 是JPetStore架構圖,更詳細的內容請參見JPetStore的白皮書。參照這個架構圖,讓我們稍微剖析一下源代碼,得出JpetStore 4.0的具體實現圖(見圖2),思路一下子就豁然開朗了。前言中提到的非傳統的struts開發模式,關鍵就在struts Action類和form bean類上。

struts Action類只有一個:BeanAction。沒錯,確實是一個!與傳統的struts編程方式很不同。再仔細研究BeanAction類,發現它其實是一個通用類,利用反射原理,根據URL來決定調用formbean的哪個方法。BeanAction大大簡化了struts的編程模式,降低了對struts的依賴(與struts以及WEB容器有關的幾個類都放在com.ibatis.struts包下,其它的類都可以直接復用)。利用這種模式,我們會很容易的把它移植到新的框架如JSF,spring。

這樣重心就轉移到form bean上了,它已經不是普通意義上的form bean了。查看源代碼,可以看到它不僅僅有數據和校驗/重置方法,而且已經具有了行為,從這個意義上來說,它更像一個BO(Business Object)。這就是前文講到的,BeanAction類利用反射原理,根據URL來決定調用form bean的哪個方法(行為)。form bean的這些方法的簽名很簡單,例如:


public String myActionMethod() {//..workreturn "success";}

方法的返回值直接就是字符串,對應的是forward的名稱,而不再是ActionForward對象,創建ActionForward對象的任務已經由BeanAction類代勞了。

另外,程序還提供了ActionContext工具類,該工具類封裝了request 、response、form parameters、request attributes、session attributes和 application attributes中的數據存取操作,簡單而線程安全,form bean類使用該工具類可以進一步從表現層框架解耦。

在這里需要特別指出的是,BeanAction類是對struts擴展的一個有益嘗試,雖然提供了非常好的應用開發模式,但是它還非常新,一直在發展中。

圖2 JpetStore 4.0具體實現

2.4. 代碼剖析
下面就讓我們開始進一步分析JpetStore4.0的源代碼,為下面的改造鋪路。

  • BeanAction.java是唯一一個Struts action類,位于com.ibatis.struts包下。正如上文所言,它是一個通用的控制類,利用反射機制,把控制轉移到form bean的某個方法來處理。詳細處理過程參考其源代碼,簡單明晰。
  • Form bean類位于com.ibatis.jpetstore.presentation包下,命名規則為***Bean。Form bean類全部繼承于BaseBean類,而BaseBean類實際繼承于ActionForm,因此,Form bean類就是Struts的 ActionForm,Form bean類的屬性數據就由struts框架自動填充。而實際上,JpetStore4.0擴展了struts中ActionForm的應用: Form bean類還具有行為,更像一個BO,其行為(方法)由BeanAction根據配置(struts-config.xml)的URL來調用。雖然如此,我們還是把Form bean類定位于表現層。

    Struts-config.xml的配置里有3種映射方式,來告訴BeanAction把控制轉到哪個form bean對象的哪個方法來處理。

    以這個請求連接為例http://localhost/jpetstore4/shop/viewOrder.do

    1. URL Pattern

    <action path="/shop/viewOrder" type="com.ibatis.struts.BeanAction"name="orderBean" scope="session"validate="false"><forward name="success" path="/order/ViewOrder.jsp"/></action>

    此種方式表示,控制將被轉發到"orderBean"這個form bean對象 的"viewOrder"方法(行為)來處理。方法名取"path"參數的以"/"分隔的最后一部分。

    2. Method Parameter

    <action path="/shop/viewOrder" type="com.ibatis.struts.BeanAction"name="orderBean" parameter="viewOrder" scope="session"validate="false"><forward name="success" path="/order/ViewOrder.jsp"/></action>

    此種方式表示,控制將被轉發到"orderBean"這個form bean對象的"viewOrder"方法(行為)來處理。配置中的"parameter"參數表示form bean類上的方法。"parameter"參數優先于"path"參數。

    3. No Method call

    <action path="/shop/viewOrder" type="com.ibatis.struts.BeanAction"name="orderBean" parameter="*" scope="session"validate="false"><forward name="success" path="/order/ViewOrder.jsp"/></action>

    此種方式表示,form bean上沒有任何方法被調用。如果存在"name"屬性,則struts把表單參數等數據填充到form bean對象后,把控制轉發到"success"。否則,如果name為空,則直接轉發控制到"success"。

    這就相當于struts內置的org.apache.struts.actions.ForwardAction的功能

    <action path="/shop/viewOrder" type="org.apache.struts.actions.ForwardAction"parameter="/order/ViewOrder.jsp " scope="session" validate="false"></action>
  • Service類位于com.ibatis.jpetstore.service包下,屬于業務層。這些類封裝了業務以及相應的事務控制。Service類由form bean類來調用。
  • com.ibatis.jpetstore.persistence.iface包下的類是DAO接口,屬于業務層,其屏蔽了底層的數據庫操作,供具體的Service類來調用。DaoConfig類是工具類(DAO工廠類),Service類通過DaoConfig類來獲得相應的DAO接口,而不用關心底層的具體數據庫操作,實現了如圖2中{耦合2}的解耦。
  • com.ibatis.jpetstore.persistence.sqlmapdao包下的類是對應DAO接口的具體實現,在JpetStore4.0中采用了ibatis來實現ORM。這些實現類繼承BaseSqlMapDao類,而BaseSqlMapDao類則繼承ibatis DAO 框架中的SqlMapDaoTemplate類。ibatis的配置文件存放在com.ibatis.jpetstore.persistence.sqlmapdao.sql目錄下。這些類和配置文件位于數據層
  • Domain類位于com.ibatis.jpetstore.domain包下,是普通的javabean。在這里用作數據傳輸對象(DTO),貫穿視圖層、業務層和數據層,用于在不同層之間傳輸數據。

剩下的部分就比較簡單了,請看具體的源代碼,非常清晰。

2.5. 需要改造的地方
JpetStore4.0的關鍵就在struts Action類和form bean類上,這也是其精華之一(雖然該實現方式是試驗性,待擴充和驗證),在此次改造中我們要保留下來,即控制層一點不變,表現層獲取相應業務類的方式變了(要加載spring環境),其它保持不變。要特別關注的改動是業務層和持久層,幸運的是JpetStore4.0設計非常好,需要改動的地方非常少,而且由模式可循,如下:

1. 業務層和數據層用Spring BeanFactory機制管理。

2. 業務層的事務由spring 的aop通過聲明來完成。

3. 表現層(form bean)獲取業務類的方法改由自定義工廠類來實現(加載spring環境)。

3. JPetStore的改造

3.1. 改造后的架構


其中紅色部分是要增加的部分,藍色部分是要修改的部分。下面就讓我們逐一剖析。

3.2. Spring Context的加載
為了在Struts中加載Spring Context,一般會在struts-config.xml的最后添加如下部分:


<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" /> </plug-in>

Spring在設計時就充分考慮到了與Struts的協同工作,通過內置的Struts Plug-in在兩者之間提供了良好的結合點。但是,因為在這里我們一點也不改動JPetStore的控制層(這是JpetStore4.0的精華之一),所以本文不準備采用此方式來加載ApplicationContext。我們利用的是spring framework 的BeanFactory機制,采用自定義的工具類(bean工廠類)來加載spring的配置文件,從中可以看出Spring有多靈活,它提供了各種不同的方式來使用其不同的部分/層次,您只需要用你想用的,不需要的部分可以不用。

具體的來說,就是在com.ibatis.spring包下創建CustomBeanFactory類,spring的配置文件applicationContext.xml也放在這個目錄下。以下就是該類的全部代碼,很簡單:


public final class CustomBeanFactory {static XmlBeanFactory factory = null;static {Resource is = new InputStreamResource( CustomBeanFactory.class.getResourceAsStream("applicationContext.xml"));factory = new XmlBeanFactory(is); }public static Object getBean(String beanName){return factory.getBean(beanName);} }

實際上就是封裝了Spring 的XMLBeanFactory而已,并且Spring的配置文件只需要加載一次,以后就可以直接用CustomBeanFactory.getBean("someBean")來獲得需要的對象了(例如someBean),而不需要知道具體的類。CustomBeanFactory類用于{耦合1}的解耦。

CustomBeanFactory類在本文中只用于表現層的form bean對象獲得service類的對象,因為我們沒有把form bean對象配置在applicationContext.xml中。但是,為什么不把表現層的form bean類也配置起來呢,這樣就用不著這CustomBeanFactory個類了,Spring會幫助我們創建需要的一切?問題的答案就在于form bean類是struts的ActionForm類!如果大家熟悉struts,就會知道ActionForm類是struts自動創建的:在一次請求中,struts判斷,如果ActionForm實例不存在,就創建一個ActionForm對象,把客戶提交的表單數據保存到ActionForm對象中。因此formbean類的對象就不能由spring來創建,但是service類以及數據層的DAO類可以,所以只有他們在spring中配置。

所以,很自然的,我們就創建了CustomBeanFactory類,在表現層來銜接struts和spring。就這么簡單,實現了另一種方式的{耦合一}的解耦。

3.3. 表現層
面分析到,struts和spring是在表現層銜接起來的,那么表現層就要做稍微的更改,即所需要的service類的對象創建上。以表現層的AccountBean類為例:

原來的源代碼如下


private static final AccountService accountService = AccountService.getInstance();private static final CatalogService catalogService = CatalogService.getInstance();

改造后的源代碼如下


private static final AccountService accountService = (AccountService)CustomBeanFactory.getBean("AccountService");private static final CatalogService catalogService = (CatalogService)CustomBeanFactory.getBean("CatalogService");

其他的幾個presentation類以同樣方式改造。這樣,表現層就完成了。關于表現層的其它部分如JSP等一概不動。也許您會說,沒有看出什么特別之處的好處啊?你還是額外實現了一個工廠類。別著急,帷幕剛剛開啟,spring是在表現層引入,但您發沒發現:

  • presentation類僅僅面向service類的接口編程,具體"AccountService"是哪個實現類,presentation類不知道,是在spring的配置文件里配置。(本例中,為了最大限度的保持原來的代碼不作變化,沒有抽象出接口)。Spring鼓勵面向接口編程,因為是如此的方便和自然,當然您也可以不這么做。
  • CustomBeanFactory這個工廠類為什么會如此簡單,因為其直接使用了Spring的BeanFactory。Spring從其核心而言,是一個DI容器,其設計哲學是提供一種無侵入式的高擴展性的框架。為了實現這個目標,Spring 大量引入了Java 的Reflection機制,通過動態調用的方式避免硬編碼方式的約束,并在此基礎上建立了其核心組件BeanFactory,以此作為其依賴注入機制的實現基礎。org.springframework.beans包中包括了這些核心組件的實現類,核心中的核心為BeanWrapper和BeanFactory類。

3.4. 持久層
在討論業務層之前,我們先看一下持久層,如下圖所示:


在上文中,我們把iface包下的DAO接口歸為業務層,在這里不需要做修改。ibatis的sql配置文件也不需要改。要改的是DAO實現類,并在spring的配置文件中配置起來。

1、修改基類

所有的DAO實現類都繼承于BaseSqlMapDao類。修改BaseSqlMapDao類如下:


public class BaseSqlMapDao extends SqlMapClientDaoSupport {protected static final int PAGE_SIZE = 4;protected SqlMapClientTemplate smcTemplate = this.getSqlMapClientTemplate();public BaseSqlMapDao() { } }

使BaseSqlMapDao類改為繼承于Spring提供的SqlMapClientDaoSupport類,并定義了一個保護屬性smcTemplate,其類型為SqlMapClientTemplate。關于SqlMapClientTemplate類的詳細說明請參照附錄中的"Spring中文參考手冊"

2、修改DAO實現類

所有的DAO實現類還是繼承于BaseSqlMapDao類,實現相應的DAO接口,但其相應的DAO操作委托SqlMapClientTemplate來執行,以AccountSqlMapDao類為例,部分代碼如下:


public List getUsernameList() {return smcTemplate.queryForList("getUsernameList", null);}public Account getAccount(String username, String password) {Account account = new Account();account.setUsername(username);account.setPassword(password);return (Account) smcTemplate.queryForObject("getAccountByUsernameAndPassword", account);}public void insertAccount(Account account) {smcTemplate.update("insertAccount", account);smcTemplate.update("insertProfile", account);smcTemplate.update("insertSignon", account);}

就這么簡單,所有函數的簽名都是一樣的,只需要查找替換就可以了!

3、除去工廠類以及相應的配置文件

除去DaoConfig.java這個DAO工廠類和相應的配置文件dao.xml,因為DAO的獲取現在要用spring來管理。

4、DAO在Spring中的配置(applicationContext.xml)


<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName"><value>org.hsqldb.jdbcDriver</value></property><property name="url"><value>jdbc:hsqldb:hsql://localhost/xdb</value></property><property name="username"><value>sa</value></property><property name="password"><value></value></property></bean> <!-- ibatis sqlMapClient config --><bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"><property name="configLocation"><value> classpath:com/ibatis/jpetstore/persistence/sqlmapdao/sql/sql-map-config.xml</value></property><property name="dataSource"><ref bean="dataSource"/></property> </bean><!-- Transactions --><bean id="TransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource"><ref bean="dataSource"/></property></bean><!-- persistence layer --><bean id="AccountDao" class="com.ibatis.jpetstore.persistence.sqlmapdao.AccountSqlMapDao"><property name="sqlMapClient"><ref local="sqlMapClient"/></property></bean>

具體的語法請參照附錄中的"Spring中文參考手冊"。在這里只簡單解釋一下:

1. 我們首先創建一個數據源dataSource,在這里配置的是hsqldb數據庫。如果是ORACLE數據庫,driverClassName的值是"oracle.jdbc.driver.OracleDriver",URL的值類似于"jdbc:oracle:thin:@wugfMobile:1521:cdcf"。數據源現在由spring來管理,那么現在我們就可以去掉properties目錄下database.properties這個配置文件了;還有不要忘記修改sql-map-config.xml,去掉<properties resource="properties/database.properties"/>對它的引用。

2. sqlMapClient節點。這個是針對ibatis SqlMap的SqlMapClientFactoryBean配置。實際上配置了一個sqlMapClient的創建工廠類。configLocation屬性配置了ibatis映射文件的名稱。dataSource屬性指向了使用的數據源,這樣所有使用sqlMapClient的DAO都默認使用了該數據源,除非在DAO的配置中另外顯式指定。

3. TransactionManager節點。定義了事務,使用的是DataSourceTransactionManager。

4. 下面就可以定義DAO節點了,如AccountDao,它的實現類是com.ibatis.jpetstore.persistence.sqlmapdao.AccountSqlMapDao,使用的SQL配置從sqlMapClient中讀取,數據庫連接沒有特別列出,那么就是默認使用sqlMapClient配置的數據源datasource。

這樣,我們就把持久層改造完了,其他的DAO配置類似于AccountDao。怎么樣?簡單吧。這次有接口了:) AccountDao接口->AccountSqlMapDao實現。

3.5. 業務層
業務層的位置以及相關類,如下圖所示:


在這個例子中只有3個業務類,我們以OrderService類為例來改造,這個類是最復雜的,其中涉及了事務。

1、在ApplicationContext配置文件中增加bean的配置:


<bean id="OrderService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"><property name="transactionManager"><ref local="TransactionManager"></ref></property><property name="target"><bean class="com.ibatis.jpetstore.service.OrderService"><property name="itemDao"><ref bean="ItemDao"/></property><property name="orderDao"><ref bean="OrderDao"/></property><property name="sequenceDao"><ref bean="SequenceDao"/></property></bean></property><property name="transactionAttributes"><props><prop key="insert*">PROPAGATION_REQUIRED</prop></props></property></bean>

定義了一個OrderService,還是很容易懂的。為了簡單起見,使用了嵌套bean,其實現類是com.ibatis.jpetstore.service.OrderService,分別引用了ItemDao,OrderDao,SequenceDao。該bean的insert*實現了事務管理(AOP方式)。TransactionProxyFactoryBean自動創建一個事務advisor, 該advisor包括一個基于事務屬性的pointcut,因此只有事務性的方法被攔截。

2、業務類的修改

以OrderService為例:


public class OrderService {/* Private Fields */private ItemDao itemDao;private OrderDao orderDao;private SequenceDao sequenceDao;/* Constructors */public OrderService() {}/*** @param itemDao 要設置的 itemDao。*/ public final void setItemDao(ItemDao itemDao) {this.itemDao = itemDao; } /*** @param orderDao 要設置的 orderDao。*/ public final void setOrderDao(OrderDao orderDao) {this.orderDao = orderDao; } /*** @param sequenceDao 要設置的 sequenceDao。*/ public final void setSequenceDao(SequenceDao sequenceDao) {this.sequenceDao = sequenceDao; } //剩下的部分 ……. }

紅色部分為修改部分。Spring采用的是Type2的設置依賴注入,所以我們只需要定義屬性和相應的設值函數就可以了,ItemDao,OrderDao,SequenceDao的值由spring在運行期間注入。構造函數就可以為空了,另外也不需要自己編寫代碼處理事務了(事務在配置中聲明),daoManager.startTransaction();等與事務相關的語句也可以去掉了。和原來的代碼比較一下,是不是處理精簡了很多!可以更關注業務的實現。

4. 結束語
ibatis是一個功能強大實用的SQL Map工具,可以直接控制SQL,為系統設計提供了更大的自由空間。其提供的最新示例程序JpetStore 4.0,設計優雅,應用了迄今為止很多最佳實踐和設計模式,非常適于學習以及在此基礎上創建輕量級的J2EE WEB應用程序。JpetStore 4.0是基于struts的,本文在此基礎上,最大程度保持了原有設計的精華以及最小的代碼改動量,在業務層和持久化層引入了Spring。在您閱讀了本文以及改造后的源代碼后,會深切的感受到Spring帶來的種種好處:自然的面向接口的編程,業務對象的依賴注入,一致的數據存取框架和聲明式的事務處理,統一的配置文件…更重要的是Spring既是全面的又是模塊化的,Spring有分層的體系結構,這意味著您能選擇僅僅使用它任何一個獨立的部分,就像本文,而它的架構又是內部一致。

參考資料

  • jpetstore相關各種資料和源程序 http://www.ibatis.com/jpetstore/jpetstore.html

  • Spring中文參考手冊http://www.jactiongroup.net/reference/html/index.html

  • Spring 開發指南 夏昕

  • Struts http://struts.apache.org/

關于作者
吳高峰,原一直在中興通訊從事運營支撐產品的研發工作,對J2EE以及各種開源項目感興趣?,F在常德卷煙廠信息技術部從事EAI的建設。聯系方式:shuwgf@21cn.com

總結

以上是生活随笔為你收集整理的基于struts+spring+ibatis的轻量级J2EE开发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

欧洲av不卡| 国产高清第一页 | 久久精品一区 | 久久久久久久久久久久久久电影 | 国产一区在线免费观看 | 日韩中文字幕亚洲一区二区va在线 | 中文乱码视频在线观看 | 超碰在线免费福利 | 91精品国产成人www | 久久黄色影院 | 96亚洲精品久久 | 欧美成人精品三级在线观看播放 | 在线观看视频国产一区 | 国产一二区精品 | 天天色天 | 伊人五月天综合 | 天天操夜夜逼 | 91字幕| 亚欧日韩成人h片 | www.黄色片网站 | 亚洲国产成人精品电影在线观看 | 亚洲国产精品久久久 | 91色蜜桃 | 免费a网| 正在播放五月婷婷狠狠干 | 国产精品自产拍在线观看中文 | 国产1区2区 | 激情五月婷婷激情 | 日韩高清观看 | 亚洲一区精品人人爽人人躁 | 午夜精品一区二区三区在线视频 | 久久理论片 | 久久久久亚洲精品成人网小说 | 成人免费观看网址 | 人人精品 | 免费激情在线电影 | 91九色国产在线 | 成人国产精品一区 | 免费中文字幕在线观看 | 免费看国产视频 | 在线岛国av | 成人小电影在线看 | 日韩欧美高清免费 | 亚洲精品字幕在线观看 | www99久久 | 亚洲成年人在线播放 | www日日| 日韩免费在线视频观看 | 日韩av快播电影网 | 亚洲精品永久免费视频 | 亚洲桃花综合 | 成人av一区二区在线观看 | 高清不卡一区二区三区 | 久久蜜桃av | 激情综合电影网 | 日韩av视屏在线观看 | 91在线91拍拍在线91 | 日韩最新av在线 | 婷婷国产视频 | 手机av电影在线观看 | 久久久99精品免费观看乱色 | 国产伦理久久精品久久久久_ | 亚洲成人第一区 | 免费高清在线视频一区· | 欧美一区成人 | 成人网页在线免费观看 | 久久精品一二区 | 中文免费在线观看 | 97在线精品国自产拍中文 | 日韩成人精品一区二区三区 | 亚洲男男gaygay无套同网址 | 久操视频在线免费看 | 亚洲精品字幕 | 免费黄色在线播放 | 夜夜夜影院| 天天操网| 91免费的视频在线播放 | 成人黄色在线看 | 91麻豆视频网站 | 国产又粗又猛又爽又黄的视频免费 | 国产在线毛片 | 国产日韩精品一区二区三区在线 | 99精品久久久 | 久久在线精品 | 中文字幕在线免费97 | 性色av免费观看 | 美女视频久久久 | 久久综合激情 | 综合久久一本 | 精品在线观看一区二区 | 欧美va天堂在线电影 | 国产精品毛片一区视频播不卡 | 国产老太婆免费交性大片 | 成人va视频 | 国产精品免费不卡 | 色搞搞| 91成人久久 | 视频成人永久免费视频 | 激情丁香 | 黄色大片网 | 婷婷综合五月天 | 久久久影院一区二区三区 | 狠狠撸电影 | 一区二区免费不卡在线 | a级片久久久 | 91污视频在线观看 | 国产一级视频在线免费观看 | 国产精品久久久久久久久久久久 | 亚洲最大成人网4388xx | av丝袜在线 | 久草久热 | 99亚洲精品视频 | 69国产精品视频免费观看 | 毛片美女网站 | 久久久久国产一区二区三区四区 | 精品一二三区 | 国产一线二线三线性视频 | 婷婷在线免费观看 | 99久久久久国产精品免费 | 在线午夜 | 粉嫩av一区二区三区入口 | 午夜电影av | 91精品国产自产老师啪 | 久久久久久97三级 | 成人久久久久久久久 | 久久精品久久久久 | 亚洲精品资源在线观看 | 色多多视频在线 | 国产免费专区 | 欧美日韩免费在线观看视频 | 在线精品在线 | 丁香花在线观看免费完整版视频 | 国产精品短视频 | 97福利社| 狠狠干夜夜| 久久网站免费 | 久久久久久久久久久久久久av | 一级黄色大片在线观看 | 欧美日韩不卡一区 | 亚洲无人区小视频 | 亚洲精品国产精品久久99热 | 色婷婷亚洲精品 | 永久免费av在线播放 | 国产精品青草综合久久久久99 | 91大神免费在线观看 | 探花在线观看 | 久久国产欧美日韩 | 午夜资源站 | 免费欧美 | 成人97视频 | 久久久久久久影院 | 四虎在线观看精品视频 | 97色综合| 一级黄色片毛片 | 国产亚洲精品中文字幕 | 免费看色网站 | 国产日韩精品一区二区在线观看播放 | 91精品国产电影 | 欧美性网站 | 久久99精品国产99久久 | 久草视频2| 黄在线 | 蜜桃视频精品 | 五月婷婷在线视频观看 | 99热免费在线 | 久久精品成人欧美大片古装 | 日韩欧美99 | 久久久久久久久久久综合 | 在线观看日韩精品视频 | 99欧美精品 | 国产成人黄色av | 一级黄色片在线免费观看 | 国产精品视频不卡 | 日韩精品免费在线 | 亚洲精品五月天 | 天天看天天干天天操 | 美女网站在线 | 狠狠狠色丁香婷婷综合激情 | 日本黄色大片儿 | 国产婷婷一区二区 | 国产分类视频 | 久久国产片| 欧美日韩在线视频观看 | 色综合久久99 | 中文字幕色婷婷在线视频 | 亚洲精品黄网站 | 国产又粗又长又硬免费视频 | 国产精品成人一区二区 | 日本一区二区免费在线观看 | 色综合网在线 | 久久爱www. | 精品视频免费久久久看 | 欧美俄罗斯性视频 | 91视频传媒 | 国产资源av | 精品视频www| 91大神精品视频在线观看 | 中文字幕国产视频 | 国产亚洲视频在线观看 | 在线免费精品视频 | 一区二区三区在线视频111 | 婷五月激情 | 久久伦理影院 | 国产韩国日本高清视频 | 狠狠网 | 深爱激情开心 | 久久免费高清 | 99热在线观看 | 亚洲综合最新在线 | 日韩午夜大片 | 亚洲专区在线视频 | 伊人手机在线 | 久久99久久精品国产 | 国产日韩一区在线 | 精品国产aⅴ麻豆 | 97电影院网| 日韩欧美综合视频 | 色福利网站 | 青青视频一区 | 91视频免费 | 日本视频久久久 | 91在线视频一区 | 亚洲理论在线观看电影 | av片一区| 日韩精品久久一区二区三区 | 极品嫩模被强到高潮呻吟91 | av一区二区在线观看中文字幕 | 久久九九国产精品 | 欧美一级片在线免费观看 | 亚洲一级免费观看 | 毛片基地黄久久久久久天堂 | 91精品婷婷国产综合久久蝌蚪 | 国产精品日韩在线观看 | 日本三级久久久 | 黄a在线看 | 国产91大片 | 色网站在线观看 | 综合天天久久 | 久久精品第一页 | 亚洲aaa级| 在线观看色网站 | 国产一二区视频 | 成人作爱视频 | 日本黄色免费播放 | 久久福利在线 | 久久综合九色综合97婷婷女人 | 亚洲精品女 | 成人在线播放免费观看 | 久久精品电影 | www.天天干 | 人人艹人人| 999久久久精品视频 日韩高清www | 99日韩精品| 综合天天网 | 99视频在线精品国自产拍免费观看 | 黄色视屏在线免费观看 | 99re国产视频 | 激情久久综合网 | 亚州av一区 | 91九色视频在线播放 | 国产精品k频道 | 亚洲视频综合在线 | av大全在线免费观看 | 中文字幕日本在线观看 | 午夜av免费观看 | 99久久夜色精品国产亚洲 | 亚洲午夜久久久综合37日本 | 国产精品欧美一区二区三区不卡 | 亚洲精品五月天 | 人人爽人人爽人人片 | 香蕉视频在线免费 | 色综合久久五月 | 香蕉日日 | 久久美女免费视频 | 激情婷婷在线观看 | 99久久毛片 | 国产精品嫩草影院9 | 91爱爱网址| 中文字幕最新精品 | 亚洲年轻女教师毛茸茸 | 久久久久久久国产精品 | 国产亚洲视频在线观看 | 二区在线播放 | 免费看的黄色片 | 日韩中文字幕免费 | jizzjizzjizz亚洲 | 天天干天天怕 | 天天爽夜夜爽人人爽一区二区 | 午夜国产一区二区三区四区 | 国产成人免费观看久久久 | 精品国产精品国产偷麻豆 | 久久这里只有精品23 | 91桃色在线播放 | 在线播放你懂 | 久九视频 | 欧美日韩精品综合 | 成人在线免费小视频 | 免费福利片| 久久综合婷婷国产二区高清 | 免费看国产黄色 | 日韩精品无码一区二区三区 | 干干操操 | 丁香婷婷色月天 | 狠狠色丁香婷婷综合久小说久 | 久久久免费精品国产一区二区 | 久久国产高清 | 免费色视频在线 | 国产日韩精品一区二区在线观看播放 | 天天摸日日摸人人看 | 国模视频一区二区三区 | 日本黄色特级片 | 在线看片中文字幕 | 国产无限资源在线观看 | 国产精品黄| 精品黄色视| 欧美日韩国内在线 | 国产色婷婷精品综合在线手机播放 | 亚洲成人av片在线观看 | 国产老熟| 天堂黄色片 | 久久99国产精品免费网站 | 91福利视频免费观看 | 国产精品一区二区三区久久久 | 色噜噜噜噜 | 久碰视频在线观看 | 97香蕉久久超级碰碰高清版 | 久草.com| 国产免费观看av | 国产精品一区二区久久 | www色综合| 中文字幕在线播放视频 | av在线播放快速免费阴 | 婷婷亚洲激情 | 蜜臀久久99精品久久久酒店新书 | 日韩在线视频国产 | 亚洲国产黄色 | 91中文字幕在线视频 | 欧美亚洲专区 | 丁香婷婷激情啪啪 | 日韩一区二区三区免费视频 | 中文字幕资源网 国产 | 国产精品福利在线观看 | 国产在线97 | 国产一二区视频 | 免费合欢视频成人app | www色网站 | 精品视频123区在线观看 | 91久久久久久久一区二区 | 最近中文国产在线视频 | 天天人人综合 | 99久久电影 | 国内少妇自拍视频一区 | 99精品免费网| .国产精品成人自产拍在线观看6 | a级片韩国| 欧美综合国产 | 色婷婷狠狠五月综合天色拍 | 91人人爱 | 欧美激情精品久久久久久免费印度 | 国产成人一区二区三区久久精品 | 嫩草av在线 | 国产中文字幕视频在线观看 | 97超碰在线人人 | 99精品免费久久久久久久久 | 色在线国产| 久久久天天操 | 97狠狠干| 91精品国产91热久久久做人人 | 日韩69av| 久久久影视 | 天天看天天干天天操 | 天天爱天天 | 亚洲国产中文在线观看 | 91在线色 | 四虎小视频 | 国产精品久久久久久吹潮天美传媒 | 国产精品99久久久久久大便 | 欧美日韩不卡一区二区三区 | 国产视频导航 | 91av在线播放视频 | 亚洲成人免费观看 | 中文区中文字幕免费看 | av亚洲产国偷v产偷v自拍小说 | 久久图| 午夜精品一区二区三区免费 | 99人久久精品视频最新地址 | 亚洲精品国偷拍自产在线观看蜜桃 | 特级a毛片| 五月花激情 | 狠色在线| 夜夜婷婷 | 特级片免费看 | 亚洲一区久久久 | 国产精品久久久久婷婷二区次 | 91麻豆精品国产91久久久无限制版 | 欧美日韩一区二区视频在线观看 | 日本视频网 | 综合五月婷婷 | 午夜精品中文字幕 | 亚洲精品日韩一区二区电影 | 黄色片视频在线观看 | 最近能播放的中文字幕 | 久久精品看 | 精品国产三级 | 亚洲精品乱码久久久久久9色 | 顶级欧美色妇4khd | 在线色吧 | 久久美女视频 | 国产精品一区二区62 | 日韩专区在线 | 国产黄色片一级 | 国产午夜av | 欧美一级视频在线观看 | 国产精品麻豆视频 | 国产精品一区二区三区久久 | 手机在线小视频 | 久久美女精品 | 免费在线国产 | 5月丁香婷婷综合 | 午夜视频导航 | 狠狠色丁香九九婷婷综合五月 | 草久久久久 | 欧美精品在线一区 | 成人一级片视频 | 狠狠色2019综合网 | 美女啪啪图片 | 成人蜜桃视频 | 91色亚洲| 一级性视频 | 人人插人人插 | 久久久久国产a免费观看rela | 天天干 天天摸 天天操 | 久草在线国产 | 99爱在线观看 | 色在线最新 | 亚洲一二区视频 | 中文字幕在线观看91 | 色狠狠狠| 91麻豆精品国产91久久久无限制版 | 国产理论一区二区三区 | 久久官网 | 九九热在线免费观看 | 午夜视频不卡 | 天天天在线综合网 | 亚洲黄色在线免费观看 | 特级西西人体444是什么意思 | 91在线视频免费播放 | 精品一区二区在线免费观看 | 久久免费公开视频 | 欧美一区二区精品在线 | 青青久草在线 | 国产剧情在线一区 | 国产一区在线播放 | 一级黄色片在线观看 | www四虎影院| 色狠狠久久av五月综合 | 99re视频在线观看 | 国产手机视频在线 | 草免费视频 | 天天舔天天射天天操 | 又黄又爽又刺激的视频 | 成年人国产在线观看 | 激情av在线播放 | 久久毛片视频 | 欧美日韩视频一区二区 | 欧美日韩在线观看一区二区三区 | 欧美日韩在线视频观看 | 国产精品久久网站 | 天天干夜夜干 | 久久免费a | 在线亚洲欧美日韩 | 国产一级片播放 | 美女国产在线 | 免费看的毛片 | 欧美-第1页-屁屁影院 | 日韩午夜小视频 | 黄色片免费看 | 超碰在线97国产 | 夜夜爽夜夜操 | 国产精品免费不卡 | 日韩在线一级 | 欧美福利视频 | 色噜噜在线观看 | 成人啪啪18免费游戏链接 | 国产日韩中文字幕在线 | 午夜久草| 亚洲精品久久久蜜桃 | 91刺激视频 | 日韩欧美电影网 | 免费看的黄色的网站 | 精品国产伦一区二区三区免费 | av成人在线网站 | 国产精品乱码高清在线看 | 亚洲国产激情 | 91精品国产欧美一区二区 | 国产第一福利网 | 91一区二区三区在线观看 | 亚洲国产精品视频在线观看 | 成人a在线观看 | 天天操天天操天天操天天操 | 国产一区麻豆 | 成人av一区二区在线观看 | 国产91粉嫩白浆在线观看 | 国产二区av| 99av国产精品欲麻豆 | 免费在线h| 久久高清免费视频 | 欧美日韩首页 | 三级黄色理论片 | 91av视频播放| 欧美精品乱码99久久影院 | 亚州av网站| 婷婷午夜天 | 国产在线观看二区 | 久久激情视频 久久 | 91字幕| 国内精品在线看 | 丁香高清视频在线看看 | 91色蜜桃 | 欧美精品免费视频 | 热re99久久精品国产66热 | 欧美性生活久久 | 亚洲天堂网在线视频 | 在线免费高清一区二区三区 | 欧美国产日韩一区二区三区 | 亚洲影院天堂 | 国产成人一区二区三区免费看 | 亚洲综合在线观看视频 | 婷婷六月丁香激情 | 久草干| 亚洲香蕉视频 | 免费在线h | 日韩午夜在线观看 | 色网影音先锋 | 黄网av在线 | 99精品视频在线播放观看 | 免费影视大全推荐 | 亚洲激情视频 | 国产精品免费视频一区二区 | 在线观看日本韩国电影 | 亚洲jizzjizz日本少妇 | 成年人在线免费看 | 少妇bbbb搡bbbb桶 | 亚洲视频 在线观看 | 97在线观看免费观看高清 | 国产精品久久在线 | 久草剧场 | 免费看一级黄色大全 | 久久国产色| 久久6精品 | 日日操天天操狠狠操 | 免费观看丰满少妇做爰 | 国产精品999久久久 久产久精国产品 | 欧美三人交 | 精品一区电影 | 日韩激情一二三区 | 日韩成人精品一区二区三区 | 亚洲一级片在线看 | 国产福利一区在线观看 | 在线免费中文字幕 | 能在线观看的日韩av | 国产黄a三级三级 | 最新国产视频 | 国产美女视频一区 | 久久躁日日躁aaaaxxxx | 欧美日韩亚洲第一页 | 狠狠色丁香婷婷综合欧美 | 久爱综合 | 亚洲dvd | 夜夜婷婷 | 99视频在线免费看 | 四虎影视国产精品免费久久 | 色久网| 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产欧美精品一区二区三区四区 | 成人黄色短片 | 日韩欧美高清在线 | 久久精品欧美一区二区三区麻豆 | 日韩视频一区二区三区在线播放免费观看 | 国产精品一区二区电影 | 91视频 - 114av | 操操操天天操 | 国精产品一二三线999 | 免费男女羞羞的视频网站中文字幕 | 最近日本韩国中文字幕 | 在线影院 国内精品 | 精品久久网 | 亚洲作爱 | 日本福利视频在线 | 亚洲va在线va天堂 | 天堂网av在线 | www.黄色| 91大神dom调教在线观看 | 成人av手机在线 | 成人午夜剧场在线观看 | 婷婷九月丁香 | 国产综合视频在线观看 | 天天色天天色天天色 | 激情综合五月天 | 国产精品福利久久久 | 人人爽久久涩噜噜噜网站 | 婷婷丁香激情综合 | 成年人免费在线观看网站 | 国产高清av | 亚洲va在线va天堂 | 国产一级免费观看视频 | 日韩av女优视频 | 97天堂| 日韩电影在线视频 | 综合久久精品 | 久久久久激情视频 | 天天射天天操天天 | 成人在线免费小视频 | 欧美日韩中 | 97精品国产aⅴ | 成人中文字幕在线观看 | 亚洲免费av在线 | 亚洲欧美日本一区二区三区 | 日韩精品视频免费在线观看 | 日本xxxx裸体xxxx17 | 日韩电影中文字幕 | 91亚洲精| 在线观看国产永久免费视频 | 91少妇精拍在线播放 | 欧美精品一区在线发布 | 成年人视频在线免费观看 | 一区二区三区www | 日韩高清成人 | 在线观看电影av | 97人人模人人爽人人喊中文字 | 91喷水 | 免费在线观看日韩欧美 | 国产不卡精品 | 粉嫩av一区二区三区四区五区 | 免费在线观看一区二区三区 | www.夜夜爽 | 激情网站免费观看 | 国产亚洲精品电影 | 中文字幕免费在线看 | 日本在线观看一区二区三区 | 91看片麻豆| 麻豆av电影 | 久久这里只精品 | 就操操久久 | 黄色三级免费看 | 国产日韩欧美自拍 | 又长又大又黑又粗欧美 | 精品视频免费 | 97视频人人澡人人爽 | 91污在线观看 | 国产专区日韩专区 | 在线免费观看黄 | 亚洲午夜电影网 | 亚洲无人区小视频 | 国产精品欧美久久久久久 | 国产精品毛片久久久久久 | 亚洲黄色免费电影 | 精品一二三四视频 | 中文字幕av免费在线观看 | 亚洲精品456在线播放乱码 | 五月婷综合 | 国产91影院 | 亚洲精品日韩在线观看 | 高清免费在线视频 | 综合久久五月天 | 国产永久网站 | 国产精品福利无圣光在线一区 | 人人澡人人澡人人 | 日韩av黄 | 欧美色就是色 | 91桃色免费观看 | 91福利影院在线观看 | 国产精品久一 | 国产看片免费 | 亚洲一级黄色片 | 在线观看视频国产一区 | 在线免费av网 | 在线观看成人一级片 | 黄色成人av网址 | 国产伦精品一区二区三区照片91 | 国产精品久久久久毛片大屁完整版 | 免费电影一区二区三区 | 毛片基地黄久久久久久天堂 | 天天干天天拍天天操天天拍 | 91久久国产露脸精品国产闺蜜 | 久久久国产一区 | 国产精品久久久av久久久 | 久久久久久久久久电影 | 色婷婷成人 | 三级视频片| 91看片在线看片 | 久久亚洲视频 | 欧美日韩久久不卡 | 国产一区二区三区在线免费观看 | 91av视频在线观看免费 | 91黄色在线看 | 91色视频 | 麻豆视频免费 | 天天射网站 | 欧美在线久久 | 激情五月婷婷综合网 | 免费能看的av | 狠狠操狠狠 | 婷婷亚洲五月色综合 | 国产精品成人一区二区 | 色婷婷激情综合 | 天天操夜夜操国产精品 | 久久精品—区二区三区 | 久久九九久久 | 九九在线高清精品视频 | 国产亚洲精品中文字幕 | 久久国产一区 | 色99视频 | 中文字幕在线观看资源 | 黄色毛片一级 | 国产视频色 | 99热这里有 | 国产三级国产精品国产专区50 | a v在线视频 | 久久久久久久久久久久国产精品 | 99热超碰在线 | 99久久精品国产观看 | av夜夜操| 欧美日韩精品网站 | 综合天天久久 | 日韩黄色一区 | 久草在线综合网 | 97人人澡人人添人人爽超碰 | 91精品国产99久久久久久久 | 日韩最新理论电影 | 99热这里有 | 久久综合加勒比 | 成人国产网站 | 天天爽天天摸 | 天天干亚洲| 国产精品久久久久久久久久免费看 | 中文字幕高清有码 | 1024久久 | 在线观看片 | 97超碰.com| 一级片黄色片网站 | 精品国产精品久久一区免费式 | 免费三级大片 | 免费在线观看av网站 | 黄色成年网站 | 爱色av.com | 国产成人精品亚洲日本在线观看 | 91av电影在线观看 | 亚洲aⅴ在线 | 日韩高清一区 | 久草在线一免费新视频 | 色婷婷久久久综合中文字幕 | 国产又粗又长又硬免费视频 | 美女视频网站久久 | 在线观看mv的中文字幕网站 | 很黄很污的视频网站 | 久久大香线蕉app | 欧美一区二区在线刺激视频 | 国产成本人视频在线观看 | 黄色看片| 色播五月激情五月 | 黄色免费av| 区一区二区三区中文字幕 | 中文字幕在线观看第二页 | 97超碰资源站 | 亚洲日韩精品欧美一区二区 | 91久久国产自产拍夜夜嗨 | 九九热在线视频免费观看 | av成人资源| 久久永久免费 | 在线观看免费观看在线91 | 99国产一区二区三精品乱码 | 久国产在线播放 | 日一日操一操 | 久色伊人 | 日韩一区二区三免费高清在线观看 | 国产午夜一区 | 一级理论片在线观看 | 99久久毛片| 91视频中文字幕 | 人人狠狠综合久久亚洲婷 | 国产91在线观看 | 日本在线h | 在线观看黄色大片 | 欧美a在线免费观看 | 91九色老| 综合中文字幕 | 综合久久久久久 | 一区 二区电影免费在线观看 | 激情电影影院 | av色网站 | 九九精品无码 | 99在线热播精品免费 | 五月天天av | 女人高潮一级片 | 久久人人爽人人爽人人片av软件 | 91桃色在线播放 | 国产精品美女久久久久久网站 | 精品国产一区二区三区久久久 | 91一区二区三区在线观看 | 狠狠操影视 | 欧美一区二区三区免费看 | 亚洲国产精品电影 | 国产在线观看一区 | av免费网站观看 | 99re视频在线观看 | 91丨九色丨91啦蝌蚪老版 | 深爱激情五月婷婷 | 亚洲精品综合在线 | 精品久久久久久久久久久久久久久久 | 在线久草视频 | 粉嫩av一区二区三区四区五区 | 黄色网www| 亚州国产精品 | 中文字幕av全部资源www中文字幕在线观看 | 欧美日韩精品免费观看视频 | 在线观看中文字幕视频 | 日韩欧美一区二区三区黑寡妇 | 日韩欧美国产免费播放 | 九九99| 色爱区综合激月婷婷 | 国产精品成人一区 | av7777777| 伊人狠狠色丁香婷婷综合 | 精品久久久久久亚洲综合网 | 欧美日韩aa | 91香蕉亚洲精品 | 免费日韩一区 | 亚洲一区精品二人人爽久久 | 国产麻豆果冻传媒在线观看 | 激情一区二区三区欧美 | 激情久久久久 | 午夜精品久久久久久 | 国产录像在线观看 | 日韩欧美电影在线 | 国产精品不卡在线 | 毛片一级免费一级 | 国产成人精品综合 | 国产四虎影院 | 日本婷婷色 | 1024手机看片国产 | 九草在线观看 | 超碰97在线资源 | 久草网在线视频 | 久久久夜色 | 婷婷日| 永久免费的啪啪网站免费观看浪潮 | 国产精品美女久久久久久久网站 | 午夜婷婷综合 | 日韩在线观看不卡 | 久久影视精品 | 国产丝袜美腿在线 | 精品视频免费久久久看 | 欧美韩国日本在线观看 | 国产福利在线不卡 | 在线观看午夜av | 天天色.com| 久久久精品国产免费观看同学 | 国产黄色一级大片 | 黄色的视频 | 97看片网 | 极品中文字幕 | 国产午夜精品免费一区二区三区视频 | 日韩网页| 色天天| av中文电影 | 国产精品午夜在线 | 国产精品扒开做爽爽的视频 | 色综合久久五月 | 中文字幕久久精品亚洲乱码 | 国产精品9999久久久久仙踪林 | 亚洲最大激情中文字幕 | 99视频免费看 | 精品国产一区二区三区久久久蜜臀 | 国产精品9999久久久久仙踪林 | 黄色av网站在线观看免费 | 成人在线网站观看 | 日韩美女黄色片 | 国产福利91精品 | 成片视频在线观看 | 欧美性色19p| 亚洲天堂网在线观看视频 | 亚洲黄色成人网 | 欧美少妇xx | 亚洲视频h| 激情婷婷在线 | 日韩视频三区 | 久久成人国产精品 | 久久天| 狠狠色噜噜狠狠 | www.天天操 | 日韩欧美一区二区三区在线 | 成人精品999 | 九色91在线视频 | 婷婷六月天丁香 | 婷婷综合伊人 | 午夜久久久久久久久 | 国产a免费| 欧美日本国产在线观看 | 国产亚洲欧美精品久久久久久 | 色狠狠婷婷 | 色就色,综合激情 | 欧美另类高潮 | 国产精品专区一 | 91女神的呻吟细腰翘臀美女 | 亚洲国产人午在线一二区 | 亚洲日本在线视频观看 | 亚洲电影一区二区 | 欧美黄色成人 | 久久在线视频精品 | 蜜臀av性久久久久av蜜臀妖精 | 黄色一区二区在线观看 | 久久精精品视频 | 91在线视频 | 97人人澡人人添人人爽超碰 | 999在线精品 | 国产精品毛片一区视频 | 一区二区高清在线 | 人人爽夜夜爽 | 97在线观看免费 | 国产99久久九九精品 | 欧美日韩在线视频免费 | 青草草在线 | 中文在线a∨在线 | 久久少妇av | 中文字幕在线观看完整版 | 久99久精品| 97精品国产97久久久久久免费 | 精品在线视频一区二区三区 | 免费一级特黄录像 | 午夜国产福利视频 | 国产精品 日韩 欧美 | 色网站在线免费 | 国产一级在线看 | 午夜精品视频免费在线观看 | 国产精品一区二区三区四 | 91在线看网站 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 99国产视频在线 | 黄色免费网 | 天天摸天天舔天天操 | 亚洲电影av在线 | 久久在线观看视频 | 国产大尺度视频 | 日韩精品五月天 | 国产精品二区在线 | 黄色一区三区 | 日韩美女免费线视频 | 久草久草久草久草 | 色99视频 | 亚洲成年人在线播放 | 国产亚洲一级高清 | 日韩一区二区三区视频在线 | 日韩动漫免费观看高清完整版在线观看 | 成人欧美一区二区三区黑人麻豆 | 97在线视频网站 | 国产第一页精品 | 中文字幕一区av | 国产三级香港三韩国三级 | 国产伦理久久 | 一区二区三区在线看 | 久草在线在线精品观看 | 又黄又网站 | 91高清免费 | 国产视频久 | 91丨九色丨蝌蚪丨对白 | 五月激情亚洲 | 成年人黄色av | 久久精品亚洲 | 免费看国产黄色 | 精品日本视频 | av在线在线| 91毛片在线| 日韩精品一区电影 | 激情五月综合 | 成人动图 | 亚洲精品色视频 | 高清不卡毛片 | 午夜男人影院 | 天天综合亚洲 | 日韩免费在线看 | av一区二区在线观看中文字幕 | 亚洲电影一区二区 | 日日干 天天干 | 国产v欧美 | 在线观看国产中文字幕 | 色黄久久久久久 | 亚洲女欲精品久久久久久久18 | 九九久久婷婷 | 国产视频久久久 | 日韩精品久久久久久久电影竹菊 | 国产黄色av网站 | 中文字幕二区在线观看 | 免费视频一区二区 | 国产精品一区二区av麻豆 | 最近日本mv字幕免费观看 | 中文字幕九九 | 中文亚洲欧美日韩 |