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

歡迎訪問 生活随笔!

生活随笔

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

javascript

SpringMVC【校验器、统一处理异常、RESTful、拦截器】

發布時間:2023/12/10 javascript 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringMVC【校验器、统一处理异常、RESTful、拦截器】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

本博文主要講解的知識點如下:

  • 校驗器
  • 統一處理異常
  • RESTful
  • 攔截器

Validation

在我們的Struts2中,我們是繼承ActionSupport來實現校驗的…它有兩種方式來實現校驗的功能

  • 手寫代碼
  • XML配置
    • 這兩種方式也是可以特定處理方法或者整個Action的

而SpringMVC使用JSR-303(javaEE6規范的一部分)校驗規范,springmvc使用的是Hibernate Validator(和Hibernate的ORM無關)

快速入門

導入jar包

配置校驗器

<!-- 校驗器 --><bean id="validator"class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"><!-- 校驗器 --><property name="providerClass" value="org.hibernate.validator.HibernateValidator" /><!-- 指定校驗使用的資源文件,如果不指定則默認使用classpath下的ValidationMessages.properties --><property name="validationMessageSource" ref="messageSource" /></bean>

錯誤信息的校驗文件配置

<!-- 校驗錯誤信息配置文件 --><bean id="messageSource"class="org.springframework.context.support.ReloadableResourceBundleMessageSource"><!-- 資源文件名 --><property name="basenames"><list><value>classpath:CustomValidationMessages</value></list></property><!-- 資源文件編碼格式 --><property name="fileEncodings" value="utf-8" /><!-- 對資源文件內容緩存時間,單位秒 --><property name="cacheSeconds" value="120" /></bean>

添加到自定義參數綁定的WebBindingInitializer中

<!-- 自定義webBinder --><bean id="customBinder"class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer"><!-- 配置validator --><property name="validator" ref="validator" /></bean>

最終添加到適配器中

<!-- 注解適配器 --><bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"><!-- 在webBindingInitializer中注入自定義屬性編輯器、自定義轉換器 --><property name="webBindingInitializer" ref="customBinder"></property></bean>

創建CustomValidationMessages配置文件

定義規則

