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

JSF和Spring的集成

開發(fā) 后端
本文介紹JSF和Spring的集成,原理是獲得彼此的上下文引用,以此進一步獲得各自管理的bean,這是可能的,因為兩者是web應用框架都遵循servlet規(guī)范,為二者整合提供了可能和基礎(chǔ)。

JSF和Spring集成的資料比較少,原理是獲得彼此的上下文引用,以此進一步獲得各自管理的bean,這是可能的,因為兩者是web應用框架都遵循servlet規(guī)范,為二者整合提供了可能和基礎(chǔ).
 
在 Spring中ApplicationContext是相當重要的類,對于web應用,它還包裝了 javax.servlet.ServletContext,為web應用提供了所有可以利用的數(shù)據(jù),包括可管理bean,Faces中通過 FacesContext類可以獲得所有可以利用的資源,同樣包括JSF的可管理支持bean,它們都圍繞著ServletContext提供了自己的門面,通過各自的門面在Servlet容器的世界里彼此相通.
本文介紹兩種方式,實現(xiàn)二者集成:
1. 通過寫自己的類來完成二者的連通,實際上只是獲得彼此世界里存活的bean,對于JSF中事件處理可能需要更進一步的構(gòu)思和編碼,為了這點,第二個方法介紹了一種框架.
2. 使用框架完成二者集成.
 
