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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

servlets_jQuery Ajax – Servlets集成:构建完整的应用程序

發布時間:2023/12/3 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 servlets_jQuery Ajax – Servlets集成:构建完整的应用程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

servlets

網上有很多教程,它們解釋了有關使用servlet和JSP頁面進行Java Web開發的一些知識,但是,我從未找到對于初學者來說足夠簡潔的教程。 這樣的教程應該解釋創建一個簡單的Web應用程序的整個過程,包括前端,后端,最重要的是,人們可以用來與它們兩者交互的方式 。 僅僅顯示如何從服務器獲取信息還不夠,了解如何以結構化方式區分信息以及知道如何通過應用程序環境對后端進行更改也很重要。

我們在本文中希望實現的是,指導創建一個完整的“玩具” Web應用程序的整個過程。 從某種意義上說,它是一個“玩具”應用程序,它只做兩件事,并且我們沒有使用任何額外的功能來使環境變得漂亮。 該應用程序的目的很簡單:

  • 添加一個帶有專輯列表的樂隊名稱(以逗號分隔),然后按“提交”按鈕將其添加到數據庫中。
  • “顯示樂隊!” 按鈕以獲取樂隊列表,或“顯示樂隊和專輯!” 按鈕以獲取帶有其專輯的樂隊列表。

該應用程序的外觀是裸機越好 ,但其背后的代碼是你需要開始創建自己的動態Web應用程序,這是最通常稱為CRUD應用程序的一切(C reate,R EAD,U PDATE,d elete )。 之所以這樣稱呼它們是因為它們的所有功能都可以抽象為這些非常基本的命令。

在逐步創建應用程序之前,讓我們看一下本示例中將要使用的所有工具:

  • 蝕月神
  • Java 7
  • Tomcat 7(Web應用程序服務器)
  • Gson 2.3(Google Java庫)
  • jQuery 2.1.1(Javascript庫)

1.前端(JSP頁面)

這里沒有太多要說的。 如果您已遵循其他示例,則將了解如何在Eclipse中輕松創建Dynamic Web Project ,以及如何在文件夾WebContent中創建index.jsp頁面。 這將是我們應用程序的主頁,并且我們將不使用任何其他頁面。 當然,它總是取決于您需要創建的應用程序的類型,但是對于我們的需求而言,一頁就足夠了。

index.jsp

<%@ page language="java"contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Ajax - Servlets Integration Example</title><!-- Load the scripts needed for the application. --><script type="text/javascript" src="resources/jquery-2.1.1.min.js"></script><script type="text/javascript" src="resources/buttonEventsInit.js"></script><script type="text/javascript" src="resources/resultsPrinter.js"></script><script type="text/javascript" src="resources/insertBandInfo.js"></script></head><body><h1>Ajax - Servlets Integration Example</h1><p>This is an example of how to use Ajax with a servlet backend.</p></br><h3>Select a button to get the relevant information.</h3><!-- Buttons that will call the servlet to retrieve the information. --><button id="bands" type="button">Show bands!</button><button id="bands-albums" type="button">Show bands and albums!</button><!-- We need to have some empty divs in order to add the retrieved information to them. --><div id="band-results"></div></br></br><div id="bands-albums-results"></div></br></br><h3>Add the band information and press submit!</h3><h4>Band name: </h4><input type="text" id="band-name-input" value=""><br><h4>Albums: </h4><input type="text" id="album-input" value="">(Separated by commas)<br><input type="submit" id="submit-band-info" value="Submit"></body> </html>

因此,您可以看到非常簡單的東西。 我們加載所需的javascript文件,其中只有一個是外部JQuery 。 JQuery是一個眾所周知的Javascript庫,它功能強大 。 它使我們能夠輕松獲取有關頁面各個元素的信息,并將事件綁定到這些元素。 在此處獲取以下代碼段作為簡單示例:

$("#my-button").click(function() {alert("My button was clicked!"); });

此代碼段的意思是:“ 單擊ID為“ my-button”的元素時,我要觸發一個函數,該函數會創建一個警告彈出窗口,提示“我的按鈕已被單擊!”。 ”。 因此,我們將執行某些操作的整個函數作為事件綁定的參數傳遞 。 稍后我們將解釋有關JQuery的更多信息。 您可以在此處下載JQuery 。

這里有一些事情要考慮:

  • 我們已為將要使用的所有重要元素指定了ID。 因此, 按鈕輸入框和空的<div>元素都有唯一的ID。
  • 我們創建了2個空的<div>元素,其中將包含結果。 如果您需要一個用于存放東西的容器 ,并且需要將該容器始終放置在特定位置 ,那么通常會遵循此設計模式。 這樣,我們就無需檢查信息的放置位置,因為頁面中為此保留了一個位置。 同樣,第二個div(帶有專輯的樂隊)將始終位于第一個div(僅樂隊名稱)之下。 當我們按下僅樂隊信息的按鈕時,它將被添加到帶有專輯的樂隊頂部。

2.向服務器詢問數據(前端和后端)

2.1從前端使用Ajax發出GET請求。

因此,我們需要做的第一件事就是找到一種方法來詢問服務器所需的數據,在本例中為樂隊名稱或樂隊和專輯。 我們已經在各自的按鈕上添加了兩個ID( “樂隊”和“樂隊和專輯” ),因此我們需要將事件綁定到這些 ID ,以便每次按下按鈕時都可以調用服務器 。 為此,我們將使用一些Javascript,包含在buttonEventsInit.js文件中。

注意:每個Javascipt文件都保存在目錄WebContent / resources下,以便授予訪問瀏覽器的權限。

buttonEventsInit.js

// When the page is fully loaded... $(document).ready(function() {// Add an event that triggers when ANY button// on the page is clicked...$("button").click(function(event) {// Get the button id, as we will pass it to the servlet// using a GET request and it will be used to get different// results (bands OR bands and albums).var buttonID = event.target.id;// Basic JQuery Ajax GET request. We need to pass 3 arguments:// 1. The servlet url that we will make the request to.// 2. The GET data (in our case just the button ID).// 3. A function that will be triggered as soon as the request is successful.// Optionally, you can also chain a method that will handle the possibility// of a failed request.$.get('DBRetrievalServlet', {"button-id": buttonID},function(resp) { // on sucess// We need 2 methods here due to the different ways of // handling a JSON object.if (buttonID === "bands")printBands(resp);else if (buttonID === "bands-albums")printBandsAndAlbums(resp); }).fail(function() { // on failurealert("Request failed.");});}); });