package entity;import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import java.util.Date;public class Items {private Integer id;//商品名稱的長度請限制在1到30個字符@Size(min=1,max=30,message="{items.name.length.error}")private String name;private Float price;private String pic;//請輸入商品生產日期@NotNull(message="{items.createtime.is.notnull}")private Date createtime;private String detail;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name == null ? null : name.trim();}public Float getPrice() {return price;}public void setPrice(Float price) {this.price = price;}public String getPic() {return pic;}public void setPic(String pic) {this.pic = pic == null ? null : pic.trim();}public Date getCreatetime() {return createtime;}public void setCreatetime(Date createtime) {this.createtime = createtime;}public String getDetail() {return detail;}public void setDetail(String detail) {this.detail = detail == null ? null : detail.trim();} }

測試:

<%--Created by IntelliJ IDEA.User: ozcDate: 2017/8/11Time: 9:56To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>測試文件上傳</title> </head> <body><form action="${pageContext.request.contextPath}/validation.action" method="post" >名稱:<input type="text" name="name">日期:<input type="text" name="createtime"><input type="submit" value="submit"> </form></body> </html>

Controller需要在校驗的參數上添加@Validation注解…拿到BindingResult對象…

@RequestMapping("/validation")public void validation(@Validated Items items, BindingResult bindingResult) {List<ObjectError> allErrors = bindingResult.getAllErrors();for (ObjectError allError : allErrors) {System.out.println(allError.getDefaultMessage());}}

由于我在測試的時候,已經把日期轉換器關掉了,因此提示了字符串不能轉換成日期,但是名稱的校驗已經是出來了…


分組校驗

分組校驗其實就是為了我們的校驗更加靈活,有的時候,我們并不需要把我們當前配置的屬性都進行校驗,而需要的是當前的方法僅僅校驗某些的屬性。那么此時,我們就可以用到分組校驗了…

步驟:

  • 定義分組的接口【主要是標識】
  • 定于校驗規則屬于哪一各組
  • 在Controller方法中定義使用校驗分組


統一異常處理

在我們之前SSH,使用Struts2的時候也配置過統一處理異常…

當時候是這么干的:

  • 在service層中自定義異常
  • 在action層也自定義異常
  • 對于Dao層的異常我們先不管【因為我們管不著,dao層的異常太致命了】
  • service層拋出異常,Action把service層的異常接住,通過service拋出的異常來判斷是否讓請求通過
  • 如果不通過,那么接著拋出Action異常
  • 在Struts的配置文件中定義全局視圖,頁面顯示錯誤信息

詳情可看:http://blog.csdn.net/hon_3y/article/details/72772559

那么我們這次的統一處理異常的方案是什么呢????

我們知道Java中的異常可以分為兩類

  • 編譯時期異常
  • 運行期異常

對于運行期異常我們是無法掌控的,只能通過代碼質量、在系統測試時詳細測試等排除運行時異常

而對于編譯時期的異常,我們可以在代碼手動處理異常可以try/catch捕獲,可以向上拋出。

我們可以換個思路,自定義一個模塊化的異常信息,比如:商品類別的異常

public class CustomException extends Exception {//異常信息private String message;public CustomException(String message){super(message);this.message = message;}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}}

我們在查看Spring源碼的時候發現:前端控制器DispatcherServlet在進行HandlerMapping、調用HandlerAdapter執行Handler過程中,如果遇到異常,在系統中自定義統一的異常處理器,寫系統自己的異常處理代碼。。

我們也可以學著點,定義一個統一的處理器類來處理異?!?/p>

定義統一異常處理器類

public class CustomExceptionResolver implements HandlerExceptionResolver {//前端控制器DispatcherServlet在進行HandlerMapping、調用HandlerAdapter執行Handler過程中,如果遇到異常就會執行此方法//handler最終要執行的Handler,它的真實身份是HandlerMethod//Exception ex就是接收到異常信息@Overridepublic ModelAndView resolveException(HttpServletRequest request,HttpServletResponse response, Object handler, Exception ex) {//輸出異常ex.printStackTrace();//統一異常處理代碼//針對系統自定義的CustomException異常,就可以直接從異常類中獲取異常信息,將異常處理在錯誤頁面展示//異常信息String message = null;CustomException customException = null;//如果ex是系統 自定義的異常,直接取出異常信息if(ex instanceof CustomException){customException = (CustomException)ex;}else{//針對非CustomException異常,對這類重新構造成一個CustomException,異常信息為“未知錯誤”customException = new CustomException("未知錯誤");}//錯誤 信息message = customException.getMessage();request.setAttribute("message", message);try {//轉向到錯誤 頁面request.getRequestDispatcher("/WEB-INF/jsp/error.jsp").forward(request, response);} catch (ServletException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return new ModelAndView();}}

配置統一異常處理器

<!-- 定義統一異常處理器 --><bean class="cn.itcast.ssm.exception.CustomExceptionResolver"></bean>

RESTful支持

我們在學習webservice的時候可能就聽過RESTful這么一個名詞,當時候與SOAP進行對比的…那么RESTful究竟是什么東東呢???

RESTful(Representational State Transfer)軟件開發理念,RESTful對http進行非常好的詮釋

如果一個架構支持RESTful,那么就稱它為RESTful架構…

以下的文章供我們了解:

http://www.ruanyifeng.com/blog/2011/09/restful

綜合上面的解釋,我們總結一下什么是RESTful架構:

  •   (1)每一個URI代表一種資源;
  •   (2)客戶端和服務器之間,傳遞這種資源的某種表現層;
  •   (3)客戶端通過四個HTTP動詞,對服務器端資源進行操作,實現”表現層狀態轉化”。

關于RESTful冪等性的理解:http://www.oschina.net/translate/put-or-post

簡單來說,如果對象在請求的過程中會發生變化(以Java為例子,屬性被修改了),那么此是非冪等的。多次重復請求,結果還是不變的話,那么就是冪等的。

PUT用于冪等請求,因此在更新的時候把所有的屬性都寫完整,那么多次請求后,我們其他屬性是不會變的

在上邊的文章中,冪等被翻譯成“狀態統一性”。這就更好地理解了。

其實一般的架構并不能完全支持RESTful的,因此,只要我們的系統支持RESTful的某些功能,我們一般就稱作為支持RESTful架構

url的RESTful實現

非RESTful的http的url:http://localhost:8080/items/editItems.action?id=1&….

RESTful的url是簡潔的:http:// localhost:8080/items/editItems/1

更改DispatcherServlet的配置

從上面我們可以發現,url并沒有.action后綴的,因此我們要修改核心分配器的配置

<!-- restful的配置 --><servlet><servlet-name>springmvc_rest</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 加載springmvc配置 --><init-param><param-name>contextConfigLocation</param-name><!-- 配置文件的地址 如果不配置contextConfigLocation, 默認查找的配置文件名稱classpath下的:servlet名稱+"-serlvet.xml"即:springmvc-serlvet.xml --><param-value>classpath:spring/springmvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>springmvc_rest</servlet-name><!-- rest方式配置為/ --><url-pattern>/</url-pattern></servlet-mapping>

在Controller上使用PathVariable注解來綁定對應的參數

//根據商品id查看商品信息rest接口//@RequestMapping中指定restful方式的url中的參數,參數需要用{}包起來//@PathVariable將url中的{}包起參數和形參進行綁定@RequestMapping("/viewItems/{id}")public @ResponseBody ItemsCustom viewItems(@PathVariable("id") Integer id) throws Exception{//調用 service查詢商品信息ItemsCustom itemsCustom = itemsService.findItemsById(id);return itemsCustom;}

當DispatcherServlet攔截/開頭的所有請求,對靜態資源的訪問就報錯:我們需要配置對靜態資源的解析

<!-- 靜態資源 解析 --><mvc:resources location="/js/" mapping="/js/**" /><mvc:resources location="/img/" mapping="/img/**" />

/**就表示不管有多少層,都對其進行解析,/*代表的是當前層的所有資源..


SpringMVC攔截器

在Struts2中攔截器就是我們當時的核心,原來在SpringMVC中也是有攔截器的

用戶請求到DispatherServlet中,DispatherServlet調用HandlerMapping查找Handler,HandlerMapping返回一個攔截的鏈兒(多個攔截),springmvc中的攔截器是通過HandlerMapping發起的。

實現攔截器的接口:

public class HandlerInterceptor1 implements HandlerInterceptor {//在執行handler之前來執行的//用于用戶認證校驗、用戶權限校驗@Overridepublic boolean preHandle(HttpServletRequest request,HttpServletResponse response, Object handler) throws Exception {System.out.println("HandlerInterceptor1...preHandle");//如果返回false表示攔截不繼續執行handler,如果返回true表示放行return false;}//在執行handler返回modelAndView之前來執行//如果需要向頁面提供一些公用 的數據或配置一些視圖信息,使用此方法實現 從modelAndView入手@Overridepublic void postHandle(HttpServletRequest request,HttpServletResponse response, Object handler,ModelAndView modelAndView) throws Exception {System.out.println("HandlerInterceptor1...postHandle");}//執行handler之后執行此方法//作系統 統一異常處理,進行方法執行性能監控,在preHandle中設置一個時間點,在afterCompletion設置一個時間,兩個時間點的差就是執行時長//實現 系統 統一日志記錄@Overridepublic void afterCompletion(HttpServletRequest request,HttpServletResponse response, Object handler, Exception ex)throws Exception {System.out.println("HandlerInterceptor1...afterCompletion");}}

配置攔截器

<!--攔截器 --><mvc:interceptors><!--多個攔截器,順序執行 --><!-- <mvc:interceptor><mvc:mapping path="/**" /><bean class="cn.itcast.ssm.controller.interceptor.HandlerInterceptor1"></bean></mvc:interceptor><mvc:interceptor><mvc:mapping path="/**" /><bean class="cn.itcast.ssm.controller.interceptor.HandlerInterceptor2"></bean></mvc:interceptor> --><mvc:interceptor><!-- /**可以攔截路徑不管多少層 --><mvc:mapping path="/**" /><bean class="cn.itcast.ssm.controller.interceptor.LoginInterceptor"></bean></mvc:interceptor></mvc:interceptors>

測試執行順序

如果兩個攔截器都放行

測試結果: HandlerInterceptor1...preHandle HandlerInterceptor2...preHandleHandlerInterceptor2...postHandle HandlerInterceptor1...postHandleHandlerInterceptor2...afterCompletion HandlerInterceptor1...afterCompletion總結: 執行preHandle是順序執行。 執行postHandle、afterCompletion是倒序執行

1 號放行和2號不放行

測試結果: HandlerInterceptor1...preHandle HandlerInterceptor2...preHandle HandlerInterceptor1...afterCompletion總結: 如果preHandle不放行,postHandle、afterCompletion都不執行。 只要有一個攔截器不放行,controller不能執行完成

1 號不放行和2號不放行

測試結果: HandlerInterceptor1...preHandle 總結: 只有前邊的攔截器preHandle方法放行,下邊的攔截器的preHandle才執行。

日志攔截器或異常攔截器要求

  • 將日志攔截器或異常攔截器放在攔截器鏈兒中第一個位置,且preHandle方法放行

攔截器應用-身份認證

攔截器攔截

public class LoginInterceptor implements HandlerInterceptor {//在執行handler之前來執行的//用于用戶認證校驗、用戶權限校驗@Overridepublic boolean preHandle(HttpServletRequest request,HttpServletResponse response, Object handler) throws Exception {//得到請求的urlString url = request.getRequestURI();//判斷是否是公開 地址//實際開發中需要公開 地址配置在配置文件中//...if(url.indexOf("login.action")>=0){//如果是公開 地址則放行return true;}//判斷用戶身份在session中是否存在HttpSession session = request.getSession();String usercode = (String) session.getAttribute("usercode");//如果用戶身份在session中存在放行if(usercode!=null){return true;}//執行到這里攔截,跳轉到登陸頁面,用戶進行身份認證request.getRequestDispatcher("/WEB-INF/jsp/login.jsp").forward(request, response);//如果返回false表示攔截不繼續執行handler,如果返回true表示放行return false;}//在執行handler返回modelAndView之前來執行//如果需要向頁面提供一些公用 的數據或配置一些視圖信息,使用此方法實現 從modelAndView入手@Overridepublic void postHandle(HttpServletRequest request,HttpServletResponse response, Object handler,ModelAndView modelAndView) throws Exception {System.out.println("HandlerInterceptor1...postHandle");}//執行handler之后執行此方法//作系統 統一異常處理,進行方法執行性能監控,在preHandle中設置一個時間點,在afterCompletion設置一個時間,兩個時間點的差就是執行時長//實現 系統 統一日志記錄@Overridepublic void afterCompletion(HttpServletRequest request,HttpServletResponse response, Object handler, Exception ex)throws Exception {System.out.println("HandlerInterceptor1...afterCompletion");}}

Controller

@Controller public class LoginController {//用戶登陸提交方法@RequestMapping("/login")public String login(HttpSession session, String usercode,String password)throws Exception{//調用service校驗用戶賬號和密碼的正確性//..//如果service校驗通過,將用戶身份記錄到sessionsession.setAttribute("usercode", usercode);//重定向到商品查詢頁面return "redirect:/items/queryItems.action";}//用戶退出@RequestMapping("/logout")public String logout(HttpSession session)throws Exception{//session失效session.invalidate();//重定向到商品查詢頁面return "redirect:/items/queryItems.action";}}

總結

  • 使用Spring的校驗方式就是將要校驗的屬性前邊加上注解聲明。
  • 在Controller中的方法參數上加上@Validation注解。那么SpringMVC內部就會幫我們對其進行處理(創建對應的bean,加載配置文件)
  • BindingResult可以拿到我們校驗錯誤的提示
  • 分組校驗就是將讓我們的校驗更加靈活:某方法需要校驗這個屬性,而某方法不用校驗該屬性。我們就可以使用分組校驗了。
  • 對于處理異常,SpringMVC是用一個統一的異常處理器類的。實現了HandlerExceptionResolver接口。
  • 對模塊細分多個異常類,都交由我們的統一異常處理器類進行處理。
  • 對于RESTful規范,我們可以使用SpringMVC簡單地支持的。將SpringMVC的攔截.action改成是任意的。同時,如果是靜態的資源文件,我們應該設置不攔截。
  • 對于url上的參數,我們可以使用@PathVariable將url中的{}包起參數和形參進行綁定
  • SpringMVC的攔截器和Struts2的攔截器差不多。不過SpringMVC的攔截器配置起來比Struts2的要簡單。
    • 至于他們的攔截器鏈的調用順序,和Filter的是沒有差別的。

如果文章有錯的地方歡迎指正,大家互相交流。習慣在微信看技術文章,想要獲取更多的Java資源的同學,可以關注微信公眾號:Java3y

總結

以上是生活随笔為你收集整理的SpringMVC【校验器、统一处理异常、RESTful、拦截器】的全部內容,希望文章能夠幫你解決所遇到的問題。

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

成人午夜精品久久久久久久3d | 久久av不卡| 91精品国产九九九久久久亚洲 | 色婷婷视频网 | 亚洲精品伦理在线 | 日韩成人看片 | 高清不卡一区二区三区 | 九九免费精品视频在线观看 | 欧美一二三区播放 | 成人h视频在线播放 | 在线播放国产一区二区三区 | www日日| 99久久精品国产一区二区成人 | 九九三级毛片 | 人人干天天射 | 中文字幕成人一区 | 91视频大全 | 天天操天天干天天综合网 | 日韩成人精品在线观看 | 欧美日韩中文国产 | 欧美午夜精品久久久久 | 国产美女视频 | 久久少妇av | 黄色电影网站在线观看 | 国产午夜在线观看 | 久久露脸国产精品 | 国产精品美女 | 亚洲精品一区二区三区在线观看 | 欧美激情奇米色 | 亚洲久久视频 | 超碰在线官网 | 欧美日韩在线观看一区 | 在线观看日韩中文字幕 | 免费日p视频 | 亚洲一区视频免费观看 | 亚洲蜜桃在线 | 亚洲精品视频在线播放 | 美女视频久久久 | 亚洲精品久久视频 | 久久手机视频 | 日韩在线观看免费 | 成人小视频在线 | 欧美日韩高清在线一区 | 亚洲国产精品一区二区尤物区 | 成人av高清 | 天天艹天天 | 亚洲精品乱码久久久久久高潮 | 日本一区二区免费在线观看 | 久久这里只精品 | 美女视频免费精品 | 97免费在线观看 | 久久永久免费 | 在线国产欧美 | 久久av网址| 婷婷六月综合网 | 日韩国产精品一区 | 国产精品 中文字幕 亚洲 欧美 | 黄a在线 | www.久久婷婷 | 超碰在线97国产 | 久久精精品视频 | 亚洲年轻女教师毛茸茸 | 久久黄色片 | 色综合久久久久综合 | 婷婷激情小说网 | 中文字幕在线观看视频一区 | 激情小说 五月 | 九九免费在线看完整版 | 波多野结衣视频一区 | 色av婷婷| 成人h动漫精品一区二 | 国产精品毛片一区视频播不卡 | 午夜影院在线观看18 | 久久婷婷色综合 | 亚洲天天在线日亚洲洲精 | 成人动漫一区二区 | 婷婷视频导航 | 成人黄色短片 | 成人小视频在线播放 | 在线观看亚洲免费视频 | 国产视频一区二区在线播放 | 国产在线精品二区 | 精品国产欧美一区二区三区不卡 | 欧美日韩中文字幕综合视频 | 91av视频在线免费观看 | 黄色在线看网站 | 久久国产精品精品国产色婷婷 | 在线观看av不卡 | 91精品免费在线观看 | 久久久久久99精品 | 欧美最猛性xxxxx亚洲精品 | 国内成人精品视频 | 中文av日韩| 久久国产综合视频 | 黄色在线免费观看网站 | 午夜视频在线观看一区二区 | 天天操天天操天天操 | 国产一区二区在线精品 | 精品亚洲免费 | 久久精品一区二区三区视频 | 亚洲成av人影院 | 人人澡人人澡人人 | 最新日韩视频在线观看 | 日韩在线观看的 | 国产亚洲欧美在线视频 | 成人97视频 | 五月婷婷丁香六月 | 97精品国产一二三产区 | 久久婷综合 | а天堂中文最新一区二区三区 | av女优中文字幕在线观看 | 在线观看亚洲成人 | 国产高清99 | 久久短视频 | 五月天伊人网 | 欧美整片sss| 久久久蜜桃一区二区 | 在线观看91 | 国产精品手机在线播放 | 狠狠天天| 国产精品久久久久久久免费 | 国产精品综合在线观看 | 天天插狠狠干 | 免费网站观看www在线观看 | 久久久人| 免费观看久久 | 成人免费在线观看电影 | 亚洲精品中文字幕视频 | 国产 在线 高清 精品 | 夜色资源站wwwcom | 欧美亚洲一区二区在线 | 欧美午夜性 | 亚洲精品18日本一区app | 在线观看久久久久久 | 一色av | 色偷偷888欧美精品久久久 | 黄色免费网站下载 | 久久精品国产99 | 日本精品一二区 | 精品一区二区影视 | 中文字幕在线观看视频网站 | 五月天最新网址 | 国产成人精品一区二区三区在线 | 久久av影院 | 国产精品视频 | 国产xvideos免费视频播放 | 99久国产 | 久久免费看 | 久久激情视频 久久 | 国产一区二区三区免费观看视频 | 久久综合色影院 | 韩国av在线播放 | 久久久久久久99精品免费观看 | 色噜噜狠狠狠狠色综合久不 | 一区二区三区在线免费观看 | 国产精品18久久久久久首页狼 | 精品视频9999 | 成人h动漫精品一区二 | 国内精品久久久久影院日本资源 | 久久夜靖品 | 国产一区二区精品91 | 国产99在线免费 | 在线观看成人一级片 | 久久精品小视频 | 白丝av在线 | 美女精品国产 | 日本不卡123 | 久久成人在线 | 激情网站免费观看 | 日韩免费视频 | 婷婷六月丁香激情 | 亚洲资源视频 | 婷婷视频在线播放 | 不卡精品 | 亚洲欧美日韩国产精品一区午夜 | 亚洲国产欧美一区二区三区丁香婷 | 国产精品一区二区视频 | 欧美在线不卡一区 | 日韩欧美视频在线免费观看 | 国产精品破处视频 | 丁香六月久久综合狠狠色 | 99精品久久久久久久久久综合 | 精品一区在线看 | 国产一区在线精品 | 欧日韩在线 | 久久综合久久鬼 | 美女视频黄免费 | 久久精品www人人爽人人 | 精品专区 | 国产永久网站 | 久久电影网站中文字幕 | 黄色三级免费片 | www操操 | 久久尤物电影视频在线观看 | 精品免费久久久久 | 亚洲精品在线视频观看 | 国语精品免费视频 | 日韩av免费观看网站 | 日韩成人不卡 | 毛片美女网站 | 久久精品国产v日韩v亚洲 | 天天综合精品 | 香蕉视频免费看 | 国产一区二区精品91 | 91在线免费视频 | 成年人电影毛片 | 99这里都是精品 | 亚洲激情六月 | 狠狠操操操 | 免费97视频 | 国产在线91在线电影 | 亚洲成人国产精品 | 亚洲精品一区二区18漫画 | 欧美一二三视频 | 在线有码中文字幕 | 天天干天天干 | 国产精品久久久免费 | 久久不卡国产精品一区二区 | 日韩在线视频二区 | a级片在线播放 | 成人在线黄色 | 国内久久精品视频 | 久草新在线 | 日日夜夜天天人人 | 久久久久婷 | a视频在线| japanesexxx乱女另类 | av片一区 | av在线一级 | 四虎国产精 | 中字幕视频在线永久在线观看免费 | 国产高清黄 | 中文字幕在线一二 | 国产视频欧美视频 | 午夜av免费看 | 大胆欧美gogo免费视频一二区 | 精品在线免费观看 | 黄色h在线观看 | 在线a亚洲视频播放在线观看 | 日韩欧美第二页 | 视频在线国产 | 午夜体验区 | 免费在线观看日韩欧美 | 男女全黄一级一级高潮免费看 | 亚洲电影图片小说 | 久久久久一区二区三区 | 麻豆视频观看 | 久久久www成人免费精品 | 国产高清免费av | 亚洲黄色一级电影 | 99热这里只有精品国产首页 | 在线国产视频 | 亚洲精品国产自产拍在线观看 | 国产一区二区三区网站 | 色天天综合久久久久综合片 | 最近中文字幕mv | a级国产乱理伦片在线观看 亚洲3级 | 日本黄色免费网站 | 丰满少妇久久久 | 91少妇精拍在线播放 | 亚洲精品久久久久久久蜜桃 | 国产视频日韩视频欧美视频 | 免费看一级一片 | 一区二区三区三区在线 | 人人插人人费 | 色婷在线 | 天天插天天爱 | 成人在线超碰 | 日韩av影片在线观看 | 亚洲国产成人高清精品 | 一级黄色免费 | ww亚洲ww亚在线观看 | www色婷婷com | 免费观看av | 国产精品国产三级国产aⅴ无密码 | 在线观看中文字幕dvd播放 | 99久久精品久久亚洲精品 | www.五月激情.com | 国产高清av | 丁香婷婷射 | 婷婷午夜激情 | 国产精品一区二区免费 | 激情五月在线 | a在线免费 | 亚洲国产字幕 | 国产在线一区观看 | 国产精品久久久久久久av大片 | 午夜的福利 | 天天综合天天做天天综合 | 国产精品18久久久久久久 | 久久精品视频国产 | 最新日本中文字幕 | 日日干av | 国产麻豆电影在线观看 | 日日夜夜天天久久 | 狠狠干婷婷色 | 日韩v在线 | 欧美日韩在线播放 | 亚洲 av网站 | 亚洲成av人片在线观看香蕉 | 亚洲午夜精品久久久 | 欧美性做爰猛烈叫床潮 | av成人免费观看 | 九九久久久久久久久激情 | 五月激情丁香图片 | 日日日干 | 久久伊人精品天天 | 亚洲激色 | av中文字幕在线观看网站 | 射射射综合网 | 99精品视频观看 | 天天看天天操 | 国产一级视屏 | 99久久精品国产欧美主题曲 | 欧美日韩国产精品一区 | 天天操天天爱天天干 | 国产精品99久久久久的智能播放 | 久久久久国产精品免费网站 | 国产精品福利在线 | 国产午夜精品一区二区三区 | 一区二区三区免费网站 | 日本中文字幕网址 | 久久草网 | 久久久精品99 | 91精品国产91久久久久福利 | 91精品国产自产在线观看永久 | 青青草华人在线视频 | 免费在线观看成人小视频 | 一区二区视频欧美 | 免费看黄在线看 | 国产偷国产偷亚洲清高 | 精品在线观看一区二区三区 | 国产手机在线 | 久久一精品 | 久久久九色精品国产一区二区三区 | 日韩欧美国产精品 | 日日弄天天弄美女bbbb | 在线观看视频你懂得 | 高清av网站 | 99热这里精品 | 日韩精品一区二区三区电影 | 狠狠操夜夜 | 国产在线2020 | 狠狠干 狠狠操 | 国产视频九色蝌蚪 | 色就色,综合激情 | 亚洲精品在线一区二区三区 | 91人人射| a久久久久久 | 久久手机视频 | 日韩高清国产精品 | 国产精品久久久久一区二区三区 | 91热这里只有精品 | 美女视频黄网站 | aaawww| 日日操操 | 欧美美女一级片 | 国产精品男女视频 | 91九色精品国产 | 日韩免费视频观看 | 国产视频高清 | 国产一区视频在线观看免费 | 福利视频在线看 | 丁香网婷婷 | 视频在线一区 | 亚洲精品自拍视频在线观看 | 亚洲综合欧美精品电影 | 日韩欧美一区二区在线播放 | 国产精华国产精品 | 色九九影院| 亚洲精品在线观看的 | 日韩美女一级片 | 久草精品视频在线播放 | 免费人成网ww44kk44 | 深爱婷婷久久综合 | 成人午夜精品久久久久久久3d | 日韩中文字幕a | 天天·日日日干 | 国产在线 一区二区三区 | 日韩成人高清在线 | 国产在线最新 | 8x成人免费视频 | 久久国产乱 | 日韩免费区 | 伊人天堂av | 精品国产乱码一区二区三区在线 | 日本性生活免费看 | 97国产超碰在线 | 精品国产乱码久久久久久三级人 | 亚洲日本va午夜在线影院 | 欧美日韩在线免费观看视频 | 日韩黄视频| 久久黄色小说视频 | 色wwww| 中文在线中文a | 国产免费又黄又爽 | 欧美成年网站 | 亚洲精品xx | 99精品国产aⅴ | 婷婷综合影院 | av片在线观看免费 | 欧美日韩国产精品一区二区 | 欧美日韩视频观看 | 日韩有码在线观看视频 | 一级片免费观看视频 | 日韩精品一区二区三区免费观看视频 | 最近日本中文字幕a | 黄色成人影视 | 免费看的av片| 国产亚洲精品v | 91视频在线观看下载 | 夜夜躁天天躁很躁波 | 亚洲精品在线免费看 | 在线观看深夜福利 | 国内精品久久久久久久久久久 | 久久精品国产一区 | 国产夫妻av在线 | 欧洲精品视频一区 | 中文字幕你懂的 | 欧美日韩免费一区二区三区 | 欧美激情视频久久 | 国产精品日韩精品 | 国产精品美女视频 | 国产一区二三区好的 | 婷婷在线网站 | 日韩国产欧美在线播放 | 91激情视频在线观看 | 综合久久精品 | 久久久久久久久久久高潮一区二区 | 在线观看国产日韩 | 国产专区视频在线 | 久久精品国产v日韩v亚洲 | 中文字幕高清免费日韩视频在线 | 免费在线播放av电影 | 欧美日韩在线观看一区二区三区 | 中文字幕大全 | 国产精品久久久久久久久久免费 | 久草在线免费看视频 | 久久精品国产成人 | 精品亚洲男同gayvideo网站 | 少妇精品久久久一区二区免费 | 美女视频是黄的免费观看 | 日本成人免费在线观看 | 中文字幕一区二区三区在线观看 | 国产一线天在线观看 | 最近中文字幕大全中文字幕免费 | 国产探花视频在线播放 | 欧美 日韩 性 | 91免费高清视频 | 黄a在线看 | 91激情小视频 | 亚洲天堂免费视频 | 玖草影院| 日韩精品一区二区三区高清免费 | 五月婷婷视频 | 安徽妇搡bbbb搡bbbb | a在线观看视频 | 又黄又爽又湿又无遮挡的在线视频 | 成人影音av| 久久黄色网 | 国产视频资源在线观看 | 国产综合精品一区二区三区 | 久久免费视频这里只有精品 | a在线播放 | 欧美一级视频在线观看 | 欧美国产日韩一区二区三区 | 在线成人一区 | 超碰在线cao | 日韩肉感妇bbwbbwbbw | 视频一区亚洲 | 国产亚洲精品女人久久久久久 | 又黄又爽又刺激 | 九九久久免费视频 | 久久小视频 | 国产伦理剧 | 99热999| 激情欧美xxxx| 婷婷.com| 麻豆国产在线播放 | 中文字幕色婷婷在线视频 | 狠狠干干 | 亚洲成人资源在线观看 | 97精品视频在线播放 | 在线观看免费国产小视频 | 国产精品精品久久久久久 | 婷婷伊人综合亚洲综合网 | 欧美日韩午夜 | 欧美日韩精品在线免费观看 | 亚洲精品国产日韩 | 日韩天天综合 | 97精品国产aⅴ | 国产精品自产拍在线观看桃花 | 午夜美女福利 | 超碰99人人| 国产视频在线一区二区 | 一区二区三区在线看 | 91视频久久久久 | 99国产精品 | 99久久婷婷国产一区二区三区 | 欧美极品xxx| 天天爽天天爽夜夜爽 | 国产乱老熟视频网88av | 国产精品久久久久久久久久久久午 | 四虎亚洲精品 | 欧美激情一区不卡 | 97成人精品视频在线播放 | 国产成人一区二区在线观看 | 亚洲码国产日韩欧美高潮在线播放 | 中日韩三级视频 | 在线免费观看羞羞视频 | 欧美男男tv网站 | 国产精品a久久久久 | 天天干天天做 | 黄网站免费大全入口 | 韩日视频在线 | 日韩久久久久久久久 | 成人av电影免费观看 | 超碰在线观看av | 超碰精品在线 | 2023av| 免费黄色小网站 | 91麻豆操| 国产成人久久av | 在线免费观看麻豆 | 色伊人网| 国产综合在线观看视频 | 久久精品站 | 国产在线观看免费 | 色午夜| 国产成视频在线观看 | 一区二区欧美日韩 | 欧美资源| 亚洲视频 中文字幕 | 日韩中文字幕视频在线 | 日本精品视频免费 | 久久99在线| 亚洲精品合集 | 精品福利网站 | 国产成人久久精品77777 | 国内视频一区二区 | 中文在线8资源库 | 日韩在线视频免费看 | 欧美日韩一区久久 | 色综合天天天天做夜夜夜夜做 | 黄色免费观看网址 | 午夜色大片在线观看 | 久久伊人色综合 | 在线成人国产 | 精品国产一区二区三区男人吃奶 | 99麻豆视频| 在线免费观看视频你懂的 | 色橹橹欧美在线观看视频高清 | 丁香婷婷激情网 | www黄com| 91尤物国产尤物福利在线播放 | 国产小视频免费在线观看 | 九热在线 | 久久婷婷综合激情 | 亚洲综合色激情五月 | 人人干网 | 亚洲综合色网站 | 亚洲国产最新 | 久久久久久久福利 | 久久久久久久久久久久亚洲 | 天无日天天操天天干 | 国产在线精品观看 | 欧美激情精品久久久久久变态 | 97人人人| 久久av观看| 日本久久免费电影 | www.久久免费视频 | 日一日操一操 | 久久国产精品一区二区三区 | 999男人的天堂 | 国产精品久久久久久久久婷婷 | 去干成人网 | 久久久片 | 免费黄色特级片 | 六月色婷婷 | 国产精品国产亚洲精品看不卡15 | 欧美国产大片 | 精品久久久免费视频 | 国产高清小视频 | 国产色拍| 欧美一区日韩精品 | 久久久久麻豆v国产 | 精品久久久99 | 国产视频中文字幕在线观看 | 久久 亚洲视频 | 亚洲精品美女视频 | 69绿帽绿奴3pvideos| 夜夜躁天天躁很躁波 | 综合久久一本 | 国产一级大片免费看 | 91精品视频网站 | 国产1级毛片 | 男女激情麻豆 | 久久亚洲综合国产精品99麻豆的功能介绍 | 99九九视频 | 日韩视频在线不卡 | 五月花丁香婷婷 | 天天干天天草天天爽 | 国产中文字幕久久 | 国产精品com | 国产xxxxx在线观看 | 久久国产精品影视 | av三级在线免费观看 | 欧美日韩一区二区在线观看 | 中文字幕av电影下载 | 人人澡人人爽欧一区 | 99久久99久久精品国产片 | 精品在线播放 | 欧美国产日韩一区二区三区 | 国产精品永久免费在线 | 91网免费看 | 日韩av一区二区在线影视 | 国产色中涩 | 成人免费在线播放视频 | 97精品国产一二三产区 | 色之综合网 | 久久伊人八月婷婷综合激情 | 亚洲传媒在线 | 日本女人的性生活视频 | 亚洲精品18p | 又大又硬又黄又爽视频在线观看 | 成人黄色小说网 | 精品美女在线观看 | 亚洲丝袜一区二区 | 日韩专区 在线 | 黄色小说网站在线 | 99在线国产 | 在线韩国电影免费观影完整版 | 国产成人精品久久 | 天天射日 | 欧美激情综合五月色丁香 | 日韩黄在线观看 | 成人午夜在线观看 | 粉嫩av一区二区三区四区五区 | 色婷婷激情电影 | 免费网站v | 欧美在线观看视频 | 91女子私密保健养生少妇 | 亚洲综合国产精品 | 国产精品ⅴa有声小说 | 日韩欧美在线免费观看 | 中文字幕国产亚洲 | 久久99热这里只有精品 | 中文字幕欲求不满 | 国产视频在线观看一区二区 | 欧美日韩一区二区在线观看 | 精品uu | 国产综合小视频 | 免费黄色网止 | 亚洲国产成人久久综合 | 国产99免费视频 | 亚洲综合五月天 | 午夜私人影院久久久久 | 午夜.dj高清免费观看视频 | 狠狠干免费 | 五月婷在线观看 | 中文字幕在线观看亚洲 | 亚洲精品国产精品国自 | 午夜国产一区二区三区四区 | 91福利视频久久久久 | 黄色电影网站在线观看 | 日韩欧美视频免费在线观看 | 国产视频精选在线 | 在线观看视频国产 | 国产成人一区二区在线观看 | 久草电影免费在线观看 | 国产亚洲综合性久久久影院 | 国产精品一区二区三区久久 | 欧美日高清视频 | www日 | 黄色大全在线观看 | 激情婷婷亚洲 | 久久人人爽爽人人爽人人片av | 黄色网址av| 色99色| 四虎永久免费网站 | 国产精品久久久久影院日本 | 亚洲五月激情 | 国产一级片一区二区三区 | 国产精品免费一区二区三区在线观看 | 国产精品aⅴ | 久久成人国产精品免费软件 | 91一区二区三区久久久久国产乱 | 狠狠干狠狠久久 | 亚洲综合色视频在线观看 | 欧美国产三区 | 久久久久久久久久久久久国产精品 | 99产精品成人啪免费网站 | 久久九九国产精品 | 亚洲国产操 | www五月婷婷 | 中文字幕av在线电影 | 国产1区在线观看 | av一级片网站 | 日韩av区| 麻豆系列在线观看 | 国产色道| 日韩精品不卡在线观看 | 国产精品2区 | 在线免费精品视频 | 日韩视频图片 | 超碰官网 | 日韩国产精品久久久久久亚洲 | 国产偷国产偷亚洲清高 | 国产又粗又猛又黄又爽视频 | 国产精品久久久久久69 | 91人网站| 日韩三区在线观看 | 99国产在线 | 久久精品一区八戒影视 | 香蕉视频最新网址 | 亚洲激情综合 | 五月婷婷六月丁香激情 | 国产日韩视频在线 | 99精彩视频在线观看免费 | 亚洲一区二区麻豆 | 久久精品美女视频 | 欧美资源在线观看 | 最近能播放的中文字幕 | 亚洲成a人片在线观看网站口工 | 色综合久久久久 | 国产黄色大片 | 国产成人一区二区三区在线观看 | 麻豆国产在线视频 | 亚洲国产精品成人av | 二区三区av | 91九色蝌蚪视频在线 | 日韩av电影手机在线观看 | 欧美三级免费 | 久久免费电影网 | 色视频在线 | 在线观看成人 | 91在线观看欧美日韩 | 免费高清影视 | 特黄特黄的视频 | 亚洲欧美国产视频 | 亚洲97在线 | 亚洲热视频 | av网站在线免费观看 | 天天天色 | 丁香六月婷婷开心婷婷网 | 亚洲精品成人免费 | 国产一级性生活 | 欧美性色综合网 | 播五月婷婷 | 黄色特级片 | 成 人 黄 色视频免费播放 | 4438全国亚洲精品观看视频 | 精品久久久国产 | 午夜精品一区二区三区可下载 | 黄色片网站大全 | 探花视频在线版播放免费观看 | 久日精品| 国产精品国产亚洲精品看不卡 | 成人黄色短片 | 久久xxxx| 中文字幕网址 | 亚洲日日日 | 国产在线v| 久久久久久久国产精品视频 | 日本丶国产丶欧美色综合 | 麻豆免费在线视频 | 超碰在线最新网址 | 国产精品久免费的黄网站 | 久热免费 | 免费观看日韩av | 欧美成人久久 | 超碰97免费在线 | 色综合久久66 | 日本久久91 | 黄色网在线免费观看 | 免费又黄又爽 | 最近2019中文免费高清视频观看www99 | 欧美一区二区精品在线 | 久久99视频免费 | 一级特黄aaa大片在线观看 | 久久久天堂 | 免费观看www7722午夜电影 | 中文字幕日韩在线播放 | 狠狠色2019综合网 | 最近中文字幕高清字幕在线视频 | 精品视频久久久久久 | 日韩电影一区二区三区 | av看片网| 国产婷婷一区二区 | 欧美日韩在线视频一区二区 | 97超碰国产精品 | 91中文字幕在线视频 | 日韩在线一区二区免费 | 午夜123| 国产电影一区二区三区四区 | 99视频国产在线 | 国产96在线观看 | 国产成人精品国内自产拍免费看 | 日韩狠狠操 | 国产亚州精品视频 | 国产专区视频 | 亚洲精品99 | 91九色porny蝌蚪主页 | 九九视频在线播放 | 五月天开心 | 欧美日韩国产一区二区三区在线观看 | 日日夜夜网 | 中文字幕精品www乱入免费视频 | 成人午夜精品久久久久久久3d | 综合中文字幕 | 国产在线观看av | 欧美激情视频免费看 | 日韩精品欧美视频 | 97精品国自产拍在线观看 | 欧美日韩国产综合网 | 超碰在线94 | 手机在线永久免费观看av片 | 欧美精品在线视频 | 天海冀一区二区三区 | 午夜精品av在线 | 国产国语在线 | 精品国产伦一区二区三区观看说明 | 最近中文字幕第一页 | 99免费视频| 九九精品久久 | 久久国产精品系列 | 99久久超碰中文字幕伊人 | 国产一区视频在线播放 | 天天射天天做 | 日韩精品一区二区三区在线视频 | 久久国产精品99国产 | 夜夜骑天天操 | 91视频 - 114av| 蜜臀久久99精品久久久久久网站 | 亚洲永久在线 | 天天综合日日夜夜 | 国产精品精品久久久久久 | 4p变态网欧美系列 | 成人黄色大片在线观看 | 午夜在线日韩 | 免费午夜视频在线观看 | 成人毛片一区二区三区 | 99久久精品免费一区 | 欧美超碰在线 | 欧美日韩精品在线一区二区 | 天天色婷婷 | 超碰免费97 | 亚洲天天看 | 久青草视频 | 91亚色视频在线观看 | 99久久夜色精品国产亚洲 | 婷婷国产在线 | 国产一级二级在线 | 成人a级网站 | 精品一区二区精品 | 免费国产在线视频 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 在线亚洲欧美日韩 | 天天操夜夜看 | 97高清免费视频 | 精品电影一区二区 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 99精彩视频在线观看免费 | 在线观看日韩av | 麻豆激情电影 | 日韩中文字幕视频在线观看 | 午夜av在线 | 国产精品精品国产色婷婷 | 欧美一二三在线 | 精品96久久久久久中文字幕无 | 三级小视频在线观看 | www视频在线观看 | 91久久影院 | 毛片在线网 | 99精品在线播放 | 久久久久久久免费观看 | 天天爽夜夜操 | 激情综合电影网 | 日韩丝袜在线观看 | 精品一区二区三区久久 | 久久精品播放 | 日本特黄一级片 | 丁香婷婷深情五月亚洲 | 欧美日韩亚洲第一 | 中文字幕在线免费看 | 国产精品免费看 | 一区二区三区久久精品 | 一级黄色电影网站 | 亚洲性少妇性猛交wwww乱大交 | 99这里只有 | 亚洲视频在线免费观看 | 人人操日日干 | 深爱婷婷 | 久久色中文字幕 | 久久66热这里只有精品 | av高清一区| 日韩欧美在线视频一区二区三区 | 亚洲天天在线日亚洲洲精 | 国产伦精品一区二区三区高清 | 丝袜+亚洲+另类+欧美+变态 | 国产在线欧美在线 | 91av在线视频免费观看 | 特及黄色片 | 免费在线国产视频 | 色吧av色av | 91色综合| 国产在线国偷精品产拍 | 99精品免费久久久久久久久日本 | 久色小说 | 狠狠狠狠狠色综合 | 亚洲一级片免费观看 | 国产999精品久久久久久绿帽 | 在线亚洲免费视频 | 九色精品免费永久在线 | 玖玖在线视频观看 | 国产在线观看你懂得 | www.五月婷| 一级成人免费 | 美女视频黄是免费的 | 日韩欧美国产视频 | 亚洲精品在线资源 | 99久久精品国产系列 | 一级一片免费视频 | 亚洲国产精品成人va在线观看 | 最新日本中文字幕 | 久草免费在线 | 国产精品日韩在线观看 | 九九九在线 | 国产99re| 午夜在线免费视频 | 西西www4444大胆在线 | 国产麻豆精品一区 | 不卡的av中文字幕 | 亚洲最大av网站 | 伊人天堂av | 激情久久影院 | 天天搞夜夜骑 | 激情图片久久 | 国产高清av免费在线观看 | 国产在线自 | 国产精品综合av一区二区国产馆 | 日韩精品一区二区三区水蜜桃 | 日韩高清在线一区 | 天天激情天天干 | 免费看黄20分钟 | 五月香视频在线观看 | 中文字幕一区二区三区四区 | 亚洲成人黄色在线观看 | 久久精品久久久久 | 日韩色在线 | 在线免费黄色片 | 一级欧美一级日韩 | 日韩肉感妇bbwbbwbbw | 97超级碰 | av天天澡天天爽天天av | 亚洲国产精品女人久久久 | 久久艹综合| 日韩av免费在线电影 | 人人草在线视频 | 日本中文字幕免费观看 | 中文字幕在线久一本久 | 国产精品一区二区av影院萌芽 | 国产成人精品久久久 | av短片在线观看 | 亚洲aaa毛片| 激情伊人五月天久久综合 | 日韩电影在线视频 | 国产一级大片免费看 | 日韩精品免费在线观看视频 | 五月婷社区 | 日韩午夜av | 欧美精品一区在线发布 | 狠狠操狠狠操 | 一区二区三区手机在线观看 | 国产最新精品视频 | 永久黄网站色视频免费观看w | 97超视频免费观看 | 在线播放精品一区二区三区 | 美女视频黄在线 | 国产精品一区二区av麻豆 | 国产精品av免费 | 国产午夜影院 | 99久热在线精品 | 中文字幕一区二区三区久久 | 色噜噜狠狠狠狠色综合久不 | 精品亚洲免费视频 | 午夜在线免费观看 | 99精品国产一区二区 | 久草视频在| 国产91粉嫩白浆在线观看 | 国产精品久久久久影院日本 | 天天操夜夜拍 | 九九视频这里只有精品 | 波多野结衣在线视频免费观看 | 精品视频99| 免费观看mv大片高清 | a午夜在线 | 91精品日韩|