一  自己動手,下面的代碼以示例為主,其它涉及的類和接口略去.
這個工具類提供在JSF世界里查找Spring管理的bean.也實現(xiàn)在Spring中查找JSF組件的方法.

  1. package com.skysoft.rbac.dao;  
  2. import org.springframework.context.ApplicationContext;  
  3. import org.springframework.web.context.support.WebApplicationContextUtils;  
  4. import javax.faces.context.FacesContext;  
  5. import javax.servlet.ServletContext;  
  6. import javax.faces.el.ValueBinding;  
  7. import javax.faces.FactoryFinder;  
  8. import javax.faces.application.Application;  
  9. import javax.faces.application.ApplicationFactory;  
  10. public final class SpringFacesUtil {  
  11.   public SpringFacesUtil() {  
  12.   }  
  13.   /**  
  14.    * 從Spring中查找bean.  
  15.    * @param beanname String  
  16.    * @return Object  
  17.    */  
  18.   public static Object findBean(String beanname) {  
  19.     ServletContext context = (ServletContext) FacesContext.getCurrentInstance().  
  20.         getExternalContext().getContext();  
  21.     ApplicationContext appctx = WebApplicationContextUtils.  
  22.         getRequiredWebApplicationContext(context);  
  23.     return appctx.getBean(beanname);  
  24.   }  
  25.   /**  
  26.    * 從JSF中查找bean.  
  27.    * @param beanname String  
  28.    * @return Object  
  29.    */  
  30.   public static Object lookupBean(String beanname) {  
  31.     Object obj = getValueBinding(getJsfEl(beanname)).getValue(FacesContext.  
  32.         getCurrentInstance());  
  33.     return obj;  
  34.   }  
  35.   private static ValueBinding getValueBinding(String el) {  
  36.     return getApplication().createValueBinding(el);  
  37.   }  
  38.   private static Application getApplication() {  
  39.     ApplicationFactory appFactory = (ApplicationFactory) FactoryFinder.  
  40.         getFactory(FactoryFinder.APPLICATION_FACTORY);  
  41.     //FactoryFinder.FACES_CONTEXT_FACTORY  
  42.     //FactoryFinder.RENDER_KIT_FACTORY  
  43.     return appFactory.getApplication();  
  44.   }  
  45.   private static String getJsfEl(String value) {  
  46.     return "#{" + value + "}";  
  47.   }  

下面定義一個由JSF管理的bean:

  1. package com.skysoft.rbac.dao;  
  2.    
  3. import javax.servlet.ServletContext;  
  4. import org.springframework.context.ApplicationContext;  
  5. import org.springframework.web.context.support.WebApplicationContextUtils;  
  6. import org.skysoft.struts.jsf.util.FacesUtils;  
  7. public class ServiceLocatorBean  
  8.     implements ServiceLocator {  
  9.   private static final String DAO_SERVICE_BEAN_NAME = "userDAO";  
  10.   //這個dao就是由Spring提供的管理bean,這個dao可以使用Hibernate實現(xiàn).  
  11.   private UserDAO dao;  
  12.   public ServiceLocatorBean() {  
  13.     this.dao = (UserDAO)SpringFacesUtil.findBean(DAO_SERVICE_BEAN_NAME);  
  14.   }  
  15.   public UserDAO getDao() {  
  16.     return dao;  
  17.   }  
  18. }  
  19. 下面是一個使用ServiceLocatorBean的類.  
  20. public class UserDAOImp  
  21.     extends HibernateDaoSupport implements UserDAO {  
  22.   private UserDAO dao;  
  23.   private List list;  
  24.   public UserDAOImp() {}  
  25.   public List getList() {  
  26.     if (list == null) {  
  27.       list = dao.getList();  
  28.     }  
  29.     return list;  
  30.   }  
  31.   public UserDAO getDao() {  
  32.     return dao;  
  33.   }  
  34.   public void setDao(UserDAO dao) {  
  35.     this.dao = dao;  
  36.   }  

下面是一個使用ServiceLocatorBean的類:

  1. public class UserDAOImp  
  2.   extends HibernateDaoSupport implements UserDAO {  
  3.   private UserDAO dao;  
  4.   private List list;  
  5.   public UserDAOImp() {}  
  6.   public List getList() {  
  7.     if (list == null) {  
  8.       list = dao.getList();  
  9.     }  
  10.     return list;  
  11.   }  
  12.   public UserDAO getDao() {  
  13.     return dao;  
  14.   }  
  15.   public void setDao(UserDAO dao) {  
  16.     this.dao = dao;  
  17.   }  

在faces-config.xml中的配置:

  1. <managed-bean> 
  2. <managed-bean-name>serviceLocatorBeanmanaged-bean-name> 
  3. <managed-bean-class>com.skysoft.rbac.dao.ServiceLocatorBeanmanaged-bean-class> 
  4. <managed-bean-scope>sessionmanaged-bean-scope> 
  5. managed-bean> 
  6. <managed-bean> 
  7. <managed-bean-name>Usermanaged-bean-name> 
  8. <managed-bean-class>com.skysoft.rbac.Usermanaged-bean-class> 
  9. <managed-bean-scope>requestmanaged-bean-scope> 
  10. <managed-property> 
  11. <property-name>serviceLocatorproperty-name> 
  12. <property-class>com.skysoft.rbac.dao.ServiceLocatorBeanproperty-class> 
  13. <value>#{serviceLocatorBean}value> 
  14.       managed-property> 
  15. managed-bean> 

在applicationContext.xml中的配置:

  1. <bean id="userDAO" class="com.skysoft.rbac.dao.UserDAOImp"> 
  2.       <property name="sessionFactory"> 
  3.              <ref local="sessionFactory" /> 
  4.       property> 
  5. bean> 

二 使用框架

1.介紹
這個框架是Spring相關(guān)項目,提供一個包de.mindmatters.faces.spring,這個包包含JSF和Spring框架綜合集成的粘合代碼,這些代碼以獨立于一個實現(xiàn)的方式完成,這樣它能和任何JSF實現(xiàn)一起使用.
本包的提供的代碼主要目的是盡可能透明的集成兩個框架,主要特征:
◆JSF/JSP開發(fā)者應該能訪問Spring管理的Beans,就好象它們是由JSF管理的.
◆JSF可管理beans應能集成入Spring.
◆RequestHandledEvent事件也應該能被發(fā)布到Spring.

2.JSF配置集成
本包構(gòu)造了一個基于faces配置文件(e.g. /WEB-INF/faces-config.xml)的WebApplicationContext類, 讓它成為遵循"spring-beans" DTD配置文件(e.g. defined in /WEB-INF/applicationContext.xml)來配置的ApplicationContext的孩子,這樣依從"faces- config" DTD的WebApplicationContext就是全特征的,即自動擁有如下功能:

1)JSF可管理beans實現(xiàn)了Spring的*Aware interfaces:
◆ApplicationContextAware
◆BeanFactoryAware
◆BeanNameAware
◆ResourceLoaderAware
◆ServletContextAware

2)JSF可管理beans實現(xiàn)Spring的lifecycle interfaces:
InitializingBean
DisposableBean
◆實現(xiàn)Spring的FactoryBean interface
◆實現(xiàn)Spring的ApplicationListener interface
◆發(fā)布ApplicationEvent事件.
◆從資源中讀取消息.
等等,更多可看Spring.

3 訪問方式

1) 從JSF中程序化的訪問Spring管理的beans.
因為在FacesWebApplicationContext和ApplicationContext之間有層次關(guān)系,所以你的JSF可管理支持beans 能容易的實現(xiàn)ApplicationContextAware接口,并能通過getBean方法訪問它而不管它是否定義在 FacesWebApplicationContext中還是定義在父ApplicationContext類對象中.

