亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > Java > 正文

搭建java WEB開(kāi)發(fā)環(huán)境和應(yīng)用

2020-03-24 18:52:45
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
一 使用Tomcat服務(wù)器,使用DBCP數(shù)據(jù)源搭建Web開(kāi)發(fā)環(huán)境
1.JDK安裝,默認(rèn)路徑即可
2.Tomcat5.5服務(wù)器
1)配置Tomcat的服務(wù)器端口:
打開(kāi)D:/apache-tomcat-5.0.18/conf/server.xml, 查看如下代碼:
!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 --
Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" /
其中,port=8080就是Tomcat提供Web服務(wù)的端口
2)進(jìn)入控制臺(tái)
必須輸入用戶名和密碼才可以登錄manager控制臺(tái).
首先,打開(kāi)D:/apache-tomcat-5.0.18/webapps/manager/WEB-INF/web.xml,查看如下代碼:
!-- Define the Login Configuration for this Application --
!-- 確定JAAS的登錄方式 --
login-config
auth-method BASIC /auth-method
realm-name Tomcat Manager Application /realm-name
/login-config
!-- Security roles referenced by this web application --
!-- 確定登錄該應(yīng)用所需的安全角色 --
security-role
description
The role that is required to log in to the Manager Application
/description
!-- 只有manager 角色才可以登錄該應(yīng)用 --
role-name manager /role-name
/security-role
其次,打開(kāi)D:/apache-tomcat-6.0.18/conf/tomcat-users.xml,配置Tomcat的用戶名和密碼以及角色,查看代碼如下:
?xml version='1.0' encoding='utf-8'?
!-- 配置Tomcat用戶,密碼,角色 --
tomcat-users
!-- 配置Tomcat角色 --
role rolename="tomcat"/
role rolename="role1"/
role rolename="manager"/
role rolename="admin"/
!-- 配置Tomcat用戶 --
!-- 配置第1個(gè)用戶,用戶名為tomcat,密碼為tomact,角色為tomcat --
user name="tomcat" password="tomcat" roles="tomcat" /
!-- 配置第2個(gè)用戶,用戶名為role1,密碼為tomact,角色為role1 --
user name="role1" password="tomcat" roles="role1" /
!-- 配置第3個(gè)用戶,用戶名為both,密碼為tomact,角色為tomcat和role1 --
user name="both" password="tomcat" roles="tomcat,role1" /
!-- 配置登錄Manager控制臺(tái)的用戶,用戶名為manager,密碼為manager,角色為manager --
user name="manager" password="manager" roles="manager" /
/tomcat-users
3)部署Web應(yīng)用
Tomcat部署Web應(yīng)用的主要方式:
使用控制臺(tái)部署;利用Tomcat的自動(dòng)部署功能部署;通過(guò)修改server.xml文件部署Web應(yīng)用;增加自定義的Web部署文件
使用控制臺(tái)部署和修改server.xml文件部署實(shí)質(zhì)上是相同的.應(yīng)該盡量避免修改server.xml文件,所以這兩種方式不推薦使用.
自動(dòng)部署就是將Web應(yīng)用復(fù)制到Tomcat的webapps路徑下,Tomcat將自動(dòng)加載該Web應(yīng)用.
增加自定義的Web部署文件:
進(jìn)入D:tomcat-5.0.28/conf/Catalina/localhost路徑下,該路徑下默認(rèn)有3個(gè)配置文件,復(fù)制3個(gè)文件中的一個(gè),
并將該文件重命名,建議使該文件的文件名與部署的Web應(yīng)用同名.參考如下:
!-- 部署一個(gè)Web應(yīng)用,其中,path是Web應(yīng)用的虛擬路徑,docBase是Web應(yīng)用的文檔路徑 --
Context path="/test" docBase="e:/webroot" debug="0" privileged="true"
/Context
4)配置Tomcat的數(shù)據(jù)源
Tomcat本身不具備提供數(shù)據(jù)源的能力,借助于其他一些開(kāi)源數(shù)據(jù)源實(shí)現(xiàn),如DBCP,C3P0等,Tomcat可提供
容器管理的數(shù)據(jù)源,通過(guò)Tomcat提供的數(shù)據(jù)源,程序可以通過(guò)JNDI查找獲得數(shù)據(jù)源,提供更方便的持久層訪問(wèn).
數(shù)據(jù)源配置有:全局?jǐn)?shù)據(jù)源,局部數(shù)據(jù)源.
需要DBCP數(shù)據(jù)源的jar文件(commons-dbcp-1.2.1.jar,commons-pool-1.2.jar,commons-collections-3.1.jar)和數(shù)據(jù)庫(kù)的驅(qū)動(dòng).
局部數(shù)據(jù)源配置:修改D:/tomcat-5.0.28/conf/Catalina/localhost/test.xml文件,增加局部數(shù)據(jù)源后:
?xml version='1.0' encoding='utf-8'?
!-- 配置一個(gè)web應(yīng)用 --
Context path="/test" docBase="e:/webroot" debug="0" privileged="true"
!-- 配置一個(gè)資源,資源的名稱為jdbc/dstest,類型為數(shù)據(jù)源 --
Resource name="jdbc/dstest" auth="Container" type="javax.sql.DataSource" /
!-- 定義資源的參數(shù), name屬性指定定義哪個(gè)資源的參數(shù) --
ResouceParams name="jdbc/dstest"
!-- 下面定義數(shù)據(jù)源的參數(shù) --
parameter
!-- 定義數(shù)據(jù)源工廠 --
name factory /name
html' target='_blank'>value org.apach.commons.dbcp.BasicDataSourceFactory /value
/parameter
parameter
!-- 定義數(shù)據(jù)源的最大活動(dòng)連接數(shù) --
name maxActive /name
value 100 /value
/parameter
parameter
!-- 定義數(shù)據(jù)源的超時(shí)時(shí)長(zhǎng),超過(guò)該時(shí)間,數(shù)據(jù)源自動(dòng)斷開(kāi)連接 --
name removeAbandonedTimeout /name
value 60 /value
/parameter
parameter
!-- 定義數(shù)據(jù)源中的最大空閑連接數(shù),一旦容器中的空閑連接數(shù)超過(guò)該數(shù),系統(tǒng)將自動(dòng)銷毀一些連接 --
name maxIdle /name
value 30 /value
/parameter
parameter
!-- 定義數(shù)據(jù)源的最大等待數(shù) --
name maxWait /name
value 10000 /value
/parameter
parameter
!-- 連接數(shù)據(jù)庫(kù)的用戶名 --
name username /name
value strutsdb /value
/parameter
parameter
!-- 連接數(shù)據(jù)庫(kù)的密碼 --
name password /name
value strutsdb /value
/parameter
parameter
!-- 連接數(shù)據(jù)庫(kù)所使用的驅(qū)動(dòng) --
name driverClassName /name
value oracle.jdbc.driver.OracleDriver /value
/parameter
parameter
!-- 連接數(shù)據(jù)庫(kù)的url --
name url /name
value jdbc:oracle:thin:@210.45.216.146:1521:oracle /value
/parameter
ResourceParams
Context
啟動(dòng)Tomcat,使用JNDI訪問(wèn)數(shù)據(jù)源,參考代碼如下:
//初始化Context,使用InitialContext初始化Context
Context ctx = new InitialContext();
/**
* 通過(guò)JNDI查找數(shù)據(jù)源,該JNDI為:java:comp/env/jdbc/dstest,將其分成兩個(gè)部分,
* java:comp/env是Tomcat固定的,Tomcat提供的JNDI綁定都必須加些前綴
* jdbc/dstest是定義數(shù)據(jù)源時(shí)的數(shù)據(jù)源名
*/
DataSource ds = (DataSource) ctx.looup("java:comp/env/jdbc/dstest");
//獲得數(shù)據(jù)庫(kù)連接
Connection conn = ds.getConnection();
//獲取Statement
Statement stmt = conn.createStatement();
//執(zhí)行查詢,返回ResultSet對(duì)象
ResultSet rs = stmt.executeQuery("select * from user");
while (rs.next()) {
...
}
全部數(shù)據(jù)源配置:修改sever.xml文件,可以參考局部數(shù)據(jù)源的配置
3.eclipse環(huán)境
直接安裝插件:是指將插件中包含的plugins和features文件夾的內(nèi)容復(fù)制到eclipse的plugins和features文件夾內(nèi),重新啟動(dòng)eclipse即可
擴(kuò)展安裝插件:
1)在Eclipse安裝路徑下新建links文件夾
2)在links文件夾內(nèi),建立xxx.link文件,該文件的名稱隨意,但后綴必須是link,通常建議使該文件的名稱與插件名相同
3)編輯xxx.link,該文件通常只需一行內(nèi)容:
path = sync
其中,path=是固定的,而sync是文件夾名
4)在xxx.link文件中的path所指的路徑下新建eclipse文件夾,再在eclipse文件夾內(nèi)建立plugins和features文件夾
5)將插件中包含的plugins和features文件夾的內(nèi)容復(fù)制到上面建立的plugins和features文件夾中,然后重啟Eclipse.
DBCP是Java開(kāi)源連接池中最常用的一種,它一般應(yīng)用在數(shù)據(jù)庫(kù)的使用非常頻繁的系統(tǒng)中,可以處理數(shù)據(jù)庫(kù)連接的大量請(qǐng)求,不失為做大型站點(diǎn)的首選數(shù)據(jù)庫(kù)配置.
二 DBCP數(shù)據(jù)源的創(chuàng)建過(guò)程
1. 創(chuàng)建數(shù)據(jù)源:通過(guò)DBCP的BasicDataSource類創(chuàng)建數(shù)據(jù)源對(duì)象ds,設(shè)置數(shù)據(jù)源的驅(qū)動(dòng)類,用戶名,密碼和連接URL
2.關(guān)閉數(shù)據(jù)源:關(guān)閉創(chuàng)建的數(shù)據(jù)源對(duì)象ds
3.測(cè)試數(shù)據(jù)源:在main()函數(shù)中測(cè)試數(shù)據(jù)源的使用.首先取得數(shù)據(jù)源ds,調(diào)用數(shù)據(jù)源的getConnection函數(shù)取得數(shù)據(jù)庫(kù)的連接對(duì)象conn,之后的操作與JDBC的普通操作完全相同.
測(cè)試類如下所示:
/**
* 測(cè)試DBCP的連接應(yīng)用
*/
package com.test;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.DataSource;
import org.apache.tomcat.dbcp.dbcp.BasicDataSource;
/**
* @author johnston678
* @version 2009-04-27
*/
public class DataSourceExample {
//創(chuàng)建數(shù)據(jù)源
public static DataSource setupDataSource(String connectURI) {
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName("oracle.jdbc.driver.OracleDriver");
ds.setUsername("strutsdb");
ds.setPassword("strutsdb");
ds.setUrl(connectURI);
return ds;
}
//關(guān)閉數(shù)據(jù)源
public static void shutdownDataSource(DataSource ds) throws SQLException {
BasicDataSource bds = (BasicDataSource) ds;
bds.close();
}
public static void main(String[] args) {
//創(chuàng)建BasicDataSource
DataSource dataSource = setupDataSource("jdbc:oracle:thin:@210.45.216.146:1521:oracle");
//創(chuàng)建JDBC對(duì)象
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try {
conn = dataSource.getConnection();
st = conn.createStatement();
String sql = "select username from loginuser";
rs = st.executeQuery(sql);
System.out.println("Results:");
int numcols = rs.getMetaData().getColumnCount();
while (rs.next()) {
for (int i=1; i =numcols; i++) {
System.out.println(rs.getString(i));
}
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
rs.close();
st.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
三 在Tomcat中使用DBCP連接池
Tomcat默認(rèn)使用的是DBCP數(shù)據(jù)庫(kù)連接池,Tomcat6.0所需要的jar文件為:tomcat-dbcp.jar.在Tomcat6.0在使用DBCP連接池,必須按照如下的步驟進(jìn)行配置:
1. 在Tomcat中的Context.xml或DefaultContext.xml中定義
Context
!-- Default set of monitored resources --
WatchedResource WEB-INF/web.xml /WatchedResource
!-- Uncomment this to disable session persistence across Tomcat restarts --
!--
Manager pathname="" /
--
!-- Uncomment this to enable Comet connection tacking (provides events
on session expiration as well as webapp lifecycle) --
!--
Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /
--
!-- 使用DBCP配置的數(shù)據(jù)源 --
Resource name="jdbc/struts_dbcp_connect"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@210.45.216.146:1521:oracle"
username="strutsdb"
password="strutsdb"
maxActive="100"
maxIdle="30"
maxWait="10000" /
/Context
2)在web.xml中,配置 resource-ref 元素以在web應(yīng)用中引用JNDI資源
resource-ref
description struts dbcp connect /description
res-ref-name jdbc/struts_dbcp_connect /res-ref-name
res-type javax.sql.DataSource /res-type
res-auth Container /res-auth
/resource-ref
3)在Web應(yīng)用中使用數(shù)據(jù)源
獲得對(duì)數(shù)據(jù)源的引用:
Context ctx = new InitalContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/struts_dbcp_connect");
獲得數(shù)據(jù)庫(kù)連接對(duì)象:
Connection conn = ds.getConnection();
返回?cái)?shù)據(jù)庫(kù)連接到連接池:
conn.close();
四 在Struts中配置DBCP連接池
DBCP也是Struts的默認(rèn)的連接池.按照如下步驟在Struts中配置DBCP的連接池
1. 部署DBCP的jar包和oracle的驅(qū)動(dòng)包
Tomcat6.0的DBCP的jar文件是:tomcat-dbcp.jar.
oracle的驅(qū)動(dòng)包jar文件是:C:/oracle/product/10.2.0/db_1/jdbc/lib/classes12.jar
2.在struts-config.xml中配置DBCP數(shù)據(jù)源,具體如下所示:
struts-config
data-sources
!-- 在struts中配置DBCP數(shù)據(jù)源 --
data-source type="org.apache.tomcat.dbcp.dbcp.BasicDataSource"
set-property property="driverClassName" value="oracle.jdbc.driver.OracleDriver"/
set-property property="url" value="jdbc:oracle:thin:@210.45.216.146:1521:oracle"/
set-property property="username" value="strutsdb"/
set-property property="password" value="strutsdb"/
set-property property="maxActive" value="10"/
set-property property="maxWait" value="5000"/
set-property property="defaultAutoCommit" value="false"/
set-property property="defaultReadOnly" value="false"/
set-property property="validationQuery" value="SELECT COUNT(*) FROM loginuser"/
/data-source
/data-sources
...
/struts-confightml教程

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
麻豆传媒在线观看| 黄色成人精品网站| 欧美另类z0zx974| 黄色网在线视频| 日本熟女毛茸茸| 性猛交富婆╳xxx乱大交天津| 红桃视频国产精品| 丰满熟女人妻一区二区三区| 三年中文高清在线观看第6集| 国产精品一区二区无线| 国产日本欧美一区| 亚洲一区二区日韩| 91久久精品一区二区二区| 一本一道综合狠狠老| 午夜欧美大尺度福利影院在线看| 成年永久一区二区三区免费视频| av在线不卡电影| 一区不卡在线观看| 精品免费一区二区| 日韩在线一区二区三区四区| 精品999在线播放| 91精品国产综合久久久蜜臀九色| 国产亚洲一区二区手机在线观看| 国产女主播福利| 亚洲第一视频在线| av大片在线观看| 中文一区在线| 青青草原播放器| 精品久久久久久久久久久久久久久久久| 91极品视频在线观看| 国产 日韩 欧美 综合 一区| 亚洲午夜三级在线| 亚洲一区二区三区四区的| 久久久久久国产精品无码| 欧美大胆视频| 97精品久久人人爽人人爽| 国产精品另类一区| 亚洲资源网你懂的| a∨色狠狠一区二区三区| 成人v精品蜜桃久久一区| 丝袜 亚洲 另类 欧美 重口| 久久国产婷婷国产香蕉| 91亚洲国产成人精品性色| 超碰在线caoporen| 国产精品主播视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产精品自拍毛片| 97视频中文字幕| 手机在线电影一区| 日韩在线中文字幕| 欧美3p在线观看| 蜜桃av成人| 久草福利视频在线| 少妇高潮毛片色欲ava片| 黄页视频在线免费观看| 在线国产精品网| free性欧美1819hd| 91精品国产成人观看| 久久久精品视频在线| 亚洲一区二区网站| 制服丝袜在线一区| 日韩影院精彩在线| 国产精品视频播放| 国产中文字幕在线观看| 在线视频91p| 国产九九精品视频| 欧美日韩一区二区三区视频播放| 日日夜夜精品免费视频| 国产曰肥老太婆无遮挡| 久久精品国产亚洲AV熟女| 成人精品视频一区二区三区尤物| 日韩中文在线中文网在线观看| 国产精品久久久久久久久粉嫩av| 国产在线成人精品午夜| 网曝91综合精品门事件在线| 午夜精品一区二区三区在线视频| 亚洲蜜桃精久久久久久久久久久久| 狠狠躁夜夜躁人人爽天天天天97| 毛片免费看不卡网站| 狠狠色狠狠色综合日日小说| 后入内射无码人妻一区| 国产粉嫩在线观看| 欧洲视频一区| 亚洲福利av| 久久香蕉精品视频| 91九色综合| 天堂av网手机版| 一二三四社区在线视频| 久久久综合网站| 欧美人与性动交xxⅹxx| 久久精品欧美一区二区三区不卡| 欧美一区中文字幕| www.四虎精品| 神马久久桃色视频| 国产精品一区无码| 国产综合精品一区二区三区| 久久国产99| 在线中文av| 亚洲国产精品第一区二区三区| 老司机aⅴ毛片免费观看| 少妇欧美激情一区二区三区| 国产一级又黄| 欧美国产二区| 中文字幕午夜精品一区二区三区| 欧美大片在线观看| 亚洲柠檬福利资源导航| 奇米影视一区二区三区| 久久69国产一区二区蜜臀| 猛性xxxxx| 国产精品极品尤物在线观看| 欧美视频免费看| 欧亚精品一区| 欧美+亚洲+精品+三区| 99热这里只有精| 国产三级精品三级在线观看| 国产精品素人一区二区| 国产日韩一区二区三免费高清| 麻豆精品密在线观看| 中文字幕天天干| 老司机很黄的视频免费| 日韩毛片在线视频| 91中文字幕精品永久在线| eeuss中文| 羞羞漫画网18久久app| 久久精品二区三区| 日本高清不卡在线观看| 热久久美女精品天天吊色| 欧美日韩视频一区二区三区| 国外成人性视频| 亚洲AV成人无码一二三区在线| 成人视屏在线观看| 日韩视频精品在线| 亚洲国产日韩在线观看| 欧美亚洲免费| 精品国产视频在线观看| 视频一区免费观看| 8x8x拔插拔插影库永久免费| 青青草国产精品一区二区| 亚洲视频777| 国内精品久久久久影院优| 国产精品久久网| 国产成人一二| 欧美艳星kaydenkross| 欧美黑人极品猛少妇色xxxxx| 午夜免费一级片| 亚洲最大成人网色| 黑人巨大狂躁日本妞在线观看| 日韩在线免费高清视频| 亚洲无线一线二线三线区别av| 精品国产亚洲AV| 中文字幕乱码人妻综合二区三区| 日韩人妻无码一区二区三区99| 成人午夜在线观看| 密臀av一区二区三区| 国产一区二区四区| www色啪啪| heyzo在线欧美播放| 日韩精品手机在线| 欧美激情黄色片| 国产91丝袜美女在线播放| 久草资源站在线观看| 在线丨暗呦小u女国产精品| 成人网址在线观看| 久草在线视频福利| 亚洲一区二区三区四区视频| 国产污视频在线观看| 777片理伦片在线观看| 成人不卡免费视频| 国产乱子伦三级在线播放| 欧美乱大交xxxxx另类| 亚洲美女爱爱视频| 雨宫琴音一区二区三区| 色先锋资源在线播放av| 99精品1区2区| 欧美色婷婷天堂网站| 欧美熟女一区二区| 亚洲调教视频在线观看| 精品国产依人香蕉在线精品| 欧美一区二区三区观看| 亚洲韩国一区二区三区| 色视频免费版高清在线观看| 无码av免费一区二区三区试看| 欧美国产视频在线观看| 久久久久久久国产精品| 亚洲综合视频一区| 欧美激情一区二区三区全黄| 福利视频网站导航| 中文字幕在线直播| 波多野结衣av在线免费观看| 国产又粗又猛又爽又黄| 精品一区二区久久久久久久网站| 日韩黄色在线观看| 日韩大片b站免费观看直播| 日韩欧美一二三区| 91免费版网站入口| 国产精品久久久久久久久粉嫩av| 国产一二三四| 天天综合av| 久久国产精品久久w女人spa| 日韩免费电影一区二区三区| 精品sm捆绑视频| 精品一区二区视频在线观看| 日本理论中文字幕| 日韩成人av一区二区| 一区二区在线不卡| 天天舔天天干天天操| 日韩精品1区2区| 91亚洲一区二区| 91久久亚洲| 成人免费视频播放| 亚洲性av网站| 人成网站免费观看| 免费看日本一区二区| 51国产成人精品午夜福中文下载| 久久性爱视频网站| 亚洲成人中文字幕| 三级黄色片免费看| 97超碰在线免费观看| 色婷婷综合久久久久中文字幕| 久久久综合香蕉尹人综合网| 欧美中文在线视频| 极品美女扒开粉嫩小泬| av电影一区二区三区| 午夜精品福利在线| 亚洲自拍高清视频网站| 国产精品久久久久久久av| 国产精品99无码一区二区| 欧美国产乱子伦| 日本性生活网站| 中文字幕第一页av| 久久精品99久久无色码中文字幕| 国产福利第一视频在线播放| 岳张嘴把我的精子吞下去| 久草在线资源福利| 91美女在线观看| 欧美日韩破处| 亚洲国产精品一区二区www| 色欧美88888久久久久久影院| 欧美日韩蜜桃| 欧美成人精精品一区二区频| 超碰在线中文字幕| 久久久久久影院| 国产精品18久久久久久久久久| 日韩中文字幕精品视频| 好妞色妞国产在线视频| 在线成人福利| caoporn国产精品免费公开| 成人在线日韩| 一本岛在免费一二三区| 在线视频不卡国产| 国产成人在线免费观看| 综合色天天鬼久久鬼色| 777午夜精品免费视频| 97超碰人人看| 99久久国产宗和精品1上映| 欧美成a人免费观看久久| 日韩一区二区在线观看视频播放| 超碰中文在线| 国产夫妻在线观看| 啪啪小视频网站| 国产午夜无码视频在线观看| 国产精品一区二区三区乱码| 韩国三级hd中文字幕有哪些| 色狠狠色噜噜噜综合网| 亚洲国产综合自拍| 欧美成人短视频| 男人的天堂视频网站| 午夜精品久久久久久久99老熟妇| 2018av在线| 中文字幕久热| 老司机午夜精品视频在线观看| 久久久久免费看黄a片app| 最新国产在线拍揄自揄视频| 国内精品麻豆美女在线播放视频| 特级西西444www大精品视频| 自拍电影在线观看| 91在线九色porny| 欧美一区二区大胆人体摄影专业网站| 日韩中文字幕亚洲一区二区va在线| 国产无遮挡裸体视频在线观看| 国产福利av网站| 97视频人免费观看| 午夜片欧美伦| 国产精品女上位| 中文字幕不卡三区| 欧美一区二区三区电影在线观看| 中文字幕视频在线| 在线一区二区三区视频| 天天色综合4| 中文字幕亚洲无线码a| 欧美精品成人91久久久久久久| 久久久久久久久久久影视| 欧美日韩一区二区三区高清| 欧美喷水视频| 一区二区三区国产免费| 久久这里只有精品首页| 777午夜精品福利在线观看| 日本毛片在线观看| 亚洲国产欧美日韩精品| 少妇精品无码一区二区免费视频| 免费人成福利播放| 国产美女av一区二区三区| 视频一区视频二区国产精品| 欧美a级一区二区| 成人日韩在线视频| 国产91在线亚洲| 亚洲精品永久www嫩草| 中出视频在线观看| 国产精品9区| 久久国产精品99久久久久久老狼| 最新日本在线观看| 国产一区二区三区高清| k8久久久一区二区三区| 国产精品二区一区二区aⅴ| 亚洲精选国产| 国产精品久久久久aaaa九色| 能免费看av的网站| 综合激情网...| 欧美色视频日本高清在线观看| 影音先锋资源av| 日韩视频三区| 九九九在线视频| 美女少妇全过程你懂的久久| 这里只有精品国产| 久久精品夜夜夜夜夜久久| 亚洲香蕉av| 国内自拍欧美激情| 国产成人久久精品|