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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringMVC常见组件之DataBinder数据绑定器分析

發布時間:2024/1/1 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringMVC常见组件之DataBinder数据绑定器分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關聯博文:
SpringMVC常見組件之HandlerAdapter分析
SpringMVC常見組件之HandlerMapping分析
SpringMVC常見組件之HandlerMethodArgumentResolver解析
SpringMVC常見組件之HandlerMethodReturnValueHandler解析
SpringMVC常見組件之DataBinder數據綁定器分析
SpringMVC常見組件之ViewResolver分析
SpringMVC常見組件之View分析
SpringMVC常見組件之HandlerExceptionResolver分析

什么是數據綁定?簡單一句話就是把請求中參數信息綁定到目標方法的參數上。數據綁定是參數解析過程中的一部分。SpringMVC通過反射機制對目標處理方法進行解析,將請求消息綁定到處理方法的入參中。如下圖所示:

那么這里我們就要研究一下數據綁定相關的那些組件。

【1】綁定工廠WebDataBinderFactory

工廠嘛,使用了工廠方法設計模式,只有一個抽象方法用來讓子類實現以創建一個WebDataBinder實例。

public interface WebDataBinderFactory {WebDataBinder createBinder(NativeWebRequest webRequest, @Nullable Object target, String objectName)throws Exception; }
  • NativeWebRequest:當前請求
  • target:數據綁定器的目標對象,如果是為簡單類型創建,則target為null;
  • objectName:target的名字

WebDataBinderFactory家族圖示(典型的工廠方法設計模式)

① DefaultDataBinderFactory

這里我們先看一下其createBinder方法,也是核心入口方法。