2) 通過JSF EL從JSF中訪問Spring管理的beans.
能夠使用JSF EL訪問beans無論你引用的bean由JSF管理還是由Spring管理.兩個bean上下文在存取時間合并.

a) 直接訪問:
如果一個帶有請求名字的bean只存在于Spring上下文內(nèi)的話,這個bean被使用,bean的singleton屬性設(shè)置被完全保持.

b) 區(qū)域化訪問(scoped access):
如果你要從JSF定義bean的作用域的能力上得益還想讓那個bean由Spring管理,那么就要在兩個上下文中定義,只是對于JSF上下文中的定義的類類型要使用de.mindmatters.faces.spring.SpringBeanFactory類,你還應該設(shè)置那個bean的 singleton屬性到false,因這能覆蓋你的作用域設(shè)置.在你使用JSF EL訪問bean時,你總能獲得一個遵從你在JSF上下文中定義的作用域設(shè)置的由Spring管理的bean的實例.
 
三 用法
通常,就象設(shè)置任何其它JSF web應用一樣設(shè)置你的web應用,下面的樣例配置展示怎樣使能上面提到的特征。
在web.xml配置中必須加入下列配置條目,同時注意把該庫的jsf-spring.jar放在適當?shù)奈恢?

  1. <web-app> 
  2.     .........  
  3.          
  4.     <filter> 
  5.         <filter-name>RequestHandledfilter-name> 
  6.         <filter-class>de.mindmatters.faces.spring.support.RequestHandledFilterfilter-class> 
  7.     filter> 
  8.         
  9.     <filter-mapping> 
  10.         <filter-name>RequestHandledfilter-name> 
  11.         <url-pattern>*.facesurl-pattern> 
  12.     filter-mapping> 
  13.    
  14.      
  15.     <listener> 
  16.         <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class> 
  17.     listener> 
  18.     .........  
  19. web-app> 

