精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

用Java在各種框架下編譯Scala項(xiàng)目

開發(fā) 后端
如何利用Java在各種框架下編譯Scala項(xiàng)目?本文轉(zhuǎn)載自一位外國開發(fā)人員的blog,是一篇利用Java語言在最流行的各種Java框架下調(diào)用Scala的項(xiàng)目的教程,從細(xì)微入手解決實(shí)際問題。

【51CTO編譯】51CTO曾經(jīng)在“與Scala的***次親密接觸 Java如影相隨”為大家講過Java于Scala。下面是一個(gè)教程文件是我在如今***或者說***的Java框架——SpringHibernate/JPA、Wicket、Maven和Intellij IDEA上充分利用Java語言調(diào)用Scala的項(xiàng)目,希望能幫助其他的Java程序員使用一個(gè)企業(yè)級的Scala項(xiàng)目。

在IDE上的設(shè)置

首先,下載的IntelliJ IDEA的9.0.x(社區(qū)版),因?yàn)槟壳八?**的Scala的IDE。然后選擇File |設(shè)置|插件,選擇可用的選項(xiàng)卡來安裝Scala插件。

創(chuàng)建Maven項(xiàng)目

在IntelliJ IDEA中,選擇文件|新建項(xiàng)目,然后選擇Maven的模塊創(chuàng)建一個(gè)Maven項(xiàng)目。然后修改如下所示的pom.xml。添加所有你需要的設(shè)置,建立Scala的匯編語言:

  1. <project xmlnsxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"           
  2.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd">           
  3.     <modelVersion>4.0.0</modelVersion>           
  4.     <groupId>com.foo</groupId>           
  5.     <artifactId>myapp</artifactId>           
  6.     <packaging>war</packaging>           
  7.     <version>1.0-SNAPSHOT</version>           
  8.     <name>myapp Java EE 6 Webapp</name>           
  9.     <url>http://maven.apache.org</url>           
  10.     <properties>           
  11.         <spring.version>3.0.3.RELEASE</spring.version>           
  12.      </properties>          
  13.            
  14.     <repositories>           
  15.         <repository>           
  16.             <id>java.net2</id>           
  17.             <name>Repository hosting the jee6 artifacts</name>           
  18.             <url>http://download.java.net/maven/2</url>           
  19.          </repository>          
  20.            
  21.         <repository>           
  22.             <id>scala-tools.org</id>           
  23.              <name>Scala-tools Maven2 Repository</name>          
  24.             <url>http://scala-tools.org/repo-releases</url>           
  25.            
  26.         </repository>           
  27.         <repository>           
  28.              <id>wpt-release</id>          
  29.             <url>http://wicketpagetest.sourceforge.net/m2-repo/releases</url>           
  30.            
  31.         </repository>           
  32.         <repository>           
  33.              <id>wpt-snapshot</id>          
  34.             <url>http://wicketpagetest.sourceforge.net/m2-repo/snapshots</url>           
  35.            
  36.         </repository>           
  37.     </repositories>           
  38.     <pluginRepositories>           
  39.         <pluginRepository>           
  40.             <id>scala-tools.org</id>           
  41.             <name>Scala-tools Maven2 Repository</name>           
  42.             <url>http://scala-tools.org/repo-releases</url>           
  43.          </pluginRepository>          
  44.            
  45.     </pluginRepositories>           
  46.     <dependencyManagement>           
  47.         <dependencies>           
  48.             <dependency>           
  49.                  <groupId>org.springframework</groupId>          
  50.                 <artifactId>spring-context</artifactId>           
  51.            
  52.                 <version>${spring.version}</version>           
  53.              </dependency>          
  54.            
  55.              <dependency>          
  56.                 <groupId>org.springframework</groupId>           
  57.            
  58.                 <artifactId>spring-core</artifactId>           
  59.                 <version>${spring.version}</version>           
  60.             </dependency>           
  61.             <dependency>           
  62.                 <groupId>org.springframework</groupId>           
  63.                  <artifactId>spring-web</artifactId>          
  64.            
  65.                 <version>${spring.version}</version>           
  66.              </dependency>          
  67.            
  68.              <dependency>          
  69.                 <groupId>org.springframework</groupId>           
  70.            
  71.                  <artifactId>spring-orm</artifactId>          
  72.                 <version>${spring.version}</version>           
  73.            
  74.             </dependency>           
  75.         </dependencies>           
  76.     </dependencyManagement>           
  77.     <dependencies>           
  78.         <dependency>           
  79.             <groupId>com.h2database</groupId>           
  80.             <artifactId>h2</artifactId>           
  81.             <version>1.2.120</version>           
  82.         </dependency>           
  83.         <dependency>           
  84.              <groupId>org.hibernate</groupId>          
  85.             <artifactId>hibernate-entitymanager</artifactId>           
  86.            
  87.             <version>3.4.0.GA</version>           
  88.         </dependency>           
  89.         <dependency>           
  90.             <groupId>org.springframework</groupId>           
  91.             <artifactId>spring-orm</artifactId>           
  92.         </dependency>           
  93.         <dependency>           
  94.             <groupId>com.ttdev</groupId>           
  95.             <artifactId>wpt-core</artifactId>           
  96.             <version>1.5.2-SNAPSHOT</version>           
  97.             <scope>test</scope>           
  98.         </dependency>           
  99.         <dependency>           
  100.             <groupId>com.ttdev</groupId>           
  101.             <artifactId>wpt-runtime-spring</artifactId>           
  102.              <version>1.5.2-SNAPSHOT</version>          
  103.            
  104.         </dependency>           
  105.         <dependency>           
  106.              <groupId>javax</groupId>          
  107.             <artifactId>javaee-web-api</artifactId>           
  108.            
  109.             <version>6.0</version>           
  110.             <scope>provided</scope>           
  111.         </dependency>           
  112.         <dependency>           
  113.             <groupId>junit</groupId>           
  114.             <artifactId>junit</artifactId>           
  115.             <version>3.8.2</version>           
  116.             <scope>test</scope>           
  117.         </dependency>           
  118.         <dependency>           
  119.             <groupId>org.scala-lang</groupId>           
  120.             <artifactId>scala-library</artifactId>           
  121.             <version>2.8.0.RC3</version>           
  122.         </dependency>           
  123.         <dependency>           
  124.             <groupId>org.apache.wicket</groupId>           
  125.             <artifactId>wicket</artifactId>           
  126.             <version>1.4.9</version>           
  127.         </dependency>           
  128.         <dependency>           
  129.             <groupId>org.slf4j</groupId>           
  130.             <artifactId>slf4j-log4j12</artifactId>           
  131.             <version>1.4.2</version>           
  132.         </dependency>           
  133.     </dependencies>           
  134.     <build>           
  135.         <pluginManagement>           
  136.             <plugins>           
  137.                  <plugin>          
  138.                     <groupId>org.apache.maven.plugins</groupId>           
  139.            
  140.                     <artifactId>maven-compiler-plugin</artifactId>           
  141.                      <version>2.0.2</version>          
  142.            
  143.                 </plugin>           
  144.                 <plugin>           
  145.                      <groupId>org.scala-tools</groupId>          
  146.                     <artifactId>maven-scala-plugin</artifactId>           
  147.            
  148.                     <version>2.9.1</version>           
  149.                 </plugin>           
  150.             </plugins>           
  151.         </pluginManagement>           
  152.         <plugins>           
  153.             <plugin>           
  154.                  <groupId>org.apache.maven.plugins</groupId>          
  155.                 <artifactId>maven-compiler-plugin</artifactId>           
  156.            
  157.                 <executions>           
  158.                     <execution>           
  159.                         <phase>compile</phase>           
  160.                         <goals>           
  161.                             <goal>compile</goal>           
  162.                         </goals>           
  163.                     </execution>           
  164.                 </executions>           
  165.                 <configuration>           
  166.                     <source>1.6</source>           
  167.                     <target>1.6</target>           
  168.                 </configuration>           
  169.             </plugin>           
  170.             <plugin>           
  171.                 <groupId>org.apache.maven.plugins</groupId>           
  172.                  <artifactId>maven-war-plugin</artifactId>          
  173.            
  174.                 <version>2.1-beta-1</version>           
  175.                 <configuration>           
  176.                     <failOnMissingWebXml>false</failOnMissingWebXml>           
  177.                  </configuration>          
  178.            
  179.             </plugin>           
  180.             <plugin>           
  181.                  <groupId>org.scala-tools</groupId>          
  182.                 <artifactId>maven-scala-plugin</artifactId>           
  183.            
  184.                 <executions>           
  185.                     <execution>           
  186.                          <id>scala-compile-first</id>          
  187.                         <phase>process-resources</phase>           
  188.            
  189.                          <goals>          
  190.                             <goal>add-source</goal>           
  191.            
  192.                             <goal>compile</goal>           
  193.                         </goals>           
  194.                     </execution>           
  195.                     <execution>           
  196.                          <id>scala-test-compile</id>          
  197.                         <phase>process-test-resources</phase>           
  198.            
  199.                          <goals>          
  200.                             <goal>testCompile</goal>           
  201.            
  202.                         </goals>           
  203.                     </execution>           
  204.                 </executions>           
  205.             </plugin>           
  206.         </plugins>           
  207.         <finalName>myapp</finalName>           
  208.     </build>           
  209. </project>         

