JSP與微軟的Active Server Pages 兼容,但它是使用類似HTML的卷標以及Java程序代碼段而不是VBScript。當你所使用的網(wǎng)站服務器沒有提供本地ASP支持, " /> 精品国产v无码大片在线观看,国产高清自产拍av在线,欧美午夜视频一区二区

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

JSP迅速入門

JavaServer Pages (JSP) 是一種以 Java為主的跨平臺web開發(fā)語言。



JSP與微軟的Active Server Pages 兼容,但它是使用類似HTML的卷標以及Java程序代碼段而不是VBScript。當你所使用的網(wǎng)站服務器沒有提供本地ASP支持,也就是Apache或NETscape服務器時,你可以考慮使用JSP。雖然你可以取得這些服務器ASP附加配備模塊,但價格相當昂貴,而目前Sun并沒有對你所需要的JSP組件收取費用(雖然Sun未來有可能會收費)。對于Solaris與Linux以及Windows,這些組件也都很容易取得。 



請不要將JSP與伺服端的JavaScript混為一談。網(wǎng)站服務器會自動將以JSP寫成的Java程序代碼段轉(zhuǎn)換成Java servlets。而許多先前必須以Perl手寫程序或服務器特定的API(如ASP)控制的功能也都可透過JSP來自動化處理。



現(xiàn)在就讓我們開始動手幫助你建立一個可執(zhí)行JSP范例網(wǎng)站。





安裝好你的機器來使用JSP



你將會需要Java 2軟件開發(fā)工具(JSDK),它原來的名稱是Java發(fā)展工具(JDK)以及JavaServer網(wǎng)站發(fā)展工具(JSWDK),Tomcat,或是其它支持JSP的網(wǎng)絡服務器。Sun免費提供JSDK與JSWDK來供Windows,Solaris,以及Linux平臺使用。 



如果你想要在你目前的網(wǎng)絡服務器上使用JSP,但服務器本身并不支持JSP與Java servlets,你可以試試看Allaire的Jrun,它的作用就像是針對NETscape企業(yè)版與FastTrack服務器、微軟的網(wǎng)際網(wǎng)絡信息服務器(IIS)與個人網(wǎng)絡服務器(PWS)、Apache、以及其它服務器網(wǎng)絡服務器附加設備。你也可以使用Apache網(wǎng)絡服務器Java版本,最新的JSWDK里有提供。



下載與安裝你需要的組件

目前發(fā)布的1.2.2-001,JSDK可下載的版本是以可安裝的壓縮檔形式。下載的檔案大約是20MB,可提供完整的Java發(fā)展環(huán)境,讓你能建立利用標準API為核心的Java解決之道。然而,你的網(wǎng)絡服務器需要應用到JSP的唯一一件事是Java編譯器。要讓網(wǎng)絡服務器知道編譯器的位置,將環(huán)境變量Java.HOME設到JSDK的安裝目錄。如果你是在Windows上安裝并且接受預設目錄,將這行程序代碼set Java.HOME=C:.2.2加到你的autoexec.bat檔案并且重新開機。



在安裝好JSDK之后,下載 并且安裝JSWDK或beta版的Tomcat,以Java為主的Apache網(wǎng)絡服務器。安裝在哪里并不重要,重要的是你可以找到它。一般而言,它會放在上層目錄,這種方式可以讓你取代JSWDK或 JSDK的網(wǎng)絡服務器,不需要移動其它的網(wǎng)絡服務器。在你安裝好這個檔案之后,你就可以準備發(fā)展JSP了。