讓我們解釋一下這里發生的情況。 頁面加載后 (我們這樣做是為了確保所有元素都就位),我們將click事件綁定到頁面中的每個按鈕元素。 從現在開始, 每單擊一個按鈕 ,GET請求就會發送到服務器,其中包含按下了哪個按鈕的信息。 服務器將發送回正確的響應(以JSON對象的形式,稍后我們將對此進行說明),并且我們將根據所按下的按鈕對該對象執行不同的操作(因為每個按鈕將接收結構不同的 JSON)目的)。

查看上面示例中有關向服務器發出GET請求的正確方法的注釋。 您將需要提供URL(也可以是servlet的URL),數據和將要觸發的功能,并具有服務器響應(JSON對象)作為參數

2.2處理請求并將數據發送回客戶端。

那么,當我們發出請求時服務器將如何處理? 我們在這里使用了許多類,因此請再次記住我們正在構建的應用程序將包含兩種目錄:樂隊和帶有專輯的樂隊。 因此,我們正在使用:

  • MusicDatabase.java:使用Singleton模式以提供一個持久對象的類,該對象將包含需要發送回客戶端的信息。
  • DBRetrievalServlet.java:將用于處理GET請求和使用其他類的servlet, 提供帶有查詢信息的響應
  • BandWithAlbums.java:一個用于創建新的“數據保存對象”的類 ,在我們的例子中,該類包含樂隊名稱和專輯列表。

因此,讓我們檢查這些類中的每一個并解釋它們的用法。

DBRetrievalServlet.java