等待一段時(shí)間,IDEA將提示導(dǎo)入的項(xiàng)目是否需要更改。回答是肯定。

#p#

web.xml中設(shè)置

接下來,修改main/webapp/WEB-INF/web.xml。從而確立了Wicket的過濾器,打開Spring的JPA實(shí)體管理器和Spring監(jiān)聽器,進(jìn)行Spring的初始化。

  1.  <?xml version="1.0" encoding="UTF-8"?>          
  2. <web-app version="3.0"xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"           
  3.            
  4.          xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">           
  5.      <filter>          
  6.            
  7.          <filter-name>f2</filter-name>          
  8.         <filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>           
  9.            
  10.     </filter>           
  11.     <filter>           
  12.          <filter-name>f1</filter-name>          
  13.         <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>           
  14.            
  15.          <init-param>          
  16.             <param-name>applicationClassName</param-name>           
  17.            
  18.             <param-value>com.foo.myapp.MyApp</param-value>           
  19.          </init-param>          
  20.            
  21.     </filter>           
  22.     <filter-mapping>           
  23.         <filter-name>f1</filter-name>           
  24.         <url-pattern>/app/*</url-pattern>           
  25.     </filter-mapping>           
  26.     <filter-mapping>           
  27.         <filter-name>f2</filter-name>           
  28.         <url-pattern>/*</url-pattern>           
  29.     </filter-mapping>           
  30.     <context-param>           
  31.         <param-name>contextConfigLocation</param-name>           
  32.         <param-value>classpath:/beans.xml</param-value>           
  33.     </context-param>           
  34.     <listener>           
  35.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>           
  36.      </listener>          
  37.            
  38. </web-app>           

#p#

設(shè)置Spring bean訪問和調(diào)用的數(shù)據(jù)庫

要定義這些Spring bean,創(chuàng)建main/resources的beans.xml以及一下的內(nèi)容:

  1. <?xml version="1.0" encoding="UTF-8" ?>         
  2. <beansxmlnsbeansxmlns="http://www.springframework.org/schema/beans"          
  3.           
  4.         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         
  5.        xmlns:context="http://www.springframework.org/schema/context"          
  6.           
  7.         xmlns:tx="http://www.springframework.org/schema/tx"         
  8.        xsi:schemaLocation="http://www.springframework.org/schema/beans          
  9.           
  10.         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd          
  11.          http://www.springframework.org/schema/context         
  12.           
  13.         http://www.springframework.org/schema/context/spring-context-3.0.xsd          
  14.          http://www.springframework.org/schema/tx         
  15.           
  16.         http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">          
  17.      <context:component-scan base-package="com.foo.myapp"/>         
  18.           
  19.     <bean id="emf"class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">          
  20.         <property name="persistenceXmlLocation"value="classpath:/META-INF/my-persistence.xml"/>          
  21.      </bean>         
  22.     <bean id="transactionManager"class="org.springframework.orm.jpa.JpaTransactionManager">          
  23.           
  24.         <property name="entityManagerFactory" ref="emf"/>          
  25.      </bean>         
  26.           
  27.     <tx:annotation-driven />          
  28. </beans> 

讀取數(shù)據(jù)庫配置中persistence.xml文件。在這里,您將獲得一個(gè)主目錄中名為MyApp的H2數(shù)據(jù)庫。因此,創(chuàng)建main/resources/META-INF文件的內(nèi)容如下。

  1. <persistencexmlnspersistencexmlns="http://java.sun.com/xml/ns/persistence"          
  2.             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"           
  3.           
  4.             xsi:schemaLocation="http://java.sun.com/xml/ns/persistencehttp://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"           
  5.              version="2.0">          
  6.           
  7.    <persistence-unit name="myapp" transaction-type="RESOURCE_LOCAL">           
  8.         <provider>org.hibernate.ejb.HibernatePersistence</provider>          
  9.           
  10.         <properties>          
  11.            <propertynamepropertyname="hibernate.connection.driver_class"value="org.h2.Driver"/>           
  12.           
  13.            <property name="hibernate.connection.url"value="jdbc:h2:tcp://localhost/~/myapp"/>           
  14.             <propertynamepropertyname="hibernate.connection.username" value="sa"/>          
  15.           
  16.             <propertynamepropertyname="hibernate.connection.password" value=""/>          
  17.            <property name="hibernate.dialect"value="org.hibernate.dialect.H2Dialect"/>           
  18.           
  19.            <property name="hibernate.hbm2ddl.auto"value="create"/>           
  20.         </properties>          
  21.           
  22.    </persistence-unit>           
  23. /persistence>       

#p#

創(chuàng)建Wicket的頁面

在這里,您將創(chuàng)建一個(gè)Wicket頁面顯示從數(shù)據(jù)庫加載一些內(nèi)容。因此,創(chuàng)建主/Scala文件夾,右鍵單擊它并選擇新建|Scala類。命名為我的頁面類和投入com.foo.myapp包中。如下所示:

  1. package com.foo.myapp           
  2.            
  3. import org.apache.wicket.markup.html._           
  4. import basic.Label           
  5.  import list.{ListItem, ListView}          
  6. importorg.apache.wicket.spring.injection.annot.SpringBean           
  7.            
  8. import org.apache.wicket.model.CompoundPropertyModel           
  9.            
  10. class MyPage extends WebPage {           
  11.   @SpringBean           
  12.    var ps: ProductService = _          
  13.   val productListView = newListView[Product]("productListView", ps.getAll) {           
  14.            
  15.      def populateItem(item: ListItem[Product]) = {          
  16.       item.setModel(newCompoundPropertyModel[Product](item.getDefaultModelObject))           
  17.            
  18.       item.add(new Label("name"))           
  19.       item.add(new Label("price"))           
  20.     }           
  21.   }           
  22.   add(productListView)           
  23. }           
  24.  

請注意,在創(chuàng)建ProductService對象加載的文件之后使用。此外,請注意該字段被分配到一個(gè)下劃線(_),Scala編譯為不可初始化的,而是留在默認(rèn)狀態(tài)。在你將覆蓋作為編譯之前,執(zhí)行Spring bean的頁面構(gòu)造。現(xiàn)在,創(chuàng)建在src/main/resources/com/foo/myapp的的mypage.html文件:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">           
  2. <html>           
  3.     <table border="1">           
  4.         <tr wicket:id="productListView">           
  5.             <td wicket:id="name"></td>           
  6.             <td wicket:id="price"></td>           
  7.         </tr>           
  8.     </table>           
  9. </html>           
  10.  

#p#

創(chuàng)建ProductService:

右鍵單擊在in the src/main/scala文件夾中的com.foo.myapp包并選擇New | Scala的類,然后選擇創(chuàng)建ProductService:

  1. package com.foo.myapp           
  2.            
  3. import java.util.List           
  4.            
  5. trait ProductService {           
  6.   def getAll: List[Product]           
  7. }           
  8.  

這是接口。對創(chuàng)造一個(gè)DefaultProductService的Scala在同一個(gè)包內(nèi)進(jìn)行執(zhí)行操作:

  1. package com.foo.myapp           
  2.            
  3. import javax.persistence.{PersistenceContext, EntityManager}           
  4. import org.springframework.stereotype.{Service}           
  5. importorg.springframework.transaction.annotation.Transactional           
  6.  importorg.springframework.beans.factory.annotation.Autowired          
  7.            
  8.            
  9. @Service           
  10. @Transactional           
  11. class DefaultProductService extends ProductService {           
  12.   @Autowired           
  13.   var products: Products = _           
  14.            
  15.   def getAll = products.getAll           
  16. }           
  17.  

請注意,把它使用類型文件命名為DAO。

創(chuàng)建文件的DAO

要?jiǎng)?chuàng)建的DAO,創(chuàng)建一個(gè)名為在同一文件夾:

  1. package com.foo.myapp           
  2.            
  3. import java.util.List           
  4.            
  5. trait Products {           
  6.    def getAll: List[Product]           
  7. }           
  8.  

然后創(chuàng)建在同一文件夾中的執(zhí)行Scala的DefaultProducts文件:

  1. package com.foo.myapp           
  2.            
  3. import javax.persistence.{PersistenceContext, EntityManager}           
  4. import org.springframework.stereotype.Repository           
  5. import java.util.List           
  6.            
  7. @Repository           
  8. class DefaultProducts extends Products {           
  9.   @PersistenceContext           
  10.   var em: EntityManager = _           
  11.            
  12.   def getAll = {           
  13.     em.createQuery("select p from Product p").getResultList.asInstanceOf[List[Product]]           
  14.   }           
  15. }           
  16.  

#p#

創(chuàng)建entity程序

創(chuàng)建entity程序并將其映射到數(shù)據(jù)庫:

  1. package com.foo.myapp           
  2.            
  3. import javax.persistence.{GeneratedValue, Id, Entity}           
  4.            
  5. @Entity           
  6. class Product {           
  7.   @Id           
  8.   @GeneratedValue           
  9.   var id: Long = _           
  10.   var name: String = _           
  11.   var price: Double = _           
  12. }           
  13.  

創(chuàng)建Wicket的應(yīng)用程序

***,創(chuàng)建在同一個(gè)MyApp的Scala程序:

  1. package com.foo.myapp           
  2.            
  3.  import org.apache.wicket.protocol.http.WebApplication          
  4. importcom.ttdev.wicketpagetest.MockableSpringBeanInjector           
  5.            
  6.            
  7. class MyApp extends WebApplication {           
  8.   def getHomePage = classOf[MyPage]           
  9.            
  10.    override def init = {          
  11.     MockableSpringBeanInjector.installInjector(this)           
  12.            
  13.   }           
  14. }           
  15.  

在這里,您指定為首頁我的目錄,植入Spring Bean中。

運(yùn)行應(yīng)用程序

隨著IntelliJ IDEA的版本不斷改進(jìn),您將嵌入到應(yīng)用服務(wù)器運(yùn)行您的應(yīng)用程序。這非常容易,在剛剛創(chuàng)建的測試com.foo.myapp的ManualTest在剛剛創(chuàng)建的測試com.foo.myapp包一類ManualTest/scala文件(不是main/scala文件),以下內(nèi)容是:

  1. package com.foo.myapp           
  2.            
  3. importcom.ttdev.wicketpagetest.{WebAppJettyConfiguration, WicketAppJettyLauncher}           
  4.            
  5.            
  6. object ManualTest {           
  7.   def main(args: Array[String]) {           
  8.     val l = new WicketAppJettyLauncher           
  9.     l.startAppInJetty(new WebAppJettyConfiguration)           
  10.   }           
  11. }           
  12.  

要運(yùn)行的應(yīng)用程序,首先需要運(yùn)行數(shù)據(jù)庫服務(wù)器上的H2程序。所以,在http://www.h2database.com下載和解壓。然后變成h2/bin和運(yùn)行h2.bat(或在Linux上h2.sh)。ManualTest是在IDEA的編輯器上,在IDEA選擇運(yùn)行DEA。它將運(yùn)行ManualTest,Jetty的運(yùn)行您的應(yīng)用程序。

為了測試它,請嘗試通過在瀏覽器http://localhost:8888/app。

 不知道各位感覺如何。感謝各位支持!謝謝!

原文地址:agileskills2.org/blog/2010/06/19/getting-started-with-scala-spring-hibernate-wicket/

原文名:Getting started with Scala, Spring, Hibernate & Wicket

 

【51CTO譯稿,非經(jīng)授權(quán)謝絕轉(zhuǎn)載,合作媒體轉(zhuǎn)載請注明原文出處及作者!】

【編輯推薦】

  1. Scala:Java+函數(shù)式=后函數(shù)式?
  2. 對象函數(shù)式編程 Scala簡史
  3. 與Scala的***次親密接觸 Java如影相隨

 

責(zé)任編輯:佚名 來源: 51CTO.com編譯
相關(guān)推薦

2011-07-01 10:52:59

EnyowebOS 3.0 S

2011-07-01 11:02:30

EnyowebOShello world

2009-06-19 16:05:39

時(shí)間類型Struts

2022-11-11 10:56:37

2011-06-16 16:41:20

Qt MeeGo SDK

2010-10-15 09:52:00

XephyrMeeGoQt

2009-06-01 10:47:32

jboss seam例jboss seam開jboss seam

2009-06-23 15:51:00

JSF框架

2011-04-22 11:24:13

mootools

2009-11-16 17:04:46

Inside Scal

2010-08-03 09:15:05

ScalaSpring

2021-08-19 11:51:37

Commvault

2009-09-28 11:01:39

從Java走進(jìn)Scal

2009-07-22 08:57:49

Scalafinal

2009-08-21 16:17:25

ScalaTwitter API

2021-07-16 09:54:49

鴻蒙HarmonyOS應(yīng)用

2025-01-15 13:46:23

2020-02-20 15:19:56

JavaSQL注入

2023-06-12 15:33:52

Scalafor循環(huán)語句

2009-07-22 07:53:00

Scala無參數(shù)方法
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

国语一区二区三区| 欧美日本韩国一区二区三区| 日韩欧美亚洲在线| 免费在线观看a视频| 中国a一片一级一片| 免费看日产一区二区三区 | 国产呦精品一区二区三区网站| 日韩一区二区三| 久久精品五月婷婷| 制服丨自拍丨欧美丨动漫丨| 国产美女在线观看| 51亚洲精品| 国产欧美日本一区视频| 欧美高清videos高潮hd| 男人天堂成人在线| 精品国产亚洲AV| 精品久久不卡| 亚洲高清视频中文字幕| 国产精品一香蕉国产线看观看| 国产精品扒开腿做爽爽爽a片唱戏| 色的视频在线免费看| 国产精品美女久久久浪潮软件| 欧美高清激情brazzers| 日本视频一区在线观看| 毛片视频网站在线观看| 日韩视频一区二区三区四区| 亚洲欧洲精品一区二区三区不卡| 日本欧美中文字幕| 色天使在线视频| 国模雨婷捆绑高清在线| 国产乱码精品一区二区三区av| 综合网中文字幕| 欧美性受xxxx黑人猛交88| 国产一卡二卡三卡| 香蕉视频一区| 亚洲国产精品一区二区尤物区| 日本一区视频在线播放| 全部免费毛片在线播放一个| 欧美日韩国产成人精品| 欧美精品日韩精品| 18岁网站在线观看| 熟妇人妻一区二区三区四区 | 亚洲第一黄色网| 蜜臀av.com| av在线播放av| 精品亚洲国产成人av制服丝袜| 中文字幕精品在线视频| 中文成人无字幕乱码精品区| 欧美经典一区| 欧美另类变人与禽xxxxx| 777米奇影视第四色| 天堂av在线免费观看| 一区久久精品| 精品少妇一区二区三区视频免付费| 日韩不卡一二区| 91在线观看| 国产日韩欧美不卡在线| 国产精品亚洲综合天堂夜夜| 在线能看的av| 亚洲福利天堂| 欧美亚洲国产bt| 亚洲国产综合自拍| 国产婷婷一区二区三区久久| 欧美aⅴ99久久黑人专区| 亚洲精品在线观看视频| 看av免费毛片手机播放| 美丽的姑娘在线观看免费动漫| 久久久久综合| 中文字幕在线日韩| 日韩福利在线视频| 亚洲一区二区三区在线免费| 91精品福利在线一区二区三区 | a级大片免费看| 美足av综合网| 91在线视频免费91| 国产精品羞羞答答| 国产一区二区在线播放视频| 欧美色综合网| 久久久久久久久久久av| 一区二区三区伦理片| 4438五月综合| 亚洲大型综合色站| 欧美一区二区激情| 欧美香蕉爽爽人人爽| 激情综合网天天干| 亚洲伊人久久大香线蕉av| 精品久久免费视频| 九九精品在线| 日韩精品专区在线影院重磅| 免费激情视频在线观看| 国产另类xxxxhd高清| 亚洲欧美成人一区二区三区| 国产亚洲欧美一区二区| 中文字幕欧美在线观看| 亚洲人成免费| 久久成人综合视频| 亚洲欧洲久久久| 日韩www.| 日韩国产欧美区| 久久6免费视频| 成人在线黄色电影| 日韩美女啊v在线免费观看| 91免费网站视频| 福利在线视频导航| 92国产精品观看| 亚洲精品中文字幕乱码三区不卡| 影院在线观看全集免费观看| 国产精品网站在线观看| 欧美激情论坛| 看女生喷水的网站在线观看| 午夜精品一区二区三区电影天堂| 日本一区二区免费高清视频| a级大胆欧美人体大胆666| 亚洲欧洲日韩一区二区三区| 拔插拔插海外华人免费| 在线中文字幕-区二区三区四区| 黄色一区二区在线观看| 影音先锋成人资源网站| youjizz在线播放| 久久久99久久| 牛人盗摄一区二区三区视频| www.久久成人| 久久久久国产免费免费| 国产在线无码精品| 日韩成人影音| 亚洲成av人片在线观看香蕉| 国产三级aaa| 久久久久久一区二区| 成人av免费看| www.香蕉视频| 亚洲国产高清不卡| 又粗又黑又大的吊av| 久久精品一级| 少妇久久久久久| 精品国产乱子伦| 葵司免费一区二区三区四区五区| 91成人免费观看网站| 久久在线视频精品| 激情视频一区| 91色视频在线导航| 成人av一区二区三区在线观看 | 懂色av粉嫩av蜜乳av| 欧美激情精品久久久六区热门| 国产成人激情视频| 夜夜爽妓女8888视频免费观看| 大美女一区二区三区| 俄罗斯精品一区二区三区| 丰满人妻av一区二区三区| 成人国产免费视频| 精品999在线观看| 男人天堂资源在线| 五月激情六月综合| 日韩Av无码精品| 亚洲第一福利社区| 91av在线看| 天天干天天草天天射| 亚洲五码中文字幕| 人妻内射一区二区在线视频| 欧美日韩精品一区二区三区在线观看| 日韩高清免费观看| 你懂的国产视频| 日本欧美韩国一区三区| 国产精品夜间视频香蕉| 香蕉视频网站在线观看| 欧美日韩在线电影| 国产麻豆剧传媒精品国产| 国产欧美啪啪| 91爱爱小视频k| 日本在线视频1区| 欧美主播一区二区三区| 熟妇无码乱子成人精品| 综合国产在线| 欧美一级视频一区二区| 国产精品久久久午夜夜伦鲁鲁| 国产一区二区三区在线观看免费 | 美女毛片一区二区三区四区最新中文字幕亚洲| 久久久久久噜噜噜久久久精品| 国模私拍视频在线| 欧美日韩精品在线播放| 9l视频白拍9色9l视频| www.久久久久爱免| 精品自在线视频| 欧美日韩在线视频播放| 国产精品久久久久桃色tv| 少妇高潮喷水在线观看| 国产亚洲亚洲国产一二区| 亚洲欧美日韩精品久久亚洲区| 久久国产波多野结衣| 国产毛片久久| 色吧亚洲视频| free性m.freesex欧美| 亚洲精品永久免费| 国产大片中文字幕在线观看| 蜜桃视频一区二区| 欧美成人蜜桃| 欧美成人三级| 亚洲毛片在线看| 在线视频播放大全| 久久久久久久久免费| 国产aaaaa毛片| 亚洲福利天堂| 成人国产精品一区| 国产在线日本| 日韩欧美在线视频免费观看| 中文字幕在线观看91| 五月综合激情| 国产精品女主播| 狠狠狠综合7777久夜色撩人| 欧美日韩精品三区| 日本一道本视频| 国产不卡在线一区| 2021国产视频| 美女网站一区| av资源站久久亚洲| 日本美女久久| 中日韩美女免费视频网址在线观看| 国产免费不卡av| 色琪琪一区二区三区亚洲区| 久久一区二区电影| 日韩视频久久| 国产精品一国产精品最新章节| 69成人在线| 伊人久久大香线蕉av一区二区| 免费看污视频的网站| 一区二区三区在线不卡| 四川一级毛毛片| 久久国产一二区| 91午夜在线观看| 天天做天天爱天天爽综合网| 欧美性bbwbbwbbwhd| 51社区在线成人免费视频| 国产免费一区视频观看免费| 小草在线视频免费播放| 日韩av中文字幕在线免费观看 | 欧美一级搡bbbb搡bbbb| 成人免费毛片视频| 精品人伦一区二区三区蜜桃免费| 麻豆亚洲av成人无码久久精品| 国产一区二区三区四区五区美女 | 91嫩草免费看| dy888亚洲精品一区二区三区| 91精品国产美女浴室洗澡无遮挡| 日本天堂网在线观看| 亚洲精品免费在线观看| 特大黑人巨人吊xxxx| 99久久精品国产精品久久| 又大又长粗又爽又黄少妇视频| 精品亚洲成a人在线观看| 五月天婷婷激情视频| 日韩精品视频网| 亚洲精品永久www嫩草| 欧美美女在线| 鲁丝一区二区三区免费| 天堂综合网久久| 久久久精品国产一区二区三区| 国产一区调教| 精品国产综合久久| 日本成人中文| 免费久久一级欧美特大黄| 尤物tv在线精品| 欧美一二三区| 国产尤物久久久| 91国产丝袜在线放| 日韩视频1区| 国产精品推荐精品| 亚洲春色h网| 色噜噜狠狠色综合网| 青草国产精品| 国产精品一区二区av| 97一区二区国产好的精华液| 热re91久久精品国99热蜜臀| 老司机在线看片网av| 另类天堂视频在线观看| 污污片在线免费视频| 亚洲午夜未满十八勿入免费观看全集 | 97精品人妻一区二区三区在线| 欧美日韩欧美一区二区| 国产三级三级在线观看| 精品国产伦一区二区三区观看体验| 丰满岳乱妇国产精品一区| 精品国产污污免费网站入口 | 污污的网站在线看| 国外成人免费在线播放 | 另类图片亚洲另类| 岛国毛片av在线| 欧美一区二区视频97| 97欧美成人| 午夜精品美女自拍福到在线| 暖暖日本在线观看| 亚洲欧美激情一区| 永久免费av在线| 久久久久久久香蕉网| 欧美电影网站| 97精品在线视频| 国产综合色区在线观看| 成人亲热视频网站| 久久久久97| 成人性色av| 亚洲调教一区| 中文字幕人成一区| 国产一区二区电影在线观看| 中文精品一区二区三区| 亚洲人成久久| gogogo高清免费观看在线视频| 国产日韩欧美一区在线 | 国产a一区二区| 国产欧美日韩精品一区二区三区 | 韩日成人在线| 在线看成人av电影| 亚洲三级影院| 欧美成年人视频在线观看| 丁香啪啪综合成人亚洲小说 | 日韩毛片免费视频一级特黄| 欧美综合在线第二页| 亚洲国产一区二区久久| 九色91在线视频| 91成人影院| 一区二区在线高清视频| 99国产精品久久久久久久| 国产亚洲视频一区| 久久久久久久综合色一本| 免费人成年激情视频在线观看| 欧美日韩国产色| 精品国精品国产自在久不卡| 在线观看日韩www视频免费| 国产在线美女| 成人午夜影院在线观看| 性高潮视频在线观看| 99香蕉国产精品偷在线观看| 一级黄色特级片| 久久久久久97三级| 日韩精品久久久久久久| 6080午夜不卡| 中文av免费观看| 亚洲精品wwww| 你懂的在线播放| 欧美精品中文字幕一区| 人人超在线公开视频| 国产日韩精品在线| 天堂av在线网| 国产98在线|日韩| 午夜日韩电影| www.国产福利| 中文字幕制服丝袜成人av| 精品人妻伦九区久久aaa片| 在线看一区二区| 欧美91精品久久久久国产性生爱| 欧美久久精品一级黑人c片| 欧美美女福利视频| 亚洲欧美电影在线观看| 日韩精品成人一区二区三区| 水蜜桃av无码| 婷婷一区二区三区| 亚洲av成人无码久久精品老人 | 亚洲第一页在线| 污网站在线免费看| 国产精品区二区三区日本| 狠狠综合久久| 日本一卡二卡在线| 亚洲aⅴ怡春院| 亚洲av成人精品一区二区三区在线播放 | 亚洲蜜桃视频| 丰满人妻一区二区三区53视频| 国产999精品久久久久久绿帽| 日韩精品一区二区亚洲av性色| 制服丝袜成人动漫| av观看在线| 国产精品久久7| 一本久道久久综合狠狠爱| 国产精品三级在线观看无码| 国产精品丝袜久久久久久app| 人妻中文字幕一区二区三区| www国产亚洲精品久久网站| а√天堂资源官网在线资源| 久久av免费观看| 丝袜美腿亚洲色图| 日韩欧美在线视频播放| 欧美一卡二卡三卡| 国产高清自产拍av在线| 欧美一卡2卡3卡4卡无卡免费观看水多多| 日韩成人午夜精品| 日韩在线视频网址| 亚洲аv电影天堂网| 东京一区二区| 国产91亚洲精品一区二区三区| 在线亚洲欧美| 能直接看的av| 日韩欧美中文一区| 天堂中文av在线资源库| 四虎永久国产精品| 国产精品91一区二区| 国产极品视频在线观看| 精品久久久久久久久久久| 天堂在线中文字幕| 成人性生交xxxxx网站| 一区久久精品| 国产三级aaa| 亚洲精品美女在线| 日本成人一区二区| 国产精品一线二线三线|