在你正確的安裝JSWDK之后,執(zhí)行startserver指令文件來激活網(wǎng)絡服務器,預設通訊端口 為 8080。要看你在激活服務器之后是均C有正確的安裝工具,你可以加載范例JSP檔案中的任何一個(http://localhost:8080/examples/jsp/)。如果你能夠成功的執(zhí)行一個范例檔案,你可以知道你已經(jīng)正確的設定好軟件了。如果你在激活服務器的控制臺窗口看到錯誤訊息,那么你需要解決這個問題。最常發(fā)生的問題是沒有設定(或者不正確設定)環(huán)境變量Java.HOME。要檢視目前的環(huán)境設定,在DOS模式下鍵入set。



開始



解釋JSP語法之前,先建立一個顯示目前日期與時間的快速網(wǎng)頁并且將它儲存成sample.jsp:



<html>

<head>

<title>First Page</title>

</head>

<body>

<H3>Today is:

<%= new Java.util.Date() %>

</H3>

</body>

</html>.



將這個檔案與你所有的HTML與JSP網(wǎng)頁放在你JSWDK安裝目錄下的網(wǎng)頁目錄里. 你可以在http://localhost:8080/sample.jsp下載此頁.當你第一次參觀這個網(wǎng)頁時,網(wǎng)站服務器會將JSP翻譯成Java servlet程序代碼,那你就會看到目前的日期與時間.



現(xiàn)在你已經(jīng)下載,安裝,并且架構(gòu)好發(fā)展環(huán)境,你已經(jīng)準備好要了解JSP語法與建立你自己的JSP為主的解決之道.



JSP語法的基本原理





安裝之后,接下來我們要討論JSP的語法.如果要偷懶,你可以下載語法卡 而如果你不熟悉 Java的程序設計,你可能會想要參考Sun的使用手冊;然而,網(wǎng)站建立者不應該做太多的Java發(fā)展.除了幾個函式呼叫之外,出現(xiàn)在你JSP網(wǎng)頁上的Java程序代碼應該將它減到最少;



記住這點之后,現(xiàn)在讓我們先來看看JSP的編譯器指引與指令組件,之后我們將解釋JavaBeans與內(nèi)部對象. JSP編譯器指引與指令組件有五種型態(tài).JSP 1.0之后,大部分的JSP是包含在以<% 作為開始%>作為結(jié)束的單一卷標里.新的 JSP 1.1規(guī)格已經(jīng)發(fā)表了,它同時也與XML兼容.



JSP的編譯器指引與指令組件



  編譯器指示

<%@ 編譯器指示 %>



  聲明

<%! 聲明 %>



  表達式

<%= 表達式 %>



  程序代碼段/小型指令

<% 程序代碼片段 %>



  注釋

<%-- 注釋 --%>





 



編譯器指示



JSP的編譯器指示是針對JSP引擎。它們并不會直接產(chǎn)生任何看得見的輸出;相反的,它們是在告訴引擎如何處理其它的JSP網(wǎng)頁。它們永遠包含在 <%@ ?%>卷標里。兩個主要的指引是 page與include。我們不會討論taglib編譯器指引但它可以在JSP1.1里用來建立自訂卷標。



你幾乎可以在你所有的JSP網(wǎng)頁最上面找到page編譯器指示。雖然這不是必須的,但它可以讓你指定到哪里可以找到支持的Java類別這類的事:

<%@ page import="Java.util.Date" %>, 



當發(fā)生Java問題的事件時應該將訊息傳送到哪里:

<%@ page errorPage="errorPage.jsp" %>, 



以及你是?需要為使用者管理通話期的信息,可能存取多個網(wǎng)頁(稍后在JavaBeans里會有更多通話期的討論):

<%@ page session="true" %>。 



 include編譯器指示讓你將你的內(nèi)容分成幾個可管理的組件,就像那些有表頭或腳注的網(wǎng)頁。所包含的網(wǎng)頁可以是固定格式的HTML網(wǎng)頁或者是JSP內(nèi)容的網(wǎng)頁:

<%@ include file="filename.jsp" %>。



宣告



JSP聲明讓你定義網(wǎng)頁層的變量,來儲存信息或定義支持的函式,讓JSP網(wǎng)頁的其余部分能夠使用。如果你發(fā)現(xiàn)自己有太多的程序代碼,你最好將它們放在不同的Java類別里。你可以在 <%! ?%>卷標里找到聲明。記住要在變量聲明的后面加上分號,就跟任何有效的Java敘述的形式一樣: <%! int i=0; %>。



表達式



JSP里有表達式,評估表達式的結(jié)果可以轉(zhuǎn)換成字符串并且直接使用在輸出網(wǎng)頁上。JSP運算是屬于 <%= ?%> 卷標里,并不包含分號,加引號字符串的無用部分。



<%= i %>

<%= "Hello" %> 。



程序代碼段/小型指令文件



JSP程序代碼片段或小型指令文件是包含在<% ?%> 卷標里。當網(wǎng)絡服務器接受這段請求時,這段Java程序代碼會執(zhí)行。小型指令文件可以是原始的HTML或XML,其內(nèi)部的程序代碼片段可以讓你建立有條件的執(zhí)行程序代碼,或者只是一些使用另一塊程序代碼的東西。舉例來說,下列的程序代碼結(jié)合了表達式與小型指令文件,在H1,H2,H3,以及H4卷標里顯示字符串"Hello"。小型指令文件不限于一行的原始程序代碼 :



<% for (int i=1; i<=4; i++) { %>

<H<%=i%>>Hello</H<%=i%>>

<% } %>。



注釋

最后一個主要JSP組件是嵌入式注釋。雖然你可以在你的檔案里包含HTML注釋,如果使用者檢視網(wǎng)頁的原始碼,他們也會看到這些注釋。如果你不要讓使用者看到你的批注,你可以將它放在<%-- ?--%>卷標里:



<%-- 針對伺服端的注釋 --%>。



JSP與JavaBean





雖然你可以在小型指令文件里放入一大塊的程序代碼,但是大多數(shù)的Java程序代碼是屬于可以重復使用的組件,稱為JavaBean。JavaBean就跟ActiveX控件一樣:它們提供已知的功能,并且是為了可隨時重復使用的目的而設計的。



JavaBean的價值在于它可以經(jīng)由一組特性來使用,而這些特性則提供對JavaBean設定的存取。以人來作范例,此人就是JavaBean,而他的姓名,社會福利安全號碼,以及住址可以是特性。對于JSP網(wǎng)站,基本上你是將'JavaBean'動態(tài)的連接到你的網(wǎng)站。



假設JavaBean是在?html>  



JSP入門



JavaServer Pages (JSP) 是一種以 Java為主的跨平臺web開發(fā)語言。



 



JSP與微軟的Active Server Pages 兼容,但它是使用類似HTML的卷標以及Java程序代碼段而不是VBScript。當你所使用的網(wǎng)站服務器沒有提供本地ASP支持,也就是Apache或NETscape服務器時,你可以考慮使用JSP。雖然你可以取得這些服務器ASP附加配備模塊,但價格相當昂貴,而目前Sun并沒有對你所需要的JSP組件收取費用(雖然Sun未來有可能會收費)。對于Solaris與Linux以及Windows,這些組件也都很容易取得。 



請不要將JSP與伺服端的JavaScript混為一談。網(wǎng)站服務器會自動將以JSP寫成的Java程序代碼段轉(zhuǎn)換成Java servlets。而許多先前必須以Perl手寫程序或服務器特定的API(如ASP)控制的功能也都可透過JSP來自動化處理。



現(xiàn)在就讓我們開始動手幫助你建立一個可執(zhí)行JSP范例網(wǎng)站。





安裝好你的機器來使用JSP



你將會需要Java 2軟件開發(fā)工具(JSDK),它原來的名稱是Java發(fā)展工具(JDK)以及JavaServer網(wǎng)站發(fā)展工具(JSWDK),Tomcat,或是其它支持JSP的網(wǎng)絡服務器。Sun免費提供JSDK與JSWDK來供Windows,Solaris,以及Linux平臺使用。 



如果你想要在你目前的網(wǎng)絡服務器上使用JSP,但服務器本身并不支持JSP與Java servlets,你可以試試看Allaire的Jrun,它的作用就像是針對NETscape企業(yè)版與FastTrack服務器、微軟的網(wǎng)際網(wǎng)絡信息服務器(IIS)與個人網(wǎng)絡服務器(PWS)、Apache、以及其它服務器網(wǎng)絡服務器附加設備。你也可以使用Apache網(wǎng)絡服務器Java版本,最新的JSWDK里有提供。



下載與安裝你需要的組件

目前發(fā)布的1.2.2-001,JSDK可下載的版本是以可安裝的壓縮檔形式。下載的檔案大約是20MB,可提供完整的Java發(fā)展環(huán)境,讓你能建立利用標準API為核心的Java解決之道。然而,你的網(wǎng)絡服務器需要應用到JSP的唯一一件事是Java編譯器。要讓網(wǎng)絡服務器知道編譯器的位置,將環(huán)境變量Java.HOME設到JSDK的安裝目錄。如果你是在Windows上安裝并且接受預設目錄,將這行程序代碼set Java.HOME=C:.2.2加到你的autoexec.bat檔案并且重新開機。



在安裝好JSDK之后,下載 并且安裝JSWDK或beta版的Tomcat,以Java為主的Apache網(wǎng)絡服務器。安裝在哪里并不重要,重要的是你可以找到它。一般而言,它會放在上層目錄,這種方式可以讓你取代JSWDK或 JSDK的網(wǎng)絡服務器,不需要移動其它的網(wǎng)絡服務器。在你安裝好這個檔案之后,你就可以準備發(fā)展JSP了。



在你正確的安裝JSWDK之后,執(zhí)行startserver指令文件來激活網(wǎng)絡服務器,預設通訊端口 為 8080。要看你在激活服務器之后是均C有正確的安裝工具,你可以加載范例JSP檔案中的任何一個(http://localhost:8080/examples/jsp/)。如果你能夠成功的執(zhí)行一個范例檔案,你可以知道你已經(jīng)正確的設定好軟件了。如果你在激活服務器的控制臺窗口看到錯誤訊息,那么你需要解決這個問題。最常發(fā)生的問題是沒有設定(或者不正確設定)環(huán)境變量Java.HOME。要檢視目前的環(huán)境設定,在DOS模式下鍵入set。



開始



解釋JSP語法之前,先建立一個顯示目前日期與時間的快速網(wǎng)頁并且將它儲存成sample.jsp:



<html>

<head>

<title>First Page</title>

</head>

<body>

<H3>Today is:

<%= new Java.util.Date() %>

</H3>

</body>

</html>.



將這個檔案與你所有的HTML與JSP網(wǎng)頁放在你JSWDK安裝目錄下的網(wǎng)頁目錄里. 你可以在http://localhost:8080/sample.jsp下載此頁.當你第一次參觀這個網(wǎng)頁時,網(wǎng)站服務器會將JSP翻譯成Java servlet程序代碼,那你就會看到目前的日期與時間.



現(xiàn)在你已經(jīng)下載,安裝,并且架構(gòu)好發(fā)展環(huán)境,你已經(jīng)準備好要了解JSP語法與建立你自己的JSP為主的解決之道.



JSP語法的基本原理





安裝之后,接下來我們要討論JSP的語法.如果要偷懶,你可以下載語法卡 而如果你不熟悉 Java的程序設計,你可能會想要參考Sun的使用手冊;然而,網(wǎng)站建立者不應該做太多的Java發(fā)展.除了幾個函式呼叫之外,出現(xiàn)在你JSP網(wǎng)頁上的Java程序代碼應該將它減到最少;



記住這點之后,現(xiàn)在讓我們先來看看JSP的編譯器指引與指令組件,之后我們將解釋JavaBeans與內(nèi)部對象. JSP編譯器指引與指令組件有五種型態(tài).JSP 1.0之后,大部分的JSP是包含在以<% 作為開始%>作為結(jié)束的單一卷標里.新的 JSP 1.1規(guī)格已經(jīng)發(fā)表了,它同時也與XML兼容.



JSP的編譯器指引與指令組件



  編譯器指示

<%@ 編譯器指示 %>



  聲明

<%! 聲明 %>



  表達式

<%= 表達式 %>



  程序代碼段/小型指令

<% 程序代碼片段 %>



  注釋

<%-- 注釋 --%>





 



編譯器指示



JSP的編譯器指示是針對JSP引擎。它們并不會直接產(chǎn)生任何看得見的輸出;相反的,它們是在告訴引擎如何處理其它的JSP網(wǎng)頁。它們永遠包含在 <%@ ?%>卷標里。兩個主要的指引是 page與include。我們不會討論taglib編譯器指引但它可以在JSP1.1里用來建立自訂卷標。



你幾乎可以在你所有的JSP網(wǎng)頁最上面找到page編譯器指示。雖然這不是必須的,但它可以讓你指定到哪里可以找到支持的Java類別這類的事:

<%@ page import="Java.util.Date" %>, 



當發(fā)生Java問題的事件時應該將訊息傳送到哪里:

<%@ page errorPage="errorPage.jsp" %>, 



以及你是?需要為使用者管理通話期的信息,可能存取多個網(wǎng)頁(稍后在JavaBeans里會有更多通話期的討論):

<%@ page session="true" %>。 



 include編譯器指示讓你將你的內(nèi)容分成幾個可管理的組件,就像那些有表頭或腳注的網(wǎng)頁。所包含的網(wǎng)頁可以是固定格式的HTML網(wǎng)頁或者是JSP內(nèi)容的網(wǎng)頁:

<%@ include file="filename.jsp" %>。



宣告



JSP聲明讓你定義網(wǎng)頁層的變量,來儲存信息或定義支持的函式,讓JSP網(wǎng)頁的其余部分能夠使用。如果你發(fā)現(xiàn)自己有太多的程序代碼,你最好將它們放在不同的Java類別里。你可以在 <%! ?%>卷標里找到聲明。記住要在變量聲明的后面加上分號,就跟任何有效的Java敘述的形式一樣: <%! int i=0; %>。



表達式



JSP里有表達式,評估表達式的結(jié)果可以轉(zhuǎn)換成字符串并且直接使用在輸出網(wǎng)頁上。JSP運算是屬于 <%= ?%> 卷標里,并不包含分號,加引號字符串的無用部分。



<%= i %>

<%= "Hello" %> 。



程序代碼段/小型指令文件



JSP程序代碼片段或小型指令文件是包含在<% ?%> 卷標里。當網(wǎng)絡服務器接受這段請求時,這段Java程序代碼會執(zhí)行。小型指令文件可以是原始的HTML或XML,其內(nèi)部的程序代碼片段可以讓你建立有條件的執(zhí)行程序代碼,或者只是一些使用另一塊程序代碼的東西。舉例來說,下列的程序代碼結(jié)合了表達式與小型指令文件,在H1,H2,H3,以及H4卷標里顯示字符串"Hello"。小型指令文件不限于一行的原始程序代碼 :



<% for (int i=1; i<=4; i++) { %>

<H<%=i%>>Hello</H<%=i%>>

<% } %>。



注釋

最后一個主要JSP組件是嵌入式注釋。雖然你可以在你的檔案里包含HTML注釋,如果使用者檢視網(wǎng)頁的原始碼,他們也會看到這些注釋。如果你不要讓使用者看到你的批注,你可以將它放在<%-- ?--%>卷標里:



<%-- 針對伺服端的注釋 --%>。



JSP與JavaBean





雖然你可以在小型指令文件里放入一大塊的程序代碼,但是大多數(shù)的Java程序代碼是屬于可以重復使用的組件,稱為JavaBean。JavaBean就跟ActiveX控件一樣:它們提供已知的功能,并且是為了可隨時重復使用的目的而設計的。



JavaBean的價值在于它可以經(jīng)由一組特性來使用,而這些特性則提供對JavaBean設定的存取。以人來作范例,此人就是JavaBean,而他的姓名,社會福利安全號碼,以及住址可以是特性。對于JSP網(wǎng)站,基本上你是將'JavaBean'動態(tài)的連接到你的網(wǎng)站。



假設JavaBean是在建立網(wǎng)站之前建好的,你要做的第一件事是告訴JSP網(wǎng)頁它所需要使用JavaBean.這工作可以用<jsp:useBean>卷標來完成:

<jsp:useBean id="localName" class="com.jguru.Person" scope="application" />.



<jsp:useBean>卷標需要你以id 屬性來辨識豆子.在這里,你提供一個名稱讓JSP網(wǎng)頁來辨識豆子,除了id 屬性之外,你也必須告訴網(wǎng)頁要到哪里去找這個豆子,或者是它的Java類別名稱。類別屬性提供如何在各式方法之中找到它,最后一個需要的組件是scope 屬性.有了范圍屬性的幫助,你可以告訴豆子,要它為單一網(wǎng)頁(預設)[scope="page"];為一個被請求的網(wǎng)頁[scope="request"];為通話期[scope="session"];或為整個應用程序[scope="application"]來維護它自己的信息.對于通話期范圍,你可以很容易的維護JSP網(wǎng)頁里的項目,例如購物車。



一但你宣告了JavaBean之后,你就可以存取它的特性來訂定它。要取得一特性的值,使用<jsp:getProperty>卷標。有了<jsp:getProperty>卷標,你可以指定要使用的豆子名稱(從useBean的id字段),以及你要取得值的特性。接著,真正的值就會放在輸出里:

<jsp:getProperty id="localName" property="name" />.



要更改JavaBean的特性,你需要使用<jsp:setProperty>卷標.對這個卷標,你也需要辨認豆子以及要修正的特性,除此之外,你還需要提供新值.如果命名正確,這些可以直接經(jīng)由規(guī)定的格式取得:

<jsp:setProperty id="localName" property="*" />; 



要從一參數(shù)取得,你必須直接命名此特性以及參數(shù):

<jsp:setProperty id="localName" property="address" param="parameterName" />; 



或是直接以名稱與值來設定:

<jsp:setProperty id="localName" property="serialNumber" value="string" /> or <jsp:setProperty id="localName" property="serialNumber" value= <%= expression %> />.



有關(guān)JavaBean的最后一點:要讓網(wǎng)絡服務器可以找到JavaBean,你需要將它們的類別檔案放在特別位置。對JSWDK而言,最簡單的地方是在安裝目錄里的類別目錄,例如 /jswdk-1.0.1/classes.



JSP的內(nèi)部對象





最后一個與JSP語法有關(guān)的組件叫做內(nèi)部對象.在JSP小型指令文件內(nèi),你可以存取這些內(nèi)部對象來與執(zhí)行JSP網(wǎng)頁的servlet環(huán)境相互作用。許多對內(nèi)部對象的存取應該要簡化。然而,這些是范例,它們的存取都是可接受的,要完整的利用內(nèi)部對象設定則需要對最新的Java Servlet API有所了解。



下表列出你可以使用的內(nèi)部對象。



 



內(nèi)部對象說明



  request

客戶端請求,此請求會包含來自GET/POST請求的參數(shù)



  response

網(wǎng)頁傳回客戶端的響應



  pageContext

網(wǎng)頁的屬性是在這里管理



  session

與請求有關(guān)的會話



  application

servlet正在執(zhí)行的內(nèi)容



  out

用來傳送響應的輸出流



  config

servlet的架構(gòu)對象



  page

JSP網(wǎng)頁本身



  exception

針對錯誤網(wǎng)頁,未捕捉的例外





 



那么,這些是做什么的,而你應該如何使用它們呢?基本上,在你的小型指令文件里,你可以使用它們來存取執(zhí)行JSP程序代碼的servlet。為了避免談論到太多Servlet API 的細節(jié),讓我們來檢視一些你可以利用它們來做的事: 



不必使用表達式,你可以直接存取內(nèi)部out對象來打印一些東西到response:

<% out.println("Hello"); %>. 

不必直接傳送參數(shù)到JavaBean,你可以藉由請求對象來取得參數(shù)的值:

<% String name=request.getParameter("name"); out.println(name); %>。

當你以JSP寫了許多的應用程序之后,如果你建立了JavaBeans或者發(fā)現(xiàn)你自己將太多的Java原始碼放入你的JSP檔案,你需要建立支持的Java類別,這樣可以鼓勵重復使用并且降低JSP網(wǎng)頁轉(zhuǎn)換時所需要的時間。當你需要建立Java類別時,你必須:



將JDSWK的安裝目錄/bin目錄加到你的PATH。在你的autoexec.bat檔案的PATH行的最后,加入C:.2.2/bin; 。

 



以下面的指令將JAR檔案復制到/jre/lib/ext目錄:

copy c:/jswdk-1.0.1/lib/servlet.jar c:/jdk1.2.2/jre/lib/ext.

jsp技術(shù)JSP迅速入門,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲无限乱码 | 色天天天综合色天天碰 | 中文字幕第一页亚洲 | 成年视频xxxxxx在线 | 一卡二卡≡卡四卡亚洲高清 | 亚洲伊人精品 | 狠狠做五月深爱婷婷天天综合 | 日韩α片 | 色婷婷视频在线观看 | 91色久| 天天做天天摸天天爽天天爱 | 91精品欧美成人 | 伊人久久综合谁合综合久久 | 一级特黄国产高清毛片97看片 | 欧美激情免费a视频 | 九九国产视频 | 国产精品综合一区二区 | h网站亚洲| 亚洲国产一区在线二区三区 | 69视频在线观看免费 | 成人免费观看黄a大片夜月 成人免费观看视频 | 精品久久久久久蜜臂a∨ | 亚洲国产精品久久婷婷 | 亚洲午夜久久久久国产 | 四虎影视永久在线 | 日韩在线观看一区 | 久久伊人精品青青草原2021 | 性福天堂网站 | 婷婷夜夜躁天天躁人人躁 | 综合激情网站 | 91免费精品国偷自产在线在线 | 在线播放69热精品视频 | 激情视频激情小说 | 欧美色爱综合网 | 五月天最新网址 | 韩国一级在线 | 亚洲区小说区图片区qvod伊 | 中文字幕一区二区精品区 | 激情视频网站 | 四虎新地址4hu 你懂的 | 怡红院成人网 |