package servlets; import informationClasses.MusicDatabase;import java.io.IOException;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;@WebServlet("/DBRetrievalServlet") public class DBRetrievalServlet extends HttpServlet {@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// We set a specific return type and encoding// in order to take advantage of the browser capabilities.response.setContentType("application/json");response.setCharacterEncoding("UTF-8");// Depending on the GET parameters, passed from the Ajax call,// we are able to differentiate the requests and call the appropriate// method. We can always use more classes for more use-cases.// The response object returns the information (as a JSON object in String form)// to the browser.String buttonID = request.getParameter("button-id");switch (buttonID) {case "bands":response.getWriter().write(MusicDatabase.getInstance().getBands());break;case "bands-albums":response.getWriter().write(MusicDatabase.getInstance().getBandsAndAlbums());break;}} }

我們獲得參數“ button-id” ,該參數包含在客戶端發送的信息中(在請求對象中),根據所按下的按鈕的種類,我們需要通過調用MusicDatabase實例來獲得不同類型的信息。并每次調用不同的方法。

注意:單例模式

關于MusicDatabase實例…我們使用的是Singleton模式 ,這意味著因為我們只希望有1個類的實例,所以我們不會通過自己調用new關鍵字來創建新實例。 相反,我們從MusicDatabase類本身調用一個方法,并要求一個實例。

  • 如果尚未創建該實例,我們將創建一個實例并將其返回。
  • 如果已創建,則返回現有實例。
  • 無法從外部訪問構造函數 ,也無法意外創建另一個實例。 您可以在線找到有關Singleton模式的更多信息。

    MusicDatabase.java

    package informationClasses;import java.util.ArrayList; import java.util.List;import jsonObjects.BandWithAlbums;import com.google.gson.Gson;public class MusicDatabase {private List bandNames;private List bandsAndAlbums;// Singleton methodsprivate static MusicDatabase dbInstance = null;protected MusicDatabase() {bandNames = new ArrayList<>();bandsAndAlbums = new ArrayList<>();}public static MusicDatabase getInstance() {if(dbInstance == null) {dbInstance = new MusicDatabase();}return dbInstance;}public void setBandAndAlbums(String bandName, ArrayList bandAlbums) {bandNames.add(bandName);bandsAndAlbums.add(new BandWithAlbums(bandName, bandAlbums));}public String getBands() {return new Gson().toJson(bandNames);}public String getBandsAndAlbums() {return new Gson().toJson(bandsAndAlbums);} }

    我們將在這里檢查的方法是getBands()和getBandsAndAlbums() 。 我們只需要這兩種方法,它們就非常簡單,因為這里有些東西可以幫助我們:

    • Gson是Google的Java庫,它使我們能夠從Java對象輕松創建JSON對象。 該對象可以是任何東西,從簡單的數據結構到包含信息,其他數據結構等的對象。在我們的例子中,我們有2個這樣的數據結構:
      • A List<String> bandNames ,它僅包含A List<String> bandNames形式的樂隊名稱。
    • BandWithAlbums類 ,使我們能夠保存有關樂隊的更多信息。 它是一個數據保存類,其中包含樂隊名稱( String和樂隊List<String> 。 通過返回此對象,您還將返回所有關聯的信息。

    總而言之,使用命令new Gson().toJson(Object obj)的Gson庫可以將大多數對象和數據結構轉換為JSON格式,瀏覽器可以通過Javascript輕松使用。

    注意:您需要將Gson庫添加到類路徑中才能起作用。

    BandWithAlbums.java

    package jsonObjects;import java.util.ArrayList;public class BandWithAlbums {String bandName;ArrayList bandAlbums;public BandWithAlbums(String bandName, ArrayList bandAlbums) {this.bandName = bandName;this.bandAlbums = bandAlbums;} }

    正如我們之前已經說過的,這是一個簡單的數據保存類。 從某種意義上說,它包含樂隊的名稱和專輯,代表“樂隊”。

    2.3將數據呈現給瀏覽器。

    因此,一旦有了所需的數據,就可以在文件buttonEventsInit.js中看到,我們可以選擇調用兩種不同的方法,具體取決于進行調用的按鈕的ID。 我們將展示這兩種方法的作用,以及如何將數據展示給瀏覽器

    resultsPrinter.js

    // Both those functions get a json object as an argument, // which itself also holds other objects.// 1. The first function is supposed to get an object // containing just a list of band names. // 2. The second function is supposed to get an object containing // bands with albums, which essentially means a list of objects // which hold (1) a band name and (2) a list of albums.function printBands(json) {// First empty the <div> completely and add a title.$("#band-results").empty().append("<h3>Band Names</h3>");// Then add every band name contained in the list. $.each(json, function(i, name) {$("#band-results").append(i + 1, ". " + name + " </br>");}); };function printBandsAndAlbums(json) {// First empty the <div> completely and add a title.$("#bands-albums-results").empty().append("<h3>Band Names and Albums</h3>");// Get each band object...$.each(json, function(i, bandObject) {// Add to the <div> every band name...$("#bands-albums-results").append(i + 1, ". " + bandObject.bandName + " </br>");// And then for every band add a list of their albums.$.each(bandObject.bandAlbums, function(i, album) {$("#bands-albums-results").append("--" + album + "</br>");});}); };

    為了了解這些功能如何工作,我們必須看一下服務器返回給客戶端的響應對象。 在第一種情況下,我們期望僅列出樂隊名稱,因此期望的對象將只是列表:

    ["The Beatles", "Metallica"]

    另一方面,在第二種情況下,我們希望接收全波段信息,在這種情況下,json對象將如下所示:

    [{bandName: "The Beatles",bandAlbums: ["White Album", "Let it be"]},{bandName: "Metallica",bandAlbums: ["St Anger", "The Black Album"]} ]

    因此,我們需要兩種不同的方式處理請求。 但是,在每種情況下,我們將要使用的div empty() ,并使用一些非常方便的JQuery函數添加從服務器獲取的信息。

    這樣,我們的應用程序的第一部分就完成了。 查看屏幕快照以查看結果。

    結果顯示在瀏覽器中。

    3.從用戶輸入(前端和后端)更新服務器

    3.1使用Ajax發出POST請求。

    在這一部分中,我們將研究如何將數據發送到服務器 。 在本教程的上半部分,我們已經通過處理GET請求獲得了工作方式的提示,并且這里的步驟實際上并沒有什么不同,唯一的例外是允許用戶為應用程序提供輸入 。 讓我們看一下我們正在使用的代碼以及每個文件的功能。

    insertBandInfo.js

    $(document).ready(function() {// Add an event that triggers when the submit// button is pressed.$("#submit-band-info").click(function() {// Get the text from the two inputs.var bandName = $("#band-name-input").val();var albumName = $("#album-input").val();// Fail if one of the two inputs is empty, as we need// both a band name and albums to make an insertion.if (bandName === "" || albumName === "") {alert("Not enough information for an insertion!");return;}// Ajax POST request, similar to the GET request.$.post('DBInsertionServlet',{"bandName": bandName, "albumName": albumName},function() { // on successalert("Insertion successful!");}).fail(function() { //on failurealert("Insertion failed.");});}); });

    如果您遵循了教程的上一部分,那么很容易理解我們在這里所做的事情。 另一個單擊事件,現在僅針對“ 提交”按鈕的特定ID,在檢查了兩個輸入框是否確實有輸入之后,該事件會發出POST請求(向為此目的專門使用的新Servlet)發送數據我們想要的(樂隊名稱和專輯列表)。

    3.2將用戶輸入保存在我們的“數據庫”中。

    DBInsertionServlet.java

    package servlets;import informationClasses.MusicDatabase;import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Map;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;@WebServlet("/DBInsertionServlet") public class DBInsertionServlet extends HttpServlet {@Overridepublic void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {Map<String, String[]> bandInfo = request.getParameterMap();// In this case here we are not using the data sent to just do different things.// Instead we are using them as information to make changes to the server,// in this case, adding more bands and albums.String bandName = Arrays.asList(bandInfo.get("bandName")).get(0);String albums = Arrays.asList(bandInfo.get("albumName")).get(0);MusicDatabase.getInstance().setBandAndAlbums(bandName, getAlbumNamesFromString(albums)); // return successresponse.setStatus(200); }// Split the album String in order to get a list of albums.private ArrayList getAlbumNamesFromString(String albums) {return new ArrayList(Arrays.asList(albums.split(",")));} }

    當servlet收到請求時,它將從請求映射中提取bandName,并包含一個包含唱片集名稱的String 。 當找到逗號時,我們通過將String分成多個部分來創建專輯列表。 最后,我們調用MusicDatabase實例,在該實例中添加樂隊名稱和專輯列表,如果您從以前檢查一下類定義,則可以看到:

    • 我們將樂隊名稱添加到bandNames列表中。
    • 我們創建一個新的Band對象(使用名稱和專輯列表),并將其添加到bandsWithalbums列表中。

    此后,該servlet完成,并將成功狀態響應發送回客戶端。 我們已將所有內容添加到列表中,并且可以隨時按JSON格式發送。 舉例來說,讓我們看看如果我自己添加一個新樂隊會發生什么。

    添加新樂隊。

    這個新樂隊已經在我的“數據庫”中,并要求再次查看該信息后,它就在那里!

    4.下載項目

    這是Ajax – Servlets集成的示例。 我想想我可以幫助您全面了解如何實現Web應用程序的每個部分(前端-后端),以及將各個部分連接在一起以創建允許用戶在其上進行輸入和更改的軟件的最簡單方法。服務器以及客戶端!

    您可以在此處下載此示例的完整源代碼: AjaxServletsIntegration

    翻譯自: https://www.javacodegeeks.com/2014/09/jquery-ajax-servlets-integration-building-a-complete-application.html

    servlets

    總結

    以上是生活随笔為你收集整理的servlets_jQuery Ajax – Servlets集成:构建完整的应用程序的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    97超在线 | 爱爱av在线| 免费观看v片在线观看 | 一区二区三区精品久久久 | 最近中文字幕久久 | 日韩专区一区二区 | 国产亚洲精品中文字幕 | 99久热在线精品视频观看 | se视频网址 | 91欧美国产 | 欧美日韩国产精品爽爽 | 综合激情网 | 免费成人黄色片 | 欧美一级视频在线观看 | 日韩免费一二三区 | 久久国产精品99久久久久久老狼 | 国产无遮挡又黄又爽在线观看 | 久久久久久国产精品久久 | 国产午夜在线观看视频 | 丰满少妇对白在线偷拍 | 9草在线 | 免费看日韩片 | 五月婷婷激情综合 | 在线亚洲天堂网 | 五月网婷婷 | 天天综合视频在线观看 | 色综合久久精品 | 欧美精品少妇xxxxx喷水 | 午夜精品视频免费在线观看 | 成年人看片网站 | 亚洲理论在线观看 | 国产成人精品日本亚洲999 | 中文字幕成人一区 | 天天搞天天干天天色 | 91香蕉国产在线观看软件 | 片网站 | 国产99re| 成年人视频在线免费观看 | 伊人中文网 | 久久久久久久久久久电影 | www亚洲一区 | 精品久操 | 亚洲精品久 | 亚洲视频免费在线看 | 国产91在线播放 | 国产99久久久国产 | 日日夜夜免费精品 | 午夜免费在线观看 | 日韩色一区二区三区 | 欧美日韩国产精品一区二区三区 | 国产视频97| 国产 字幕 制服 中文 在线 | 日韩在线国产精品 | 日日躁你夜夜躁你av蜜 | 黄色一级免费网站 | 精品一区二区免费在线观看 | 香蕉成人在线视频 | 国产成人精品亚洲精品 | 久久精品99视频 | 草在线视频 | 亚洲mv大片欧洲mv大片免费 | 亚洲激情小视频 | 中文字幕中文字幕在线中文字幕三区 | 亚洲一级电影 | 久久99热这里只有精品 | 中文字幕永久 | 日韩在线观看一区二区三区 | 狠狠色丁香久久综合网 | 国产精久久久久久妇女av | 免费在线观看亚洲视频 | 天天躁日日躁狠狠躁av麻豆 | 伊人五月在线 | 男女免费视频观看 | 国产黄| 国产高清精品在线观看 | 久久久久一区二区三区四区 | 国产一区二区在线免费观看 | 91精品国产电影 | 丁香综合五月 | 国产999精品久久久久久绿帽 | 色婷五月天 | 国产成人99久久亚洲综合精品 | 欧美激情精品久久久 | 中文字幕精品在线 | 精品国产片 | 啪嗒啪嗒免费观看完整版 | 国产不卡毛片 | 国产精品18久久久 | 久久视了 | 国内免费久久久久久久久久久 | 亚洲国产视频网站 | 成年人视频免费在线播放 | 国产又粗又猛又爽又黄的视频免费 | 日韩在线首页 | 超碰成人免费电影 | 欧美激情精品久久久久 | 久av电影| av黄色免费在线观看 | 99热精品久久| 国产黄色精品 | 免费高清在线视频一区· | 久久综合九色欧美综合狠狠 | 亚洲一区视频在线播放 | 麻豆91在线观看 | 午夜久久美女 | 深夜福利视频一区二区 | 午夜国产福利在线观看 | 国产在线精品播放 | 国产精品a久久久久 | 亚洲男人天堂2018 | 久久久www成人免费毛片 | 色婷婷国产精品 | 激情视频免费在线观看 | 亚洲免费在线观看视频 | 免费在线中文字幕 | 国产 一区二区三区 在线 | 夜夜嗨av色一区二区不卡 | 91亚洲精品久久久蜜桃借种 | 亚洲第一区在线播放 | 天天操偷偷干 | 国产精品日韩欧美一区二区 | 日日干美女| 91九色视频在线播放 | 国产日韩精品久久 | 久久经典国产视频 | 成人国产精品久久久 | 毛片网站免费在线观看 | 欧美一区二区免费在线观看 | 成人久久久久 | 久艹视频在线免费观看 | 成人av在线亚洲 | 在线播放日韩av | 97色综合| 九九九九精品九九九九 | 久久久久久久久久久久久影院 | 欧美成人久久 | 五月天久久久 | 国产精品免费观看网站 | 久久精品草 | 99麻豆久久久国产精品免费 | 日本女人的性生活视频 | 久久免费在线观看视频 | 久久免费国产精品1 | 色婷婷综合视频在线观看 | 91精品视频观看 | 欧美日韩高清不卡 | 中文字幕免费一区 | 国产三级精品三级在线观看 | 亚洲免费永久精品国产 | 青青草国产精品 | 中文字幕在线观看你懂的 | 国产高清第一页 | 不卡国产在线 | 国精产品满18岁在线 | 色婷婷影视 | 久久精品综合视频 | 免费观看成人 | 91精品久久久久久久久 | 亚洲在线国产 | 精品国产免费av | 日韩视频一 | 免费看黄色小说的网站 | 国产精品美女www爽爽爽视频 | 天天操网站 | 亚洲精品国偷拍自产在线观看蜜桃 | 午夜av在线免费 | 最新成人在线 | 99国产一区二区三精品乱码 | 国产视频色 | 91在线视频在线 | 欧美成年人在线观看 | 久久国产精品免费一区二区三区 | 精品国产1区 | 婷婷五月色综合 | 日韩精品短视频 | 久久成 | 超碰国产在线观看 | 在线播放一区二区三区 | 99精品在线免费视频 | 久久精品国产一区二区 | 国产成人精品免费在线观看 | 丁香高清视频在线看看 | 在线观看香蕉视频 | 日韩毛片在线一区二区毛片 | 国产精品18久久久久久久久 | 97精品国产91久久久久久 | 日本一区二区三区免费观看 | 国产一线二线三线性视频 | 麻豆视频在线观看 | 国产99在线播放 | 蜜桃视频日韩 | 片网址| 色网站视频 | 国产精品 9999 | 人人草在线观看 | 欧美一级电影在线观看 | 国产一区在线视频观看 | 国产专区第一页 | 国产 日韩 在线 亚洲 字幕 中文 | 国产在线欧美日韩 | 在线观看中文av | 人人干97| 久久综合九色综合97_ 久久久 | 国产午夜精品免费一区二区三区视频 | 欧美在线视频精品 | 久久国产精品99国产精 | 久久精品女人毛片国产 | 国产免费久久 | 狠狠色丁香婷婷综合欧美 | 国产精品一区二区三区观看 | 日韩久久激情 | 欧美国产日韩一区二区三区 | 狠狠操夜夜操 | 91精品亚洲影视在线观看 | 亚洲成人av电影在线 | 又色又爽又黄高潮的免费视频 | 一区二区三区在线视频111 | 日日躁你夜夜躁你av蜜 | 国产一区二区久久久久 | 日本h视频在线观看 | 国产精品久久久久久久久久ktv | 天天操天天舔天天干 | 午夜精品福利一区二区三区蜜桃 | 精品国产一区二 | 亚洲婷久久 | 国产精品成人一区二区三区吃奶 | 日韩中文字幕免费在线观看 | 中文在线免费观看 | 在线看v片 | 狠狠狠狠狠狠 | 激情开心站 | 亚洲最大av在线播放 | 黄色一级在线观看 | 波多野结衣电影久久 | 三级黄色免费片 | 玖玖在线观看视频 | 欧美 日韩 性 | 日韩一级电影在线 | 成人h电影在线观看 | 天天干亚洲| 午夜精品av在线 | 超碰在线最新网址 | 国产麻豆剧传媒免费观看 | 激情久久久久 | 欧美一级日韩三级 | 天天色宗合| 久久精久久精 | 99免费看片| 婷婷综合久久 | 亚洲精品综合在线 | 中文字幕在线观看第三页 | 成人国产精品久久久久久亚洲 | 国产精品久久久久影院日本 | 日韩亚洲在线 | 日本中出在线观看 | 一级黄色片在线播放 | 操操碰 | 亚洲伊人第一页 | 肉色欧美久久久久久久免费看 | 黄色a在线 | 香蕉看片| 91在线蜜桃臀 | 天天综合中文 | 日日夜夜操av | 婷婷久久综合九色综合 | 黄色影院在线免费观看 | 久久精品中文字幕少妇 | 日本中文字幕网址 | 日韩免费一区二区在线观看 | 97超碰人 | 蜜桃视频成人在线观看 | www.亚洲精品在线 | 日本三级中文字幕在线观看 | 免费看污片 | 欧美最爽乱淫视频播放 | 99久久精品免费视频 | 91精品在线观看视频 | 激情久久一区二区三区 | 亚洲精品久久久久中文字幕二区 | a色视频| 国产在线播放一区 | 91亚洲夫妻| 高清一区二区三区av | 免费h精品视频在线播放 | 99久久99久久精品 | 久久精品亚洲综合专区 | 超碰在线人| 久久久五月天 | 国产精品久久久久四虎 | 国产精品igao视频网入口 | 欧美性色黄大片在线观看 | 色 中文字幕 | 六月丁香社区 | 亚洲成人精品影院 | 成人不用播放器 | 在线观看视频色 | 国产精品入口66mio女同 | 久久伊人精品一区二区三区 | 亚洲全部视频 | 男女激情免费网站 | 免费在线国产 | 色夜视频 | 婷婷去俺也去六月色 | 成人一级视频在线观看 | 免费成人av在线看 | 久草在线视频中文 | 在线免费观看欧美日韩 | 夜色在线资源 | 国产精品久久久久久久久婷婷 | 特级大胆西西4444www | 超碰在线99 | 欧美一级淫片videoshd | 免费黄色网址网站 | 91精品国产成人 | 中文字幕免 | 国产日产精品久久久久快鸭 | 国产精品视频久久 | 超碰精品在线观看 | 亚洲婷婷在线视频 | 国产在线色| 欧美日韩精品网站 | 国产日韩欧美在线一区 | 国产亚洲成av片在线观看 | 久久久久久久99精品免费观看 | 国产亚洲精品日韩在线tv黄 | 97色狠狠 | 国产欧美精品一区二区三区四区 | 国产91免费在线 | 狠狠狠狠狠操 | 国产成人精品网站 | 日韩午夜精品 | 九九爱免费视频在线观看 | 国产最新视频在线观看 | 久久99精品国产99久久6尤 | 天天操天天干天天操天天干 | 中文字幕在线观看完整 | 国产精品欧美久久久久无广告 | 国产精品美女久久久久久久网站 | 五月视频 | 91爱在线| 国产香蕉视频在线播放 | 成人欧美一区二区三区在线观看 | 亚洲成a人片在线观看网站口工 | 日日爽视频 | av韩国在线 | 国产又粗又猛又爽又黄的视频免费 | 激情五月播播久久久精品 | 色91在线 | 在线视频第一页 | 国产99久久久精品视频 | 91天堂影院 | 国产精品久久久久影院日本 | 成人av资源网 | 日日操天天爽 | 日日爱夜夜爱 | 99r在线 | 在线观看免费黄视频 | 亚洲香蕉在线观看 | 国产一区二区三区网站 | 97在线影院 | 亚洲国产精品日韩 | www.色五月.com | 天天干.com | 欧美性视频网站 | 欧美精品乱码久久久久久按摩 | 992tv在线 | 亚洲自拍偷拍色图 | 欧美日韩不卡一区二区 | 免费色视频 | 久久久久亚洲精品中文字幕 | 日韩av中文 | 五月婷婷欧美视频 | 国产另类av| 九九九毛片 | 在线观看视频日韩 | 国内精品久久久久久中文字幕 | 国产视频久久久久 | 日韩免费看视频 | 日韩毛片在线一区二区毛片 | 欧美日韩高清一区 | 日韩精品一区二区三区高清免费 | 国产.精品.日韩.另类.中文.在线.播放 | 亚洲日韩精品欧美一区二区 | 91精彩视频在线观看 | 欧美aaaxxxx做受视频 | 国产高清在线永久 | 亚洲涩涩涩 | 久久国产午夜精品理论片最新版本 | 日日干夜夜草 | 色婷婷激婷婷情综天天 | 中文字幕在线国产 | 久草在线观看 | 日韩动漫免费观看高清完整版在线观看 | 91丨九色丨国产在线观看 | 国产一级黄色电影 | 麻豆传媒视频在线免费观看 | 九九精品久久久 | 91精品国自产在线 | 99久久精品一区二区成人 | 岛国av在线不卡 | 国产97在线视频 | 久久国产精品免费一区二区三区 | 尤物一区二区三区 | 天堂av在线中文在线 | 日本一区二区三区视频在线播放 | 九色激情网 | 亚洲综合小说 | 久久色视频 | 五月婷综合 | 精品国产a | 91在线视频网址 | 欧美精品xx | 日韩在线第一区 | 黄色毛片视频免费观看中文 | 女人18精品一区二区三区 | 人人爽人人爽人人爽学生一级 | 国产女人免费看a级丨片 | 麻豆精品视频在线观看免费 | 免费在线观看黄色网 | 五月综合激情网 | 欧美亚洲xxx | 国产在线精 | 国产一级视屏 | 国产一区二区影院 | 久草在线中文888 | 国产精品久久久久久久免费观看 | 中文字幕在线日 | 欧美日韩高清一区二区 国产亚洲免费看 | 韩国av一区二区 | 久久视频这里有久久精品视频11 | 99久精品 | 国产黄色片免费 | 久久免费成人网 | 久久免费观看少妇a级毛片 久久久久成人免费 | 超碰在线观看99 | 伊人五月天婷婷 | 91网站在线视频 | 欧美一级看片 | 日韩av影视在线 | 在线视频日韩欧美 | 97超级碰碰碰碰久久久久 | 伊人激情综合 | 久久99精品久久久久久三级 | 一本—道久久a久久精品蜜桃 | 亚洲经典中文字幕 | 午夜精品一区二区国产 | 麻豆免费精品视频 | 国产中文字幕亚洲 | 亚洲天堂网视频 | 在线观看av片 | 国产精品久久久久久妇 | 婷婷国产在线观看 | 欧美日韩三级在线观看 | 国产成人黄色片 | 国产精品一区二区中文字幕 | 国产成人精品亚洲日本在线观看 | 日日激情 | 久久激情精品 | 91精品视频免费在线观看 | 在线看国产精品 | 欧美视频xxx | 国产精品一区二区在线 | 97电影在线看视频 | 亚洲精品在线网站 | 婷婷伊人网 | 久久网址 | 国产成人精品999在线观看 | 久章草在线 | 婷婷色狠狠| www亚洲国产| 久久99精品久久久久久久久久久久 | 久久人人艹 | 综合精品久久 | 国产成人精品午夜在线播放 | 久久久久电影 | 国产 视频 久久 | 国产在线视频一区二区三区 | 久久人人做 | 国产精品成人一区二区三区 | 国产精品系列在线 | 欧美性爽爽| av观看在线观看 | 亚洲美女精品视频 | 中文字幕 国产视频 | 亚洲一区二区三区毛片 | 91视频一8mav| 精品国产免费观看 | 亚洲国产精品成人女人久久 | 狠狠久久伊人 | 国产在线不卡一区 | 国产精国产精品 | 国产精品欧美久久久久三级 | 在线观看视频99 | 国产精彩视频一区 | 国产在线高清精品 | 久久久久久久久国产 | 国产香蕉97碰碰碰视频在线观看 | 国产在线观看你懂的 | av福利网址导航 | www.天天射.com | 久久天天躁夜夜躁狠狠85麻豆 | 亚洲精品88欧美一区二区 | 国产麻豆果冻传媒在线观看 | 日韩三级视频 | 亚洲3级| 久久国内精品 | 精品一区精品二区高清 | 青青河边草手机免费 | 国语精品免费视频 | 欧美精品亚洲精品日韩精品 | 久久久99精品免费观看app | 久久久久精 | 日本精品二区 | 日本成人a | 国产美女搞久久 | 最新中文字幕在线观看视频 | 日韩亚洲精品电影 | 亚洲激情 | 国产黄色在线看 | 欧美性性网 | 激情偷乱人伦小说视频在线观看 | 日韩视频免费播放 | 97在线观看免费观看高清 | 国产亚洲视频在线 | 激情丁香综合五月 | 色射色| 久久精品99国产精品日本 | 96精品高清视频在线观看软件特色 | 97超碰资源网| av电影在线播放 | 日韩精品一区二区三区免费观看 | 99国内精品 | 午夜精品一区二区三区在线播放 | 久久国产欧美日韩精品 | 日韩欧美国产成人 | 夜夜操天天操 | 中国老女人日b | 丁香国产视频 | 欧美一级日韩免费不卡 | 久久av观看 | 最新日韩视频在线观看 | 最近日本中文字幕 | 日韩在线视频不卡 | 久久免费视频一区 | 国内精品久久天天躁人人爽 | 免费97视频 | 久久有精品 | av亚洲产国偷v产偷v自拍小说 | 亚洲一区精品人人爽人人躁 | 欧美激情第八页 | 久久久久久久久久免费视频 | 91福利小视频| 国产91精品一区二区麻豆亚洲 | 日韩精品视频免费专区在线播放 | 亚洲欧美在线视频免费 | 欧美日韩高清一区二区三区 | 91激情视频在线播放 | 久久综合婷婷国产二区高清 | 成年人在线免费看视频 | 成年人视频在线 | 精品一区二区三区久久久 | 久草免费在线视频观看 | 色中文字幕在线观看 | 欧美日视频 | 亚洲毛片一区二区三区 | 夜添久久精品亚洲国产精品 | 天天操天天射天天插 | 天天玩天天干天天操 | av中文字幕在线免费观看 | 三级av在线播放 | 99热9| 婷婷丁香六月 | 黄色影院在线播放 | 久热久草| 国产+日韩欧美 | 欧美色婷婷 | 国产福利精品一区二区 | 国产精品一区二区在线播放 | 色婷婷av一区二 | 99亚洲精品在线 | 在线观看亚洲精品 | 亚洲 中文 在线 精品 | 97精品久久 | 狠狠色伊人亚洲综合网站野外 | 日躁夜躁狠狠躁2001 | 日韩欧美国产激情在线播放 | 日韩精品久久久免费观看夜色 | 一级成人免费视频 | 国产中文字幕久久 | 国产福利中文字幕 | 91热这里只有精品 | 日本久久久久久科技有限公司 | 日韩视频一 | 午夜精品久久久久久久久久久 | 一区中文字幕在线观看 | 日韩女同一区二区三区在线观看 | 国产精品毛片一区视频播不卡 | 激情五月婷婷激情 | 久久亚洲欧美 | 国产精品女人久久久久久 | 在线观看蜜桃视频 | 国产亚洲成人网 | 成人在线免费观看视视频 | 最近最新mv字幕免费观看 | 综合久久久久 | 欧美一级免费在线 | 久久久蜜桃一区二区 | 美女视频久久 | 成人全视频免费观看在线看 | 色姑娘综合天天 | 91精品欧美一区二区三区 | 日韩理论在线视频 | 日日夜夜网站 | 亚洲一区精品二人人爽久久 | 91av久久 | 久久久亚洲精华液 | 日韩免费在线观看视频 | 国产精品美女久久久久aⅴ 干干夜夜 | 欧美视频一区二 | 日韩久久精品一区 | 国产又粗又猛又黄视频 | 久久久久久久99精品免费观看 | 亚洲天堂香蕉 | 激情综合网在线观看 | 91完整视频| 国产精品6 | 日韩一二三 | 欧美电影黄色 | 久久国产精品99国产精 | 人人插人人费 | 成人福利在线观看 | 97看片| 99精品国产高清在线观看 | 韩国精品在线 | 午夜精品久久久久久久99无限制 | 天天射天天做 | 人人澡人人爽欧一区 | 97成人精品区在线播放 | 91禁看片 | 毛片激情永久免费 | av无限看| 成人宗合网 | 特级西西444www大精品视频免费看 | 免费开视频 | 国产热re99久久6国产精品 | 久久视| 在线中文字幕av观看 | 色婷婷在线视频 | 久草电影免费在线观看 | 999电影免费在线观看 | 狠狠操精品 | 黄在线免费看 | 色视频在线观看免费 | 国偷自产视频一区二区久 | 91视频麻豆视频 | 欧美日韩二区在线 | 久久久综合| 国产一级黄色av | 日本91在线 | 久久精品视频在线看 | 美女黄频视频大全 | 国产精品成人一区二区三区吃奶 | 一级片黄色片网站 | 国产视频一区二区三区在线 | 亚洲在线精品 | 日本特黄一级片 | 四虎影视av| 国产成人l区| 成人性生爱a∨ | 国产精品一区二区三区99 | 在线蜜桃视频 | 国产天天综合 | 久久五月精品 | 久久久久久蜜av免费网站 | 干综合网 | 免费在线观看av电影 | a在线免费 | 91成人亚洲 | 91成人精品一区在线播放69 | 国产大尺度视频 | 黄色一级影院 | 欧美久久综合 | 亚洲国产99 | 最新色站 | 久久久久成人精品免费播放动漫 | 中文字幕在线播放一区 | 成人观看视频 | 在线播放 日韩专区 | 亚洲久久视频 | 国产美女精品视频免费观看 | 免费国产在线精品 | 97精品国产91久久久久久久 | 欧美亚洲成人免费 | 最近2019中文免费高清视频观看www99 | 国产精品女视频 | 在线视频观看亚洲 | 亚洲影音先锋 | 国产精品粉嫩 | 国产精品视频专区 | 中文字幕在线观看视频免费 | 日本精品视频一区二区 | 日韩videos高潮hd| 欧美精品一区二区蜜臀亚洲 | 一区二区伦理 | 国产中文字幕视频在线观看 | 91香蕉久久 | 国内精品小视频 | 亚洲精品玖玖玖av在线看 | 欧美一级片在线 | 国产99久久九九精品免费 | 在线亚洲小视频 | 狠狠色噜噜狠狠狠狠 | 久草av在线播放 | www.五月天婷婷 | 国产精品av免费 | 91三级在线观看 | 久操97| 亚洲精品视频在线 | 久久久精品综合 | 黄色一级在线免费观看 | 久草网站在线 | 久久超| 91激情视频在线观看 | 麻豆视频免费网站 | 久久精品视频99 | 成人一级免费电影 | 成年人黄色免费看 | 四虎欧美 | 99福利片| 免费视频 三区 | 精品96久久久久久中文字幕无 | 日韩av电影一区 | 亚洲乱码久久久 | 久草在线视频免费资源观看 | 国产精品永久免费 | 久久免费电影网 | 狠狠干网站 | 毛片无卡免费无播放器 | 亚洲欧美国产日韩在线观看 | 91麻豆精品国产91久久久更新时间 | 国产精品久久99综合免费观看尤物 | 欧美a级在线免费观看 | 亚洲天堂色婷婷 | 国产成人精品999 | 国产精品99久久久 | 中国精品一区二区 | 国产精品18毛片一区二区 | 三级黄色理论片 | 人人爽人人爽人人爽学生一级 | 日日干av | 在线免费观看视频 | 免费在线观看av的网站 | 夜色成人网 | 奇米影视在线99精品 | a视频免费| 九九九九精品九九九九 | 免费福利视频网站 | 韩国av一区二区三区在线观看 | 婷婷在线精品视频 | 欧美在线free | 欧美精品亚州精品 | 亚洲不卡在线 | 亚洲国内精品视频 | 精品国产伦一区二区三区观看方式 | 亚洲在线精品视频 | 日韩在线视频网址 | 国产黄视频在线观看 | 久久综合操 | 免费午夜视频在线观看 | www.国产视频 | 一级黄色视屏 | 久久久久久国产精品999 | 69国产成人综合久久精品欧美 | 欧美日韩高清一区二区三区 | 国产精品久久久久久久久久免费看 | 午夜视频在线观看一区二区三区 | 欧美日韩精 | 欧美性爽爽 | 国产九九热| 成年人在线观看免费视频 | 天天舔天天搞 | 韩日视频在线 | 日韩h在线观看 | 四虎免费在线观看视频 | 黄色官网在线观看 | 亚洲精品成人av在线 | 91精品视频观看 | 蜜桃视频在线观看一区 | 久久人91精品久久久久久不卡 | 国产一二区免费视频 | 国产一区二区精品 | 精品一区二区在线免费观看 | 久久久www成人免费精品 | 精品一区二区三区久久久 | 国产馆在线播放 | 亚洲第一色 | 2021久久 | 免费看一级特黄a大片 | 深夜免费福利网站 | av免费黄色 | 在线免费黄 | 黄网站www | 天天狠狠干 | 久久久亚洲国产精品麻豆综合天堂 | 久久精品国产一区 | 欧美色图另类 | 中文字幕在线观看视频一区二区三区 | 久久国产精品色婷婷 | 91手机电视 | 中文永久字幕 | 99久久精品一区二区成人 | 亚洲午夜小视频 | 色婷婷亚洲 | 国产日韩亚洲 | 成人网色 | 91视频在线看 | 成人午夜电影网站 | 国产精品扒开做爽爽的视频 | 青青啪 | 日本狠狠干 | 欧美一区二区三区在线 | 看污网站 | 黄色av电影一级片 | 99久久精品免费看国产一区二区三区 | 久久性生活片 | 国产日韩精品一区二区在线观看播放 | 亚洲毛片一区二区三区 | 国产91aaa| 在线观看亚洲电影 | 欧美日韩精品在线播放 | 99久久国产免费,99久久国产免费大片 | 国产精品免费久久久久久 | 色99导航 | 成人黄色在线播放 | 麻豆视频在线 | 91在线看视频| 亚洲激情在线 | 激情五月伊人 | 久久亚洲影院 | 在线观看不卡的av | 国产一二区视频 | 日韩av中文在线 | 黄色小说在线观看视频 | 欧美激情精品久久 | 亚洲欧美日韩国产一区二区三区 | 中文字幕第一页在线 | 韩国av电影在线观看 | 在线观看岛国 | 日韩激情精品 | 欧洲精品二区 | 韩国av一区二区三区在线观看 | 亚洲国产97在线精品一区 | 婷婷激情久久 | 日日夜夜精品免费观看 | 久久精品一区二区三区国产主播 | 国产精品一区二区三区在线看 | 国产精品6| 丁五月婷婷 | 国产精品视频全国免费观看 | 97精品视频在线 | 天天看天天干 | www黄| 五月婷婷亚洲 | 青青河边草手机免费 | 2021国产视频 | 粉嫩av一区二区三区入口 | 久久精品成人欧美大片古装 | 日韩在线第一区 | 亚洲精品影视 | 国产精品美女久久久 | 婷婷成人综合 | 久久久天堂 | 精品国产人成亚洲区 | 国产成人一区二区三区久久精品 | 波多野结衣一区二区三区中文字幕 | 黄色一级大片在线免费看产 | 色激情五月 | 91mv.cool在线观看 | 欧美贵妇性狂欢 | 午夜av一区 | 久久免费视频在线观看30 | 国产艹b视频 | 青青河边草手机免费 | 国产福利不卡视频 | 91在线中文| 色婷婷亚洲 | 97超碰成人在线 | 操高跟美女 | 九九免费在线观看 | 日日操狠狠干 | www.狠狠插.com| 日韩三级在线观看 | 五月婷婷影院 | 97精品国产97久久久久久久久久久久 | 精品亚洲欧美无人区乱码 | 亚洲乱码国产乱码精品天美传媒 | 在线 欧美 日韩 | 久久国产精品成人免费浪潮 | 日韩综合精品 | 日韩免费一区二区三区 | 狠狠躁18三区二区一区ai明星 | 亚洲成av片人久久久 | 麻豆视频免费播放 | 精品免费久久久久 | 九九激情视频 | 久久久久久久久久久久久久免费看 | 玖玖视频精品 | 1000部国产精品成人观看 | 久久综合五月天婷婷伊人 | 揉bbb玩bbb少妇bbb | 亚洲爽爽网 | 亚洲欧洲中文日韩久久av乱码 | 免费av影视| 在线午夜 | 操操综合 | 亚州精品视频 | 久久久久久久免费看 | 日韩一区二区三区免费电影 | 日本bbbb摸bbbb | 伊人丁香 | 久久婷婷开心 | 精品一区 在线 | 开心激情网五月天 | 免费av在线播放 | 黄色一级免费网站 | 亚洲精品国产成人av在线 | 亚洲视频在线播放 | 九九热视频在线免费观看 | 天天综合网国产 | 97精产国品一二三产区在线 | 性色视频在线 | 在线播放日韩av | 亚洲区另类春色综合小说 | 一本一道波多野毛片中文在线 | 日本不卡一区二区三区在线观看 | 麻花豆传媒mv在线观看网站 | 97成人免费 | 亚洲午夜精 | 久久精品视频网 | 天天干天天干天天干 | 丁香六月激情 | 亚洲影院一区 | 日韩精品免费 | a视频免费| 久久久精品高清 | 欧美日韩精品在线观看视频 | 日本在线观看中文字幕无线观看 | 亚洲综合色丁香婷婷六月图片 | 人人爽人人看 | 欧美精品一区二区性色 | 免费a v观看 | 成人h视频 | 国产在线播放一区二区三区 | 国产在线小视频 | 天海翼一区二区三区免费 | www.狠狠操 | 亚州国产视频 | 中文字幕在线看片 | 国产精品麻豆视频 | 成年人黄色免费网站 | 久草资源在线 | 久久精品一区二区 | 丁香六月网 | 亚洲成av人片在线观看无 | 国产v在线播放 | 国产午夜精品一区二区三区 | 久久久久久久久久久网站 | av一区二区在线观看中文字幕 | 美女黄濒 | 啪啪免费视频网站 | va视频在线观看 | 亚洲综合视频在线 | 深爱五月激情五月 | 九九免费在线观看视频 | 蜜臀久久99静品久久久久久 | 中文字幕在线播放视频 | 丁香六月在线观看 | 免费观看福利视频 | 国产精品久久久久永久免费 | 亚洲综合最新在线 | 99这里有精品 | 国产精品高潮呻吟久久久久 | 99婷婷 | 黄色av一区| 玖玖玖在线观看 | 特片网久久 | 国产精品一区二区美女视频免费看 | 啪啪动态视频 | 人人草人 | 波多野结衣在线观看一区 | 超碰97国产在线 | 91麻豆精品国产91久久久使用方法 | 久草免费色站 | www.天天色.com | 91精品国产成人www | 美女黄视频免费看 | 成年人天堂com | 亚洲综合色av |