下面的一些說明,都可以通過下載這個Spring相關(guān)項目得到,列在這里只為演示上面的說明的功能.
WEB-INF/faces-config.xml

  1.  
  2. <managed-bean> 
  3.     <managed-bean-name>jsfBeanmanaged-bean-name> 
  4.     <managed-bean-class>example.NameBeanmanaged-bean-class> 
  5.     <managed-bean-scope>sessionmanaged-bean-scope> 
  6.     <managed-property> 
  7.         <property-name>nameproperty-name> 
  8.     managed-property> 
  9. managed-bean> 
  10.  
  11.        <managed-bean> 
  12.               <managed-bean-name>scopedAccessSpringBeanmanaged-bean-name> 
  13.        <managed-bean-class>de.mindmatters.faces.spring.SpringBeanScopemanaged-bean-class> 
  14.               <managed-bean-scope>sessionmanaged-bean-scope> 
  15.        managed-bean> 
  16.  
  17. <managed-bean> 
  18.     <managed-bean-name>referencingBeanmanaged-bean-name> 
  19.     <managed-bean-class>example.ReferencingBeanmanaged-bean-class> 
  20.     <managed-bean-scope>sessionmanaged-bean-scope> 
  21.     <managed-property> 
  22.         <property-name>referencedBeanproperty-name> 
  23.         <value>#{managedPropertyAccessSpringBean}value> 
  24.     managed-property> 
  25. managed-bean> 
  26. WEB-INF/applicationContext.xml (partial)  
  27.   <bean id="directAccessSpringBean" class="example.NameBean"/> 
  28.   <bean id="scopedAccessSpringBean" class="example.NameBean" singleton="false"/> 
  29.   <bean id="managedPropertyAccessSpringBean" class=                                                                   "example.NameBean" singleton="false"/> 

參考:
http://jsf-spring.sourceforge.net/   JSF-Spring,Spring相關(guān)項目官方站點,提供本文介紹的框架下載以及實例下載.
http://www.javaworld.com/javaworld/jw-07-2004/jw-0719-jsf.html一篇關(guān)于JSF和Spring的文章.

【編輯推薦】

  1. JSF2中Ajax事件和錯誤
  2. 簡述JSF程序配置
  3. Java開發(fā)三劍客JSF2.0、EJB3.1、JPA2.0現(xiàn)狀及發(fā)展
  4. 在JSF/JSP中集成FCKEditor
  5. JSF+Seam框架學習心得
責任編輯:佚名 來源: CSDN
相關(guān)推薦

2009-06-17 15:18:38

JSF與Spring

2009-06-26 13:48:57

G4JSFGWTJSF

2009-09-23 17:56:45

JSF入門

2009-06-23 09:33:20

FCKEditorJSFJSP

2009-06-22 15:35:31

JSF和Struts

2009-06-22 14:22:41

JSF和Tapestr

2009-07-03 10:48:12

JSP和JSF

2009-06-24 13:50:29

JSF和MVC

2009-06-24 16:42:17

JSF和Facelet

2011-06-30 10:20:38

JSFMVC

2009-06-24 16:16:30

JSF和Tapestr

2009-06-24 17:43:24

Struts和JSF

2009-06-25 11:11:25

控制JSF切入點

2009-06-19 15:52:58

Struts和Spri

2009-06-24 14:17:00

BackingBeanJSF配置文件

2009-06-25 14:26:33

JSFDojo小部件

2009-06-23 16:29:51

JSFSpring MVCStruts 2

2009-06-23 16:52:16

JSFHibernateWeb應用

2009-06-22 16:42:26

JSF的工作方式

2009-03-24 10:30:35

SpringStruts集成
點贊
收藏

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

