久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

那些年关于JavaWeb的点点滴滴,你想看的这里全都有噢~

發布時間:2023/12/14 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 那些年关于JavaWeb的点点滴滴,你想看的这里全都有噢~ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JavaWeb知識匯總

  • 一、Servlet
  • 二、HTTP
    • 1. HTTP協議簡介
    • 2.HTTPS
  • 三、Request
  • 四、Response
  • 五、ServletContext
  • 六、ServletConfig(了解)
  • 七、Cookie和Session
    • 1.會話技術
    • 2.Cookie
    • 3.Session
  • 八、JSP
  • 九、 EL &JSTL
    • 1. EL表達式
    • 2. JSTL
  • 十、Filter
  • 十一、Listener
  • 十二、 MVC和三層架構
  • 十三、Ajax
  • 十四、JSON
    • 1.jackson
    • 2.Jsonlib

使用PC瀏覽,體驗更加!!!!

一、Servlet

  • 概念:servlet是一個在Web服務器中運行的小型Java程序。主要功能在于交互
    式地瀏覽和修改數據,?成動態Web內容。

    A servlet is a small Java program that runs within a Web server

    • Servlet就是一個接口,定義了Java類被瀏覽器訪問到(tomcat識別)的規則。
    • 未來我們可以自定義一個類,實現Servlet接口,復寫方法。
  • 快速入門

  • 創建JavaEE項目

  • 定義一個類,實現Servlet接口
    public class ServletDemo1 implements Servlet

  • 實現接口中的抽象方法

  • 配置Servlet
    在web.xml中配置:

    <!--配置Servlet --><servlet><servlet-name>demo1</servlet-name><!--全類名--><servlet-class>cn.itcast.web.servlet.ServletDemo1</servlet-class></servlet><servlet-mapping><servlet-name>demo1</servlet-name><!--資源路徑--><url-pattern>/demo1</url-pattern></servlet-mapping>
  • 執行原理:

    1. 當服務器接受到客戶端瀏覽器的請求后,會解析請求URL路徑,獲取訪問的Servlet的資源路徑。 2. 查找web.xml文件,是否有對應的<url-pattern>標簽體內容。 3. 如果有,則在找到對應的<servlet-class>全類名。 4. tomcat會將對應的Servlet字節碼文件加載進內存,并且創建其對象。 5. 調用其方法。
  • Servlet生命周期

    1. 當客戶端?次發送第?次請求后,由容器(web服務器(tomcat))去解析請求。 2. 根據請求找到對應的servlet,判斷該類的對象是否存在。 3. 不存在則創建servlet實例,調取init()?法 進?初始化操作。 4. 初始化完成后調取service()?法,由service()判斷客戶端的請求?式。 5. 如果是get,則執?doGet()。 6. 如果是post則執?doPost()。 7. 處理?法完成后,作出相應結果給客戶端.單次請求處理完畢。 8. 當服務器關閉時調取destroy()?法進?銷毀

    對于同一個Servlet,當?戶發送第2~n次請求時,不再執?init(),?直接執?service()?法,調取doGet()/doPost()?法。

  • Servlet中的生命周期方法1. 被創建:執行init()方法,只執行一次Servlet什么時候被創建?默認情況下,第一次被訪問時,Servlet被創建。通過web.xml文件,可以配置Servlet的創建時機。在<servlet>標簽下配置1. 第一次被訪問時,創建<load-on-startup>的值為負數。2. 在服務器啟動時,創建<load-on-startup>的值為0或正整數,正數情況下,數值越?,加載該Servlet的優先級越?。Servlet的init()方法,只執行一次,說明一個Servlet在內存中只存在一個對象,Servlet是單例的多個用戶同時訪問時,可能存在線程安全問題。解決:盡量不要在Servlet中定義成員變量。即使定義了成員變量,也不要對修改值2. 提供服務:執行service()方法,執行多次每次訪問Servlet時,service()方法都會被調用一次。3. 被銷毀:執行destroy()方法,只執行一次Servlet被銷毀時執行。服務器關閉時,Servlet被銷毀只有服務器正常關閉時,才會執行destroy()方法。destroy()方法在Servlet被銷毀之前執行,一般用于釋放資源* Servlet3.0:好處:支持注解配置。可以不需要web.xml了。步驟:1. 創建JavaEE項目,選擇Servlet的版本3.0以上,可以不創建web.xml2. 定義一個類,實現Servlet接口3. 復寫方法4. 在類上使用@WebServlet注解,進行配置* @WebServlet("資源路徑")示例:@WebServlet(urlPatterns = {"/test"},initParams ={@WebInitParam(name = "code",value = "utf-8") },loadOnStartup = 1)public class TestServlet extends HttpServlet {}

關于@WebServlet的注解類如下:

@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface WebServlet {String name() default "";//相當于<Servlet-name>String[] value() default {};//代表urlPatterns()屬性配置String[] urlPatterns() default {};//相當于<url-pattern>int loadOnStartup() default -1;//相當于<load-on-startup>WebInitParam[] initParams() default {};boolean asyncSupported() default false;String smallIcon() default "";String largeIcon() default "";String description() default "";String displayName() default "";}
  • Servlet體系結構 Servlet -- 接口|GenericServlet -- 抽象類|HttpServlet -- 抽象類* GenericServlet:將Servlet接口中其他的方法做了默認空實現,只將service()方法作為抽象* 將來定義Servlet類時,可以繼承GenericServlet,實現service()方法即可* HttpServlet:對service()方法做了詳細的實現,不再需要我們寫代碼判斷用戶的請求方式,對http協議的一種封裝,簡化操作1. 定義類繼承HttpServlet2. 復寫doGet/doPost方法
  • Servlet相關配置1. urlpartten:Servlet訪問路徑(資源路徑)1. 一個Servlet可以定義多個訪問路徑 : @WebServlet({"/d4","/dd4","/ddd4"})2. 路徑定義規則:1. /xxx:路徑匹配2. /xxx/xxx:多層路徑,目錄結構3. *.do:擴展名匹配ps: /user/.do、/.do、test*.do都是非法的,啟動時候會報錯

二、HTTP

1. HTTP協議簡介

  • 概念:超?本傳輸協議(英?:HyperText Transfer Protocol,縮寫:HTTP)是?種?于分布式、協作式和超媒體信息系統的應?層協議。HTTP是萬維?的數據通信的基礎。定義了客戶端和服務器端通信時,交互報文的格式

  • 特點:
    1. 基于TCP/IP的高級協議
    2. 默認端口號:80
    3. 基于請求/響應模型的:一次請求對應一次響應
    4. 在HTTP/1.0中默認使?短連接。也就是說,客戶端和服務器每進??次HTTP操作,就建??次連接,任務結束就中斷連接。
    5. 無狀態協議:HTTP協議自身不對請求和響應之間的通信狀態進行保存。每次請求之間相互獨立,不能交互數據。
    6. HTTP/1.1起,默認使??連接,?以保持連接特性。使??連接的HTTP協議,會在響應頭加?這?
    代碼:

    Connection:keep-alive

    在使??連接的情況下,當?個??打開完成后,客戶端和服務器之間?于傳輸HTTP數據的TCP連接不會關閉,客戶端再次訪問這個服務器時,會繼續使?這?條已經建?的連接。Keep-Alive不會永久保持連接,它有?個保持時間,可以在不同的服務器軟件(如Apache)中設定這個時間。實現?連接需要客戶端和服務端都?持?連接。

  • 請求消息(報文)格式: 客戶端發送給服務器端的數據

    1. 請求行請求方式 請求url 請求協議/版本GET http://localhost:8080/thumbupTest/index.jsp HTTP/1.1請求方式:HTTP協議有7中請求方式,常用的有2種GET:1. 請求參數在請求行中,在url后。2. 請求的url長度有限制的3. 不太安全POST:1. 請求參數在請求體中2. 請求的url長度沒有限制的3. 相對安全 2. 請求頭:客戶端瀏覽器告訴服務器一些信息請求頭名稱: 請求頭值常見的請求頭:1. User-Agent:瀏覽器告訴服務器,我訪問你使用的瀏覽器版本信息* 可以在服務器端獲取該頭的信息,解決瀏覽器的兼容性問題2. Referer:http://localhost/login.html告訴服務器,我(當前請求)從哪里來?作用:1. 防盜鏈:通過條件判斷指定從某條URL跳轉過來到當前頁面才正常顯示2. 統計工作:可以統計從某個URL跳轉到當前頁面的用戶數 3. 請求空行空行,就是用于分割POST請求的請求頭,和請求體的。 4. 請求體(正文):封裝POST請求消息的請求參數的格式: username=zhangsan * 字符串格式(請求頭):POST /login.html HTTP/1.1Host: localhostUser-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Accept-Encoding: gzip, deflateReferer: http://localhost/login.htmlConnection: keep-aliveUpgrade-Insecure-Requests: 1
  • 響應消息(報文)格式: 服務器端發送給客戶端的數據

    數據格式: 1. 響應行1. 組成:協議/版本 響應狀態碼 狀態碼描述示例: HTTP/1.1 200 OK2. 響應狀態碼:服務器告訴客戶端瀏覽器本次請求和響應的一個狀態。1. 狀態碼都是3位數字 2. 分類:1. 1xx:服務器接收客戶端消息,但沒有接受完成,等待一段時間后,發送1xx多狀態碼2. 2xx:成功。代表:2003. 3xx:重定向。代表:302(重定向),304(訪問緩存)4. 4xx:客戶端錯誤。* 代表:* 404(請求路徑沒有對應的資源) * 405:請求方式沒有對應的doXxx方法5. 5xx:服務器端錯誤。代表:500(服務器內部出現異常) 2. 響應頭:1. 格式:頭名稱: 值2. 常見的響應頭:1. Content-Type:服務器告訴客戶端本次響應體數據格式以及編碼格式2. Content-disposition:服務器告訴客戶端以什么格式打開響應體數據* 值:* in-line:默認值,在當前頁面內打開* attachment;filename=xxx:以附件形式打開響應體。文件下載需設置此響應頭 3. 響應空行 4. 響應體:傳輸的數據 5. * 響應字符串格式HTTP/1.1 200 OKContent-Type: text/html;charset=UTF-8Content-Length: 101Date: Wed, 06 Jun 2018 07:08:42 GMT<html><head><title>$Title$</title></head><body>hello , response</body></html>
  • 常見狀態碼

    狀態碼狀態碼描述含義
    100Continue只有?部分請求被服務器接收,但只要沒被服務器拒絕,客戶端就會延續這個請求
    101Switching Protocols服務器交換機協議
    200OK請求被確認
    201Created請求時完整的,新的資源被創建
    202Accepted請求被接受,但未處理完
    300Multiple Choices?個超鏈接表,?戶可以選擇?個超鏈接并訪問,最??持5個超鏈接
    301Moved Permanently被請求的??已經移動到了新的URL下
    302Found被請求的??暫時性地移動到了新的URL下
    303See Other被請求的??可以在?個不同的URL下找到
    400Bad Request服務器?法識別請求
    403Forbidden禁?訪問所請求的??
    404Not Found服務器?法找到所請求的??
    405Method Not Allowed請求中所指定的?法不被允許
    500Internal Server Error請求不完整,服務器遇?了出乎意料的狀況
    501Not Implemented請求不完整,服務器不提供所需要的功能
    502Bad Gateway請求不完整,服務器從上游服務器接受了?個?效的響應
    503Service Unavailable請求不完整,服務器暫時重啟或關閉
    504Gateway Timeout?關超時
    505HTTP Version Not Supported服務器不?持所指定的HTTP版本

2.HTTPS

HTTPS (全稱:Hyper Text Transfer Protocol over SecureSocket Layer), 是以安全為目標的 HTTP 通道,在HTTP的基礎上通過傳輸加密和身份認證保證了傳輸過程的安全性 。 HTTPS 在HTTP 的基礎下加入SSL,HTTPS 的安全基礎是SSL,因此加密的詳細內容就需要SSL。 HTTPS 存在不同于 HTTP 的默認端口及一個加密/身份驗證層(在 HTTP與 TCP 之間)。 這個系統提供了身份驗證與加密通訊方法。 它被廣泛用于萬維網上安全敏感的通訊,例如交易支付等方面。
  • 詳情請看 HTTPS

三、Request

  • Request對象和Response對象的原理

    1.客戶端發送請求后,Tomcat服務器會根據請求URL中的資源路徑(Servlet訪問路徑),創建對應的Servlet對象。
    2. Tomcat服務器,會創建request和response對象,并將請求消息(請求報文)數據封裝到request對象中。
    3. Tomcat將request和response兩個對象傳遞給service()方法,并且調用service()方法。
    4. 后續,程序員可以通過request對象獲取請求消息數據,通過response對象設置響應消息(響應報文)數據。
    5. 服務器給瀏覽器作出響應之前會從response對象中獲取程序員設置的響應消息數據。

  • Request對象繼承體系結構

    ServletRequest -- 接口| 繼承 HttpServletRequest -- 接口| 實現 org.apache.catalina.connector.RequestFacade 類(tomcat)public class RequestFacade implements HttpServletRequest
  • Request功能

    1. 獲取請求消息(報文)數據1. 獲取請求行數據* GET http://localhost:8080/day14/demo1?name=zhangsan HTTP/1.1* 方法:1. 獲取請求方式 :GET* String getMethod() 2. (*)獲取虛擬目錄:/day14* String getContextPath()3. 獲取Servlet路徑: /demo1* String getServletPath()4. 獲取get方式請求參數:name=zhangsan* String getQueryString()5. (*)獲取請求URI:/day14/demo1* String getRequestURI(): /day14/demo1* StringBuffer getRequestURL() :http://localhost/day14/demo1* URL:統一資源定位符 : http://localhost/day14/demo1 例如:中華人民共和國* URI:統一資源標識符 : /day14/demo1 例如:共和國6. 獲取協議及版本:HTTP/1.1* String getProtocol()7. 獲取客戶機的IP地址:* String getRemoteAddr() // 0:0:0:0:0:0:0:12. 獲取請求頭數據* 方法:* (*)String getHeader(String name):通過請求頭的名稱獲取請求頭的值* Enumeration<String> getHeaderNames():獲取所有的請求頭名稱3. 獲取請求體(正文)數據:* 請求體:只有POST請求方式,才有請求體,在請求體(正文)中封裝了POST請求的請求參數* 步驟:1. 獲取流對象* BufferedReader getReader():獲取字符輸入流,只能操作字符數據* ServletInputStream getInputStream():獲取字節輸入流,可以操作所有類型數據2. 再從流對象中拿數據 2. 其他功能:1. 獲取請求參數通用方式:不論get還是post請求方式都可以使用下列方法來獲取請求參數1. String getParameter(String name):根據參數名稱獲取參數值 username=zs&password=1232. String[] getParameterValues(String name):根據參數名稱獲取參數值的數組 hobby=xx&hobby=game3. Enumeration<String> getParameterNames():獲取所有請求的參數名稱4. Map<String,String[]> getParameterMap():獲取所有參數的map集合* 中文亂碼問題:* get方式:tomcat 8 已經將get方式亂碼問題解決了* Tomcat 8以前:?式1: //針對于get提交時中?亂碼String s=new String(請求參數.getBytes("ISO-8859-1"),"UTF-8");示例: String s=new String(request.getParameter("key").getBytes("ISO-8859-1"),"GBK");?式2:修改tomcat中配置?件://使?于get提交在Tomcat?錄結構\conf\server.xml中設置字符集 URLEncoding<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />* post方式:會亂碼* 解決:在獲取參數前,設置request的編碼request.setCharacterEncoding("utf-8");2. 請求轉發:一種在服務器內部的資源跳轉方式1. 步驟:1. 通過request對象獲取請求轉發器對象:RequestDispatcher getRequestDispatcher(String path)2. 使用RequestDispatcher對象來進行轉發:forward(ServletRequest request, ServletResponse response) 2. 特點:1. 瀏覽器地址欄路徑不發生變化2. 只能轉發到當前服務器內部資源中。3. 轉發是一次請求,可以使用request對象來共享數據3. 共享數據:* 域對象:一個有作用范圍的對象,可以在范圍內共享數據* request域:代表一次請求的范圍,一般用于請求轉發的多個資源中共享數據* 方法:1. void setAttribute(String name,Object obj):存儲數據2. Object getAttitude(String name):通過鍵獲取值3. void removeAttribute(String name):通過鍵移除鍵值對4. 獲取ServletContext:* ServletContext getServletContext()
  • GET和POST的區別

    1、GET請求:請求的數據會附加在URL之后,以?分割URL和傳輸數據,多個參數?&連接。URL的編碼格式采?的是ASCII編碼,而不是uniclde,即是說所有的非ASCII字符都要編碼之后再傳輸。POST請求:請求的數據放在請求消息(報文)的請求體(正文)中。因此,GET請求的數據會暴露在地址欄中,?POST請求則不會。 2、傳輸數據的大小在HTTP規范中,沒有對URL的?度和傳輸的數據??進?限制。但是在實際開發過程中,對于GET,特定的瀏覽器和服務器對URL的?度有限制。因此,在使?GET請求時,傳輸數據會受到URL?度的限制。對于POST,由于不是URL傳值,理論上是不會受限制的,但是實際上各個服務器會規定對POST提交數據??進?限制,Apache、IIS都有各?的配置。 3、安全性POST的安全性比GET的相對較?。

四、Response

  • 功能: 設置響應消息

    1. 設置響應行1. 格式:HTTP/1.1 200 ok2. 設置狀態碼:setStatus(int sc) 2. 設置響應頭:setHeader(String name, String value) 添加響應頭:void addHeader(String name, String value) //兩者作用一致 3. 設置響應體:* 使用步驟:1. 獲取輸出流* 字符輸出流:PrintWriter getWriter()* 字節輸出流:ServletOutputStream getOutputStream()2. 使用輸出流,將數據輸出到客戶端瀏覽器
  • 案例

    1. 完成重定向* 重定向:資源跳轉的方式* 代碼實現://1. 設置狀態碼為302response.setStatus(302);//2.設置響應頭locationresponse.setHeader("location","/day15/responseDemo2");//簡單的重定向方法response.sendRedirect("/day15/responseDemo2");* forward 和 redirect 區別* 重定向的特點:redirect1. 地址欄發生變化2. 重定向可以訪問其他站點(服務器)的資源3. 重定向是兩次請求。不能使用request對象來共享數據* 轉發的特點:forward1. 轉發地址欄路徑不變2. 轉發只能訪問當前服務器下的資源3. 轉發是一次請求,可以使用request對象來共享數據2. 服務器輸出字符數據到瀏覽器* 步驟:1. 獲取字符輸出流2. 輸出數據* 注意:* 亂碼問題:1. PrintWriter pw = response.getWriter();獲取的流的默認編碼是ISO-8859-12. 設置該流的默認編碼 response.setHeader("content-type","text/htm;charset=utf-8")告訴瀏覽器響應體所使用的編碼//簡單的形式,設置編碼,是在獲取流之前設置response.setContentType("text/html;charset=utf-8");3. 服務器輸出字節數據到瀏覽器* 步驟:1. 獲取字節輸出流 ServletOutputStream getOutputStream()2. 輸出數據
  • 路徑寫法

    1. 路徑分類1. 相對路徑:通過相對路徑不可以確定唯一資源* 如:./index.html 或者 servletDemo1* 不以/開頭、以.開頭路徑* 規則:找到當前資源和目標資源之間的相對位置關系* ./:當前目錄* ../:后退一級目錄2. 絕對路徑:通過絕對路徑可以確定唯一資源* 如:http://localhost/day15/responseDemo2 /day15/responseDemo2* 以/開頭的路徑* 規則:判斷定義的路徑是給誰用的?判斷請求將來從哪兒發出* 給客戶端瀏覽器使用:需要加虛擬目錄(項目的訪問路徑)* 建議虛擬目錄動態獲取:request.getContextPath()*如 <a> , <form> 標簽重定向到某個頁面* 給服務器使用:不需要加虛擬目錄,使用相對路徑即可* 轉發路徑

五、ServletContext

  • 概念:ServletContext是javax.servlet包內定義的接口,Web容器會為每個Web程序構造一個實現該接口的對象實例,代表整個web應用,Servlet可以和web容器(服務器)進行交互
  • 獲取:
  • 通過request對象獲取
    request.getServletContext();
  • 通過HttpServlet獲取
    this.getServletContext();
  • 功能:
  • 獲取MIME類型:
    • MIME類型:在互聯網通信過程中定義的一種文件數據類型

      • 格式: 大類型/小類型 text/html image/jpeg
    • 獲取:String getMimeType(String file)

  • 域對象:共享數據
  • void setAttribute(String name,Object value)

  • Object getAttribute(String name)

  • void removeAttribute(String name)

    // ServletContext對象范圍:所有用戶所有請求的數據

  • 獲取文件的真實(服務器)路徑
  • 方法:String getRealPath(String path)
    String b = context.getRealPath("/b.txt");//web目錄下資源訪問
    System.out.println(b);

    String c = context.getRealPath("/WEB-INF/c.txt");//WEB-INF目錄下的資源訪問
    System.out.println(c );

    String a = context.getRealPath("/WEB-INF/classes/a.txt");//src目錄下的資源訪問
    System.out.println(a);

  • 六、ServletConfig(了解)

    • 概述

      ServletConfig是用來獲得Servlet相關的配置的對象

    • 獲取

      通過當前Servlet實例來獲取
      ServletConfig config = this.getServletConfig();

    • 功能
    • 獲取ServletContext對象
      * ServletContext getServletContext();
    • 獲取當前Servlet的初始化參數
      * String getInitParameter(String name)
    • 獲取當前Servlet的所有初始化參數的名稱
      * Enumeration getInitParameterNames()
    • 獲取當前Servlet實例的名稱
      * String getServletName()
    • Servlet初始化參數
  • 針對某個Servlet的初始化參數

    實現?式: (1) web.xml中先定義初始化參數<servlet><servlet-name></servlet-name><servlet-class></servlet-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></servlet> (2) 注解方式實現 initParams@WebServlet(urlPatterns = {"/test"},initParams ={@WebInitParam(name = "code",value = "utf-8") })public class TestServlet extends HttpServlet {}*獲取: String encode = this.getServletConfig().getInitParameter("encoding");

    2.對于當前web程序中所有的Servlet都有效的初始化參數

    (1)定義<context-param><param-name>forAll</param-name><param-value>utf-8</param-value></context-param> (2)獲取 this.getServletConfig().getServletContext().getInitParameter("forAll");
  • 七、Cookie和Session

    1.會話技術

  • 會話:會話跟蹤是Web程序中常?的技術,?來跟蹤?戶的整個會話。保持對?戶會話期間的數據管理。常?的會話跟蹤技術是Cookie與Session。一次會話中包含多次請求和響應。

    一次會話:瀏覽器第一次給服務器資源發送請求,會話建立,直到有一方斷開為止

  • 功能:在一次會話的范圍內的多次請求間,共享數據
  • 方式:
  • 客戶端會話技術:Cookie
  • 服務器端會話技術:Session
  • 2.Cookie

    • 概念
      Cookie是客戶端(?般指瀏覽器)請求服務器后,服務器發給客戶端的?個辨認標識,保存在客戶端,當客戶端再次向服務器發送請求時,會攜帶著這個辨認標識,服務器就可以通過這個標識來識別客戶端的身份或狀態等。

    • Cookie的設置和獲取

      • 使用步驟:
        1. 創建Cookie對象,綁定數據
        * new Cookie(String name, String value)
        2. 發送Cookie對象
        * response.addCookie(Cookie cookie)
        3. 獲取Cookie,拿到數據
        * Cookie[] request.getCookies()
        *
        * 示例:
        * Cookie[] cs = request.getCookies();
        * // 通過遍歷獲取各個cookie的值
        for (Cookie c : cs) {
        String name = c.getName(); //獲取cookie的名稱
        String value = c.getValue();//獲取cookie的值
        }
    • 實現原理

    • 基于響應頭set-cookie和請求頭cookie實現。
  • 客戶端請求服務器中發送cookie的Servlet,服務器設置set-cookie: msg = hello頭發送到客戶端瀏覽器。
  • 瀏覽器將msg = hello保存到本地cookie中,后續的請求都會通過請求頭Cookie攜帶此客戶端的cookie數據,服務器可以獲取cookie進行相應的操作
    • 細節
  • 一次可不可以發送多個cookie?
    * 可以
    * 可以創建多個Cookie對象,使用response調用多次addCookie方法發送cookie即可。
  • cookie在瀏覽器中保存多長時間?
    1. 默認情況下,當瀏覽器關閉后,Cookie數據被銷毀
    2. 持久化存儲:
    * setMaxAge(int seconds)
    (1)正數:將Cookie數據寫到硬盤的文件中。持久化存儲。并指定cookie存活時間,時間到后,cookie文件自動失效
    (2)負數:默認值
    (3)零:刪除cookie信息
  • cookie能不能存中文?
    * 在tomcat 8 之前 cookie中不能直接存儲中文數據。
    * 需要將中文數據轉碼—一般采用URL編碼(%E3)
    * 在tomcat 8 之后,cookie支持中文數據。特殊字符還是不支持,建議使用URL編碼存儲,URL解碼解析
  • cookie共享問題?
    1. 假設在一個tomcat服務器中,部署了多個web項目,那么在這些web項目中cookie能不能共享?
    * 默認情況下cookie不能共享。
    * setPath(String path):設置cookie的獲取范圍。默認情況下,被設置為當前的虛擬目錄
    * 如果要共享,則可以將path設置為"/"
    ~
    2. 不同的tomcat服務器間cookie共享問題?
    ? * setDomain(String path):如果設置一級域名相同,那么多個服務器之間cookie可以共享
    ? * setDomain(".baidu.com"),那么tieba.baidu.com和news.baidu.com中cookie可以共享。
  • Cookie的特點和作用
    * 特點
    1. cookie存儲數據在客戶端瀏覽器
    2. 瀏覽器對于單個cookie 的大小有限制(4kb) 以及 對同一個域名下的總cookie數量也有限制,不同瀏覽器對于cookie的數量限制不同。
    * 作用:
    1. cookie一般用于存出少量的不太敏感的數據
    2. 在不登錄的情況下,完成服務器對客戶端的身份識別
  • 3.Session

  • 概念:服務器端會話技術,在一次會話的多次請求間共享數據,將數據保存在服務器端的對象中。HttpSession

  • 快速入門:

  • 獲取HttpSession對象:
    HttpSession session = request.getSession();
  • 使用HttpSession對象:
    Object getAttribute(String name)
    void setAttribute(String name, Object value)
    void removeAttribute(String name)
  • 原理

    • Session的實現是依賴于Cookie的。
    • 第一次獲取Session,沒有Cookie,服務器會在內存中創建一個新的Session對象,假設其對應的Id屬性值為 ID = 742938a4289。
    • 服務器會自動設置響應頭set-cookie:JSESSIONID= 742938a4289響應消息給瀏覽器。
    • 瀏覽器解析set-cookie響應頭,將JSESSIONID=742938a4289存入Cookie請求頭。
    • 后續服務器再次創建Session對象時會根據請求頭Cookie中的JSESSIONID先在內存中尋找對應的session實例,然后返回其引用。
  • 細節:
    ? 1. 當客戶端關閉后,服務器不關閉,兩次獲取session是否為同一個?
    ? * 默認情況下。不是。
    ? * 如果需要相同,則可以創建Cookie,鍵為JSESSIONID,設置最大存活時間,讓 cookie持久化保存。
    ? Cookie c = new Cookie(“JSESSIONID”,session.getId());
    ? c.setMaxAge(60*60); //單位:秒
    ? response.addCookie(c );
    ?

    2. 客戶端不關閉,服務器關閉后,兩次獲取的session是同一個嗎?* 不是同一個,但是要確保數據不丟失。tomcat自動完成以下工作* session的鈍化:* 在服務器正常關閉之前,將session對象序列化到硬盤上* session的活化:* 在服務器啟動后,將session文件轉化為內存中的session對象即可。
  • session什么時候被銷毀?
    1. 本地服務器正常關閉后不會被銷毀,idea上配置的tomcat服務器關閉后會被銷毀
    2. session對象調用invalidate() 。
    3. session默認失效時間 30分鐘
    * Session的超時時間為maxInactiveInterval屬性,可以通過對應的 getMaxInactiveInterval()獲取,通過 setMaxInactiveInterval(longinterval)修改
    * 還可以在config目錄下的web.xml中選擇性配置修改

    <session-config><session-timeout>30</session-timeout></session-config>

    4.瀏覽器中含有JSESSIONID的cookie被銷毀時,服務器會重新創建一個新的session對象,原有的session對象會在失效時間過后被銷毀。

  • session的特點

  • session用于存儲一次會話的多次請求的數據,存在服務器端。
  • 為了獲得更?的存取速度,服務器?般把Session放在內存?。
  • session可以存儲任意類型,任意大小的數據
  • 什么時候創建Session?
    1.Session在?戶第?次訪問page指令中的session屬性值不為false的JSP頁面時被創建。
    2.若servelt是第瀏覽器客戶端訪問的第一個WEB應用的資源,則只有調用了request.getSession()或request.getSession(true)才會創建session對象。

    其中request.getSession(boolean),
    boolean為false時,若沒有和當前JSP頁面關聯的session對象則返回null,若有,則返回true。
    Boolean為true時,一定返回一個session對象,若沒有和當前JSP頁面關聯的session對象,則服務器創建一個新的session對象,若有,直接返回。
    request.getSession()等同于request.getSession(true)。

    • session與Cookie的區別:
      1. session存儲數據在服務器端,Cookie在客戶端。
      2. session沒有數據大小限制,Cookie有,一般為4KB。
      3. session數據安全,Cookie相對于不安全。
      4. Session是由應?服務器維持的?個服務器端的存儲空間,?戶在連接服務器時,會由服務器?成?個唯?的SessionID,?該SessionID 為標識符來存取服務器端的Session存儲空間。?SessionID這?數據則是保存到客戶端,?Cookie保存的,?戶提交??時,會將這?SessionID提交到服務器端,來存取Session數據。這?過程,是不?開發?員?預的。所以?旦客戶端禁?Cookie,那么Session也會失效。

    八、JSP

    1. 概念:
    * Java Server Pages: java服務器端頁面
    * 可以理解為:一個特殊的頁面,其中既可以指定定義html標簽,又可以定義java代碼
    * 用于簡化書寫!!!

    2. 原理
    * JSP本質上就是一個Servlet,當瀏覽器訪問http://localhost:8080/day9_1/index.jsp。服務器發現后綴為.jsp,它會根據路徑找到index.jsp?件,會將index.jsp翻譯成index_jsp.java?件,對這個java?件進?編譯,產??個index_jsp.class?件,將class?件加載運?。將JSP翻譯成java?件,它是將JSP中的所有的HTML代碼通過流進?輸出,也就是說最終翻譯成class,被虛擬機加載,它本質是servlet,它就會往回響應,響應回去就是把JSP中的HTML代碼以流的?式寫回瀏覽器。所以在JSP中展示出了HTML代碼。

    3. JSP指令

    • 作用:用于配置JSP頁面,導入資源文件

      • 格式:
        <%@ 指令名稱 屬性名1=屬性值1 屬性名2=屬性值2 … %>
    • 分類:
      1. page :

      • contentType: 配置JSP頁面的 contentType屬性:等同于response.setContentType()
    • 設置響應體的mime類型以及字符集
    • 設置當前jsp頁面的編碼(只能是高級的IDE才能生效,如果使用低級工具,則需要設置pageEncoding屬性設置當前頁面的字符集)
      • import:導包
      • errorPage:當前頁面發生異常后,會自動跳轉到指定的錯誤頁面
      • isErrorPage:標識當前也是是否是錯誤頁面。
        • true:是,可以使用內置對象exception <% String message = exception.getMessage(); %>
        • false:否。默認值。不可以使用內置對象exception

    page 指令相關屬性:

  • include : JSP可以通過include指令來包含其他?件。被包含的?件可以是JSP?件、HTML?件或?本?件。包含的?件就好像是該JSP?件的?部分,會被同時編譯執?。
    <%@ include file=“?件相對 url 地址” %>

  • taglib : 導入資源(引入jsp標簽庫)

    • <%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
      • prefix:前綴,自定義的
  • 注釋:

  • 1. html注釋:<!-- -->:只能注釋html代碼片段2. jsp注釋:推薦使用<%-- --%>:可以注釋所有

    4. JSP的腳本: JSP定義Java代碼的方式
    1. <% 代碼 %>:定義的java代碼,在service方法中。service方法中可以定義什么,該腳本中就可以定義什么。
    2. <%! 代碼 %>:定義的java代碼,在jsp轉換后的java類的成員位置。
    3. <%= 代碼 %>:定義的java代碼,會輸出到頁面上。輸出語句中可以定義什么,該腳本中就可以定義什么。

    5. JSP的內置對象:
    * 在jsp頁面中不需要獲取和創建,可以直接使用的對象
    * jsp一共有9個內置對象。

    變量名真實類型作用
    pageContextPageContext當前頁面共享數據,還可以獲取其他八個內置對象
    requestHttpServletRequest一次請求訪問的多個資源(轉發)間共享數據。
    sessionHttpSession一次會話的多個請求間共享數據
    applicationServletContext所有用戶間共享數據
    responseHttpServletResponseresponse 代表的是對客戶端的響應,主要是將JSP容器處理過的對象傳回到客戶端。只在JSP??內有效。
    pageObject當前頁面(Servlet)的對象,類似于this
    outJspWriter輸出對象,數據輸出到頁面上
    configServletConfig主要作?是取得服務器的配置信息。通過 pageConext對象的 getServletConfig() ?法可以獲取?個config對象。當?個Servlet 初始化時,容器把某些信息通過config對象傳遞給這個Servlet。 開發者可以在web.xml ?件中為應?程序環境中的Servlet程序和JSP??提供初始化參數。
    exceptionThrowableexception 對象的作?是顯示異常信息,只有在包含 isErrorPage=“true” 的??中才可以被使?,通常用于打印錯誤信息輸出到日志文件,exception.getMessage()
    • out:字符輸出流對象。可以將數據輸出到頁面上。和response.getWriter()類似
      * response.getWriter()和out.write()的區別:
      * 在tomcat服務器真正給客戶端做出響應之前,會先找response緩沖區數據,再找out緩沖區數據。
      * response.getWriter()數據輸出永遠在out.write()之前。

    九、 EL &JSTL

    1. EL表達式

  • 概念:Expression Language 表達式語言
  • 作用:替換和簡化jsp頁面中java代碼的編寫
  • 語法:${表達式}
  • 注意:
    • jsp默認支持el表達式的。如果要忽略el表達式
    • 設置jsp中page指令中:isELIgnored=“true” 忽略當前jsp頁面中所有的el表達式
    • ${表達式} :忽略當前這個el表達式
  • 使用:
  • 運算:
    • 運算符:
    • 算數運算符: + - * /(div) %(mod)
      ${30 + 40}
      ${20 div 5}
    • 比較運算符: > < >= <= == !=
    • 邏輯運算符: &&(and) ||(or) !(not)
    • 空運算符: empty
      • 功能:用于判斷字符串、集合、數組對象是否為null或者長度是否為0
      • ${empty list}:判斷字符串、集合、數組對象是否為null或者長度為0
      • ${not empty str}:表示判斷字符串、集合、數組對象是否不為null 并且 長度>0
  • 獲取值
  • el表達式只能從域對象中獲取值
  • 語法:
  • ${域名稱.鍵名}:從指定域中獲取指定鍵的值

    • 域名稱:
    • pageScope --> pageContext
    • requestScope --> request
    • sessionScope --> session
    • applicationScope --> application(ServletContext)
    • 舉例:在request域中存儲了name=張三
    • 獲取:${requestScope.name}
  • ${鍵名}:表示依次從最小的域中查找是否有該鍵對應的值,直到找到為止。

  • 獲取對象、List集合、Map集合的值

  • 對象:${域名稱.鍵名.屬性名}

    • 本質上會去調用對象的getter方法
  • List集合:${域名稱.鍵名[索引]}

    • 索引越界會返回空字符
  • Map集合:

    • ${域名稱.鍵名.key名稱}
    • ${域名稱.鍵名[“key名稱”]}
  • 隱式對象:
    * el表達式中有11個隱式對象
    * pageScope
    * requestScope
    * sessionScope
    * applicationScope
    * pageContext:
    * 獲取jsp其他八個內置對象
    * ${pageContext.request.contextPath}:動態獲取虛擬目錄
  • 2. JSTL

    (1) 什么是JSTL
    JSP標準標簽庫(JSTL)是?個JSP標簽集合,它封裝了JSP應?的通?核?功能。
    JSTL?持通?的、結構化的任務,?如迭代,條件判斷,XML?檔操作,國際化標簽,SQL標簽。 除了這些,它還提供了?個框架來使?集成JSTL的?定義標簽。
    根據JSTL標簽所提供的功能,可以將其分為5個類別。核?標簽 格式化標簽 sql標簽 xml標簽 jstl函數(后?詳細解釋)
    (2) JSTL的作?和語法格式
    作?:用于簡化和替換jsp頁面上的java代碼
    語法格式:

  • 下載 jakarta-taglibs-standard-1.1.2.zip 包并解壓,將 jakarta-taglibs-standard-1.1.2/lib/ 下的兩
    個 jar ?件:standard.jar 和 jstl.jar ?件拷?到 /WEB-INF/lib/ 下。

  • 在JSP??中引?<%@ taglib prefix=”??使?的名稱” uri=”功能范圍的路徑”%>

  • 常用的JSTL標簽

    • 核?標簽
      核?標簽是最常?的 JSTL標簽。引?核?標簽庫的語法如下:
      <%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
    • if:相當于java代碼的if語句

    • 屬性:
      • test 必須屬性,接受boolean表達式
        • 如果表達式為true,則顯示if標簽體內容,如果為false,則不顯示標簽體內容
        • 一般情況下,test屬性值會結合el表達式一起使用
    • 注意:
      • c:if標簽沒有else情況,想要else情況,則可以再定義一個c:if標簽
    • choose:相當于java代碼的switch語句

    • 使用choose標簽聲明 相當于switch聲明
    • 使用when標簽做判斷 相當于case
    • 使用otherwise標簽做其他情況的聲明 相當于default
    • foreach:相當于java代碼的for語句

  • 代碼案例:

    <%@ page import="java.util.List" %> <%@ page import="java.util.ArrayList" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><html> <head><title>if標簽</title> </head> <body><%--c:if標簽1. 屬性:* test 必須屬性,接受boolean表達式* 如果表達式為true,則顯示if標簽體內容,如果為false,則不顯示標簽體內容* 一般情況下,test屬性值會結合el表達式一起使用2. 注意:c:if標簽沒有else情況,想要else情況,則可以在定義一個c:if標簽--%><c:if test="true"><h1>我是真...</h1></c:if><br><%//判斷request域中的一個list集合是否為空,如果不為null則顯示遍歷集合List list = new ArrayList();list.add("aaaa");request.setAttribute("list",list);request.setAttribute("number",4);%><c:if test="${not empty list}">遍歷集合...</c:if><br><c:if test="${number % 2 != 0}">${number}為奇數</c:if><c:if test="${number % 2 == 0}">${number}為偶數</c:if></body> </html>


    代碼案例:

    <%@ page contentType="text/html;charset=UTF-8" language="java" %><%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><html> <head><title>choose標簽</title> </head> <body><%--完成數字編號對應星期幾案例1.域中存儲一數字2.使用choose標簽取出數字 相當于switch聲明3.使用when標簽做數字判斷 相當于case4.otherwise標簽做其他情況的聲明 相當于default--%><%request.setAttribute("number",51);%><c:choose><c:when test="${number == 1}">星期一</c:when><c:when test="${number == 2}">星期二</c:when><c:when test="${number == 3}">星期三</c:when><c:when test="${number == 4}">星期四</c:when><c:when test="${number == 5}">星期五</c:when><c:when test="${number == 6}">星期六</c:when><c:when test="${number == 7}">星期天</c:when><c:otherwise>數字輸入有誤</c:otherwise></c:choose></body> </html>


    代碼案例:

    <%@ page import="java.util.ArrayList" %> <%@ page import="java.util.List" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %><%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><html> <head><title>foreach標簽</title> </head> <body><%--foreach:相當于java代碼的for語句1. 完成重復的操作for(int i = 0; i < 10; i ++){}* 屬性:begin:開始值end:結束值var:臨時變量step:步長varStatus:循環狀態對象index:容器中元素的索引,從0開始count:循環次數,從1開始2. 遍歷容器List<User> list;for(User user : list){}* 屬性:items:容器對象var:容器中元素的臨時變量varStatus:循環狀態對象index:容器中元素的索引,從0開始count:循環次數,從1開始--%><c:forEach begin="1" end="10" var="i" step="2" varStatus="s">${i} <h3>${s.index}<h3> <h4> ${s.count} </h4><br></c:forEach><hr><%List list = new ArrayList();list.add("aaa");list.add("bbb");list.add("ccc");request.setAttribute("list",list);%><c:forEach items="${list}" var="str" varStatus="s">${s.index} ${s.count} ${str}<br></c:forEach></body> </html>
  • 格式化標簽
    1、fmt:formatDate 作?:將?期類型格式化為指定模式的字符串
    屬性
    value:將要被格式化的數據
    pattern:格式化的模式,與SimpleDateFormat的參數設置?樣
    var:格式化后的字符串所要存放的變量,若不指定var,則會將格式化的結果直接顯示在??
    scope:變量存放的域屬性空間,默認page
    type:其取值為date、time、both,表示給出的value是?期、時間、還是兩者都包含,默認是date
  • 代碼案例:

    <%@ page import="java.util.Date" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %><%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <html> <head><title>Title</title> </head> <body><%pageContext.setAttribute("mytime",new Date());%>date=<fmt:formatDate value="${mytime}" pattern="yyyy-MM-dd"></fmt:formatDate> </body> </html>

    十、Filter

  • 概念:

    • 生活中的過濾器:凈水器,空氣凈化器,土匪、
    • web中的過濾器:當訪問服務器的資源時,過濾器可以將請求攔截下來,完成一些特殊的功能。
    • 過濾器的作用:
      • 一般用于完成通用的操作。如:登錄驗證、統一編碼處理、敏感字符過濾…
  • 快速入門:

  • 步驟:
  • 定義一個類,實現接口Filter
  • 復寫方法
  • 配置攔截路徑
  • web.xml
  • 注解
  • 代碼:
  • @WebFilter("/*")//訪問所有資源之前,都會執行該過濾器public class FilterDemo1 implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException { } @Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println("filterDemo1被執行了....");//放行filterChain.doFilter(servletRequest,servletResponse);}@Overridepublic void destroy() {}}
  • 過濾器細節:

  • web.xml配置

    demo1
    cn.itcast.web.filter.FilterDemo1


    demo1

    /*

  • 過濾器執行流程

  • 執行過濾器
  • 執行放行后的資源
  • 回來執行過濾器放行代碼下邊的代碼
  • 過濾器生命周期方法

  • init:在服務器啟動后,會創建Filter對象,然后調用init方法。只執行一次。用于加載資源
  • doFilter:每一次請求被攔截資源時,會執行。執行多次
  • destroy:在服務器關閉后,Filter對象被銷毀。如果服務器是正常關閉,則會執行destroy方法。只執行一次。用于釋放資源
  • 過濾器配置詳解

    • 攔截路徑配置:
    • 具體資源路徑: /index.jsp 只有訪問index.jsp資源時,過濾器才會被執行
    • 攔截目錄: /user/* 訪問/user下的所有資源時,過濾器都會被執行
    • 后綴名攔截: *.jsp 訪問所有后綴名為jsp資源時,過濾器都會被執行
    • 攔截所有資源:/* 訪問所有資源時,過濾器都會被執行
    • 攔截方式配置:資源被訪問的方式
      • 注解配置:
        • 設置dispatcherTypes屬性
        • REQUEST:默認值。瀏覽器直接請求資源
        • FORWARD:轉發訪問資源
        • INCLUDE:包含訪問資源
        • ERROR:錯誤跳轉資源
        • ASYNC:異步訪問資源

      //瀏覽器直接請求index.jsp資源時,該過濾器會被執行
      //@WebFilter(value="/index.jsp",dispatcherTypes = DispatcherType.REQUEST)
      //只有轉發訪問index.jsp時,該過濾器才會被執行
      //@WebFilter(value="/index.jsp",dispatcherTypes = DispatcherType.FORWARD)
      //瀏覽器直接請求index.jsp或者轉發訪問index.jsp。該過濾器才會被執行
      //@WebFilter(value="/*",dispatcherTypes ={ DispatcherType.FORWARD,DispatcherType.REQUEST})

    • web.xml配置設置<dispatcher></dispatcher>標簽即可 如: <filter-mapping><filter-name>demo1</filter-name><url-pattern>/*</url-pattern><dispatcher>REQUEST</dispatcher></filter-mapping>
  • 過濾器鏈(配置多個過濾器)

    • 執行順序:如果有兩個過濾器:過濾器1和過濾器2

    • 過濾器1
    • 過濾器2
    • 資源執行
    • 過濾器2
    • 過濾器1
    • 過濾器先后順序問題:

    • 注解配置:按照類名的字符串比較規則比較,值小的先執行
      • 如: AFilter 和 BFilter,AFilter就先執行了。
    • web.xml配置:<filter-mapping>誰定義在上邊,誰先執行
    • 使?場景
      1.如何防??戶未登錄就執?后續操作
      String name=(String)session.getAttribute(“key”);
      if(name==null){
      //跳轉到登錄??
      }
      2.設置編碼?式–統?設置編碼
      3.加密解密(密碼的加密和解密)
      4.?法?字篩選
      5.下載資源的限制
      過濾器的特點:在servlet之前和之后都會被執?

    十一、Listener

    1.什么是監聽器
    監聽器就是監聽某個域對象的的狀態變化的組件
    監聽器的相關概念:
    事件源:被監聽的對象(三個域對象 request、session、servletContext)
    監聽器:監聽事件源對象事件源對象的狀態的變化都會觸發監聽器
    注冊監聽器:將監聽器與事件源、事件進?綁定。事件源上發生某個事件后,執行監聽器代碼
    響應?為:監聽器監聽到事件源的狀態變化時所涉及的功能代碼(程序員編寫代碼)

    • ServletContextListener:監聽ServletContext對象的創建和銷毀
      • 方法:
        • void contextDestroyed(ServletContextEvent sce) :ServletContext對象被銷毀之前會調用該方法
        • void contextInitialized(ServletContextEvent sce) :ServletContext對象創建后會調用該方法
      • 步驟:
      • 定義一個類,實現ServletContextListener接口
      • 復寫方法
      • 配置1. web.xml<listener><!-- 監聽器所在的路徑 --><listener-class>cn.itcast.web.listener.ContextLoaderListener</listener-class></listener>2. 注解:* @WebListener

    2.監聽器分類

    3.監聽三?域對象的創建與銷毀的監聽器

    • ServletContextListener
      監聽ServletContext域的創建與銷毀的監聽器
      Servlet域的?命周期
      何時創建:服務器啟動創建
      何時銷毀:服務器關閉銷毀
      ServletContextListener監聽器的主要作?
      初始化的?作:初始化對象、初始化數據(加載數據庫驅動、連接池的初始化)
      加載?些初始化的配置?件(spring的配置?件)
      任務調度(定時器—Timer/TimerTask)
    • HttpSessionListener
      監聽Httpsession域的創建和銷毀的監聽器
      HttpSession對象的?命周期
      何時創建:第?次調?request.getSession時創建
      何時銷毀:服務器關閉銷毀、session過期(默認30分鐘,修改默認的30分鐘是在
      Tomcat的web.xml,修改當前項?的過期時間是在??項?的web.xml中)、?動銷毀
      HttpSessionListener監聽器的主要作?:
      由于每次訪問?站都會默認創建session對象(jsp??中page指令中的session屬性默認為
      true,即被訪問時創建session),可以?于計數?站訪問過的?
    • ServletRequestListener
      監聽ServletRequest域創建與銷毀的監聽器
      ServletRequest的?命周期
      創建:每?次請求都會創建request
      銷毀:請求結束
      ?法同上,?處不是很?,此處省略。

    十二、 MVC和三層架構

    1.MVC設計模式

  • jsp演變歷史
  • 早期只有servlet,只能使用response輸出標簽數據,非常麻煩
  • 后來又jsp,簡化了Servlet的開發,如果過度使用jsp,在jsp中即寫大量的java代碼,有寫html表,造成難于維護,難于分工協作
  • 再后來,java的web開發,借鑒mvc開發模式,使得程序的設計更加合理性
  • MVC:
  • M:Model,模型。JavaBean
    • 完成具體的業務操作,如:查詢數據庫,封裝對象
  • V:View,視圖。JSP
    • 展示數據
  • C:Controller,控制器。Servlet
    • 獲取用戶的輸入
    • 調用模型
    • 將數據交給視圖進行展示
    • 優缺點:

      1. 優點:1. 耦合性低,方便維護,可以利于分工協作2. 重用性高2. 缺點:1. 使得項目架構變得復雜,對開發人員要求高

    JavaBeans :是Java中?種特殊的類(換?之:JavaBean就是?個Java類).
    ?個Java類 ,滿?以下要求,則可稱為?個JavaBean
    a. public修飾的類,提供public ?參構造?法
    b. 所有屬性 都是private
    C. 提供getter和setter?法
    從使?層?來看,JavaBean分為2?類:
    a. 封裝業務邏輯的JavaBean(eg:LoginDao.java 封裝了登錄邏輯)
    b. 封裝數據的JavaBean(實體類:eg:Student.java Vadio.java 。往往對應于數據庫中的?張
    表,即數據庫中有個Student表,項?中就有個Student.java類)通常:表名=類名,列名=屬性名
    JavaBean是?個可以重復使?的組件,通過編寫?個組件來實現某種通?功能,“?次編寫、任何地?執?、任何地?重?”。

    2.三層架構
    三層架構 通常意義上的三層架構就是將整個業務應?劃分為:表現層(UI)、業務邏輯層(BLL)、數據訪問層(DAL)。區分層次的?的即為了“?內聚,低耦合”的思想。
    1、表現層(UI):通俗講就是展現給?戶的界?,即?戶在使??個系統的時候他的所?所得。
    jsp/html
    2、業務邏輯層(BLL):針對具體問題的操作,也可以說是對數據層的操作,對數據業務邏輯處理。
    servlet,service
    3、數據訪問層(DAL):該層所做事務直接操作數據庫,針對數據的增添、刪除、修改、更新、查找
    等。dao
    表現層實現的代表作品是Struts,springmvc框架,
    業務層實現的代表作品是Spring,
    持久層實現的代表作品是Hibernate,mybatis。
    層就相當于?個?盒?,我們不?知道它內部怎么實現,只需要知道如何去調?它就?了。每層只與上下相鄰的兩層打交道。當?層內部由于技術變遷發?變化時,只要接?不變,其他層不?做任何改變。分層之后靈活性提?,也便于團隊分?開發。

    3.三層架構和MVC的區別與聯系

    MVC可以是三層中的?個表現層框架,屬于表現層。三層和mvc可以共存。
    三層是基于業務邏輯來分的,?MVC是基于??來分的。
    MVC主要?于表現層,3層主要?于體系架構,3層?般是表現層、中間層、數據層,其中表現層?可以分成M、V、C,(Model View Controller)模型-視圖-控制器
    MVC是表現模式(Presentation Pattern)
    三層架構是典型的架構模式(Architecture Pattern)
    三層架構的分層模式是典型的上下關系,上層依賴于下層。但MVC作為表現模式是不存在上下關系的,?是相互協作關系。即使將MVC當作架構模式,也不是分層模式。MVC和三層架構基本沒有可?性,是應?于不同領域的技術。

    十三、Ajax

    1. 概念: ASynchronous JavaScript And XML 異步的JavaScript 和 XML
    Ajax 是一種在無需重新加載整個網頁的情況下,能夠更新部分網頁的技術。
    通過在后臺與服務器進行少量數據交換,Ajax 可以使網頁實現異步更新。這意味著可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。
    傳統的網頁(不使用 Ajax)如果需要更新內容,必須重載整個網頁頁面。
    功能:提升用戶的體驗

    異步和同步:客戶端和服務器端相互通信的基礎上
    * 同步: 客戶端必須等待服務器端的響應。在等待的期間客戶端不能做其他操作。
    * 異步:客戶端不需要等待服務器端的響應。在服務器處理請求的過程中,客戶端可以進行其他的操作。
    * 瀏覽器的普通交互?式(同步)

    2.工作原理:
    1.客戶端瀏覽器發送JS請求Ajax引擎。
    2.Ajax將JS請求轉換成HTTP請求。
    3.服務器對接收到的數據進行處理。
    4.服務器返回XML、JSON或文本文檔類型的數據給Ajax引擎。
    5.AJax引擎接收服務器返回的數據進行渲染。

    3. 實現方式:
    (1)原生的JS實現方式(了解)

    AJAX 的核?是 XMLHttpRequest 對象。
    不同的瀏覽器創建 XMLHttpRequest 對象的?法是有差異的。
    IE 6及以下瀏覽器使? ActiveXObject,?其他的瀏覽器使?名為 XMLHttpRequest 的 JavaScript 內建對象

    //1.創建核心對象var xmlhttp;if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safarixmlhttp=new XMLHttpRequest();}else{// code for IE6, IE5xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}//2. 建立連接/*參數:1. 請求方式:GET、POST* get方式,請求參數在URL后邊拼接。send方法為空參* post方式,請求參數在send方法中定義2. 請求的URL:3. 同步或異步請求:true(異步)或 false(同步)*/xmlhttp.open("GET","ajaxServlet?username=tom",true);//3.發送請求xmlhttp.send();//4.接受并處理來自服務器的響應結果//獲取方式 :xmlhttp.responseText//什么時候獲取?當服務器響應成功后再獲取//當xmlhttp對象的就緒狀態改變時,觸發事件onreadystatechange。xmlhttp.onreadystatechange=function(){//判斷readyState就緒狀態是否為4,判斷status響應狀態碼是否為200if (xmlhttp.readyState==4 && xmlhttp.status==200){//獲取服務器的響應結果var responseText = xmlhttp.responseText;alert(responseText);}}
    • XMLHttpRequest常?屬性
      • onreadystatechange 屬性
        onreadystatechange 屬性存有處理服務器響應的函數。
      xmlHttp.onreadystatechange = function() { }
      • readyState 屬性
        readyState 屬性存有服務器響應的狀態信息。每當 readyState 改變時,onreadystatechange 函數就會
        被執?。
        readyState 屬性可能的值:
      • responseText 屬性
        可以通過 responseText 屬性來取回由服務器返回的數據。

    AJAX狀態碼說明
    1xx:請求收到,繼續處理
    2xx:操作成功收到,分析、接受
    3xx:完成此請求必須進?步處理
    4xx:請求包含?個錯誤語法或不能完成
    5xx:服務器執??個 完全有效請求 失敗
    再具體就如下:
    100——客戶必須繼續發出請求
    101——客戶要求服務器根據請求轉換HTTP協議版本
    200——交易成功
    201——提示知道新?件的URL
    202——接受和處理、但處理未完成
    203——返回信息不確定或不完整
    204——請求收到,但返回信息為空
    205——服務器完成了請求,?戶代理必須復位當前已經瀏覽過的?件
    206——服務器已經完成了部分?戶的GET請求
    300——請求的資源可在多處得到
    301——刪除請求數據
    302——在其他地址發現了請求數據
    303——建議客戶訪問其他URL或訪問?式
    304——客戶端已經執?了GET,但?件未變化
    305——請求的資源必須從服務器指定的地址得到
    306——前?版本HTTP中使?的代碼,現?版本中不再使?
    307——申明請求的資源臨時性刪除
    400——錯誤請求,如語法錯誤
    401——請求授權失敗
    402——保留有效ChargeTo頭響應
    403——請求不允許
    404——沒有發現?件、查詢或URl
    405——?戶在Request-Line字段定義的?法不允許
    406——根據?戶發送的Accept拖,請求資源不可訪問
    407——類似401,?戶必須?先在代理服務器上得到授權
    408——客戶端沒有在?戶指定的餓時間內完成請求
    409——對當前資源狀態,請求不能完成
    410——服務器上不再有此資源且?進?步的參考地址
    411——服務器拒絕?戶定義的Content-Length屬性請求
    412——?個或多個請求頭字段在當前請求中錯誤
    413——請求的資源?于服務器允許的??
    414——請求的資源URL?于服務器允許的?度
    415——請求資源不?持請求項?格式
    416——請求中包含Range請求頭字段,在當前請求資源范圍內沒有range指示值,請求也不包含IfRange請求頭字段
    417——服務器不滿?請求Expect頭字段指定的期望值,如果是代理服務器,可能是下?級服務器不能
    滿?請求
    500——服務器產?內部錯誤
    501——服務器不?持請求的函數
    502——服務器暫時不可?,有時是為了防?發?系統過載
    503——服務器過載或暫停維修
    504——關?過載,服務器使?另?個關?或服務來響應?戶,等待時間設定值較?
    505——服務器不?持或拒絕?請求頭中指定的HTTP版本

    (2).JQeury實現方式

    1. $.ajax()* 語法:$.ajax({鍵值對});//使用$.ajax()發送異步請求$.ajax({url:"ajaxServlet1111" , // 請求路徑type:"POST" , //請求方式//data: "username=jack&age=23",//請求參數data:{"username":"jack","age":23},success:function (data) {alert(data);},//響應成功后的回調函數error:function () {alert("出錯啦...")},//表示如果請求響應出現錯誤,會執行的回調函數dataType:"text"//設置接受到的響應數據的格式(預期服務器返回的數據類型)});2. $.get():發送get請求* 語法:$.get(url, [data], [callback], [type])* 參數:* url:請求路徑* data:請求參數* callback:回調函數* type:響應結果的類型(預期服務器返回的數據類型)3. $.post():發送post請求* 語法:$.post(url, [data], [callback], [type])* 參數:* url:請求路徑* data:請求參數* callback:回調函數* type:響應結果的類型

    十四、JSON

    1. 概念: JavaScript Object Notation (JavaScript對象表示法)
    JSON (JavaScript Object Notation) 是?種輕量級的數據交換格式。 易于?閱讀和編寫。同時也易于機器解析和?成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition -December 1999的?個?集。 JSON采?完全獨?于語?的?本格式,但是也使?了類似于C語?家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 這些特性使JSON成為理想的數據交換語?。

    * json現在多用于存儲和交換文本信息的語法 * 進行數據的傳輸 * JSON 比 XML 更小、更快,更易解析。

    1.jackson

  • 語法:

  • 基本規則
    • 數據在名稱/值對中:json數據是由鍵值對構成的
      • 鍵用引號(單雙都行)引起來,也可以不使用引號
      • 值得取值類型:
      • 數字(整數或浮點數)
      • 字符串(在雙引號中)
      • 邏輯值(true 或 false)
      • 數組(在方括號中) {“persons”:[{},{}]}
      • 對象(在花括號中) {“address”:{“province”:“陜西”…}}
      • null
    • 數據由逗號分隔:多個鍵值對由逗號分隔
    • 花括號保存對象:使用{}定義json 格式
    • 方括號保存數組:[]
  • 獲取數據:
  • json對象.鍵名

  • json對象[“鍵名”]

  • 數組對象[索引]

  • 遍歷
    //1.定義基本格式

    var person = {"name": "張三", age: 23, 'gender': true};var ps = [{"name": "張三", "age": 23, "gender": true},{"name": "李四", "age": 24, "gender": true},{"name": "王五", "age": 25, "gender": false}];//獲取person對象中所有的鍵和值//for in 循環 /* for(var key in person){//這樣的方式獲取不行。因為相當于 person."name"//alert(key + ":" + person.key);alert(key+":"+person[key]);}*///獲取ps中的所有值for (var i = 0; i < ps.length; i++) {var p = ps[i];for(var key in p){alert(key+":"+p[key]);}}
  • JSON數據和Java對象的相互轉換

    • JSON解析器:
      • 常見的解析器:Jsonlib,Gson,fastjson,jackson
  • JSON轉為Java對象(jackson)
  • 導入jackson的相關jar包

  • 創建Jackson核心對象 ObjectMapper

  • 調用ObjectMapper的相關方法進行轉換

  • readValue(json字符串數據,Class)
  • Java對象轉換JSON
  • 使用步驟:
  • 導入jackson的相關jar包
  • 創建Jackson核心對象 ObjectMapper
  • 調用ObjectMapper的相關方法進行轉換
  • 轉換方法:

    • writeValue(參數1,obj):
      參數1:
      File:將obj對象轉換為JSON字符串,并保存到指定的文件中
      Writer:將obj對象轉換為JSON字符串,并將json數據填充到字符輸出流中
      OutputStream:將obj對象轉換為JSON字符串,并將json數據填充到字節輸出流中
    • writeValueAsString(obj):將對象轉為json字符串
  • 注解:

  • @JsonIgnore:被此注解標注的屬性將不再被轉為JSON格式
  • @JsonFormat:屬性值的格式化
    • @JsonFormat(pattern = “yyyy-MM-dd”) 如日期對象格式化,pattern用法與SimpleDateFormat類似
  • 復雜java對象轉換

  • List:數組 存儲的為對象則為對象數組 [{“key”:“value”},{“key”:“value”},{“key”:“value”}]
  • Map:與對象格式一致
  • 案例:
    Person類:

    public class Person {private String name;private int age ;private String gender;//@JsonIgnore // 忽略該屬性@JsonFormat(pattern = "yyyy-MM-dd")private Date birthday;public Person(String name, int age, String gender) {this.name = name;this.age = age;this.gender = gender;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}@Overridepublic String toString() {return "Person{" +"name='" + name + '\'' +", age=" + age +", gender='" + gender + '\'' +'}';} }

    測試類

    public class JacksonTest {//Java對象轉為JSON字符串@Testpublic void test1() throws Exception {//1.創建Person對象Person p = new Person();p.setName("張三");p.setAge(23);p.setGender("男");//2.創建Jackson的核心對象 ObjectMapperObjectMapper mapper = new ObjectMapper();//3.轉換/*轉換方法:writeValue(參數1,obj):參數1:File:將obj對象轉換為JSON字符串,并保存到指定的文件中Writer:將obj對象轉換為JSON字符串,并將json數據填充到字符輸出流中OutputStream:將obj對象轉換為JSON字符串,并將json數據填充到字節輸出流中writeValueAsString(obj):將對象轉為json字符串*/String json = mapper.writeValueAsString(p);//{"name":"張三","age":23,"gender":"男"}//System.out.println(json);//{"name":"張三","age":23,"gender":"男"}//writeValue,將數據寫到d://a.txt文件中//mapper.writeValue(new File("d://a.txt"),p);//writeValue.將數據關聯到Writer中mapper.writeValue(new FileWriter("d://b.txt"),p);}@Testpublic void test2() throws Exception {//1.創建Person對象Person p = new Person();p.setName("張三");p.setAge(23);p.setGender("男");p.setBirthday(new Date());//2.轉換 Object -> JSONObjectMapper mapper = new ObjectMapper();String json = mapper.writeValueAsString(p);System.out.println(json);//{"name":"張三","age":23,"gender":"男","birthday":1530958029263}//{"name":"張三","age":23,"gender":"男","birthday":"2018-07-07"}}// List集合 - > JSON Set集合類似@Testpublic void test3() throws Exception {//1.創建Person對象Person p = new Person();p.setName("張三");p.setAge(23);p.setGender("男");p.setBirthday(new Date());Person p1 = new Person();p1.setName("張三");p1.setAge(23);p1.setGender("男");p1.setBirthday(new Date());Person p2 = new Person();p2.setName("張三");p2.setAge(23);p2.setGender("男");p2.setBirthday(new Date());//創建List集合List<Person> ps = new ArrayList<Person>();ps.add(p);ps.add(p1);ps.add(p2);//2.轉換ObjectMapper mapper = new ObjectMapper();// List -> JSONString json = mapper.writeValueAsString(ps);// [{},{},{}]//[{"name":"張三","age":23,"gender":"男","birthday":"2018-07-07"},{"name":"張三","age":23,"gender":"男","birthday":"2018-07-07"},{"name":"張三","age":23,"gender":"男","birthday":"2018-07-07"}]System.out.println(json);// JSON -> ListList<Person> list = mapper.readValue(json, new TypeReference<List<Person>>() {}); // class java.util.ArrayListfor (Person pp : list) {System.out.println(pp);}}//Map集合 -> JSON@Testpublic void test4() throws Exception {//1.創建map對象Map<String,Object> map = new HashMap<String,Object>();map.put("name","張三");map.put("age",23);map.put("gender","男");//2.轉換 map -> JSONObjectMapper mapper = new ObjectMapper();String json = mapper.writeValueAsString(map);//{"name":"張三","age":23,"gender":"男"}System.out.println(json);//{"gender":"男","name":"張三","age":23}// JSON -> Map//方式一: //class java.util.LinkedHashMapMap<String,Object> hm = mapper.readValue(json, Map.class);//方式二: //class java.util.LinkedHashMap//Map<String, Object> lhm= mapper.readValue(json, new TypeReference<Map<String, Object>>() {}); Set<String> set = hm.keySet();for (String str : set) {System.out.println(str + ":" + hm.get(str));}}//演示 JSON字符串轉為Java對象@Testpublic void test5() throws Exception {//1.初始化JSON字符串String json = "{\"gender\":\"男\",\"name\":\"張三\",\"age\":23}";//2.創建ObjectMapper對象ObjectMapper mapper = new ObjectMapper();//3.轉換為Java對象 Person對象Person person = mapper.readValue(json, Person.class);System.out.println(person);}/*** 將數組轉換成json字符串* [{"name":"張三","age":23,"gender":"男"},{"name":"李四","age":24,"gender":"女"},{"name":"王五","age":25,"gender":"男"}]* @throws Exception*/@Testpublic void test6() throws Exception {Person p1 = new Person("張三", 23, "男");Person p2 = new Person("李四", 24, "女");Person p3 = new Person("王五", 25, "男");Person[] persons = {p1, p2, p3};ObjectMapper mapper = new ObjectMapper();// Array -> JSONString json= mapper.writeValueAsString(persons);System.out.println(json);// JSON ->ArrayPerson[] persons = mapper.readValue(json, Person[].class); // [Lcn.itcast.domain.Person;@43195e57String content = "";for (Person person : persons) {content+=person + " ";}System.out.println(content);}}

    2.Jsonlib

  • JSON轉為Java對象
    1. 導入Jsonlib的相關jar包

    java對象和json之間的轉換
    《1》單個對象或map集合
    java->json:

    Users user2=new Users();
    user2.setUsername(“李四”);
    user2.setPassword(“abc”);
    user2.setAge(20);
    JSONObject obj=JSONObject.fromObject(user);//obj就是json格式的

    json->java:

    String str="{‘username’:‘李四’,‘password’:‘admin’,‘age’:19}";
    JSONObject json=JSONObject.fromObject(str);
    Users user=(Users)JSONObject.toBean(json,Users.class);

  • 《2》對象集合和json的轉換
    java集合->json數組:

    List list=new ArrayList();
    list.add(“dd”);
    list.add(“aa”);
    JSONArray obj=JSONArray.fromObject(list);//set也是這么轉

    json數組->java集合:
    ?式1:
    String str2="[{‘age’:20,‘password’:‘abc’,‘username’:‘李四’},
    {‘age’:10,‘password’:‘adb’,‘username’:‘張三’}]";
    JSONArray json2=JSONArray.fromObject(str2);
    Object[] obj=(Object[])JSONArray.toArray(json2,Users.class);
    ?式2:
    String str3="[{‘age’:20,‘password’:‘abc’,‘username’:‘李四’},
    {‘age’:10,‘password’:‘adb’,‘username’:‘展示?’}]";
    JSONArray json3=JSONArray.fromObject(str3);
    //默認轉換成ArrayList
    List list=(List) JSONArray.toCollection(json3,Users.class);

    感謝您能閱讀至此!!respect!!!!

    總結

    以上是生活随笔為你收集整理的那些年关于JavaWeb的点点滴滴,你想看的这里全都有噢~的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    丰腴饱满的极品熟妇 | 无码帝国www无码专区色综合 | 最近中文2019字幕第二页 | 99er热精品视频 | 日韩精品无码一区二区中文字幕 | 国内丰满熟女出轨videos | 未满小14洗澡无码视频网站 | 国产精品久久久久久亚洲影视内衣 | 国产成人无码一二三区视频 | 人妻互换免费中文字幕 | 日韩人妻无码一区二区三区久久99 | 亚洲欧美国产精品专区久久 | 日本熟妇浓毛 | 午夜男女很黄的视频 | 色妞www精品免费视频 | 国产成人无码a区在线观看视频app | 久久久国产精品无码免费专区 | 欧洲美熟女乱又伦 | 东京热一精品无码av | 亚洲阿v天堂在线 | 男女下面进入的视频免费午夜 | 日韩人妻无码中文字幕视频 | 亚洲无人区午夜福利码高清完整版 | 乱码av麻豆丝袜熟女系列 | 欧美人与善在线com | 国产熟妇高潮叫床视频播放 | 国产精品亚洲综合色区韩国 | 欧美丰满熟妇xxxx性ppx人交 | 国产9 9在线 | 中文 | 亚洲国产av精品一区二区蜜芽 | 日本高清一区免费中文视频 | 97人妻精品一区二区三区 | 国产亚洲欧美在线专区 | 久久久久免费看成人影片 | 丰满诱人的人妻3 | 一本久久伊人热热精品中文字幕 | 国产区女主播在线观看 | 国产一区二区三区四区五区加勒比 | 欧美人与禽猛交狂配 | 久久精品国产大片免费观看 | 亚洲码国产精品高潮在线 | 亚洲爆乳大丰满无码专区 | 国产成人午夜福利在线播放 | 亚洲男人av天堂午夜在 | 综合网日日天干夜夜久久 | 亲嘴扒胸摸屁股激烈网站 | 久久久无码中文字幕久... | 久久久精品人妻久久影视 | 永久免费观看国产裸体美女 | 小鲜肉自慰网站xnxx | 1000部夫妻午夜免费 | 99久久久国产精品无码免费 | 好屌草这里只有精品 | 熟妇激情内射com | 55夜色66夜色国产精品视频 | 黑人玩弄人妻中文在线 | а√资源新版在线天堂 | 无码人妻丰满熟妇区毛片18 | 亚洲欧洲中文日韩av乱码 | 亲嘴扒胸摸屁股激烈网站 | 精品久久久久久人妻无码中文字幕 | 久久久久久国产精品无码下载 | 色婷婷综合中文久久一本 | 亚洲日韩中文字幕在线播放 | 中文字幕无码免费久久99 | 少妇性荡欲午夜性开放视频剧场 | 漂亮人妻洗澡被公强 日日躁 | 成熟女人特级毛片www免费 | 午夜福利试看120秒体验区 | 任你躁在线精品免费 | 东京无码熟妇人妻av在线网址 | 成人精品一区二区三区中文字幕 | 成人试看120秒体验区 | 久久久久亚洲精品中文字幕 | 亚洲一区二区三区播放 | 亚洲熟妇色xxxxx欧美老妇 | 欧美日本日韩 | 东京无码熟妇人妻av在线网址 | 中文字幕人妻无码一区二区三区 | 精品国产青草久久久久福利 | 精品一区二区不卡无码av | 色婷婷av一区二区三区之红樱桃 | 青青草原综合久久大伊人精品 | 亚洲 日韩 欧美 成人 在线观看 | 亚洲精品鲁一鲁一区二区三区 | 人人妻人人澡人人爽人人精品 | 天堂а√在线中文在线 | 在线看片无码永久免费视频 | 婷婷五月综合缴情在线视频 | 鲁鲁鲁爽爽爽在线视频观看 | 爆乳一区二区三区无码 | 人妻少妇精品无码专区二区 | 亚洲精品国产精品乱码不卡 | 红桃av一区二区三区在线无码av | 国产成人无码av一区二区 | 55夜色66夜色国产精品视频 | 久久精品国产一区二区三区 | 精品国产成人一区二区三区 | 四虎永久在线精品免费网址 | 成年女人永久免费看片 | 久久99精品国产.久久久久 | 国产在线aaa片一区二区99 | 亚洲一区二区三区香蕉 | 性做久久久久久久久 | 国产精品内射视频免费 | 全球成人中文在线 | 帮老师解开蕾丝奶罩吸乳网站 | 极品嫩模高潮叫床 | 国产精品第一区揄拍无码 | 欧美日韩亚洲国产精品 | 欧美日韩久久久精品a片 | 无套内射视频囯产 | 亚洲 日韩 欧美 成人 在线观看 | 东京无码熟妇人妻av在线网址 | 俄罗斯老熟妇色xxxx | 无套内谢的新婚少妇国语播放 | 少妇人妻偷人精品无码视频 | 97人妻精品一区二区三区 | 精品国偷自产在线 | 永久免费精品精品永久-夜色 | 清纯唯美经典一区二区 | 午夜福利一区二区三区在线观看 | 国产亚洲精品精品国产亚洲综合 | 成人无码视频免费播放 | 人人妻在人人 | 欧美日韩一区二区免费视频 | 国产日产欧产精品精品app | 国产一区二区不卡老阿姨 | 国产亚洲精品久久久久久大师 | 国产一区二区三区四区五区加勒比 | 巨爆乳无码视频在线观看 | 强辱丰满人妻hd中文字幕 | 动漫av网站免费观看 | 久久久久久a亚洲欧洲av冫 | 未满成年国产在线观看 | 成人av无码一区二区三区 | 久久人人爽人人爽人人片av高清 | 国产精品怡红院永久免费 | 婷婷五月综合缴情在线视频 | 国产真人无遮挡作爱免费视频 | 女人被爽到呻吟gif动态图视看 | 无码人妻久久一区二区三区不卡 | 国产人妻久久精品二区三区老狼 | 无码一区二区三区在线观看 | 成人欧美一区二区三区黑人免费 | 丰满岳乱妇在线观看中字无码 | 成 人 网 站国产免费观看 | 亚洲日韩中文字幕在线播放 | 97久久超碰中文字幕 | 精品人妻人人做人人爽 | 天堂无码人妻精品一区二区三区 | 老头边吃奶边弄进去呻吟 | 国产精品亚洲五月天高清 | 色情久久久av熟女人妻网站 | 亚洲日本va午夜在线电影 | 亚洲精品久久久久中文第一幕 | 国产激情无码一区二区app | 国产人妻精品一区二区三区 | 欧美老妇与禽交 | 久久久久久九九精品久 | 国产真人无遮挡作爱免费视频 | 青青青爽视频在线观看 | 久久久久人妻一区精品色欧美 | 国产成人久久精品流白浆 | 无码任你躁久久久久久久 | 精品一区二区三区波多野结衣 | 国产精品igao视频网 | 日韩av无码一区二区三区不卡 | 日日麻批免费40分钟无码 | 曰韩无码二三区中文字幕 | 亚洲大尺度无码无码专区 | 久久亚洲国产成人精品性色 | 免费视频欧美无人区码 | 白嫩日本少妇做爰 | 久久亚洲国产成人精品性色 | 99精品国产综合久久久久五月天 | 国产香蕉尹人视频在线 | 国产熟妇高潮叫床视频播放 | 丁香花在线影院观看在线播放 | 99久久久国产精品无码免费 | 国产精品无码mv在线观看 | 亚洲日韩一区二区三区 | 精品一二三区久久aaa片 | 亚洲人成网站免费播放 | 日本乱偷人妻中文字幕 | 亚洲国产综合无码一区 | 99久久99久久免费精品蜜桃 | 国产又爽又猛又粗的视频a片 | 国产乱子伦视频在线播放 | 国产精品久久久av久久久 | 中文字幕无码人妻少妇免费 | 亚洲中文字幕在线观看 | 久热国产vs视频在线观看 | 无遮挡啪啪摇乳动态图 | 久久综合九色综合欧美狠狠 | 中文字幕av伊人av无码av | 免费人成网站视频在线观看 | 国产精品久久久久久亚洲影视内衣 | 成人无码视频免费播放 | 亚洲毛片av日韩av无码 | 国产精品多人p群无码 | 曰韩少妇内射免费播放 | 国产农村妇女高潮大叫 | 欧美成人免费全部网站 | 国产人妻精品一区二区三区不卡 | 国产另类ts人妖一区二区 | 少女韩国电视剧在线观看完整 | 国产乱人无码伦av在线a | 久久久久国色av免费观看性色 | 无码av最新清无码专区吞精 | 丰满人妻一区二区三区免费视频 | 最新国产乱人伦偷精品免费网站 | 人人妻人人澡人人爽人人精品 | 午夜成人1000部免费视频 | 亚洲精品鲁一鲁一区二区三区 | 国产另类ts人妖一区二区 | 国产人妻精品一区二区三区 | 麻豆成人精品国产免费 | 亚洲国产av美女网站 | 国产高清av在线播放 | 四虎永久在线精品免费网址 | 日本护士xxxxhd少妇 | 色综合久久久无码网中文 | 亚无码乱人伦一区二区 | 国产成人精品优优av | 熟妇人妻中文av无码 | 亚洲 激情 小说 另类 欧美 | 亚洲乱码日产精品bd | 小sao货水好多真紧h无码视频 | 亚洲综合无码久久精品综合 | 免费中文字幕日韩欧美 | 精品国产一区av天美传媒 | 4hu四虎永久在线观看 | 国产熟妇另类久久久久 | 免费看男女做好爽好硬视频 | 一区二区三区高清视频一 | 欧美激情综合亚洲一二区 | 一二三四在线观看免费视频 | 亚洲日韩av一区二区三区中文 | 欧美国产日产一区二区 | 欧美精品无码一区二区三区 | 国产精品成人av在线观看 | 欧美性猛交内射兽交老熟妇 | 又色又爽又黄的美女裸体网站 | 国产无遮挡吃胸膜奶免费看 | 久久精品国产一区二区三区肥胖 | 国产精品嫩草久久久久 | 国产性生交xxxxx无码 | 色欲久久久天天天综合网精品 | 熟女俱乐部五十路六十路av | 亚洲狠狠婷婷综合久久 | 高清国产亚洲精品自在久久 | 97无码免费人妻超级碰碰夜夜 | 亚洲无人区午夜福利码高清完整版 | 无码精品人妻一区二区三区av | 麻豆果冻传媒2021精品传媒一区下载 | 2020最新国产自产精品 | 久久午夜夜伦鲁鲁片无码免费 | 东京一本一道一二三区 | 国产农村乱对白刺激视频 | 一本久久伊人热热精品中文字幕 | 亚洲日本va中文字幕 | 十八禁真人啪啪免费网站 | 97人妻精品一区二区三区 | 午夜时刻免费入口 | 日本丰满熟妇videos | 国产成人精品久久亚洲高清不卡 | 人妻天天爽夜夜爽一区二区 | 在线观看免费人成视频 | 亚洲中文字幕无码一久久区 | 色五月五月丁香亚洲综合网 | 国产亚洲精品久久久久久久久动漫 | 亚洲国产精品无码一区二区三区 | 女人被男人躁得好爽免费视频 | 蜜臀aⅴ国产精品久久久国产老师 | 精品一区二区三区波多野结衣 | 久久99精品久久久久久 | 人人妻人人澡人人爽欧美一区 | 亚洲熟妇色xxxxx欧美老妇 | 日本一本二本三区免费 | 国产精品怡红院永久免费 | 妺妺窝人体色www婷婷 | 亚洲国产精品久久久久久 | 国产内射爽爽大片视频社区在线 | 蜜桃视频插满18在线观看 | 国产偷国产偷精品高清尤物 | 99久久精品日本一区二区免费 | 国产激情综合五月久久 | 成年美女黄网站色大免费视频 | 少妇邻居内射在线 | 少妇愉情理伦片bd | 一本精品99久久精品77 | 日本一区二区更新不卡 | 国内精品人妻无码久久久影院 | 欧洲精品码一区二区三区免费看 | 国产性生大片免费观看性 | 少妇一晚三次一区二区三区 | 国产精品无码mv在线观看 | 亚洲第一网站男人都懂 | 乱码av麻豆丝袜熟女系列 | 97色伦图片97综合影院 | yw尤物av无码国产在线观看 | 国产色xx群视频射精 | 中文字幕人妻丝袜二区 | 无码毛片视频一区二区本码 | 色综合视频一区二区三区 | 精品国产福利一区二区 | 亚洲成a人一区二区三区 | 国产亚av手机在线观看 | 国产成人无码一二三区视频 | 51国偷自产一区二区三区 | 无码av最新清无码专区吞精 | 2020最新国产自产精品 | 精品国偷自产在线 | 国产精品丝袜黑色高跟鞋 | 亚洲国产成人av在线观看 | 欧美日韩在线亚洲综合国产人 | 亚洲成av人片天堂网无码】 | 中文无码精品a∨在线观看不卡 | 5858s亚洲色大成网站www | 日日麻批免费40分钟无码 | 日本一卡二卡不卡视频查询 | 秋霞成人午夜鲁丝一区二区三区 | 精品国产成人一区二区三区 | 全球成人中文在线 | 久久人人爽人人爽人人片av高清 | 精品人妻人人做人人爽夜夜爽 | 激情综合激情五月俺也去 | 久久精品视频在线看15 | 日本爽爽爽爽爽爽在线观看免 | 一本久久伊人热热精品中文字幕 | 给我免费的视频在线观看 | 国产手机在线αⅴ片无码观看 | 久久人人爽人人爽人人片av高清 | 欧美xxxx黑人又粗又长 | 乱人伦人妻中文字幕无码久久网 | 人妻插b视频一区二区三区 | 无码人妻黑人中文字幕 | 精品人妻人人做人人爽夜夜爽 | 久久综合给合久久狠狠狠97色 | 国模大胆一区二区三区 | 久久久久国色av免费观看性色 | 久久综合香蕉国产蜜臀av | 激情内射亚州一区二区三区爱妻 | 国精品人妻无码一区二区三区蜜柚 | 天天拍夜夜添久久精品大 | 久久精品国产一区二区三区 | 玩弄人妻少妇500系列视频 | 国产亚洲视频中文字幕97精品 | 精品国精品国产自在久国产87 | 国产精品第一国产精品 | 国精产品一区二区三区 | 午夜嘿嘿嘿影院 | 国产偷国产偷精品高清尤物 | 精品无码一区二区三区爱欲 | 无码精品国产va在线观看dvd | 久久99国产综合精品 | 成人试看120秒体验区 | 精品偷自拍另类在线观看 | 国产精品毛片一区二区 | √天堂中文官网8在线 | 亚洲精品美女久久久久久久 | 久久人人爽人人爽人人片ⅴ | 奇米影视7777久久精品人人爽 | 黑人巨大精品欧美黑寡妇 | 亚洲成a人片在线观看无码 | 国产精品丝袜黑色高跟鞋 | 窝窝午夜理论片影院 | 无码福利日韩神码福利片 | av无码电影一区二区三区 | 九一九色国产 | 国产午夜亚洲精品不卡下载 | 给我免费的视频在线观看 | 国产色视频一区二区三区 | 人妻少妇精品无码专区动漫 | 强开小婷嫩苞又嫩又紧视频 | 亚洲春色在线视频 | 亚洲欧美色中文字幕在线 | 国产sm调教视频在线观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产精品理论片在线观看 | 久久97精品久久久久久久不卡 | 日本乱偷人妻中文字幕 | 人妻夜夜爽天天爽三区 | 成熟人妻av无码专区 | 免费无码的av片在线观看 | 亚洲综合另类小说色区 | 国产精品美女久久久网av | 国产女主播喷水视频在线观看 | 精品一区二区三区波多野结衣 | 亚洲精品综合五月久久小说 | 99久久人妻精品免费二区 | 日本成熟视频免费视频 | 亚洲无人区午夜福利码高清完整版 | 色噜噜亚洲男人的天堂 | 日本一本二本三区免费 | 水蜜桃色314在线观看 | 久久视频在线观看精品 | 初尝人妻少妇中文字幕 | 男女猛烈xx00免费视频试看 | 中文字幕日产无线码一区 | 中文字幕 亚洲精品 第1页 | 精品国产乱码久久久久乱码 | 欧美日韩亚洲国产精品 | 国产免费久久久久久无码 | 无码国产激情在线观看 | 97精品人妻一区二区三区香蕉 | 兔费看少妇性l交大片免费 | 一区二区传媒有限公司 | 国产精品99久久精品爆乳 | 亚洲综合在线一区二区三区 | 亚洲中文字幕无码一久久区 | www国产亚洲精品久久久日本 | 国产美女精品一区二区三区 | 欧美刺激性大交 | 婷婷六月久久综合丁香 | 欧美真人作爱免费视频 | 亚洲日韩一区二区三区 | 亚洲欧洲无卡二区视頻 | 免费看男女做好爽好硬视频 | 99久久久国产精品无码免费 | 亚洲欧美国产精品专区久久 | 亚洲日韩中文字幕在线播放 | 婷婷丁香五月天综合东京热 | 国产综合在线观看 | 曰韩无码二三区中文字幕 | 国产人妻精品一区二区三区不卡 | 亚洲欧洲日本无在线码 | 中文字幕乱码中文乱码51精品 | 爽爽影院免费观看 | 97精品人妻一区二区三区香蕉 | 日本精品少妇一区二区三区 | 欧美zoozzooz性欧美 | 天天摸天天透天天添 | 性开放的女人aaa片 | 成人欧美一区二区三区黑人免费 | 欧美大屁股xxxxhd黑色 | 波多野结衣av一区二区全免费观看 | 日本一区二区三区免费播放 | 亚洲最大成人网站 | 性欧美牲交在线视频 | 亚洲爆乳精品无码一区二区三区 | 成人女人看片免费视频放人 | 国产情侣作爱视频免费观看 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 精品国产一区二区三区四区 | 国产97在线 | 亚洲 | 熟女俱乐部五十路六十路av | 亚洲熟女一区二区三区 | 国产精品高潮呻吟av久久4虎 | 性欧美videos高清精品 | 久久久久久久女国产乱让韩 | 亚洲呦女专区 | 无码毛片视频一区二区本码 | 久久亚洲a片com人成 | 午夜理论片yy44880影院 | 国产精品对白交换视频 | 黄网在线观看免费网站 | 精品国产一区二区三区四区 | 亚洲精品久久久久avwww潮水 | 东京无码熟妇人妻av在线网址 | 婷婷五月综合缴情在线视频 | 人人超人人超碰超国产 | 亚洲日韩中文字幕在线播放 | 久久视频在线观看精品 | 成人免费视频视频在线观看 免费 | 欧美丰满老熟妇xxxxx性 | 亚洲色www成人永久网址 | 亚洲综合色区中文字幕 | 人人澡人摸人人添 | 日日碰狠狠躁久久躁蜜桃 | 一个人免费观看的www视频 | 人人妻在人人 | 性色欲网站人妻丰满中文久久不卡 | 亚洲日韩av片在线观看 | 亚洲国产成人a精品不卡在线 | 曰韩无码二三区中文字幕 | 亚洲一区二区三区含羞草 | 亚洲 激情 小说 另类 欧美 | 欧美人与禽zoz0性伦交 | 精品亚洲韩国一区二区三区 | 久久97精品久久久久久久不卡 | 麻豆国产人妻欲求不满 | 欧美freesex黑人又粗又大 | 欧美日韩综合一区二区三区 | 丰腴饱满的极品熟妇 | 中文毛片无遮挡高清免费 | 欧美成人午夜精品久久久 | 在线视频网站www色 | 又湿又紧又大又爽a视频国产 | 未满小14洗澡无码视频网站 | 日日天干夜夜狠狠爱 | 熟妇女人妻丰满少妇中文字幕 | 欧美性生交xxxxx久久久 | 熟女体下毛毛黑森林 | 午夜福利电影 | 又湿又紧又大又爽a视频国产 | 国产午夜精品一区二区三区嫩草 | 欧美三级a做爰在线观看 | 激情亚洲一区国产精品 | a片在线免费观看 | 欧美乱妇无乱码大黄a片 | 国产激情艳情在线看视频 | 亚洲理论电影在线观看 | 国产成人av免费观看 | 成熟人妻av无码专区 | 国产午夜无码精品免费看 | 性欧美牲交xxxxx视频 | 久久精品中文闷骚内射 | 国产精品久久久一区二区三区 | 亚洲精品国偷拍自产在线麻豆 | 日本一卡2卡3卡四卡精品网站 | 亚洲精品成a人在线观看 | 欧美三级a做爰在线观看 | 一本色道婷婷久久欧美 | 成人无码视频在线观看网站 | 日日麻批免费40分钟无码 | 国产又粗又硬又大爽黄老大爷视 | 国产性生大片免费观看性 | 亚洲国产高清在线观看视频 | 亚洲中文字幕乱码av波多ji | 国产精品a成v人在线播放 | 人妻夜夜爽天天爽三区 | 成人影院yy111111在线观看 | 日韩精品久久久肉伦网站 | 久久国产精品偷任你爽任你 | 人妻少妇精品无码专区动漫 | 中文字幕人成乱码熟女app | 欧美日韩视频无码一区二区三 | 日日碰狠狠躁久久躁蜜桃 | 亚洲成av人片在线观看无码不卡 | 天天av天天av天天透 | 97夜夜澡人人双人人人喊 | 国产真实乱对白精彩久久 | 熟妇人妻激情偷爽文 | 麻豆国产人妻欲求不满谁演的 | 成人精品天堂一区二区三区 | 无码播放一区二区三区 | 精品国产一区二区三区四区 | 亚洲日韩av一区二区三区中文 | 窝窝午夜理论片影院 | 欧美猛少妇色xxxxx | 无套内射视频囯产 | 欧美国产日韩亚洲中文 | 国产精品99久久精品爆乳 | 久久www免费人成人片 | 亚洲日韩乱码中文无码蜜桃臀网站 | 波多野结衣 黑人 | 午夜福利一区二区三区在线观看 | 欧美野外疯狂做受xxxx高潮 | 精品成人av一区二区三区 | 亚洲精品鲁一鲁一区二区三区 | 精品 日韩 国产 欧美 视频 | 国产亚洲视频中文字幕97精品 | 色欲综合久久中文字幕网 | av香港经典三级级 在线 | 人人妻人人澡人人爽人人精品浪潮 | 亚洲成a人片在线观看无码 | 久久精品无码一区二区三区 | 精品国精品国产自在久国产87 | 欧美人与牲动交xxxx | 精品国产aⅴ无码一区二区 | 亚洲熟女一区二区三区 | 国产成人无码av一区二区 | 捆绑白丝粉色jk震动捧喷白浆 | 国精品人妻无码一区二区三区蜜柚 | 女人被男人躁得好爽免费视频 | 青青久在线视频免费观看 | 99久久精品日本一区二区免费 | 老子影院午夜伦不卡 | 国产午夜视频在线观看 | 国产福利视频一区二区 | 人妻有码中文字幕在线 | 18精品久久久无码午夜福利 | 久久午夜无码鲁丝片午夜精品 | 中文字幕无码日韩专区 | 久久人人97超碰a片精品 | 免费视频欧美无人区码 | 亚洲国产av美女网站 | 学生妹亚洲一区二区 | 欧美freesex黑人又粗又大 | 国产欧美精品一区二区三区 | 日韩人妻无码中文字幕视频 | 帮老师解开蕾丝奶罩吸乳网站 | 99riav国产精品视频 | 爽爽影院免费观看 | 又大又黄又粗又爽的免费视频 | 精品国产青草久久久久福利 | 性欧美熟妇videofreesex | 樱花草在线社区www | 狠狠亚洲超碰狼人久久 | 最新版天堂资源中文官网 | 国产香蕉尹人视频在线 | 欧美性生交xxxxx久久久 | 久久综合给合久久狠狠狠97色 | 狠狠色欧美亚洲狠狠色www | 国产人妻精品一区二区三区不卡 | 妺妺窝人体色www在线小说 | 中文字幕乱码中文乱码51精品 | 影音先锋中文字幕无码 | 色一情一乱一伦一视频免费看 | 人人妻人人澡人人爽人人精品浪潮 | 成人aaa片一区国产精品 | 一本久久伊人热热精品中文字幕 | 一本一道久久综合久久 | 久久久久久亚洲精品a片成人 | 久久亚洲精品中文字幕无男同 | 男女作爱免费网站 | 国产精品亚洲一区二区三区喷水 | 丰满肥臀大屁股熟妇激情视频 | 无码国模国产在线观看 | 图片区 小说区 区 亚洲五月 | 欧美老人巨大xxxx做受 | 国产成人无码区免费内射一片色欲 | 少妇被粗大的猛进出69影院 | 久久久中文久久久无码 | 人妻无码αv中文字幕久久琪琪布 | 色综合久久久无码网中文 | 久久99国产综合精品 | 日韩av无码中文无码电影 | 人人爽人人爽人人片av亚洲 | 亚洲中文字幕无码一久久区 | 欧美一区二区三区 | 波多野结衣一区二区三区av免费 | 国产婷婷色一区二区三区在线 | 无码国产激情在线观看 | 亚洲 高清 成人 动漫 | 久久久久久av无码免费看大片 | 久久国产精品精品国产色婷婷 | 国产va免费精品观看 | 国产亚av手机在线观看 | 欧美 日韩 人妻 高清 中文 | 国产精品久免费的黄网站 | 精品久久8x国产免费观看 | 国产精品a成v人在线播放 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 久久久久久久久888 | 亚洲精品国产精品乱码不卡 | 少妇愉情理伦片bd | 国产精品久久久一区二区三区 | 久久精品人人做人人综合试看 | 又大又硬又黄的免费视频 | 国产精品亚洲а∨无码播放麻豆 | 欧美高清在线精品一区 | 狠狠色欧美亚洲狠狠色www | 亚洲理论电影在线观看 | 国产成人综合美国十次 | 无码av中文字幕免费放 | 一二三四社区在线中文视频 | 日韩无套无码精品 | 国产香蕉尹人视频在线 | а天堂中文在线官网 | 高潮毛片无遮挡高清免费视频 | 成熟人妻av无码专区 | 四虎国产精品免费久久 | 精品无码av一区二区三区 | 亚洲成熟女人毛毛耸耸多 | 乱码av麻豆丝袜熟女系列 | 亚洲中文字幕无码中文字在线 | 欧美亚洲日韩国产人成在线播放 | 大地资源中文第3页 | 精品无码一区二区三区爱欲 | 国产三级精品三级男人的天堂 | 久久天天躁狠狠躁夜夜免费观看 | 亚洲 另类 在线 欧美 制服 | 久久国产精品偷任你爽任你 | 一本大道伊人av久久综合 | 中文字幕av无码一区二区三区电影 | 国产亚洲精品精品国产亚洲综合 | 亚洲国产欧美日韩精品一区二区三区 | 少女韩国电视剧在线观看完整 | 亚洲国产欧美日韩精品一区二区三区 | 女人被男人爽到呻吟的视频 | 欧美阿v高清资源不卡在线播放 | 窝窝午夜理论片影院 | 嫩b人妻精品一区二区三区 | 国产无遮挡吃胸膜奶免费看 | 又大又黄又粗又爽的免费视频 | 丰满人妻精品国产99aⅴ | 国产成人一区二区三区别 | 中文精品无码中文字幕无码专区 | 亚洲爆乳大丰满无码专区 | 丰满岳乱妇在线观看中字无码 | 熟妇人妻激情偷爽文 | 国产人妻精品午夜福利免费 | 亚洲色大成网站www国产 | 亚洲欧美综合区丁香五月小说 | 亚洲日韩乱码中文无码蜜桃臀网站 | 国产猛烈高潮尖叫视频免费 | 99久久精品日本一区二区免费 | 亚洲一区二区观看播放 | 亚洲精品中文字幕 | 爱做久久久久久 | 蜜桃视频韩日免费播放 | 国产成人一区二区三区在线观看 | 免费网站看v片在线18禁无码 | 牲欲强的熟妇农村老妇女视频 | 国产麻豆精品精东影业av网站 | 久久综合色之久久综合 | 丰满人妻精品国产99aⅴ | a片在线免费观看 | 人妻夜夜爽天天爽三区 | 亚洲人成影院在线无码按摩店 | 中文字幕乱码人妻二区三区 | 玩弄少妇高潮ⅹxxxyw | 女人被男人爽到呻吟的视频 | 色综合久久88色综合天天 | 欧美亚洲日韩国产人成在线播放 | 亚洲国产精品无码久久久久高潮 | 漂亮人妻洗澡被公强 日日躁 | 久久99精品国产麻豆蜜芽 | 日本高清一区免费中文视频 | 永久免费观看国产裸体美女 | 亲嘴扒胸摸屁股激烈网站 | 十八禁真人啪啪免费网站 | 亚洲啪av永久无码精品放毛片 | 日本一区二区三区免费高清 | 人妻无码久久精品人妻 | 国产亚洲欧美在线专区 | 日本一本二本三区免费 | 亚洲欧洲日本综合aⅴ在线 | 精品无码国产一区二区三区av | 中文字幕无码日韩欧毛 | 99国产欧美久久久精品 | 亚洲人成无码网www | 久久aⅴ免费观看 | 野狼第一精品社区 | 图片区 小说区 区 亚洲五月 | 久久久久久久人妻无码中文字幕爆 | 性色欲情网站iwww九文堂 | av香港经典三级级 在线 | 国产性生大片免费观看性 | 无码帝国www无码专区色综合 | 2020最新国产自产精品 | 久久久久久九九精品久 | 亚洲色成人中文字幕网站 | 狠狠色噜噜狠狠狠7777奇米 | 熟妇人妻无码xxx视频 | 欧洲熟妇色 欧美 | 少妇无码av无码专区在线观看 | 国产人妻人伦精品1国产丝袜 | 国产精品国产自线拍免费软件 | 伊人久久大香线蕉亚洲 | 67194成是人免费无码 | 永久免费观看国产裸体美女 | 日韩欧美中文字幕在线三区 | 国产精品久久久一区二区三区 | 国产内射老熟女aaaa | 亚洲啪av永久无码精品放毛片 | 双乳奶水饱满少妇呻吟 | 蜜桃视频插满18在线观看 | 国产精品美女久久久久av爽李琼 | 亚洲欧美日韩国产精品一区二区 | 天堂а√在线中文在线 | 国内综合精品午夜久久资源 | 蜜臀av在线播放 久久综合激激的五月天 | 亚洲成av人在线观看网址 | 亚洲 另类 在线 欧美 制服 | 国产成人人人97超碰超爽8 | 伊人色综合久久天天小片 | 欧美国产亚洲日韩在线二区 | 久久97精品久久久久久久不卡 | 美女毛片一区二区三区四区 | 久久久国产一区二区三区 | 亚洲精品国产品国语在线观看 | 任你躁国产自任一区二区三区 | 青青草原综合久久大伊人精品 | 老熟妇乱子伦牲交视频 | 久久人人爽人人爽人人片av高清 | 成人无码视频在线观看网站 | 扒开双腿疯狂进出爽爽爽视频 | 熟妇人妻无乱码中文字幕 | 欧美日韩一区二区免费视频 | 无码国产色欲xxxxx视频 | 美女扒开屁股让男人桶 | 性史性农村dvd毛片 | 18精品久久久无码午夜福利 | 18禁黄网站男男禁片免费观看 | 久久伊人色av天堂九九小黄鸭 | 精品无码一区二区三区的天堂 | 窝窝午夜理论片影院 | 久久精品国产一区二区三区 | 日本丰满熟妇videos | 无码任你躁久久久久久久 | 久久久精品欧美一区二区免费 | 亚无码乱人伦一区二区 | 麻豆av传媒蜜桃天美传媒 | √8天堂资源地址中文在线 | 波多野结衣av一区二区全免费观看 | v一区无码内射国产 | 日本xxxx色视频在线观看免费 | 初尝人妻少妇中文字幕 | 夜夜夜高潮夜夜爽夜夜爰爰 | 欧美日韩人成综合在线播放 | 国产香蕉尹人综合在线观看 | 波多野结衣乳巨码无在线观看 | 亚洲一区二区观看播放 | 日日摸日日碰夜夜爽av | 国内综合精品午夜久久资源 | 国产偷国产偷精品高清尤物 | 亚洲人成网站在线播放942 | 国产三级久久久精品麻豆三级 | 国产在线无码精品电影网 | 久久精品成人欧美大片 | 国产肉丝袜在线观看 | 色婷婷av一区二区三区之红樱桃 | 亚洲午夜久久久影院 | 九九综合va免费看 | 欧美 日韩 亚洲 在线 | 免费观看黄网站 | 草草网站影院白丝内射 | 波多野结衣一区二区三区av免费 | 久久综合久久自在自线精品自 | 四十如虎的丰满熟妇啪啪 | 亚洲自偷自拍另类第1页 | 人人爽人人爽人人片av亚洲 | 大肉大捧一进一出好爽视频 | 午夜免费福利小电影 | 中文毛片无遮挡高清免费 | 毛片内射-百度 | 伊人久久婷婷五月综合97色 | 76少妇精品导航 | 无码吃奶揉捏奶头高潮视频 | 亚洲а∨天堂久久精品2021 | 亚洲国产精品无码久久久久高潮 | 亚洲色欲色欲天天天www | 暴力强奷在线播放无码 | 精品乱子伦一区二区三区 | 丰满少妇女裸体bbw | 国产精品va在线播放 | 天干天干啦夜天干天2017 | 亚洲国精产品一二二线 | 国产亚洲精品久久久久久久久动漫 | 亚洲成熟女人毛毛耸耸多 | √天堂中文官网8在线 | 亚洲精品国产品国语在线观看 | 国产精品第一国产精品 | 国产69精品久久久久app下载 | 一区二区三区乱码在线 | 欧洲 | 无码国内精品人妻少妇 | 在线观看免费人成视频 | 国产情侣作爱视频免费观看 | 久精品国产欧美亚洲色aⅴ大片 | 丁香花在线影院观看在线播放 | 精品乱子伦一区二区三区 | 中文字幕乱码亚洲无线三区 | 国产激情无码一区二区 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 东京热一精品无码av | 无码av免费一区二区三区试看 | 亚洲а∨天堂久久精品2021 | 国产综合久久久久鬼色 | 国产在线一区二区三区四区五区 | 国产69精品久久久久app下载 | 午夜无码人妻av大片色欲 | 国产内射爽爽大片视频社区在线 | 漂亮人妻洗澡被公强 日日躁 | 狠狠色欧美亚洲狠狠色www | 亚洲最大成人网站 | 色婷婷av一区二区三区之红樱桃 | 97se亚洲精品一区 | 性色欲网站人妻丰满中文久久不卡 | 无码毛片视频一区二区本码 | 亚洲日韩av一区二区三区中文 | 国语自产偷拍精品视频偷 | 波多野结衣aⅴ在线 | 熟女少妇在线视频播放 | 日韩精品无码免费一区二区三区 | 青青青手机频在线观看 | 国产精品99爱免费视频 | 亚洲精品一区二区三区四区五区 | 国产亚洲日韩欧美另类第八页 | 99久久亚洲精品无码毛片 | 男人和女人高潮免费网站 | 国产精品久久久久无码av色戒 | 亚洲区小说区激情区图片区 | 无码人妻av免费一区二区三区 | 亚洲日韩av片在线观看 | 久久99国产综合精品 | 国产精品久久国产精品99 | 大肉大捧一进一出视频出来呀 | 99精品国产综合久久久久五月天 | 一区二区传媒有限公司 | 黑人大群体交免费视频 | 免费人成在线视频无码 | 国产无遮挡又黄又爽又色 | 日韩在线不卡免费视频一区 | 亚洲中文字幕va福利 | 日韩精品乱码av一区二区 | 亚洲无人区一区二区三区 | 国产精品久久久久久久影院 | 精品国偷自产在线 | 亚洲日韩一区二区 | 亚洲欧美日韩成人高清在线一区 | 18禁止看的免费污网站 | 人人妻人人澡人人爽欧美精品 | 理论片87福利理论电影 | 中文字幕亚洲情99在线 | 国产精品手机免费 | 欧美喷潮久久久xxxxx | 亚洲毛片av日韩av无码 | 永久黄网站色视频免费直播 | 无码av中文字幕免费放 | 特大黑人娇小亚洲女 | 日本精品人妻无码免费大全 | 免费网站看v片在线18禁无码 | 自拍偷自拍亚洲精品被多人伦好爽 | 呦交小u女精品视频 | 四虎国产精品一区二区 | 国产真人无遮挡作爱免费视频 | 精品国偷自产在线视频 | 377p欧洲日本亚洲大胆 | 久久久精品人妻久久影视 | 荡女精品导航 | 国产成人无码专区 | 人人妻人人澡人人爽欧美精品 | 欧洲vodafone精品性 | 少妇人妻大乳在线视频 | 亚洲国产精品无码一区二区三区 | 麻豆国产人妻欲求不满 | 人妻有码中文字幕在线 | 久久综合狠狠综合久久综合88 | 婷婷丁香六月激情综合啪 | 国产精品人人妻人人爽 | 狠狠色噜噜狠狠狠狠7777米奇 | 欧美精品国产综合久久 | 无人区乱码一区二区三区 | 国产在线无码精品电影网 | 青青青手机频在线观看 | 婷婷丁香六月激情综合啪 | 欧美性色19p | 3d动漫精品啪啪一区二区中 | 人人澡人摸人人添 | 久久久国产精品无码免费专区 | 2019午夜福利不卡片在线 | 狠狠噜狠狠狠狠丁香五月 | 亚洲精品久久久久中文第一幕 | 丝袜人妻一区二区三区 | 国产免费观看黄av片 | 亚洲精品综合一区二区三区在线 | 青青草原综合久久大伊人精品 | 2019nv天堂香蕉在线观看 | 精品无码av一区二区三区 | 国产美女精品一区二区三区 | 国产亲子乱弄免费视频 | 久久综合香蕉国产蜜臀av | 性欧美牲交xxxxx视频 | 成人影院yy111111在线观看 | 亚洲欧美色中文字幕在线 | 精品无码av一区二区三区 | 国产亚洲精品久久久久久久久动漫 | 国产精品自产拍在线观看 | 欧美 丝袜 自拍 制服 另类 | 国产尤物精品视频 | 成人综合网亚洲伊人 | 久久综合网欧美色妞网 | 久久综合激激的五月天 | 日本www一道久久久免费榴莲 | 一本久久a久久精品vr综合 | 国产熟妇另类久久久久 | 欧美色就是色 | 精品无人区无码乱码毛片国产 | 清纯唯美经典一区二区 | 国产无套内射久久久国产 | 色综合久久88色综合天天 | 亚洲熟妇色xxxxx欧美老妇y | 高中生自慰www网站 | 久久99热只有频精品8 | 色综合久久久久综合一本到桃花网 | 成熟女人特级毛片www免费 | 日本精品少妇一区二区三区 | 牲欲强的熟妇农村老妇女视频 | 国产人妻精品一区二区三区不卡 | 成人无码精品1区2区3区免费看 | 扒开双腿疯狂进出爽爽爽视频 | 亚洲色偷偷男人的天堂 | 最近的中文字幕在线看视频 | 成人免费无码大片a毛片 | 午夜理论片yy44880影院 | 亚洲人成无码网www | 精品偷拍一区二区三区在线看 | 无遮挡国产高潮视频免费观看 | 国产成人精品一区二区在线小狼 | 麻豆av传媒蜜桃天美传媒 | 帮老师解开蕾丝奶罩吸乳网站 | 无码国模国产在线观看 | 在线播放无码字幕亚洲 | 欧美日韩综合一区二区三区 | 熟妇人妻激情偷爽文 | 亚洲中文字幕乱码av波多ji | 无码国内精品人妻少妇 | 国产亚洲视频中文字幕97精品 | 在线观看国产午夜福利片 | 亚洲熟妇色xxxxx欧美老妇y | 伦伦影院午夜理论片 | 国产精品理论片在线观看 | 亚洲色无码一区二区三区 | 欧美真人作爱免费视频 | 国产乱子伦视频在线播放 | 日韩av无码中文无码电影 | 亚洲色无码一区二区三区 | 久久久久99精品国产片 | 无码人妻丰满熟妇区五十路百度 | 国产卡一卡二卡三 | 午夜理论片yy44880影院 | 欧美国产亚洲日韩在线二区 | 日日干夜夜干 | 久久久亚洲欧洲日产国码αv | 久久97精品久久久久久久不卡 | 5858s亚洲色大成网站www | 国产婷婷色一区二区三区在线 | 一个人免费观看的www视频 | 一本久久a久久精品亚洲 | 欧洲精品码一区二区三区免费看 | 色婷婷综合激情综在线播放 | 亚洲综合精品香蕉久久网 | 久久久久久av无码免费看大片 | 国产亚洲精品久久久久久大师 | 丰满人妻一区二区三区免费视频 | 午夜无码人妻av大片色欲 | 国产熟妇高潮叫床视频播放 | 久久婷婷五月综合色国产香蕉 | 夜夜影院未满十八勿进 | 大地资源网第二页免费观看 | 国产激情精品一区二区三区 | 国产又粗又硬又大爽黄老大爷视 | 中文字幕中文有码在线 | 无码中文字幕色专区 | 99在线 | 亚洲 | 动漫av一区二区在线观看 | 少妇太爽了在线观看 | 亚洲一区二区三区偷拍女厕 | 伊人久久婷婷五月综合97色 | 亚洲精品www久久久 | 色 综合 欧美 亚洲 国产 | 婷婷六月久久综合丁香 | 精品偷自拍另类在线观看 | 国产舌乚八伦偷品w中 | 中文字幕人妻丝袜二区 | 真人与拘做受免费视频一 | 亚洲日韩精品欧美一区二区 | 国产特级毛片aaaaaa高潮流水 | 波多野结衣aⅴ在线 | 国产成人精品无码播放 | 六十路熟妇乱子伦 | 亚洲 欧美 激情 小说 另类 | 日韩成人一区二区三区在线观看 | 午夜肉伦伦影院 | 亚洲国产欧美国产综合一区 | 国产人妻人伦精品1国产丝袜 | 超碰97人人射妻 | 欧洲欧美人成视频在线 | 亚洲 日韩 欧美 成人 在线观看 | 久久久久人妻一区精品色欧美 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 国产午夜福利100集发布 | 午夜性刺激在线视频免费 | 亚洲一区二区三区播放 | 国产精品美女久久久网av | 无遮挡国产高潮视频免费观看 | 欧美35页视频在线观看 | 青青青爽视频在线观看 | 在线视频网站www色 | 国产精品手机免费 | 欧美激情综合亚洲一二区 | 国产av一区二区精品久久凹凸 | 久久精品国产一区二区三区 | 中文字幕亚洲情99在线 | 日日躁夜夜躁狠狠躁 | 日韩精品a片一区二区三区妖精 | 国产成人精品无码播放 | 欧美性猛交内射兽交老熟妇 | 亚洲成a人一区二区三区 | 天堂久久天堂av色综合 | 中文字幕av日韩精品一区二区 | 久久久久亚洲精品中文字幕 | 久久99精品国产麻豆 | 无码av中文字幕免费放 | 中文字幕无码热在线视频 | 国产精品99久久精品爆乳 | 午夜福利电影 | 在线 国产 欧美 亚洲 天堂 | 久久久久久国产精品无码下载 | 久久精品成人欧美大片 | 97色伦图片97综合影院 | 99在线 | 亚洲 | 国产精品对白交换视频 | 久久久久免费看成人影片 | 成 人 网 站国产免费观看 | 中文字幕乱码亚洲无线三区 | 国产精品自产拍在线观看 | 99在线 | 亚洲 | 日产国产精品亚洲系列 | 国产精品手机免费 | 中文字幕日产无线码一区 | 日本乱人伦片中文三区 | 国产性生交xxxxx无码 | 久久精品国产一区二区三区肥胖 | 亚洲最大成人网站 | 久久99热只有频精品8 | 久久综合给合久久狠狠狠97色 | 日韩人妻无码一区二区三区久久99 | 中文字幕久久久久人妻 | 少妇激情av一区二区 | 福利一区二区三区视频在线观看 | 在线观看国产一区二区三区 | 国产舌乚八伦偷品w中 | 中文字幕无码日韩专区 | 亚洲の无码国产の无码影院 | 啦啦啦www在线观看免费视频 | www国产亚洲精品久久久日本 | 图片小说视频一区二区 | 少妇的肉体aa片免费 | 亚洲人交乣女bbw | 99久久精品无码一区二区毛片 | 一二三四在线观看免费视频 | 亚洲国产欧美国产综合一区 | 三上悠亚人妻中文字幕在线 | 97精品人妻一区二区三区香蕉 | 亚洲精品www久久久 | 东京热无码av男人的天堂 | 成人免费视频在线观看 | 丰满人妻翻云覆雨呻吟视频 | 亚洲精品www久久久 | 人人澡人摸人人添 | 中文字幕无码人妻少妇免费 | 双乳奶水饱满少妇呻吟 | 撕开奶罩揉吮奶头视频 | 国产av一区二区三区最新精品 | 亚洲精品综合一区二区三区在线 | 性欧美videos高清精品 | 精品国精品国产自在久国产87 | 一二三四社区在线中文视频 | 久久久成人毛片无码 | 国产手机在线αⅴ片无码观看 | 欧美丰满熟妇xxxx性ppx人交 | 久久午夜夜伦鲁鲁片无码免费 | 欧美人与牲动交xxxx | 九月婷婷人人澡人人添人人爽 | 欧美人与善在线com | 成人一区二区免费视频 | 天天做天天爱天天爽综合网 | 日本一卡2卡3卡四卡精品网站 | 精品偷自拍另类在线观看 | 任你躁国产自任一区二区三区 | 麻豆成人精品国产免费 | 亚洲大尺度无码无码专区 | 亚洲七七久久桃花影院 | 永久免费观看国产裸体美女 | 中文字幕亚洲情99在线 | 天天爽夜夜爽夜夜爽 | 国产另类ts人妖一区二区 | 强辱丰满人妻hd中文字幕 | 国产av剧情md精品麻豆 | 噜噜噜亚洲色成人网站 | 国产超级va在线观看视频 | 亚洲第一无码av无码专区 | 精品国产一区二区三区四区在线看 | 亚洲成a人片在线观看无码 | 国产成人无码午夜视频在线观看 | 天天躁夜夜躁狠狠是什么心态 | 久久国产精品精品国产色婷婷 | 少妇无套内谢久久久久 | 一本色道婷婷久久欧美 | 日韩精品久久久肉伦网站 | 男女作爱免费网站 | 国产无套粉嫩白浆在线 | 欧洲美熟女乱又伦 | 亚洲国产av精品一区二区蜜芽 | 成人免费无码大片a毛片 | 色婷婷香蕉在线一区二区 | 欧美午夜特黄aaaaaa片 | 精品国产乱码久久久久乱码 | 麻豆md0077饥渴少妇 | 国产精品沙发午睡系列 | 精品国产乱码久久久久乱码 | 日本一本二本三区免费 | 精品无码成人片一区二区98 | 亚洲熟悉妇女xxx妇女av | 欧美喷潮久久久xxxxx | 精品久久久久久亚洲精品 | 欧美日韩视频无码一区二区三 | 大地资源中文第3页 | 最新国产乱人伦偷精品免费网站 | 成人免费视频视频在线观看 免费 | 亚洲综合伊人久久大杳蕉 | 亚洲自偷自偷在线制服 | 日本xxxx色视频在线观看免费 | 色婷婷香蕉在线一区二区 | 亚洲精品一区二区三区大桥未久 | aⅴ亚洲 日韩 色 图网站 播放 | 99久久99久久免费精品蜜桃 | 国产麻豆精品一区二区三区v视界 | 久久zyz资源站无码中文动漫 | 欧美亚洲日韩国产人成在线播放 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 久久久亚洲欧洲日产国码αv | 精品欧美一区二区三区久久久 | 亚洲国精产品一二二线 | 午夜熟女插插xx免费视频 | 牲欲强的熟妇农村老妇女视频 | 欧洲vodafone精品性 | 久久伊人色av天堂九九小黄鸭 | 亚洲精品久久久久久久久久久 | 精品一区二区不卡无码av | 久久久精品456亚洲影院 | 国产精品无码一区二区桃花视频 | 真人与拘做受免费视频 | 天天爽夜夜爽夜夜爽 | 永久黄网站色视频免费直播 | 激情爆乳一区二区三区 | 婷婷丁香六月激情综合啪 | 日本又色又爽又黄的a片18禁 | 国产精品久久久久影院嫩草 | 国产成人无码av在线影院 | 色一情一乱一伦一区二区三欧美 | 国产精品内射视频免费 | 国产av久久久久精东av | 极品尤物被啪到呻吟喷水 | 内射巨臀欧美在线视频 | 国产成人无码a区在线观看视频app | 高潮毛片无遮挡高清免费视频 | 色狠狠av一区二区三区 | 在线 国产 欧美 亚洲 天堂 | 999久久久国产精品消防器材 | 精品日本一区二区三区在线观看 | 国产肉丝袜在线观看 | 欧美freesex黑人又粗又大 | 免费人成网站视频在线观看 | 日本护士毛茸茸高潮 | 在线播放免费人成毛片乱码 | 大肉大捧一进一出好爽视频 | 在线精品国产一区二区三区 | 久久伊人色av天堂九九小黄鸭 | 国产成人精品三级麻豆 | 人人妻人人澡人人爽欧美一区 | 久久综合给合久久狠狠狠97色 | 日韩 欧美 动漫 国产 制服 | 亚洲日韩精品欧美一区二区 | 免费无码一区二区三区蜜桃大 | 无遮挡啪啪摇乳动态图 | 亚洲成av人片在线观看无码不卡 | 激情亚洲一区国产精品 | 中文字幕无码免费久久99 | 日韩av无码一区二区三区 | 丝袜足控一区二区三区 | 人妻人人添人妻人人爱 | 国产片av国语在线观看 | 国产亚洲人成a在线v网站 | 午夜时刻免费入口 | 亚洲中文字幕av在天堂 | 色婷婷av一区二区三区之红樱桃 | 成人免费视频一区二区 | 无遮无挡爽爽免费视频 | 奇米影视888欧美在线观看 | 日本丰满熟妇videos | 中文字幕日韩精品一区二区三区 | 亚洲日本va午夜在线电影 | 亚洲另类伦春色综合小说 | 国产精品久久久久久久9999 | 亚洲成a人片在线观看无码 | 国产高清不卡无码视频 | 国产精品久久久一区二区三区 | 日本成熟视频免费视频 | 伊人久久大香线蕉午夜 | 无码午夜成人1000部免费视频 | 国产乱人伦av在线无码 | 精品无码国产一区二区三区av | 亚洲精品一区二区三区在线 | 无码人妻精品一区二区三区不卡 | 国内少妇偷人精品视频 | 亚洲色欲色欲欲www在线 | 久久久精品国产sm最大网站 | 熟妇人妻激情偷爽文 | 极品尤物被啪到呻吟喷水 | 丰满人妻翻云覆雨呻吟视频 | 国产精品多人p群无码 | 久久无码人妻影院 | 中国女人内谢69xxxxxa片 | 无码精品国产va在线观看dvd | 亚洲一区二区三区含羞草 | 乌克兰少妇性做爰 | 性欧美大战久久久久久久 | 久久99精品久久久久久 | 牲欲强的熟妇农村老妇女 | 粉嫩少妇内射浓精videos | 九月婷婷人人澡人人添人人爽 | 亚洲啪av永久无码精品放毛片 | 性欧美大战久久久久久久 | 青青草原综合久久大伊人精品 | 国产精品人人爽人人做我的可爱 | 亚洲日本va午夜在线电影 | 在线播放免费人成毛片乱码 | 国产精品亚洲一区二区三区喷水 | 国产精品手机免费 | 亚洲人成无码网www | 国内综合精品午夜久久资源 | 日韩精品无码免费一区二区三区 | 学生妹亚洲一区二区 | 精品人妻人人做人人爽 | aa片在线观看视频在线播放 | 国内少妇偷人精品视频 | 午夜丰满少妇性开放视频 | av人摸人人人澡人人超碰下载 | 国产亚洲精品久久久久久 | 一个人看的视频www在线 | 国产乱人无码伦av在线a | 日本又色又爽又黄的a片18禁 | 蜜桃视频插满18在线观看 | 欧美日韩一区二区综合 | 国内精品一区二区三区不卡 | 欧美三级不卡在线观看 | 中文久久乱码一区二区 | 婷婷丁香六月激情综合啪 | 噜噜噜亚洲色成人网站 | 天堂无码人妻精品一区二区三区 | 在线成人www免费观看视频 | 久久99久久99精品中文字幕 | 国产 精品 自在自线 | 日本va欧美va欧美va精品 | 亚洲精品中文字幕久久久久 | 亚洲乱亚洲乱妇50p | 久久综合给久久狠狠97色 | 国产乱人伦av在线无码 | 伊人久久大香线焦av综合影院 | 无码人妻出轨黑人中文字幕 | 精品欧洲av无码一区二区三区 | 美女张开腿让人桶 | 国産精品久久久久久久 | 国产精品人妻一区二区三区四 | 国产精品鲁鲁鲁 | 又湿又紧又大又爽a视频国产 | 老子影院午夜伦不卡 | 国产网红无码精品视频 | 亚洲综合伊人久久大杳蕉 | av无码久久久久不卡免费网站 | 色诱久久久久综合网ywww | 国产av一区二区三区最新精品 | 鲁一鲁av2019在线 | 成人影院yy111111在线观看 | 国产成人精品优优av | 麻豆蜜桃av蜜臀av色欲av | 欧美日韩精品 | 最近中文2019字幕第二页 | 久久午夜夜伦鲁鲁片无码免费 | 国产在线aaa片一区二区99 | 日本肉体xxxx裸交 | 精品成在人线av无码免费看 | 波多野结衣av在线观看 | 亚洲精品一区二区三区在线观看 | 欧美肥老太牲交大战 | 亚洲中文字幕乱码av波多ji | 青青久在线视频免费观看 | 67194成是人免费无码 | 亚洲综合色区中文字幕 | 99久久无码一区人妻 | 无套内谢老熟女 | 亚洲人成人无码网www国产 | 暴力强奷在线播放无码 | 无码免费一区二区三区 | 真人与拘做受免费视频 | 999久久久国产精品消防器材 | 97夜夜澡人人双人人人喊 | 少妇性l交大片欧洲热妇乱xxx | 一个人看的www免费视频在线观看 | 亚洲国产日韩a在线播放 | 97se亚洲精品一区 | 欧美 日韩 人妻 高清 中文 | 亚洲 日韩 欧美 成人 在线观看 | 欧美精品免费观看二区 | 成人性做爰aaa片免费看 | 高清不卡一区二区三区 | 免费无码的av片在线观看 | √天堂中文官网8在线 | 老熟女重囗味hdxx69 | 亚洲成在人网站无码天堂 | 中国女人内谢69xxxxxa片 | 中文字幕av无码一区二区三区电影 | 亚洲va欧美va天堂v国产综合 | 午夜理论片yy44880影院 | 亚洲成a人片在线观看日本 | 无遮无挡爽爽免费视频 | 亚洲爆乳精品无码一区二区三区 | 欧美性猛交xxxx富婆 | 成人免费视频一区二区 | 免费无码的av片在线观看 | 色婷婷综合中文久久一本 | 美女极度色诱视频国产 | 国产亚洲精品久久久久久久久动漫 | 国产精品久久福利网站 | 无码国产乱人伦偷精品视频 | 少妇厨房愉情理9仑片视频 | 亚洲啪av永久无码精品放毛片 | 国产亚洲精品久久久久久久久动漫 | 波多野42部无码喷潮在线 | 特黄特色大片免费播放器图片 | 波多野结衣av一区二区全免费观看 | 国产九九九九九九九a片 | 国产精品久久久午夜夜伦鲁鲁 | 六月丁香婷婷色狠狠久久 | 免费网站看v片在线18禁无码 | 亚洲乱码日产精品bd | 色情久久久av熟女人妻网站 | 正在播放老肥熟妇露脸 | 国产欧美熟妇另类久久久 | 性欧美熟妇videofreesex | 丰满少妇高潮惨叫视频 | 中文无码成人免费视频在线观看 | 国产艳妇av在线观看果冻传媒 | 国产成人亚洲综合无码 | 5858s亚洲色大成网站www | 欧美人与牲动交xxxx | 成人欧美一区二区三区 | 久久综合九色综合97网 | 成人影院yy111111在线观看 | 亚洲精品一区二区三区婷婷月 | 亚洲阿v天堂在线 | 女人被爽到呻吟gif动态图视看 | 亚洲日本在线电影 | 青青青爽视频在线观看 | 久久亚洲中文字幕精品一区 | 在线观看国产午夜福利片 | 久久久无码中文字幕久... | 精品无码一区二区三区的天堂 | 5858s亚洲色大成网站www | 亚洲国产精品无码久久久久高潮 | 又大又黄又粗又爽的免费视频 | 夜夜躁日日躁狠狠久久av | 国产成人精品必看 | 男女作爱免费网站 | 强伦人妻一区二区三区视频18 | 国产手机在线αⅴ片无码观看 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | www国产精品内射老师 | 欧美人与禽zoz0性伦交 | 丰满人妻一区二区三区免费视频 | 中文字幕日韩精品一区二区三区 | 国产九九九九九九九a片 | 久久综合九色综合欧美狠狠 | 国产精品多人p群无码 | 中文字幕av日韩精品一区二区 | 中文字幕人成乱码熟女app | 亚洲 激情 小说 另类 欧美 | 亚洲精品午夜国产va久久成人 | 性生交大片免费看女人按摩摩 | 丰满护士巨好爽好大乳 | 亚洲理论电影在线观看 | 熟女体下毛毛黑森林 | 婷婷丁香五月天综合东京热 | 婷婷丁香五月天综合东京热 | 久精品国产欧美亚洲色aⅴ大片 | 老司机亚洲精品影院 | 国产麻豆精品精东影业av网站 | 国产成人无码av一区二区 | 久久精品成人欧美大片 | 一本色道婷婷久久欧美 | 六十路熟妇乱子伦 | 国产乱人伦av在线无码 | 亚洲欧洲日本综合aⅴ在线 | 国产精品亚洲五月天高清 | 97人妻精品一区二区三区 | 在线看片无码永久免费视频 | aa片在线观看视频在线播放 | 亚洲成a人片在线观看无码3d | 久久伊人色av天堂九九小黄鸭 | 免费男性肉肉影院 | 99在线 | 亚洲 | 麻豆精产国品 | 红桃av一区二区三区在线无码av | 激情国产av做激情国产爱 | 亚洲中文字幕无码中字 | 给我免费的视频在线观看 | av人摸人人人澡人人超碰下载 | 国产成人无码区免费内射一片色欲 | 日韩精品成人一区二区三区 | 狠狠亚洲超碰狼人久久 | 国产精品办公室沙发 | 亚洲精品久久久久久久久久久 | 波多野结衣av在线观看 | 亚洲国产精品久久久久久 | 久久伊人色av天堂九九小黄鸭 | 伊人久久大香线蕉av一区二区 | 久久国产精品精品国产色婷婷 | 99riav国产精品视频 | 久久人人爽人人人人片 | 一本无码人妻在中文字幕免费 | 国产凸凹视频一区二区 | 2019nv天堂香蕉在线观看 | 精品国精品国产自在久国产87 | 色噜噜亚洲男人的天堂 | 亚洲精品一区三区三区在线观看 | 成人无码精品一区二区三区 | 性史性农村dvd毛片 | 欧美黑人性暴力猛交喷水 | 亚洲人成无码网www | 日本一区二区更新不卡 | 国产精品久久久久7777 | 色噜噜亚洲男人的天堂 | 久久久www成人免费毛片 | 在线播放无码字幕亚洲 | 国产亚洲精品久久久久久国模美 | 亚洲の无码国产の无码步美 | 精品无人区无码乱码毛片国产 | 亚拍精品一区二区三区探花 | 俺去俺来也www色官网 | 成人综合网亚洲伊人 | 高潮喷水的毛片 | 少妇久久久久久人妻无码 | 一区二区三区高清视频一 | 高潮毛片无遮挡高清免费视频 | 精品亚洲韩国一区二区三区 | 成人亚洲精品久久久久软件 | 老熟女重囗味hdxx69 | 亚洲精品欧美二区三区中文字幕 | 狂野欧美激情性xxxx | 乱码av麻豆丝袜熟女系列 | 日日鲁鲁鲁夜夜爽爽狠狠 | 偷窥日本少妇撒尿chinese | 亚洲 a v无 码免 费 成 人 a v | 欧洲美熟女乱又伦 | 国产精品-区区久久久狼 | 国产乱人偷精品人妻a片 | 国产精品福利视频导航 | 国产亚洲人成在线播放 | 久久久婷婷五月亚洲97号色 | 无码av中文字幕免费放 | 成人无码精品一区二区三区 | 欧美人与善在线com | 狠狠噜狠狠狠狠丁香五月 | 中文亚洲成a人片在线观看 | 国产偷抇久久精品a片69 | 久久综合九色综合97网 | 亚洲乱码中文字幕在线 | 亚洲国产欧美日韩精品一区二区三区 | 学生妹亚洲一区二区 | 清纯唯美经典一区二区 | 无遮挡啪啪摇乳动态图 | 少妇无套内谢久久久久 | 久久午夜夜伦鲁鲁片无码免费 | 乱人伦人妻中文字幕无码久久网 | 性啪啪chinese东北女人 | 亚洲国产成人a精品不卡在线 | 欧洲精品码一区二区三区免费看 | 免费人成在线观看网站 | 无码国内精品人妻少妇 | 亚洲精品www久久久 | 一本久道久久综合婷婷五月 | 天下第一社区视频www日本 | 久久精品国产大片免费观看 | 国产精品久久久久9999小说 | 国产成人综合美国十次 | 国产免费久久久久久无码 | 中文字幕人妻丝袜二区 | 老熟女重囗味hdxx69 | 成人无码精品1区2区3区免费看 | 成人性做爰aaa片免费看不忠 | 中文字幕人妻丝袜二区 | 国产成人一区二区三区别 | 欧美日本免费一区二区三区 | √8天堂资源地址中文在线 | 少妇性l交大片欧洲热妇乱xxx | 97无码免费人妻超级碰碰夜夜 | 国内精品久久毛片一区二区 | 日韩精品a片一区二区三区妖精 | 久久久久人妻一区精品色欧美 | 国内精品一区二区三区不卡 | 久久午夜无码鲁丝片午夜精品 | 久久精品国产一区二区三区肥胖 | 亚洲最大成人网站 | 国产精品美女久久久网av | 精品aⅴ一区二区三区 | 少妇无码av无码专区在线观看 | 久久久久99精品国产片 | 日日躁夜夜躁狠狠躁 | 亚洲天堂2017无码 | 久久久www成人免费毛片 | 澳门永久av免费网站 | 亚洲码国产精品高潮在线 | 76少妇精品导航 | 久久久久久久人妻无码中文字幕爆 | 一二三四社区在线中文视频 | 老司机亚洲精品影院 | 亚洲人成影院在线无码按摩店 | 天天av天天av天天透 | 欧美午夜特黄aaaaaa片 | 乌克兰少妇xxxx做受 | 荫蒂被男人添的好舒服爽免费视频 | 午夜免费福利小电影 | 欧美日韩精品 | 午夜理论片yy44880影院 | av人摸人人人澡人人超碰下载 | 一个人看的视频www在线 | 精品无码一区二区三区爱欲 | 九一九色国产 | 亚洲а∨天堂久久精品2021 | 一本色道久久综合亚洲精品不卡 | 少女韩国电视剧在线观看完整 | 99久久精品国产一区二区蜜芽 | 奇米影视888欧美在线观看 | 亚洲欧洲无卡二区视頻 | 国产乱人无码伦av在线a | 中文字幕无码日韩欧毛 | 成人欧美一区二区三区 | 精品无码一区二区三区的天堂 | 欧洲精品码一区二区三区免费看 | 国产精品第一国产精品 | 国产精品va在线观看无码 | 精品夜夜澡人妻无码av蜜桃 | 亚洲成在人网站无码天堂 | 98国产精品综合一区二区三区 | 亚洲精品午夜国产va久久成人 | 色偷偷人人澡人人爽人人模 | 国产激情综合五月久久 | 国产一区二区不卡老阿姨 | 日本护士毛茸茸高潮 | 亚洲中文字幕无码中字 | 色综合久久久无码网中文 | 奇米影视7777久久精品人人爽 | 精品欧洲av无码一区二区三区 | 日产精品99久久久久久 | 欧美猛少妇色xxxxx | 国语自产偷拍精品视频偷 | 88国产精品欧美一区二区三区 | 老司机亚洲精品影院无码 | 丝袜美腿亚洲一区二区 | 精品亚洲韩国一区二区三区 | 久久精品人人做人人综合试看 | av香港经典三级级 在线 | 国产精品国产自线拍免费软件 | 扒开双腿疯狂进出爽爽爽视频 | 少妇无码吹潮 | 精品一区二区三区波多野结衣 | 久久综合激激的五月天 | 特级做a爰片毛片免费69 | 丁香花在线影院观看在线播放 | 成人免费视频一区二区 | 国产精品无码永久免费888 | 国产亚洲人成a在线v网站 | 中文精品久久久久人妻不卡 | 国产精品资源一区二区 | 日本乱偷人妻中文字幕 | 亚洲精品久久久久avwww潮水 | 日韩av激情在线观看 | 久久亚洲a片com人成 | 欧美成人高清在线播放 | 国模大胆一区二区三区 | 国精产品一区二区三区 | 久久国内精品自在自线 | 中文字幕日韩精品一区二区三区 | 波多野结衣av一区二区全免费观看 | 在线а√天堂中文官网 | 国产亚洲精品久久久久久大师 | 亚洲一区二区三区 | 国产亚洲精品久久久久久大师 | 日日麻批免费40分钟无码 | 精品无码成人片一区二区98 | 中文字幕乱妇无码av在线 | 久久精品女人天堂av免费观看 | 久青草影院在线观看国产 | 学生妹亚洲一区二区 | 最新国产麻豆aⅴ精品无码 | 欧美日本日韩 | 国产精品亚洲lv粉色 | 久久亚洲a片com人成 | 亚洲精品一区二区三区大桥未久 | 成 人影片 免费观看 | 日韩人妻无码中文字幕视频 | 亚洲欧美日韩成人高清在线一区 | 2020最新国产自产精品 | 日本熟妇人妻xxxxx人hd | 精品国产青草久久久久福利 | 久久精品中文闷骚内射 | 色婷婷综合激情综在线播放 | 亚洲自偷自拍另类第1页 | 国产精品无码成人午夜电影 | 激情五月综合色婷婷一区二区 |