欧美三区四区_av先锋影音资源站_亚洲第一论坛sis_影音先锋2020色资源网_亚洲精品社区_在线免费观看av网站_国产一区二区伦理_亚洲欧美视频一区二区_99视频精品全部免费在线_精精国产xxxx视频在线

實例解析AJAX與JSF實現帶進度條的批量上傳_JSP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:實例解析Java/JSP中調用SQL Server存儲過程
最近做了個Java的小項目(第一次寫Java的項目哦 ), 到網上搜索了半天,找到了一個比較好點的調用存儲過程的例子,而且網上普遍采用的都是setXXX((int parameterIndex, XXX x)的形式。這種形式感覺不是很直觀,下面就發布一個完整的采用setXXX(String param

一。NetBeans 5.5.1 中的樣例:


 

NetBeans 5.5.1中自帶了一個“文件上載“的例子,使用這個例子,請先下載并安裝以下軟件:

  1. JAVA SE 5 (JDK 1.5) 及以上版本(http://java.sun.com/javase/downloads/index.jsp

  2. NetBeans 5.5.1http://zh-cn.netbeans.org/index_zh_CN.html

  3. Sun Application Server 9.0https://glassfish.dev.java.net/

     

2+3也可以下載“NetBeans IDE 5.5.1 with Java EE Application Server 9.0 U1 Patch 1 bundle ”http://www.netbeans.info/downloads/index.php?rs=22&p=3


 

NetBeans中,選擇菜單“新建項目”-〉“類別”中選擇“樣例”-〉“Java BluePrint Solution” ->AJAX編程模型。項目中選擇“文件上載”。項目名缺省為“fileupload”


 

運行項目“fileupload”, 并且選擇幾個上傳文件,文件類型可以多種多樣,比如pdf, jar, ra, zip, jpeg, gif等等。可以看到如下界面。



傳輸完畢,可以看到如下結果。




 

顯示了上傳文件開始,結束的的時間,上傳文件總的字節數目等等。


 

項目“fileupload”/web/docs/下有一個fileupload.html 的文檔,解釋了這個上傳文件的參數及使用(English)。文件上載是一個JSF控件,開發者需要了解的除了如何在服務器端處理請求中的參數,如何在客戶端顯示響應信息外,所需要了解的僅僅是一些參數的設置。如這個例子中的代碼所示:

<ui:fileUploadTag id="TestFileuploadForm0" retFunction="testRetFunction" retMimeType="text/xml"

postProcessingMethod="#{FileUploadCustomBean.postProcessingMethod}"

progressBarDivId="progress1x" progressBarSubmitId="submit1x" progressBarSize="40">

<input type="file" size="40" name="fileToUpload0" id="fileToUpload0Id"/><br/>

<input type="file" size="40" name="fileToUpload1" id="fileToUpload1Id"/><br/>

<input type="file" size="40" name="fileToUpload2" id="fileToUpload2Id"/><br/>

<input type="submit" id="submit1x" name="submit1x" value="Submit"/><br/>

<div id="progress1x"></div><br/>

</ui:fileUploadTag>


 

參數如下:

id

文件上載JSF控件的標識

serverLocationDir

文件上載的目標目錄。在示范例子中未給出這個參數的應用。缺省的情況下,文件會上載到Sun application Server domains/domain1/lib/upload目錄下。

retFunction

JavaScript 的回調函數,用于客戶端出來服務器返回的響應信息。

retMimeType

服務器端返回響應信息的類型,缺省的是“text/xml ”

postProcessingMethod

服務器端用來處理請求信息的方法。

progressBarDivId

進度條的Id

progressBarSubmitId

和進度條關聯的觸發文件上載的id。示范例子中是“submit”按鈕

progressBarSize

進度條的大小


 


 

二。使用FileUpload控件建立實例PhotoAlbum


 

下面給出另外一個使用這個上傳文件的小例子PhotoAlbum,最主要是為了說明如何提取上傳后的文件名,以及如何用AJAX技術來部分刷新上傳頁面。另外想借這個例子用 NetBeans開發JSF程序的一般流程。


 

1NetBeans中選擇菜單“新建項目”。“類別“中選擇“Web”, 項目中選擇“Web應用程序”。

2。“新建Web應用程序”窗口中,輸入及選擇以下內容:

項目名稱:PhotoAlbum

源代碼結構:Java BluePrints

服務器:Sun Java System Application Server 9

Java EE 版本:Java EE 5





 

注意:如果服務器選擇中沒有出現“Sun Java System Application Server 9”。請在NetBeans中,選擇菜單” 窗口”->“ 運行時”. 在”運行環境”窗口中,鼠標右鍵選擇”服務器”, 點擊”添加服務器”。在”平臺文件夾位置”中選擇安裝”Sun Java System Application Server 9”的目錄。在下一個窗口中,輸入服務器的管理用戶名和密碼(缺省管理用戶名和密碼是“ admin/adminadmin”)。 

3。下一個窗口中,選擇“Java Server Faces”框架。點擊“完成”



 


 





 

4。選擇項目“PhotoAlbum”中的庫,右鍵選擇“添加jar/文件夾”,加入文件上載所需要的幾個jar文件。在NetBeans安裝目錄下,例如C:\Java\netbeans-5.5.1\enterprise3\modules\ext\blueprints,加入以下五個jar文件

    shale-remoting.jar

    bp-ui-5.jar

    commons-logging-1.1.jar

    commons-io-1.2.jar

    commons-fileupload-1.1.1.jar

需要注意的是: 為了完成下面的例子,有兩個jar文件需要比較新的版本,并且需要加入庫rome-0.8.jar. 為方便起見,本文給出下載的jar文件,


 

最后的庫文件為六個:

shale-remoting-1.0.4.jar (http://download.csdn.net/source/236129)

    bp-ui-5-0.8.jar (http://download.csdn.net/source/236127)

    rome-0.8.jar (http://download.csdn.net/source/236128)

    commons-logging-1.1.jar

    commons-io-1.2.jar

    commons-fileupload-1.1.1.jar

     

5。在項目“PhotoAlbum”中的Web目錄下,手工創建一個目錄images. 如果PhotoAlbum的工作目錄是e:\mymodules\PhotoAlbum, 那么這個目錄的絕對路徑是:E:\mymodules\PhotoAlbum\web\images.


 

6。創建JSF Bean, 鼠標右鍵點擊項目“PhotoAlbum”中,選擇“新建文件/文件夾”。在類別中選擇“Web”, 在“文件類型”中選擇“JSF受管Bean”


 


 


 




 

7。“新建JSF受管Bean”窗口中,輸入:

類名:FileUploadBackBean

包:com.sun.sdn.demo.jsf


 


 




 

這步創建完之后,可以查看項目“PhotoAlbum”中“配置文件“下的“faces-config.xml”, 可以看到剛創建的“FileUploadBackBean”已經自動加入到配置文件中。

<managed-bean>
<managed-bean-name>FileUploadBackBean</managed-bean-name>
<managed-bean-class>com.sun.sdn.demo.jsf.FileUploadBackBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>

 

8。在 FileUploadBackBean 加入如下代碼:

 

/**//*
* FileUploadBackBean.java
*
* Created on 2007年8月27日, 下午2:48
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package com.sun.sdn.demo.jsf;
import java.util.Enumeration;
import java.util.Hashtable;
import java.io.IOException;

import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import javax.servlet.ServletContext;
import org.apache.shale.remoting.faces.ResponseFactory;

import com.sun.javaee.blueprints.components.ui.fileupload.FileUploadStatus;
/** *//**
*
* @author Ada Li
*/
public class FileUploadBackBean {
/** *//**
* <p>Factory for response writers that we can use to construct the
* outgoing response.</p>
*/
private static ResponseFactory factory = new ResponseFactory();
private String serverLocationDir = "E:/mymodules/PhotoAlbum/build/web/images";
String imageRootUrl = "../images";

/** *//** Creates a new instance of FileUploadBackBean */
public FileUploadBackBean() {
}
public void postProcessingMethod(FacesContext context, Hashtable htUpload, FileUploadStatus status) {
// set custom return enabled so Phaselistener knows not to send default response
status.enableCustomReturn();
// Acquire a response containing these results
ResponseWriter writer = factory.getResponseWriter(context, "text/xml");
try {
writer.startElement("response", null);

String imageFileLocation = "";
for (Enumeration e = htUpload.keys() ; e.hasMoreElements() ;) {
String key = (String)e.nextElement();
//System.out.println(key.substring(0, 13));
if (key.substring(0, 13).equals("fileLocation_")){
imageFileLocation = (String)htUpload.get(key);
String fileName = imageFileLocation.replaceFirst(getServerLocationDir(), "");
String imageFileUrl = imageRootUrl + fileName;
writer.startElement("imageFileUrl", null);
writer.write(imageFileUrl);
writer.endElement("imageFileUrl");
}
}
writer.endElement("response");
writer.flush();
} catch (IOException iox) {
System.out.println("FileUploadPhaseListener error writting AJAX response : " + iox);
}
}
public String getServerLocationDir() {
return serverLocationDir;
}
public void setServerLocationDir(String serverLocationDir) {
this.serverLocationDir = serverLocationDir;
}
}

FileUploadBackBean中有兩個參數需要根據情況設定,即 serverLocationDir 和 imageRootUrl 。因為PhotoAlbum缺省部署完成后,項目在應用服務器中的部署位置就是/build目錄。在這個例子中,文件上載到/build/images目錄下,因此還需要手工在PhotoAlbum的web目錄下建立一個images目錄,PhotoAlbum部署完成后,在/build/目錄下自動會建立images目錄。

 


上載后的文件放在/build/images目錄下,通過瀏覽器訪問的話,URL是http://localhost:8080/PhotoAlbum/images/XXXX.jpg, 因此,獲得上傳的文件名之后,之前要加上相對路徑“../images”.


文件中方法 postProcessingMethod 的主要作用是提取上傳文件名,并生成xml格式的響應信息。信息的格式如下:

<response>
<imageFileUrl>../images/Bike.jpg</imageFileUrl>
<imageFileUrl>../images/Bungee.jpg</imageFileUrl>
<imageFileUrl>../images/Duke.in.City.jpg</imageFileUrl>
<imageFileUrl>../images/Pointing.jpg</imageFileUrl>
<imageFileUrl>../images/Thiniing.jpg</imageFileUrl>
</response>
9。現在開始寫JSP頁面。在PhotoAlbum項目中,加入JSF框架之后,項目中自動加入了一個WelcomJSF.jsp頁面。修改后的WelcomJSF.jsp代碼如下:

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@taglib uri="http://java.sun.com/blueprints/ui" prefix="ui" %>
<html>
<head>
<title>AJAX與JSF實現帶進度條的批量文件上載</title>
<script>

function props(namex) {
var listx="";
var ob=dojo.byId(namex);
for(xx in ob) {
listx += xx + " = " + ob[xx] + "<br/>"
}
//document.write(listx);
alert(listx);
}

function testRetFunction(type, data, evt){
// handle successful response here
var photoAlbum = document.getElementById("photo_album");
var resultx = data.getElementsByTagName("response")[0];
if(resultx) {
var photoAlbum = document.getElementById("photo_album");

var tb = document.createElement("table");
tb.setAttribute("border", 1);
var tbody = document.createElement("tbody");
var tr = document.createElement("tr");
tb.insertBefore(tbody, null);
tbody.insertBefore(tr, null);
photoAlbum.insertBefore(tb, null);

var imageUrls = resultx.getElementsByTagName("imageFileUrl");
for (var i=0; i<imageUrls.length; i++){
var td = document.createElement("td");
td.setAttribute("width", "20%");
td.setAttribute("valigh", "top");

var url = imageUrls[i].childNodes[0].nodeValue;
var image = document.createElement("img");
image.setAttribute("src", url);
image.setAttribute("width", "100");

td.insertBefore(image, null);
tr.insertBefore(td, null);
}
}
}

</script>
</head>
<body>
<h1>AJAX與JSF實現帶進度條的批量文件上載</h1>

<f:view>

<table border="1" colspacing="5" colpadding="5">
<tr>
<td>
<br/>
<ui:fileUploadTag id="TestFileuploadForm0"
serverLocationDir="#{FileUploadBackBean.serverLocationDir}"
retFunction="testRetFunction" retMimeType="text/xml"
postProcessingMethod="#{FileUploadBackBean.postProcessingMethod}"
progressBarDivId="progress1x" progressBarSubmitId="submit1x" progressBarSize="40">
<input type="file" size="40" name="fileToUpload0" id="fileToUpload0Id"/><br/>
<input type="file" size="40" name="fileToUpload1" id="fileToUpload1Id"/><br/>
<input type="file" size="40" name="fileToUpload2" id="fileToUpload2Id"/><br/>
<input type="file" size="40" name="fileToUpload3" id="fileToUpload3Id"/><br/>
<input type="file" size="40" name="fileToUpload4" id="fileToUpload4Id"/><br/>
<input type="submit" id="submit1x" name="submit1x" value="Submit"/><br/>
<div id="progress1x"></div><br/>
</ui:fileUploadTag>
</td>
</tr>
</table>
<br><br>
<div id="photo_album"></div>
</f:view>
</body>
</html>


在welcomeJSF.jsp頁面中,重點就是JavaScript函數 testRetFunction(), 它作為AJAX中客戶端的回調函數, 接受來自服務器端的響應信息后,通過DOM技術, 在原有頁面上,動態地創建了table及img 對象,來顯示上傳的圖像.
在 FileUploadBackBean 聲明了屬性 serverLocationDir ,并且有對這個屬性的set和get方法,那么在JSF中,對這個屬性的調用可以直接是#{FileUploadBackBean.serverLocationDir}。


10。運行的結果如下


 



三。小結


 

JSF(JavaServer Faces)主要的目的是把表示和動作分開。在通常的JSP開發中, Http請求映射到事件處理器,在服務器端操作頁面控件,都不是很方便。而JSF技術分離了動作和表示,可以讓開發者更專注于自己的領域,而把一些映射的工作或者底層的工作交給框架來實現。


 

JSF提供了大量的tab library, 前面的文件上載的控件就是其中之一。在使用這個控件的時候,可以注意到,編寫Bean時,并不需要直接從HttpRequest中讀取參數值,并且在返回響應信息時候,也并沒有在代碼中直接指定具體的頁面。AJAXJSF的應用中,體現在增加了JavaScript回調函數的接口,就是WelcomJSF.jsp中的函數testRetFunction()



 

 

分享:如何在Struts 2中實現文件上傳
前一陣子有些朋友在電子郵件中問關于Struts 2實現文件上傳的問題, 所以今天我們就來討論一下這個問題。 實現原理 Struts 2是通過Commons FileUpload文件上傳。Commons FileUpload通過將HTTP的數據保存到臨時文件夾,然后Struts使用fileUpload攔截器將文件綁

來源:模板無憂//所屬分類:JSP教程/更新時間:2010-05-31
相關JSP教程
成人免费在线观看视频| 91香蕉视频免费看| 日本一区二区免费电影| 成人在线免费观看视频| 亚洲男同性恋视频| 欧美在线视频a| 日本xxxx黄色| 欧美 日韩 国产 在线| 久久精品中文| 精品视频在线免费看| 99国产超薄丝袜足j在线观看 | 在线视频观看日韩| 在线观看国产日韩| 国产精品午夜av在线| 丁香激情五月少妇| 国产福利资源一区| 亚洲国产成人午夜在线一区| 欧美激情第三页| 亚洲精品中文字幕无码蜜桃| 国内精品偷拍视频| 日韩av一级片| 亚洲国产精品人人爽夜夜爽| 亚洲精品9999| 天天操天天爽天天干| 首页国产精品| 色欧美片视频在线观看| 成人黄色片视频网站| 美国黄色特级片| 天堂av一区二区三区在线播放| 成人免费视频在线观看| 欧美一区深夜视频| 在线播放av网址| 久久伊人精品| 中文字幕一区在线观看| 日本一区二区三区四区视频| 午夜影院福利社| 欧美午夜在线播放| 国产精品成人网| 国产精品久久久久免费a∨| 日本一区二区在线免费观看| 一区二区三区四区高清视频| 国产精品视频麻豆| 日韩av免费在线观看| 国产a级黄色片| 国产成人一二片| 一区二区三区在线观看国产| 成人精品久久av网站| www.黄色在线| 国产一区二区三区四区| 欧美性猛交xxxx免费看漫画| 国产亚洲情侣一区二区无| 久久精品视频免费在线观看| 亚洲女同中文字幕| 欧美精品久久一区| 亚洲国产一区二区三区在线播 | 国产乱码精品| 亚洲国产高清高潮精品美女| 老司机激情视频| 国产超碰人人模人人爽人人添| 精品一区二区三区的国产在线播放| 亚洲性线免费观看视频成熟| 欧美a在线视频| 香蕉视频成人在线| 久久久久97| 一区二区三区日韩| 亚洲自拍中文字幕| 国产av无码专区亚洲av毛网站| 91精品啪在线观看国产18| 欧美浪妇xxxx高跟鞋交| 伊人久久大香线蕉综合75| 一区二区不卡视频在线观看| 激情国产一区二区| 久久av在线播放| 中文写幕一区二区三区免费观成熟| 日韩亚洲精品在线观看| 亚洲小说欧美激情另类| 精品欧美一区二区久久久伦| 在线天堂中文字幕| 免费日本视频一区| 久久影院资源网| 韩国黄色一级片| 日韩影视在线观看| 在线观看日韩av先锋影音电影院| 日韩免费av一区二区三区| 一区不卡在线观看| 成人精品国产免费网站| 欧美在线免费观看| 特级西西人体高清大胆| 欧美+日本+国产+在线a∨观看| 精品国产91亚洲一区二区三区婷婷 | 欧美日韩色图| 亚洲国产成人精品无码区99| 九九热视频精品| 亚洲国产二区| 日韩高清免费观看| 污污的网站18| 粉嫩av一区二区| 色欧美片视频在线观看在线视频| 亚洲一区二区在线观| 亚洲第一大网站| 国产亚洲女人久久久久毛片| 亚洲va电影大全| 97人人澡人人爽人人模亚洲| 美女www一区二区| 欧美黑人xxx| 级毛片内射视频| 好吊日精品视频| 一区二区三区动漫| 久久久久久婷婷| 日韩免费高清| 精品视频在线播放免| 免费成人黄色大片| 国产精品视频一区二区三区四蜜臂| 91精品国产综合久久久久久久久久| 成熟丰满熟妇高潮xxxxx视频| 久久91超碰青草在哪里看| 亚洲地区一二三色| 无码毛片aaa在线| 日日av拍夜夜添久久免费| 亚洲一区免费观看| 中文字幕色一区二区| 韩国女主播一区二区| 亚洲高清免费在线| 欧美性受黑人性爽| 欧洲精品久久久久毛片完整版| 午夜精品免费在线| 91免费视频黄| 日韩精品一级毛片在线播放| 日韩欧美在线看| 日本五级黄色片| 精品一区二区三区视频在线播放| 在线免费观看视频一区| 美女三级99| 欧洲女同同性吃奶| 国产精品sm| 日韩在线视频免费观看| 国产亚洲午夜高清国产拍精品| 久久视频中文字幕| 我和岳m愉情xxxⅹ视频| 亚洲激情在线| 欧美精品在线网站| 69夜色精品国产69乱| 日产国产欧美视频一区精品| 国自产精品手机在线观看视频| 91嫩草|国产丨精品入口| 毛片在线视频观看| 一级黄色大毛片| 国产欧美精品一区二区三区四区| 国产一区免费观看| 亚洲欧美另类视频| 亚洲永久精品国产| 日韩免费在线观看av| 久久三级中文| 日韩欧美的一区| 四川一级毛毛片| 欧美精品福利| 久久久久久国产| 国产污片在线观看| www.欧美日韩| 久久青青草原一区二区| 外国成人直播| 欧美日韩一区视频| www.久久av.com| 欧美激情91| 68精品国产免费久久久久久婷婷| 亚洲人成在线播放| 国产精品美女xx| 精品美女www爽爽爽视频| 亚洲欧美日本韩国| 国产内射老熟女aaaa| 成人在线视频中文字幕| 亚洲电影在线观看| 日韩 中文字幕| 日韩制服丝袜先锋影音| 国产一区二区0| 国产精品香蕉在线观看| 91精品国产综合久| 国产高潮在线观看| 91视频观看视频| 欧美日韩国产高清视频| 欧美精品总汇| 欧美丰满高潮xxxx喷水动漫| 性xxxxxxxxx| 国产精品美女| 国产精品亚发布| 黑人乱码一区二区三区av| 欧美日韩国产综合新一区| 天天操天天爱天天爽| 在线中文字幕亚洲| 51ⅴ精品国产91久久久久久| 国产黄色免费视频| 亚洲精品ww久久久久久p站| 国产 福利 在线| 五月激情久久久| 69久久夜色精品国产69乱青草| 波多野结衣mp4| 亚洲一区二区在线观看视频| 88av.com| 亚洲韩日在线| 成人福利视频在线观看| 亚洲AV成人无码一二三区在线| 欧美日韩免费在线视频| 中文字幕天堂av| 国内成人精品2018免费看| 久中文字幕一区| 伊人精品综合| 日韩亚洲在线观看| 西西44rtwww国产精品| 亚洲三级在线看| 免费日韩中文字幕| 禁久久精品乱码| 91精品在线一区| 亚洲国产尤物| 亚洲国产私拍精品国模在线观看| 四虎国产成人精品免费一女五男| 99视频超级精品| 波多野结衣三级在线| 台湾色综合娱乐中文网| 欧美日韩电影在线观看| 99久久久无码国产精品免费蜜柚| 亚洲国产日日夜夜| 国产又黄又猛的视频| 久久久久久网| 久久草.com| 国产劲爆久久| 欧美激情第三页| 一级黄色大片免费观看| 在线免费精品视频| 中文字幕丰满孑伦无码专区| 成人手机在线视频| 神马午夜伦理影院| 亚洲综合小说| 成人中文字幕+乱码+中文字幕| 国产综合色区在线观看| 国产在线精品一区二区三区不卡| 在线观看av不卡| 91九色蝌蚪porny| 国产黄人亚洲片| 一区二区在线观| 成人av动漫在线观看| 国产成人精品一区二区| 欧美7777| 亚洲国产精久久久久久久| 九九视频免费观看| 日本成人三级电影| 日韩一二三区不卡| 99自拍视频在线| 亚洲欧洲美洲综合色网| 日韩中文字幕a| 精品亚洲国内自在自线福利| 亚洲精品成人久久久998| 一区二区三区www污污污网站| 亚洲国产成人tv| 日批视频免费看 | 国产日韩欧美精品| 在线观看视频一区二区三区| 久久国产精品视频| 国产99999| 欧美精品一区二区三区很污很色的| 黄色在线观看免费| 亚洲高清在线视频| 色呦呦一区二区| 久久先锋影音av鲁色资源| 日韩有码免费视频| 久久精品国产免费看久久精品| 亚洲一区尤物| 欧美激情五月| 国产伦精品一区| 欧美人妖在线| 国产精品嫩草影院久久久| 四虎精品一区二区免费| 久久久精品免费| 国产日本欧美一区二区三区在线| www.五月婷婷| 亚洲精选一区二区| 无码一区二区三区在线观看| 欧美日韩在线播| 黄色片在线观看网站| 午夜av区久久| 欧美aaa级片| 一级中文字幕一区二区| 风间由美一二三区av片| 国产精品乱码一区二三区小蝌蚪| 色18美女社区| 99视频有精品| 欧美成人福利在线观看| 成人亚洲一区二区一| 国产真实乱子伦| 九九国产精品视频| 亚洲熟妇无码一区二区三区导航| 日日欢夜夜爽一区| 国产一区二区三区播放| 久久久久久穴| 台湾无码一区二区| 日韩激情av在线| 日本男女交配视频| 视频一区二区不卡| 久操手机在线视频| 免费在线视频一区| 日韩欧美不卡在线| 麻豆一区二区三区| 国产极品尤物在线| 国产一区二区网址| 50路60路老熟妇啪啪| 国产成人一区二区精品非洲| 六月丁香婷婷在线| 国产91精品露脸国语对白| 国产自偷自偷免费一区| av高清久久久| 三级黄色片播放| 欧美国产欧美综合| 成人无码www在线看免费| 亚洲欧美日韩一区二区| xxxxx在线观看| 亚洲成a人在线观看| 亚洲色偷偷综合亚洲av伊人| 欧美日韩在线免费观看| 九九热精彩视频| 欧美日韩国产在线观看| 欧美日韩一级黄色片| 欧美不卡一区二区| 97人妻人人澡人人爽人人精品 | 国产精品无码人妻一区二区在线| 激情深爱一区二区| 欧美精品无码一区二区三区| 成人福利视频在线看| 日韩久久久久久久久久久| 国产精品盗摄一区二区三区| 一区二区黄色片| 欧美性猛xxx| 国产无套粉嫩白浆内谢| 日韩一区二区三| 国产精品爽爽久久| 中文字幕日韩在线播放| 欧美电影免费观看高清完整| 17婷婷久久www| 天堂在线精品| 久久99精品久久久久子伦| 伊人久久大香线蕉综合热线| 永久免费网站视频在线观看| 国产呦精品一区二区三区网站| 三级a三级三级三级a十八发禁止| 国产欧美日产一区| 人人人妻人人澡人人爽欧美一区| 91官网在线观看| 精品人妻一区二区三区潮喷在线| 亚洲欧美日韩直播| 高清成人在线| 国产精品免费看久久久香蕉 | 91久久偷偷做嫩草影院| 伊人久久大香线蕉综合四虎小说| 一区二区三区四区不卡| 精品一区二区三区av| 三上悠亚在线一区| 日韩美女啊v在线免费观看| 日本高清不卡免费| 日韩三级电影网址| 亚洲av无码国产精品久久不卡| 九九热精品视频国产| 久久亚州av| 欧美国产一二三区| 免费成人性网站| 日韩在线一区视频| 亚洲一区影音先锋| 欧美一级视频免费观看| 日韩精品中文字| 欧美日韩精品一区二区三区视频| 国产免费一区视频观看免费 | 综合久久给合久久狠狠狠97色| 黄色香蕉视频在线观看| 日韩三级高清在线| 色综合免费视频| 热久久这里只有精品| 激情五月色综合国产精品| 亚洲第一导航| 国产成人一区在线| 中文文字幕文字幕高清| 在线视频你懂得一区| 国产又粗又长又大视频| 性色av一区二区咪爱| 国内亚洲精品| 成人污网站在线观看| 99精品欧美一区二区三区小说| 亚洲码无人客一区二区三区| 欧美丰满高潮xxxx喷水动漫| 欧美一级特黄aaaaaa大片在线观看 | 国产精品久久三区| 校园春色 亚洲| 亚洲欧美国产va在线影院| www.成人| 欧美高清性xxxxhd| 国产乱码字幕精品高清av| 亚洲人人夜夜澡人人爽| 91麻豆精品国产91久久久更新时间| 熟妇高潮一区二区三区| 91色视频在线| 国产高清www| 国产欧美日韩不卡免费| 久草视频手机在线观看| 亚洲欧美在线第一页|