欧美性孕妇孕交| 久草国产在线视频| 国产一区二区三区朝在线观看| 99久久婷婷国产综合精品电影| 久久久久久久久久久av| 成人免费看片载| 超级白嫩亚洲国产第一| 99久久99久久久精品齐齐| 国产不卡精品视男人的天堂| 国产第一页精品| 成人在线日韩| 亚洲国产综合人成综合网站| 欧美黄色直播| √资源天堂中文在线| 成人在线免费小视频| 欧美一区三区二区| 国内外成人激情视频| 91最新在线| 成人一区在线观看| 日本免费在线精品| 黑人狂躁日本娇小| 久久超级碰碰| 欧美另类z0zxhd电影| 国产免费一区二区视频| 国产三级视频在线| 国产福利一区在线| 人人爽久久涩噜噜噜网站| 91动漫免费网站| 欧美理伦片在线播放| 欧美性色黄大片| 免费一级特黄毛片| 激情小说 在线视频| 国产主播一区二区三区| 欧美亚洲伦理www| 日本a级片视频| 你懂的视频欧美| 欧美一区二区网站| 无码内射中文字幕岛国片| 二区三区在线观看| 久久精品亚洲麻豆av一区二区| 91热精品视频| 激情网站在线观看| 国产精品毛片| 欧美高清无遮挡| 国产精品酒店视频| 精品在线观看入口| 亚洲成色777777女色窝| 红桃视频 国产| 日韩不卡在线| 亚洲国产三级在线| 激情五月五月婷婷| 9191在线| 欧美国产1区2区| av资源一区二区| 国产女人高潮毛片| 亚洲综合99| 久久久久久久一| 粉嫩av性色av蜜臀av网站| 九九热爱视频精品视频| 亚洲第一网中文字幕| 日本中文字幕在线不卡| 粉嫩91精品久久久久久久99蜜桃| 精品久久久久久久久久国产| 97免费视频观看| 黄色网页在线观看| 亚洲色图丝袜美腿| 亚洲综合网中心| 日韩电影在线观看完整版| a级精品国产片在线观看| 999国内精品视频在线| 国产精品-色哟哟| 国内精品久久久久影院色| 国产精品美女网站| 中文在线字幕免费观| 男人天堂欧美日韩| 国产做受高潮69| 精品人妻在线播放| 国产在线不卡| 66m—66摸成人免费视频| 国产精品第108页| 亚洲一级高清| 91精品国产99| 丰满少妇xoxoxo视频| 久久久久网站| 日韩av成人在线观看| 91丝袜一区二区三区| 日本午夜精品视频在线观看 | wwwxxxx在线观看| 国产精品久一| 日韩欧美国产综合在线一区二区三区| 国产精品二区视频| 免费看久久久| 亚洲人成亚洲人成在线观看| 亚洲精品91在线| 国产精品精品| 欧美人在线视频| 国产在线综合网| 亚洲欧美清纯在线制服| 国产成人精品视频在线| 97国产成人无码精品久久久| 国产在线乱码一区二区三区| av噜噜色噜噜久久| 天堂成人在线观看| 国产日韩欧美综合一区| 中国成人亚色综合网站| 日本欧美电影在线观看| 粉嫩老牛aⅴ一区二区三区| mm1313亚洲国产精品无码试看| 精品久久在线| 欧美高清精品3d| 亚洲午夜久久久久久久久| 大奶在线精品| 夜夜嗨av色一区二区不卡| 午夜精品一区二区三级视频| 亚洲激情成人| 国产精品久久网| 超碰福利在线观看| 欧美高清在线视频| 777av视频| 欧美爱爱视频| 亚洲国产97在线精品一区| 亚洲精品国产熟女久久久| 婷婷亚洲五月色综合| 性欧美视频videos6一9| 中文字幕自拍偷拍| 99视频一区二区三区| 亚洲精品欧美精品| √8天堂资源地址中文在线| 在线观看国产一区二区| 老熟女高潮一区二区三区| 欧美裸体在线版观看完整版| 久久久久久久999| 夜夜爽8888| 97精品久久久久中文字幕 | 日韩乱码一区二区三区| 九九久久精品视频| 久久综合狠狠综合久久综青草 | youjizz亚洲| 国产一区二区久久精品| 91蜜桃视频在线观看| 国产揄拍国内精品对白| 欧洲一区二区在线观看| 日本片在线观看| 91麻豆精品国产自产在线| 少妇久久久久久久久久| 亚洲香蕉网站| 国产精品美女久久久免费| 午夜福利理论片在线观看| 亚洲免费视频成人| 在线观看的毛片| 欧美美女在线| 97久久久久久| 免费观看黄色一级视频| 一区二区三区中文免费| 精品综合久久久久| 日韩电影免费网址| 国产精彩精品视频| 黄色在线播放| 日本黄色一区二区| 欧美激情aaa| 亚洲欧美久久| 欧美精品一区二区三区在线四季 | 久久不卡日韩美女| 在线精品国产成人综合| 国产99久久久久久免费看| 91片在线免费观看| 老子影院午夜伦不卡大全| 日韩免费高清视频网站| 色综合视频网站| 亚洲精品久久久久久久久久| 一区二区三区四区高清精品免费观看| 在线视频一二区| 综合久久十次| 成人免费视频网址| 成人在线观看亚洲| 欧美亚洲国产一区二区三区va| 级毛片内射视频| 蜜桃传媒麻豆第一区在线观看| 香蕉久久夜色| 综合久久伊人| 欧美精品做受xxx性少妇| www.激情五月| 精品久久久精品| 少妇久久久久久久久久| 久久aⅴ国产欧美74aaa| 精品一区二区三区毛片| 国产精品igao视频网网址不卡日韩| xxx成人少妇69| 国产男女无套免费网站| 亚洲已满18点击进入久久| 人妻 丝袜美腿 中文字幕| 欧美日本精品| 日本欧洲国产一区二区| 视频一区国产| 国产成人免费av| 欧美xxxx免费虐| 国产小视频91| 亚洲国产一二三区| 欧美色综合影院| 日韩欧美性视频| 亚洲婷婷综合色高清在线| 六十路息与子猛烈交尾| 精品一区二区综合| 欧美xxxxx在线视频| 亚洲成人精品| 日本在线高清视频一区| 澳门成人av| 91精品国产自产在线老师啪| 日韩伦理精品| 欧美极品少妇与黑人| 久久久久久青草| 欧美xxxxxxxx| 国产日韩精品suv| 欧美最新大片在线看| 亚洲国产成人精品激情在线| 日韩美女精品在线| 天天操天天干天天操天天干| av一本久道久久综合久久鬼色| 欧洲美女亚洲激情| 免播放器亚洲一区| 午夜欧美福利视频| 久久国产99| 一区二区传媒有限公司| 欧美三级不卡| 91大学生片黄在线观看| 久久亚洲精品中文字幕蜜潮电影| 欧洲精品亚洲精品| 六月丁香久久丫| 国产经典一区二区三区| 秋霞影院一区| 亚洲va电影大全| 国产一区二区视频在线看| 国产免费一区二区三区在线观看| 婷婷六月国产精品久久不卡| 国产91成人在在线播放| 国模精品视频| 91国产美女视频| 黄色在线免费观看网站| 91超碰caoporn97人人| а√天堂中文在线资源8| 国模私拍一区二区三区| av午夜在线观看| 97热在线精品视频在线观看| a级片在线免费观看| 国内外成人免费激情在线视频网站| av在线free| 欧美华人在线视频| 丰满的护士2在线观看高清| 欧美激情videos| av伦理在线| 欧美亚洲国产日本| 东京一区二区| 国产精品高潮粉嫩av| 成人在线不卡| 91系列在线观看| 亚洲五码在线| 激情五月综合色婷婷一区二区| 日本久久成人网| 日韩资源av在线| 久久亚洲精品中文字幕蜜潮电影| 国产树林野战在线播放| 欧美色图麻豆| 男女高潮又爽又黄又无遮挡| 久久一区精品| www欧美激情| 国产一区二区三区黄视频| 国产乱淫av麻豆国产免费| 99在线视频精品| 欧美福利第一页| 亚洲欧美偷拍三级| 中文字幕第28页| 在线观看网站黄不卡| 国产乱淫a∨片免费观看| 欧美videossexotv100| 亚洲欧美综合一区二区| 一区二区成人精品| 日本精品600av| 日韩美女在线观看| 国产成年精品| 九九久久99| 欧美第一精品| 少妇人妻大乳在线视频| 免费av成人在线| 亚洲av成人精品一区二区三区| 国产亚洲精品aa午夜观看| 麻豆精品国产免费| 欧美午夜xxx| 97人妻精品一区二区三区动漫| 精品国产成人系列| 成人av一区| 午夜精品久久久久久99热| 欧美与亚洲与日本直播| 99久久99久久精品国产片| 欧美**字幕| 老子影院午夜伦不卡大全| 日本特黄久久久高潮| 中文字幕制服丝袜| 国产女主播在线一区二区| 久久精品视频国产| 欧美精品aⅴ在线视频| 人成免费电影一二三区在线观看| 久久久极品av| 国产日韩另类视频一区| 成人免费观看网站| 欧美顶级大胆免费视频| 日韩中文字幕在线视频观看| 国产乱一区二区| 久久久精品成人| 精品国产乱码久久久久久婷婷 | 久久精品国产亚洲AV无码麻豆| 一本一本大道香蕉久在线精品 | 日韩精品久久久久久免费| 91麻豆精品国产无毒不卡在线观看| 日韩欧美在线观看一区二区| 欧美激情视频一区二区三区不卡| 国产精品.xx视频.xxtv| 欧美精品一区二区三区在线四季| 在线播放一区| 波多野结衣中文字幕在线播放| 欧美激情在线观看视频免费| 国产尤物在线视频| 精品国产凹凸成av人导航| 18+视频在线观看| 成人黄在线观看| 成人3d精品动漫精品一二三| 各处沟厕大尺度偷拍女厕嘘嘘| 成人av午夜电影| 免费在线视频观看| 欧美一区二区久久| 黄网址在线观看| 91久久久久久久久久| 第四色成人网| 国产又大又黄又粗又爽| 欧美激情一区在线观看| 成人一级免费视频| 亚洲日本成人女熟在线观看| a日韩av网址| 久久免费看av| 亚洲免费一区二区| 久久久久久久久久久久| 欧美日韩中国免费专区在线看| 日本韩国免费观看| 538国产精品一区二区免费视频| 欧美偷窥清纯综合图区| 欧美日韩精品在线一区二区| 成人一级黄色片| 日产精品久久久久| 亚洲精品一区中文| 久久人体大尺度| 色阁综合av| 久久国产精品第一页| 国产极品美女在线| 日韩一级完整毛片| 国产蜜臀一区二区打屁股调教| 国产精品国色综合久久| 伊人久久亚洲影院| 蜜桃精品一区二区| 欧美色偷偷大香| 麻豆传媒在线免费| 99精品在线直播| 国产精品嫩草99av在线| 亚洲无人区码一码二码三码的含义| 欧美日韩精品高清| 新版中文在线官网| 精品国产乱码久久久久久88av| 久久中文字幕一区二区三区| jizz18女人高潮| 欧美成人福利视频| 成人免费看视频网站| 亚欧精品在线| 高清日韩电视剧大全免费| 日韩精品手机在线| 神马国产精品影院av| 视频亚洲一区二区| 欧美激情国产精品日韩| 1000精品久久久久久久久| 亚洲风情第一页| 青草青草久热精品视频在线观看| 日韩午夜电影网| 国产原创剧情av| 欧洲生活片亚洲生活在线观看| 理论片午午伦夜理片在线播放| 97se亚洲综合| 可以免费看不卡的av网站| caoporn91| 亚洲欧洲美洲在线综合| www.成人| www.亚洲天堂网| 亚洲精品免费看| 国产乱视频在线观看| 97超碰人人看人人 | а天堂8中文最新版在线官网| 91aaaa| 日韩福利电影在线| 黑人巨大精品一区二区在线| 亚洲欧美日韩另类| 中文无码日韩欧| 在线免费视频一区| 欧美日韩精品国产| 影音先锋男人在线资源|