@Override @SuppressWarnings("deprecation") public final WebDataBinder createBinder(NativeWebRequest webRequest, @Nullable Object target, String objectName) throws Exception { // 提供了默認實現,也可以讓子類覆蓋 WebDataBinder dataBinder = createBinderInstance(target, objectName, webRequest); if (this.initializer != null) {this.initializer.initBinder(dataBinder, webRequest); } // 空方法,讓子類實現 initBinder(dataBinder, webRequest); return dataBinder; }

如下所示,其創建了一個WebRequestDataBinder實例。WebRequestDataBinder主要是用來將web request parameters綁定到JavaBeans,支持 multipart files。

protected WebDataBinder createBinderInstance(@Nullable Object target, String objectName, NativeWebRequest webRequest) throws Exception {return new WebRequestDataBinder(target, objectName); }

其initBinder方法是個空方法,讓子類InitBinderDataBinderFactory實現。

這里我們關注一下this.initializer.initBinder(dataBinder, webRequest);。也就是初始化器首先對數據綁定器進行初始化,這里最終會走到ConfigurableWebBindingInitializer#initBinder,如下所示,在后面使用databinder進行類型轉換、格式校驗時用的就是這里填充進去的“功能屬性對象”。

@Override public void initBinder(WebDataBinder binder) {binder.setAutoGrowNestedPaths(this.autoGrowNestedPaths);if (this.directFieldAccess) {// 設置directFieldAccess=truebinder.initDirectFieldAccess();}// 設置messageCodesResolver ,默認是DefaultMessageCodesResolverif (this.messageCodesResolver != null) {binder.setMessageCodesResolver(this.messageCodesResolver);}// 設置BindingErrorProcessor,默認是DefaultBindingErrorProcessorif (this.bindingErrorProcessor != null) {binder.setBindingErrorProcessor(this.bindingErrorProcessor);}// 設置校驗器if (this.validator != null && binder.getTarget() != null &&this.validator.supports(binder.getTarget().getClass())) {binder.setValidator(this.validator);}// 設置類型轉換服務if (this.conversionService != null) {binder.setConversionService(this.conversionService);}// 設置屬性編輯注冊器,能夠向binder注冊一系列編輯器if (this.propertyEditorRegistrars != null) {for (PropertyEditorRegistrar propertyEditorRegistrar : this.propertyEditorRegistrars) {propertyEditorRegistrar.registerCustomEditors(binder);}} }

② InitBinderDataBinderFactory

InitBinderDataBinderFactory是通過@InitBinder方法向WebDataBinder 添加初始化行為。其并沒有重寫父類的創建DataBinder方法,但是提供了初始化DataBinder方法。

public void initBinder(WebDataBinder dataBinder, NativeWebRequest request) throws Exception {for (InvocableHandlerMethod binderMethod : this.binderMethods) {if (isBinderMethodApplicable(binderMethod, dataBinder)) {Object returnValue = binderMethod.invokeForRequest(request, null, dataBinder);if (returnValue != null) {throw new IllegalStateException("@InitBinder methods must not return a value (should be void): " + binderMethod);}}} }

這里我們需要多說一點,在進行參數解析的時候,如果binderFactory不為null且是DefaultDataBinderFactory或子類InitBinderDataBinderFactory。那么其createBinder會進行初始化initBinder(dataBinder, webRequest);。而InitBinderDataBinderFactory的initBinder方法如上所示,會首先判斷當前binderMethods是否有符合當前WebDataBinder的@InitBinder方法binderMethod。如果有合適的binderMethod,那么將會在初始化綁定器的過程中反射調用該方法。

如下圖所示,能夠看到InvocableHandlerMethod#invokeForRequest方法被調用了兩次,第二次的時候providedArgs不再為空。

③ ServletRequestDataBinderFactory

其創建了一個ServletRequestDataBinder(子類ExtendedServletRequestDataBinder),ServletRequestDataBinder可以將請求的參數綁定到目標對象,如Query String Parameters、form-data的參數,并支持multipart files的綁定。

具體子類是ExtendedServletRequestDataBinder,ExtendedServletRequestDataBinder將 URI template variables(如路徑變量/getUser/{id}中的id)解析提供給數據綁定使用。

@Override protected ServletRequestDataBinder createBinderInstance(@Nullable Object target, String objectName, NativeWebRequest request) throws Exception {return new ExtendedServletRequestDataBinder(target, objectName); }

【2】數據綁定器DataBinder

數據綁定器是為目標對象綁定屬性值,同時支持屬性校驗與綁定結果分析。可以通過BindingResult拿到綁定結果。

① 校驗器處理

DataBinder提供了一些校驗器處理方法如addValidators(添加校驗器)、replaceValidators(替換校驗器)、getValidators(獲取校驗器)、getValidato(獲取第一個校驗器)r以及核心的validate方法。

public void validate(Object... validationHints) {Object target = getTarget();Assert.state(target != null, "No target to validate");BindingResult bindingResult = getBindingResult();// Call each validator with the same binding resultfor (Validator validator : getValidators()) {if (!ObjectUtils.isEmpty(validationHints) && validator instanceof SmartValidator) {((SmartValidator) validator).validate(target, bindingResult, validationHints);}else if (validator != null) {validator.validate(target, bindingResult);}} }

代碼主要含義就是首先獲取taget(要綁定的目標對象)、bindingResult與Validators,然后遍歷Validators并進行校驗,將校驗結果放到bingdingResult中。

一個校驗通過的bingdingResult如下所示

如果校驗不通過,那么其errors屬性將會保存錯誤信息,如下所示

② 轉換器處理

數據綁定過程中,獲取到請求中的數據后向目標對象進行綁定,那么這個階段可能涉及到類型轉換,如String轉換為Integer。DataBinder實現了TypeConverter接口,提供了系列重載convertIfNecessary方法。

@Override @Nullable public <T> T convertIfNecessary(@Nullable Object value, @Nullable Class<T> requiredType) throws TypeMismatchException {return getTypeConverter().convertIfNecessary(value, requiredType); }@Override @Nullable public <T> T convertIfNecessary(@Nullable Object value, @Nullable Class<T> requiredType,@Nullable MethodParameter methodParam) throws TypeMismatchException {return getTypeConverter().convertIfNecessary(value, requiredType, methodParam); }@Override @Nullable public <T> T convertIfNecessary(@Nullable Object value, @Nullable Class<T> requiredType, @Nullable Field field)throws TypeMismatchException {return getTypeConverter().convertIfNecessary(value, requiredType, field); }@Nullable @Override public <T> T convertIfNecessary(@Nullable Object value, @Nullable Class<T> requiredType,@Nullable TypeDescriptor typeDescriptor) throws TypeMismatchException {return getTypeConverter().convertIfNecessary(value, requiredType, typeDescriptor); }

這里面我們可以看一下其getTypeConverter方法:

protected TypeConverter getTypeConverter() {if (getTarget() != null) {return getInternalBindingResult().getPropertyAccessor();}else {return getSimpleTypeConverter();} }

也就是說如果target不為null(復雜類型比如SysUser),那么就獲取一個BeanWrapperImpl實例。如果是一個簡單類型如Integer age,那么就獲取一個SimpleTypeConverter。

額外說明的是,在類型轉換的過程中,都離不開一個conversionService實例(默認是DefaultFormattingConversionService)。該實例內部擁有系統的converters,正是這些converts(有100多個)實現了類型的轉換。從下圖可以看到,二者都是TypeConverterSupport的子類,實現了TypeConverter、PropertyEditorRegistry接口。PropertyEditorRegistry接口給自定義屬性編輯器注冊提供了入口。


WebDataBinder 使用registerCustomEditor應用

@InitBinder public void initBinderTest(WebDataBinder binder){SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");dateFormat.setLenient(false);binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true)); }

③ 綁定結果BindingResult

數據綁定過程中很可能因為數據類型轉換異常(或其他錯誤)綁定失敗,這些錯誤信息就保存在了BindingResult中。我們可以通過該接口獲取到錯誤信息進行對應處理。這里我們可以簡單看一下其家族樹,不展開分析。詳情參考博文SpringMVC中使用JSR303進行數據校驗實踐詳解


其創建BindingResult的兩個方法

protected AbstractPropertyBindingResult createBeanPropertyBindingResult() {BeanPropertyBindingResult result = new BeanPropertyBindingResult(getTarget(),getObjectName(), isAutoGrowNestedPaths(), getAutoGrowCollectionLimit());if (this.conversionService != null) {result.initConversion(this.conversionService);}if (this.messageCodesResolver != null) {result.setMessageCodesResolver(this.messageCodesResolver);}return result; } protected AbstractPropertyBindingResult createDirectFieldBindingResult() {DirectFieldBindingResult result = new DirectFieldBindingResult(getTarget(),getObjectName(), isAutoGrowNestedPaths());if (this.conversionService != null) {result.initConversion(this.conversionService);}if (this.messageCodesResolver != null) {result.setMessageCodesResolver(this.messageCodesResolver);}return result; }

獲取BindingResult的核心方法

// 根據directFieldAccess 獲取DirectFieldBindingResult或者BeanPropertyBindingResult protected AbstractPropertyBindingResult getInternalBindingResult() {if (this.bindingResult == null) {this.bindingResult = (this.directFieldAccess ?createDirectFieldBindingResult(): createBeanPropertyBindingResult());}return this.bindingResult; }

如下實例方法三個參數分別為pojo、Errors以及map

這里我們解析得到的參數實例為:

④ 核心綁定方法

也就是把給定的屬性-值綁定到目標對象上,這個過程可能會拋出“required”或者類型轉換異常等錯誤。

public void bind(PropertyValues pvs) {MutablePropertyValues mpvs = (pvs instanceof MutablePropertyValues ?(MutablePropertyValues) pvs : new MutablePropertyValues(pvs));doBind(mpvs); } protected void doBind(MutablePropertyValues mpvs) {checkAllowedFields(mpvs);checkRequiredFields(mpvs);applyPropertyValues(mpvs); }

可以看到doBind是一個模板方法:

  • checkAllowedFields方法是檢測被允許的field,如果發現有不被允許的field,則移除掉。* checkRequiredFields方法是檢測是那些聲明了“required”的filed是否都存在,如果有不存在的將會把錯誤信息放到BindingResult中。
  • applyPropertyValues則是核心的屬性-值綁定到目標對象的方法。

【3】WebDataBinder

WebDataBinder是DataBinder的子類,其覆蓋了父類的doBind方法。

@Override protected void doBind(MutablePropertyValues mpvs) {checkFieldDefaults(mpvs);checkFieldMarkers(mpvs);adaptEmptyArrayIndices(mpvs);super.doBind(mpvs); }

其同樣是個模板方法,在處理屬性默認值(字段以“!”開頭,提供默認值代替空值)、屬性標記(字段以"_"開頭,如果表單提交沒有該字段對應的值,則重置該字段)、字段名稱去掉"[]"(如果字段名稱以[]結尾)后,調用了父類的doBind方法。

如下演示!的使用:

public static void main(String[] args){SysUser sysUser = new SysUser();WebDataBinder binder = new WebDataBinder(sysUser, "sysUser");// 設置屬性(此處演示一下默認值)MutablePropertyValues pvs = new MutablePropertyValues();// 使用!來模擬各個字段手動指定默認值pvs.add("!name", "jane");pvs.add("age", 18);pvs.add("!age", 10); // 上面有確切的值了,默認值不會再生效binder.bind(pvs);System.out.println(sysUser);}

打印結果:SysUser{name='jane', sex='null', age=18}

值得一提的是,其提供了方法bindMultipart供子類調用,該方法用來處理multipart files:

protected void bindMultipart(Map<String, List<MultipartFile>> multipartFiles, MutablePropertyValues mpvs) {multipartFiles.forEach((key, values) -> {if (values.size() == 1) {MultipartFile value = values.get(0);if (isBindEmptyMultipartFiles() || !value.isEmpty()) {mpvs.add(key, value);}}else {mpvs.add(key, values);}}); }

【4】ServletRequestDataBinder

ServletRequestDataBinder繼承自WebDataBinder,有唯一子類ExtendedServletRequestDataBinder。此類把web請求限定為了Servlet Request,和Servlet規范強綁定。

Special {@link org.springframework.validation.DataBinder} to perform data binding from servlet request parameters to JavaBeans, including support for multipart files.

ServletRequestDataBinder可以將請求的參數綁定到目標對象,如Query String Parameters、form-data的參數,并支持multipart files的綁定。

子類ExtendedServletRequestDataBinder將 URI template variables(如路徑變量/getUser/{id}中的id)解析提供給數據綁定使用。

① ServletRequestDataBinder的bind方法

ServletRequestDataBinder提供了方法bind,其對MultipartRequest 請求做了支持可以綁定文件域(通過調用父類WebDataBinder的bindMultipart方法)。

public void bind(ServletRequest request) {// 從request中獲取屬性-值MutablePropertyValues mpvs = new ServletRequestParameterPropertyValues(request);// 判斷當前請求是否為MultipartRequest MultipartRequest multipartRequest = WebUtils.getNativeRequest(request, MultipartRequest.class);if (multipartRequest != null) {// 調用父類webDataBinder方法bindMultipart(multipartRequest.getMultiFileMap(), mpvs);}else if (StringUtils.startsWithIgnoreCase(request.getContentType(), "multipart/")) {HttpServletRequest httpServletRequest = WebUtils.getNativeRequest(request, HttpServletRequest.class);if (httpServletRequest != null) {StandardServletPartUtils.bindParts(httpServletRequest, mpvs, isBindEmptyMultipartFiles());}}addBindValues(mpvs, request);// 調用父類方法doBind(mpvs); }
  • ① 這里嘗試獲取mpvs,然后判斷是否為MultipartRequest或者StringUtils.startsWithIgnoreCase(request.getContentType(), "multipart/")&&httpServletRequest != null之后調用對應的bindMultipart或者bindParts方法。如http://localhost:8081/testUser/1?name=jane得到的mpvs如下圖所示:
  • ② addBindValues是一步兼容,從request中獲取屬性HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE對應的值,然后放入mpvs。這時候的mpvs可能如下(可以看到多了一個URI Template Variable id=1):
  • ③ 調用父類核心的doBind方法,將mpvs中的屬性-值綁定到目標target上

這里比較有意思的是addBindValues方法是一個空方法,且用protected修飾。很明顯其是想讓子類實現(ExtendedServletRequestDataBinder子類進行了實現)。

protected void addBindValues(MutablePropertyValues mpvs, ServletRequest request) { }

如下所示,執行doBind(mpvs);方法的DataBinder對象。

如下所示,執行doBind(mpvs);方法的DataBinder對象。可以看到從mpvs中找到SysUser擁有的屬性給sysUser實例對象賦值(通常是反射調用set方法,如setName)。

當然如果BindingResult不是BeanPropertyBindingResult而是DirectFieldBindingResult則是另一種方式。

② ExtendedServletRequestDataBinder

ExtendedServletRequestDataBinder實現/覆蓋了父類的addBindValues方法,主要是從request中獲取URL路徑變量集合,然后找到符合當前請求的屬性-值放入MutablePropertyValues mpvs中。

@Override protected void addBindValues(MutablePropertyValues mpvs, ServletRequest request) {// HandlerMapping.class.getName() + ".uriTemplateVariables"String attr = HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE;@SuppressWarnings("unchecked")Map<String, String> uriVars = (Map<String, String>) request.getAttribute(attr);if (uriVars != null) {uriVars.forEach((name, value) -> {if (mpvs.contains(name)) {if (logger.isWarnEnabled()) {logger.warn("Skipping URI variable '" + name +"' because request contains bind value with same name.");}}else {mpvs.addPropertyValue(name, value);}});} }

此屬性放入的第一個地方是:AbstractUrlHandlerMapping.lookupHandler() --> chain.addInterceptor(new UriTemplateVariablesHandlerInterceptor(uriTemplateVariables)); --> preHandle()方法 -> exposeUriTemplateVariables(this.uriTemplateVariables, request); -> request.setAttribute(URI_TEMPLATE_VARIABLES_ATTRIBUTE, uriTemplateVariables);
第二個地方是:AbstractHandlerMethodMapping.lookupHandlerMethod()->RequestMappingInfoHandlerMapping.handleMatch()–>RequestMappingInfoHandlerMapping.extractMatchDetails()–>request.setAttribute(BEST_MATCHING_PATTERN_ATTRIBUTE, bestPattern);
request.setAttribute(URI_TEMPLATE_VARIABLES_ATTRIBUTE, uriVariables);

如下所示,一個請求對象的attributes中包含了一個org.springframework.web.servlet.HandlerMapping.uriTemplateVariables屬性:

我們也順便多看一眼當一個請求發起到找到對應的HandlerMethod時,請求屬性里面放入了什么?

③ 表單提交綁定過程

這里描述的背景為填寫表單對象,傳遞到后臺(參數為SysUser sysUser,也就是常見的實體對象)。

① SpringMVC框架將ServletRequest對象以及目標方法的入參實例(objectName,attribute) 傳遞給WebDataBinderFactory實例,以創建DataBinder實例對象。

  • objectName為@ModelAttribute注解的value值或者根據參數類型自動創建的key
  • 其中attribute會根據目標方法參數類型從ModelAndViewContainer 獲取或者創建-這是Value

② DataBinder調用裝配在SpringMVC上下文中的ConversionService組件進行數據類型轉換、數據格式化工作并將請求信息填充到創建的入參對象中。

③ 調用Validator 組件對已經綁定了請求消息的入參對象(創建的)進行數據合法性校驗,并最終生成數據結果(BindingResult)

④ SpringMVC 抽取 BindingResult 中的入參對象(getTarget)和校驗錯誤對象(BindingResult),將他們賦給處理方法的相應入參

【5】WebRequestDataBinder

這個與不同的是其是把web request parameters 綁定到 JavaBeans,同樣支持multipart files。也就是說其跳出了Servlet規范,額外做了支持。其主要對org.springframework.web.context.request.WebRequest做處理。

如下代碼所示,WebRequestDataBinder首先從request中獲取參數值封裝為MutablePropertyValues 。然后分別判斷是否為MultipartRequest、或者請求頭Content-Type以multipart/開頭兩種情況進行處理,最后調用父類的doBind方法。

public void bind(WebRequest request) {MutablePropertyValues mpvs = new MutablePropertyValues(request.getParameterMap());if (request instanceof NativeWebRequest) {MultipartRequest multipartRequest = ((NativeWebRequest) request).getNativeRequest(MultipartRequest.class);if (multipartRequest != null) {bindMultipart(multipartRequest.getMultiFileMap(), mpvs);}else if (StringUtils.startsWithIgnoreCase(request.getHeader("Content-Type"), "multipart/")) {HttpServletRequest servletRequest = ((NativeWebRequest) request).getNativeRequest(HttpServletRequest.class);if (servletRequest != null) {StandardServletPartUtils.bindParts(servletRequest, mpvs, isBindEmptyMultipartFiles());}}}doBind(mpvs); }

總結

以上是生活随笔為你收集整理的SpringMVC常见组件之DataBinder数据绑定器分析的全部內容,希望文章能夠幫你解決所遇到的問題。

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

天堂素人在线 | 国产精品成人品 | www亚洲视频 | 黄色影院在线免费观看 | 久久成人亚洲欧美电影 | 美女精品久久 | 激情av在线资源 | 日本黄色免费大片 | 亚洲第一区精品 | 黄色毛片观看 | 成人wwwxxx视频 | 国产视频1区2区3区 久久夜视频 | 亚洲午夜精品在线观看 | 手机看片1042 | 欧美激情综合五月色丁香 | 亚洲资源在线 | 操操操日日| 99热精品国产一区二区在线观看 | 99精品免费观看 | 天天爱天天干天天爽 | 粉嫩一二三区 | 午夜av电影 | 国产小视频国产精品 | 成人免费中文字幕 | 亚洲视频在线观看免费 | 国产精品a久久久久 | 亚洲一区免费在线 | 久草视频免费 | 91视频 - v11av | 黄色精品免费 | 天天干天天操天天做 | 五月婷婷激情综合网 | 亚洲一区二区视频在线 | 久久国产精品一区二区 | 国产拍揄自揄精品视频麻豆 | 四虎最新域名 | 日韩字幕在线观看 | 综合色中文 | 成人久久综合 | 亚洲一区视频在线播放 | 在线а√天堂中文官网 | 免费看色网站 | 丁香婷婷在线 | 色丁香色婷婷 | 日韩av看片| 亚洲三级国产 | 精品免费在线视频 | 黄色片免费在线 | 99久久综合国产精品二区 | 亚洲视频1区2区 | 日韩一区二区三区免费电影 | 99精品在线观看 | 国内精品久久久久久久久 | 人人看人人爱 | 久久er99热精品一区二区三区 | 91超碰在线播放 | 丁香激情综合久久伊人久久 | 亚洲国产精品资源 | 精品久久国产 | 国产精品久久久久久久久久新婚 | 国产精品淫 | 黄色软件在线观看 | 日韩精品久久一区二区 | 久久狠狠一本精品综合网 | 日本韩国在线不卡 | 免费大片黄在线 | 色综合久久久久综合99 | 天天精品视频 | 亚洲国产资源 | 中文国产在线观看 | 日韩电影一区二区在线 | 日韩免费福利 | 99re久久资源最新地址 | 成年人免费在线 | 日本高清免费中文字幕 | 国产精品热| 国产成人精品a | 欧美久久电影 | 久久精品视频国产 | 在线观看中文字幕dvd播放 | 国产不卡在线视频 | 色五丁香| 国产高清中文字幕 | 亚洲精品久久久久久中文传媒 | 国产精品视频永久免费播放 | 麻豆视频免费版 | 精品99久久 | 国产精品久久一 | 狠狠干干| 色综合久久综合网 | 日韩av看片 | 日韩欧美在线免费观看 | www夜夜| 亚洲狠狠婷婷 | 免费不卡中文字幕视频 | 伊人手机在线 | 天天操天天摸天天射 | 中文字幕乱在线伦视频中文字幕乱码在线 | 久久免费一| 日韩精品一区二区在线视频 | 亚洲精品乱码久久久久久按摩 | 日韩有码在线播放 | 亚洲精品黄| 天天插天天操天天干 | 草久在线 | 国产精品黄色 | av电影免费在线播放 | 欧美在线aa | 久久综合婷婷 | 国产精品女人网站 | 人人爽人人爽人人爽人人爽 | 国内精品久久久久久久久久久久 | 在线免费观看黄色 | 日韩影视在线 | 久久精品影视 | 麻豆视频免费播放 | 久久黄色网页 | 久久久国产一区二区 | 69xx视频| 最新日韩精品 | 男女激情麻豆 | 国产三级午夜理伦三级 | 久久国产精品色婷婷 | 国产精品入口66mio女同 | 91在线porny国产在线看 | 久久久久久毛片精品免费不卡 | 久久国产亚洲 | 亚洲精品视频在线观看免费视频 | 国产视频一区在线播放 | 99久久精品免费看国产一区二区三区 | 午夜精品一区二区三区在线 | 天天干国产 | 色婷婷激情电影 | 九九热99视频 | 激情久久综合网 | 免费网站黄 | 99在线免费视频观看 | 九九九热视频 | 在线天堂中文www视软件 | 欧美成人黄色 | 欧美亚洲精品一区 | 天天操天天射天天爱 | 日韩一区正在播放 | 手机在线永久免费观看av片 | 一区二区精品在线视频 | 欧美日韩在线观看一区二区三区 | 久久久精品福利视频 | 久久午夜国产精品 | 欧美另类成人 | 久久久香蕉视频 | 日韩在线视频精品 | 九九九热视频 | 97国产精品久久 | 99精品国产一区二区三区麻豆 | 精品免费久久久久久 | 91av99| 高清有码中文字幕 | 久久久久成人精品亚洲国产 | 国产在线日韩 | 亚洲涩涩色 | 蜜臀aⅴ国产精品久久久国产 | 二区三区在线视频 | 亚州精品天堂中文字幕 | 中文字幕在线观看一区二区 | 国产黄色免费看 | 久久视频免费 | 在线观看一区二区视频 | 国产精品短视频 | 中文字幕av播放 | 国产91全国探花系列在线播放 | 精品伦理一区二区三区 | 国产欧美最新羞羞视频在线观看 | 国产亚洲精品久久久久久电影 | 最新av在线免费观看 | 日韩欧美视频免费看 | 高清在线观看av | 91在线视频在线 | 黄色av网站在线观看 | 亚州国产精品视频 | 亚洲国产成人精品在线观看 | 黄色av一级片 | 亚洲成av人片在线观看无 | 视频国产精品 | 91精品国产福利在线观看 | 99婷婷狠狠成为人免费视频 | 四虎最新域名 | 欧美久草视频 | 日韩激情影院 | 少妇视频在线播放 | 国产精品大片 | 国产精品久久99综合免费观看尤物 | 日韩特黄av| 91精品入口| 婷婷色在线播放 | 成年人在线免费看片 | 五月婷婷久久丁香 | 亚洲精品午夜视频 | 欧美性生活免费看 | 成人动图| 国内久久精品 | www黄| 国产在线91精品 | 国产精品久久久久三级 | 欧美久久久一区二区三区 | 欧美成年人在线视频 | 国产视频精品免费播放 | 六月久久婷婷 | 日本系列中文字幕 | 美女精品在线观看 | 精品一区二区免费在线观看 | 91av免费看 | 麻豆91在线看 | 国产午夜麻豆影院在线观看 | 日韩理论在线播放 | 500部大龄熟乱视频使用方法 | 在线观看视频色 | 99热国产在线| 国产91亚洲精品 | 亚洲精品国精品久久99热一 | 黄色特一级片 | 中文字幕日韩高清 | 欧美极品一区二区三区 | 男女日麻批 | 成年人网站免费观看 | 日韩激情第一页 | 久久99亚洲精品久久久久 | 草久在线| 91c网站色版视频 | 日韩精品一区二区三区水蜜桃 | 天堂av在线网址 | 久草视频观看 | 极品嫩模被强到高潮呻吟91 | 亚洲电影一级黄 | 久久久免费观看视频 | 99电影 | 91女神的呻吟细腰翘臀美女 | 六月激情丁香 | 色播五月激情综合网 | 亚洲免费观看视频 | 99久久久久成人国产免费 | 国产露脸91国语对白 | 亚洲国产精品久久 | 天天躁日日躁狠狠 | 成人午夜网 | 国产精品一区二区三区四区在线观看 | 中文字幕免费久久 | 成人黄色av免费在线观看 | 国产伦理一区二区 | 婷婷色吧 | 久久高清免费观看 | 精品国产电影一区 | 青青网视频 | 99免费在线视频观看 | 视频一区亚洲 | 日本久久99 | 国产视频久久 | 国产精品99免费看 | 开心婷婷色| 亚洲五月激情 | 久久综合欧美精品亚洲一区 | 人人干人人干人人干 | 日韩精品中文字幕一区二区 | 狠狠操狠狠干天天操 | 久久久综合精品 | 九九热在线免费观看 | 91精品无人成人www | 日韩精品视频免费专区在线播放 | 成人九九视频 | 国产精品福利久久久 | 久久伦理 | 亚洲 欧美变态 另类 综合 | 97免费视频在线播放 | 午夜av免费观看 | 久久午夜剧场 | 看片黄网站 | 欧美日韩精品综合 | 天天综合久久综合 | 国产精品一区二区免费视频 | 成人黄色免费在线观看 | 国产v在线播放 | a天堂免费 | 国产在线色| 亚洲电影影音先锋 | 精品久久久久久国产 | 亚洲小视频在线 | 国产视频1 | 国产高清永久免费 | 国产精品9999久久久久仙踪林 | 91麻豆免费看| 亚州精品成人 | 欧美激情精品久久久久久变态 | 在线免费中文字幕 | 91视频高清 | 日本午夜免费福利视频 | 色综合夜色一区 | 六月丁香婷 | 日韩一区二区三区免费视频 | 久草在线99 | 国产亚洲欧美精品久久久久久 | 久久久麻豆精品一区二区 | 中文字幕一区二区三区在线观看 | 美女黄频在线观看 | 成人a在线观看高清电影 | 成人免费色 | av片一区 | 久久精品免费电影 | 黄色片免费在线 | 九九九热精品免费视频观看 | 五月婷婷狠狠 | 色www精品视频在线观看 | av综合网址 | 黄色影院在线播放 | av青草 | 美女视频黄免费的久久 | 国产日韩欧美视频 | 国产精品久久久久久久久久久久午夜 | 中文成人字幕 | 五月天视频网站 | 一级免费看 | 久久久久免费精品国产小说色大师 | www久草 | av大全免费在线观看 | 精品av网站 | 天天干,天天干 | 久久999久久 | 狠狠色丁香婷婷 | 亚州国产精品久久久 | 久草综合在线 | 日韩亚洲欧美中文字幕 | 一区二区三区观看 | 亚洲春色综合另类校园电影 | 91av免费观看 | 在线观看国产福利片 | 青草视频在线播放 | 伊人影院得得 | 中文字幕在线免费看线人 | 欧洲av不卡 | 成全免费观看视频 | 99精品网站 | 久久精品99| 精品福利网 | 81精品国产乱码久久久久久 | 久久精品首页 | 久久久久97国产 | 亚洲四虎在线 | 亚洲国产精品电影在线观看 | jizz18欧美18| 欧美久久久| 在线亚洲精品 | 久久午夜电影 | 久久福利精品 | 国产精品av一区二区 | 久久综合九色综合97婷婷女人 | 伊人看片 | 国产精品毛片一区视频播不卡 | 操久 | 日韩欧美一区视频 | 日韩欧美一区二区在线播放 | 亚洲在线视频网站 | 成人国产精品久久久春色 | 国产精品视频地址 | 久久一区二区免费视频 | 免费观看成人av | a视频免费在线观看 | 国产在线看一区 | 国产一区二区中文字幕 | 国产尤物视频在线 | 国产精品av电影 | 日韩黄色免费 | 成人在线免费看 | 国产又粗又猛又黄又爽的视频 | 久久久一本精品99久久精品 | 国产人免费人成免费视频 | 麻豆视频在线免费看 | 亚洲网久久 | 久久99精品久久久久久秒播蜜臀 | 久久精品亚洲一区二区三区观看模式 | 91社区国产高清 | 国产精品av在线 | 色婷婷综合久色 | 日韩精品久久久久久久电影99爱 | 夜夜嗨av色一区二区不卡 | 日本特黄特色aaa大片免费 | 久久久国产精品电影 | 亚洲一区精品人人爽人人躁 | 国产精品一区二区免费看 | 国产 在线观看 | 亚洲黄色免费电影 | 亚洲国产中文字幕在线视频综合 | 91激情视频在线 | 国产在线无 | 亚洲 成人 一区 | 97日日碰人人模人人澡分享吧 | 亚洲美女精品视频 | 国产乱老熟视频网88av | 免费一级毛毛片 | 久久韩国免费视频 | 中文字幕黄色 | 久久国产成人午夜av影院宅 | 国产精品久久艹 | 人人爱人人射 | 四虎影视成人永久免费观看亚洲欧美 | 免费看一级特黄a大片 | 亚洲影音先锋 | 免费黄色在线 | 久久福利综合 | 日韩精品免费在线 | 国产成人av电影在线 | 99精品视频一区 | 国产综合在线视频 | 337p日本大胆噜噜噜噜 | 亚洲精品在线看 | 国产白浆在线观看 | 日本韩国精品在线 | 日本3级在线观看 | 91完整版观看 | 中文字幕免费观看全部电影 | 日韩精品视频免费专区在线播放 | 热久久视久久精品18亚洲精品 | 国产综合香蕉五月婷在线 | 国产精品免费久久久久久 | 国内成人精品2018免费看 | 日韩中文字幕在线看 | 亚洲精品乱码久久久久久久久久 | 人操人| 日韩系列在线观看 | 欧美精品一二 | 91九色性视频 | 欧美另类交在线观看 | 91九色蝌蚪国产 | 亚洲视频在线免费观看 | 亚洲蜜桃在线 | 99精品国产在热久久下载 | 免费麻豆网站 | japanesefreesexvideo高潮 | 久久另类视频 | 精品女同一区二区三区在线观看 | 午夜精品久久久久久久99水蜜桃 | 黄a在线看 | 成人国产精品免费观看 | 又色又爽的网站 | 日本久久久久久 | 日韩精品一区二区三区第95 | 一级电影免费在线观看 | 一区二区成人国产精品 | 日产av在线播放 | 国产精品手机播放 | 国产精品麻豆三级一区视频 | 久久久私人影院 | 久久久精品福利视频 | 最新av在线免费观看 | 99久久精品免费看国产免费软件 | 五月的婷婷 | 久久在线观看视频 | 国产69久久精品成人看 | 欧美在线视频日韩 | 色婷婷激情电影 | 91女子私密保健养生少妇 | 国模吧一区 | 亚洲激情在线观看 | 99久久影院 | 国产视频精品免费 | 亚洲高清不卡av | 国产精品久久久久久久久久东京 | 亚洲最大激情中文字幕 | 字幕网av| 久久婷婷丁香 | 99视频+国产日韩欧美 | a级国产乱理论片在线观看 伊人宗合网 | 中文字幕在线观看视频网站 | 中文字幕三区 | 综合久久久久久久久 | 深夜免费网站 | 成人中文字幕+乱码+中文字幕 | 在线国产能看的 | 日本久久久影视 | 在线精品视频在线观看高清 | 日韩在线观看第一页 | 69国产成人综合久久精品欧美 | 国产黄色片久久 | 最近中文字幕完整视频高清1 | 99精品国产一区二区三区麻豆 | 黄色片免费电影 | 美女性爽视频国产免费app | 黄色性av | 日韩精品欧美专区 | 97国产 | 日韩理论电影在线 | 特级黄录像视频 | 九九热精品在线 | 成人久久网 | 色黄久久久久久 | 福利网在线 | 国产高清精| 亚洲四虎 | 日韩在线免费播放 | 国产一级二级在线观看 | 久久综合免费视频 | 欧洲亚洲国产视频 | 91 在线视频播放 | 久久国产美女 | 麻花传媒mv免费观看 | 欧美精品在线观看免费 | 在线免费黄色毛片 | 97视频在线免费观看 | 欧美乱淫视频 | 国产成人av福利 | 久久久久国产一区二区三区 | 国产精品美女久久久 | 中文在线| 亚洲国产日韩一区 | 日本性生活一级片 | 99久久综合国产精品二区 | 最近中文国产在线视频 | 亚洲综合狠狠干 | 精品视频不卡 | 午夜精品一区二区三区视频免费看 | 精品九九九 | 伊人久久影视 | 91免费的视频在线播放 | 成人黄色国产 | 久久久国际精品 | 亚洲精品中文字幕视频 | 91精品国产乱码久久 | 成人国产网址 | 国产特级毛片aaaaaa高清 | 国产视频在线观看一区 | 久久尤物电影视频在线观看 | 国产中文在线观看 | 美女亚洲精品 | 狠狠干夜夜爱 | 欧美日韩久久不卡 | 亚洲乱码中文字幕综合 | 欧美日韩精品在线一区二区 | 久久久久久亚洲精品 | 久久高清| 亚洲精品视频免费在线观看 | 婷婷中文字幕 | 9色在线视频 | 69久久夜色精品国产69 | 97超碰资源网| 亚洲一区美女视频在线观看免费 | 91色一区二区三区 | 国产美女精品在线 | 精品国产欧美一区二区三区不卡 | 精品免费在线视频 | 精品二区视频 | 激情网在线视频 | 免费a v在线 | 国产精品9999 | 久久久久久国产精品美女 | 正在播放国产91 | 美女视频黄,久久 | 天天精品视频 | 日韩欧美综合精品 | 日韩精品免费一区二区三区 | 欧美成人精品在线 | 色网站在线 | 男女啪啪免费网站 | 尤物九九久久国产精品的分类 | 欧亚日韩精品一区二区在线 | 亚洲一区二区三区四区在线视频 | 操操操com| 欧美一区二区三区在线 | 国产高清成人av | 久久精品视频4 | 在线观看亚洲精品视频 | 天天综合视频在线观看 | 午夜国产福利在线 | 日韩av男人的天堂 | 一区二区三区免费播放 | 看片一区二区三区 | 亚洲午夜久久久久久久久 | 18国产精品白浆在线观看免费 | 国产精品久久久久婷婷二区次 | 精品自拍sae8—视频 | 国产在线一区观看 | 欧美国产精品久久久久久免费 | 人人爽人人干 | 国产高清在线精品 | 91亚洲精品久久久蜜桃 | 97精产国品一二三产区在线 | 日韩在线第一 | 国内精品在线一区 | av免费在线免费观看 | 亚洲1级片 | www.av在线播放 | 久久久天堂 | 91亚州 | 日韩一区精品 | 在线免费观看的av | 天堂av在线免费 | 91亚洲影院| 亚洲国产成人在线播放 | 91网站观看 | 国产精品福利在线观看 | 激情综合站 | 久久成人在线 | 亚洲美女精品视频 | 在线视频区 | 免费在线a | 亚洲伦理中文字幕 | 美女精品国产 | 免费观看一级成人毛片 | 91在线九色 | 成人cosplay福利网站 | 国产黄a三级 | 国产在线观 | 日韩在线观看三区 | 天天干天天碰 | 久久精品精品电影网 | 日本视频网 | av电影在线观看 | 九九免费观看全部免费视频 | 国产精品九九久久99视频 | 欧美日在线观看 | 国产视频久 | 亚洲欧美一区二区三区孕妇写真 | 免费看搞黄视频网站 | 日韩小视频 | 久久久亚洲精华液 | 亚洲精品日韩av | 97福利社| 久久国产免 | 91tv国产成人福利 | 美女免费视频黄 | 色婷婷激情电影 | 天天躁天天狠天天透 | 国产精品久久久久一区二区三区 | 男女啪啪免费网站 | 精品久久久久一区二区国产 | 91亚洲狠狠婷婷综合久久久 | 色婷婷综合久久久久 | 97精品国产97久久久久久春色 | 欧美日韩国产免费视频 | 91精品麻豆 | 国产日韩在线看 | 99亚洲天堂| 香蕉久久久久久久 | 精品无人国产偷自产在线 | 尤物九九久久国产精品的分类 | 亚洲精品91天天久久人人 | 啪啪av在线 | 91色蜜桃| 久久综合九色综合久99 | 热久在线| 国产超碰在线 | 久久免费黄色大片 | 国产精品原创在线 | 中文字幕xxxx | 精品影院一区二区久久久 | 国产精品一区在线观看 | 中文有码在线 | 国产精品高潮呻吟久久久久 | 日韩av电影手机在线观看 | 97视频播放 | 免费毛片aaaaaa | 日韩在线视频一区二区三区 | 国产精品精品国产婷婷这里av | 国产日产精品久久久久快鸭 | 国产在线色站 | 成片人卡1卡2卡3手机免费看 | 欧美一区二区免费在线观看 | 91精品一区二区三区蜜桃 | 久久久视屏 | 成人av一区二区三区 | 国产精品久久久久影视 | 国产视频综合在线 | 久久a v电影 | 美女精品久久 | 国产成人免费高清 | 国产成人一区二区三区电影 | 成人午夜网 | av久久久 | 伊人开心激情 | 激情视频在线观看网址 | 国产精品毛片 | 亚洲精品啊啊啊 | 亚洲欧洲日韩在线观看 | 久久久久亚洲精品成人网小说 | 久久成人高清 | 欧美一性一交一乱 | 久久激情视频 | 久久伊人精品天天 | 精品久久亚洲 | 波多野结衣在线观看一区 | 开心激情婷婷 | 国产精品免费麻豆入口 | 蜜臀久久99精品久久久久久网站 | 99精品视频免费 | 99精品视频在线观看视频 | 亚洲精品在线网站 | 久久精品国产亚洲精品 | 五月婷婷久草 | 久久综合久久综合久久综合 | 欧美日韩不卡在线观看 | 国产精品区在线观看 | 国产小视频在线播放 | 日韩不卡高清视频 | 久久久久久久久久久综合 | 免费中午字幕无吗 | 国产福利在线免费观看 | 亚洲视频在线看 | 夜夜嗨av色一区二区不卡 | 黄色.com| 在线免费观看黄 | 国产黄色精品视频 | 久久综合色天天久久综合图片 | 五月天久久狠狠 | 色资源网在线观看 | 麻豆91小视频 | 日韩av影视 | 黄污网站在线 | 成人综合免费 | 午夜少妇av | 岛国精品一区二区 | 国产999视频在线观看 | 亚洲精品乱码久久久久久久久久 | avcom在线 | 九九热只有这里有精品 | 久二影院 | 制服丝袜一区二区 | 久久久久福利视频 | 久久精品视频一 | 色av网站| 久久这里有精品 | 国产理论影院 | 999在线视频 | 五月天天天操 | 国产一区二区免费在线观看 | 新版资源中文在线观看 | 综合亚洲视频 | 精品福利在线视频 | 久久免费视频2 | 日本三级不卡 | 国产成人精品午夜在线播放 | 福利二区视频 | 久久久久久久久亚洲精品 | 亚洲色图色 | 精品视频国产 | www久久九 | 五月婷婷丁香在线观看 | 国产精品激情偷乱一区二区∴ | 亚洲特级毛片 | 99久久网站 | 天天干天天操天天 | 久久视频国产精品免费视频在线 | 成人av电影在线观看 | 天天干干 | 亚洲精品综合在线观看 | 久久久精品网站 | 91看片一区二区三区 | 午夜精品久久久久久久久久久久 | 在线视频日韩一区 | 91精品国产九九九久久久亚洲 | 国内精品久久久久久久影视麻豆 | 九九热精品视频在线观看 | 成人小视频在线观看免费 | 日韩欧美一区二区在线 | 高清久久久久久 | 天天鲁天天干天天射 | 精品亚洲男同gayvideo网站 | 色.www| 久久久久久久久久久黄色 | 国产免费黄视频在线观看 | 九九热只有精品 | 欧洲激情综合 | 欧美精品免费在线观看 | 日韩在线播放av | 欧美最猛性xxxxx免费 | 麻豆91小视频 | 精品亚洲一区二区三区 | 国产精品久久久久一区二区三区共 | 99色免费| 久久久久亚洲精品中文字幕 | 在线观看91精品视频 | 日韩视 | 国产精品久久久久久久久久久不卡 | 国产一区国产二区在线观看 | 色婷婷狠 | 国产成人av网址 | 狠狠干2018| 欧美精品一区二区三区一线天视频 | 日韩在线免费不卡 | 久久黄色免费视频 | 日本少妇视频 | 中文理论片 | 亚洲黄色在线观看 | 波多野结衣视频一区二区 | 日韩乱理| 97日日碰人人模人人澡分享吧 | 亚洲成人av影片 | 国产在线精品一区二区三区 | 午夜一级免费电影 | 蜜臀久久99静品久久久久久 | 国产中文视 | 一区二区三区影院 | 中文字幕黄色网 | 在线有码中文字幕 | 国产爽视频 | 日本xxxxav | 欧美日韩中文在线视频 | 在线播放第一页 | 狠狠干在线播放 | 日韩午夜av | 久久9视频 | av品善网 | 97狠狠操 | 久久久久久中文字幕 | 久久黄色网页 | 欧美日高清视频 | 手机成人免费视频 | 成人一级免费电影 | 欧美日韩破处 | av大全在线 | 日韩激情小视频 | 日日干日日 | 久久久久 | 欧美精品第一 | 在线免费观看国产视频 | 六月天色婷婷 | 国产午夜影院 | 狠狠插天天干 | 久久草草热国产精品直播 | 美女天天操| 国产成人亚洲精品自产在线 | 亚洲精品成人av在线 | 亚洲视频1 | 日韩免费一级a毛片在线播放一级 | 亚在线播放中文视频 | 四虎成人精品永久免费av九九 | 日韩一级电影在线 | 69国产成人综合久久精品欧美 | 国产精品va最新国产精品视频 | 在线最新av | 在线观看亚洲电影 | 亚洲视频456 | 国产网红在线 | 成年人黄色大全 | 久久国产精品一二三区 | 一区二区精品视频 | 亚洲国产日韩av | www.福利| 国产超碰在线观看 | 一区国产精品 | 人人草人人草 | 亚洲热久久| 中文字幕 在线 一 二 | 久久免费观看少妇a级毛片 久久久久成人免费 | 国产一区二区高清视频 | 狠狠狠色丁香婷婷综合激情 | 久草精品免费 | 国产精品成人久久 | a级一a一级在线观看 | 免费色网站 | 久热爱| 在线观看精品 | 97超碰福利久久精品 | 国产尤物在线视频 | 日韩精品一区二区三区在线视频 | 国内精品福利视频 | 亚洲另类视频在线 | 在线看黄色的网站 | 国产精品免费大片视频 | 超级碰碰碰碰 | 日日夜夜骑 | 中文字幕中文字幕在线中文字幕三区 | 国产精品丝袜久久久久久久不卡 | 欧美成人精品欧美一级乱 | 久久成人精品视频 | 久久综合网色—综合色88 | 黄色在线免费观看网址 | 欧美日韩调教 | 最近中文字幕免费av | 国产精品美 | 91在线免费播放 | 国产精品九九九 | 久久久人| av免费在线观 | 亚洲国产片色 | 91视频-88av| 免费成人在线网站 | 天天干,天天射,天天操,天天摸 | 婷婷av综合 | 精品亚洲免费视频 | 婷婷丁香色| 五月激情亚洲 | 在线看毛片网站 | 国产一级在线免费观看 | 色激情在线 | 伊人导航 | 久久国产精品99精国产 | 丝袜美女在线观看 | 91av网址| 一级片在线| 亚洲一级片免费观看 | 久久这里 | 99精品免费久久久久久久久日本 | 草久久影院 | 色婷婷六月天 | 黄色成人在线 | 国产精品婷婷 | 国产一区在线视频播放 | 狠狠干综合 | 日韩欧美在线观看一区二区三区 | av黄色在线观看 | 亚洲精品久久久久久久不卡四虎 | 69精品视频 | 成人国产精品免费观看 | 日韩3区 | 五月婷亚洲 | 91看片看淫黄大片 | 人人干免费 | 最新久久久 | 国产精品激情 | 一区二区精品视频 | 在线观看视频黄 | 色五月色开心色婷婷色丁香 | 久久国产网站 | 国产亚洲精品美女久久 | 国产区第一页 | 国内视频在线观看 | 日韩偷拍精品 | 国产成人在线网站 | 天天av在线播放 | 国产手机视频在线播放 | 亚洲91精品在线观看 | 91男人影院 | 99九九热只有国产精品 | 黄色毛片一级片 | 91在线免费观看网站 | 欧美激情另类 | 天天干天天天 | 波多野结衣视频一区二区 | 亚洲香蕉在线观看 | 成人av电影在线播放 | 在线你懂 | 五月婷在线 | 亚洲v精品| 欧美xxxxx在线视频 | 亚洲精品tv久久久久久久久久 | 日韩高清www | 亚洲va韩国va欧美va精四季 | 久草在线免费看视频 | 在线视频手机国产 | 91精品视频在线免费观看 | 久久久精品网站 | 麻豆视频国产在线观看 | www.黄色网.com | 久久久久久久久久久免费av | 草久中文字幕 | 激情六月婷婷久久 | 手机在线日韩视频 | 午夜久久久久久久久久久 | 欧美va电影 | 久久国产精品久久久久 | 中文字幕韩在线第一页 | 免费视频三区 | 亚洲精品色视频 | 三级在线视频播放 | 国产伦理久久精品久久久久_ | 国产黄色理论片 | 在线看毛片网站 | 久久久久久久久艹 | 亚洲激情久久 | 91亚洲夫妻 | 国产精品美女999 | 国产精品久久视频 | 午夜在线免费视频 | 九九有精品| 国产看片 色 | 又污又黄的网站 | 国产中文字幕一区 | 人人超碰人人 | 欧洲一区二区三区精品 | 日韩xxx视频 | 国产日韩欧美在线 | 久久久久女教师免费一区 | 国产韩国日本高清视频 | 91大片成人网 | 欧美性黄网官网 | 亚洲免费视频在线观看 | 天天干中文字幕 | 天天干天天干天天射 | 国产精品3区| 久久99九九99精品 | 岛国一区在线 | 韩国在线一区二区 | 在线色亚洲 | 免费网站黄 | 偷拍区另类综合在线 | 亚洲电影免费 | 欧美精品三级 | 亚洲国产成人在线观看 | 在线精品视频免费播放 | 中文字幕 国产 一区 | 人九九精品 | 国产精品三级视频 |