久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

Jsp+Servlet實現文件上傳下載 文件列表展示(二)

瀏覽:139日期:2022-06-07 16:45:55

接著上一篇講:
Jsp+Servlet實現文件上傳下載(一)--文件上傳

本章來實現一下上傳文件列表展示,同時優化了一下第一章中的代碼。

廢話少說,上代碼

mysql創建附件表

DROP TABLE tbl_accessory;  CREATE TABLE tbl_accessory (  id INT AUTO_INCREMENT PRIMARY KEY,  file_name VARCHAR(500),  file_size DOUBLE(10,2),  file_ext_name VARCHAR(100),  file_path VARCHAR(2000) ) ;  SELECT * FROM tbl_accessory;  DELETE FROM tbl_accessory; 

創建附件實體類

package entity.upload;  /**  * 附件實體類  *  * @author xusucheng  * @create 2017-12-29  **/ public class EntityAccessory {  private int id;  private String fileName;  private double fileSize;  private String file_ext_name;  private String filePath;   public int getId() {   return id;  }   public void setId(int id) {   this.id = id;  }   public String getFileName() {   return fileName;  }   public void setFileName(String fileName) {   this.fileName = fileName;  }   public double getFileSize() {   return fileSize;  }   public void setFileSize(double fileSize) {   this.fileSize = fileSize;  }   public String getFile_ext_name() {   return file_ext_name;  }   public void setFile_ext_name(String file_ext_name) {   this.file_ext_name = file_ext_name;  }   public String getFilePath() {   return filePath;  }   public void setFilePath(String filePath) {   this.filePath = filePath;  } } 

創建DBUtil工具類

package util;  import java.sql.*; import java.io.InputStream; import java.util.Properties;  /**  * 數據庫工具類  *  * @author xusucheng  * @create 2017-11-18  **/ public class DBUtil {  //定義鏈接所需要的變量  private static Connection con = null;  private static PreparedStatement ps = null;  private static ResultSet rs = null;   //定義鏈接數據庫所需要的參數  private static String url = "";  private static String username = "";  private static String driver="";  private static String password="";   //定義讀取配置文件所需要的變量  private static Properties pp = null;  private static InputStream fis = null;   /**   * 加載驅動   */  static {   try {    //從dbinfo.properties配置文件中讀取配置信息    pp = new Properties();    fis = DBUtil.class.getClassLoader().getResourceAsStream("db.properties");     pp.load(fis);    url = pp.getProperty("url");    username = pp.getProperty("username");    driver=pp.getProperty("driver");    password=pp.getProperty("password");     //加載驅動    Class.forName(driver);    } catch (Exception e) {    System.out.println("驅動加載失敗!");    e.printStackTrace();   } finally {    try {     fis.close();    } catch (Exception e) {     e.printStackTrace();    }     fis = null; //垃圾回收自動處理   }   }   /**   * 得到Connection鏈接   * @return Connection   */  public static Connection getConnection() {    try {    //建立連接    con = DriverManager.getConnection(url, username, password);    } catch (Exception e) {    System.out.println("數據庫鏈接失敗!");    e.printStackTrace();   }    return con;  }   /*public DBUtil(String sql){   try {    ps = getConnection().prepareStatement(sql);//準備執行語句   } catch (Exception e) {    e.printStackTrace();   }  }   public void close() {   try {    con.close();    ps.close();   } catch (SQLException e) {    e.printStackTrace();   }  }*/   /**   * 統一的資源關閉函數   * @param rs   * @param ps   * @param con   */  public static void close(ResultSet rs,Statement ps, Connection con){    if(rs != null) {    try {     rs.close();    } catch (Exception e) {     e.printStackTrace();    }   }   if(ps != null) {    try {     ps.close();    } catch (Exception e) {     e.printStackTrace();    }   }   if(con != null) {    try {     con.close();    } catch (Exception e) {     e.printStackTrace();    }   }  }  } 

創建附件實體DAO類

package dao.upload;  import entity.upload.EntityAccessory; import util.DBUtil;  import java.math.BigDecimal; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List;  /**  * 附件上傳DAO  *  * @author xusucheng  * @create 2017-12-29  **/ public class AccessoryDao {  public static void add(EntityAccessory entity) {   Connection conn = DBUtil.getConnection();   String sql = "insert into tbl_accessory(file_name,file_size,file_ext_name,file_path) values(?,?,?,?)";   try {    PreparedStatement ps = conn.prepareStatement(sql);    ps.setString(1, entity.getFileName());    ps.setDouble(2, entity.getFileSize());    ps.setString(3, entity.getFile_ext_name());    ps.setString(4, entity.getFilePath());    ps.execute();    //conn.commit();     DBUtil.close(null, ps, conn);   } catch (SQLException e) {    e.printStackTrace();   }  }   public static List<EntityAccessory> list() {   Connection conn = DBUtil.getConnection();   String sql = "select id,file_name,file_size,file_ext_name,file_path from tbl_accessory";   List<EntityAccessory> accessoryList = new ArrayList<>();   try {    PreparedStatement ps = conn.prepareStatement(sql);    ResultSet rs = ps.executeQuery();     while (rs.next()) {     EntityAccessory entity = new EntityAccessory();     entity.setId(rs.getInt("id"));     entity.setFileName(rs.getString("file_name"));     entity.setFileSize(new BigDecimal(rs.getDouble("file_size") / 1024).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());     entity.setFile_ext_name(rs.getString("file_ext_name"));     entity.setFilePath(rs.getString("file_path"));     accessoryList.add(entity);    }     DBUtil.close(rs, ps, conn);   } catch (SQLException e) {    e.printStackTrace();   }    return accessoryList;   }   public static void remove(int id) {   Connection conn = DBUtil.getConnection();   String sql = "delete from tbl_accessory where id=?";   try {    PreparedStatement ps = conn.prepareStatement(sql);    ps.setInt(1,id);    ps.execute();    //conn.commit(); mysql默認開啟了autocommit     DBUtil.close(null,ps,conn);   } catch (SQLException e) {    e.printStackTrace();   }  } } 

創建list.jsp列表頁面

<html> <head>  <title>上傳文件列表</title> </head> <body>  <h3>文件列表</h3> <table border="1" bordercolor="#000000" cellspacing="0" cellpadding="2">  <tr>   <th>文件名</th>   <th>文件大小(KB)</th>   <th>操作</th>  </tr>  <c:if test="${not empty accessoryList}">   <c:forEach items="${accessoryList}" var="acc">    <tr>     <td>${acc.fileName}</td>     <td>${acc.fileSize}</td>     <td><a href="">刪除</a></td>    </tr>   </c:forEach>  </c:if> </table> </body> </html> 

創建展示列表Servlet:listUploadedFilesServlet

package servlet.upload;  import dao.upload.AccessoryDao; import entity.upload.EntityAccessory;  import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List;  /**  * 返回已上傳文件列表  *  * @author xusucheng  * @create 2017-12-29  **/  @WebServlet("/listUploadedFiles") public class listUploadedFilesServlet extends HttpServlet {  @Override  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {   //獲取文件列表   List<EntityAccessory> accessoryList = AccessoryDao.list();   request.setAttribute("accessoryList", accessoryList);    request.getRequestDispatcher("pages/upload/list.jsp").forward(request, response);  }   @Override  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {   doPost(request, response);  } } 

增加error.jsp顯示上傳失敗信息

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head>  <title>上傳錯誤頁面</title> </head> <body>  <h3>上傳失敗:</h3> <c:if test="${not empty errorMessage}">  <%--<input type="text" id="errorMessage" value="${errorMessage}" disabled="disabled">--%>  <h4>${errorMessage}</h4> </c:if>   </body> </html> 

優化了第一章中的上傳控制器

package servlet.upload;  import dao.upload.AccessoryDao; import entity.upload.EntityAccessory; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadBase; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.ProgressListener; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload;  import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Calendar; import java.util.Iterator; import java.util.List; import java.util.UUID;  /**  * 處理文件上傳  *  * @author xusucheng  * @create 2017-12-27  **/ @WebServlet("/UploadServlet") public class UploadServlet extends HttpServlet {  @Override  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {   //設置文件上傳基本路徑   String savePath = this.getServletContext().getRealPath("/WEB-INF/uploadFiles");   //設置臨時文件路徑   String tempPath = this.getServletContext().getRealPath("/WEB-INF/tempFiles");   File tempFile = new File(tempPath);   if (!tempFile.exists()) {    tempFile.mkdir();   }    //定義異常消息   String errorMessage = "";   //創建file items工廠   DiskFileItemFactory factory = new DiskFileItemFactory();   //設置緩沖區大小   factory.setSizeThreshold(1024 * 100);   //設置臨時文件路徑   factory.setRepository(tempFile);   //創建文件上傳處理器   ServletFileUpload upload = new ServletFileUpload(factory);   //監聽文件上傳進度   ProgressListener progressListener = new ProgressListener() {    public void update(long pBytesRead, long pContentLength, int pItems) {     System.out.println("正在讀取文件: " + pItems);     if (pContentLength == -1) {      System.out.println("已讀取: " + pBytesRead + " 剩余0");     } else {      System.out.println("文件總大小:" + pContentLength + " 已讀取:" + pBytesRead);     }    }   };   upload.setProgressListener(progressListener);    //解決上傳文件名的中文亂碼   upload.setHeaderEncoding("UTF-8");   //判斷提交上來的數據是否是上傳表單的數據   if (!ServletFileUpload.isMultipartContent(request)) {    //按照傳統方式獲取數據    return;   }    //設置上傳單個文件的大小的最大值,目前是設置為1024*1024字節,也就是1MB   //upload.setFileSizeMax(1024 * 1024);   //設置上傳文件總量的最大值,最大值=同時上傳的多個文件的大小的最大值的和,目前設置為10MB   upload.setSizeMax(1024 * 1024 * 10);    try {    //使用ServletFileUpload解析器解析上傳數據,解析結果返回的是一個List<FileItem>集合,每一個FileItem對應一個Form表單的輸入項    List<FileItem> items = upload.parseRequest(request);    Iterator<FileItem> iterator = items.iterator();    while (iterator.hasNext()) {     FileItem item = iterator.next();      //判斷jsp提交過來的是不是文件     if (item.isFormField()) {      errorMessage = "請提交文件!";      break;     } else {      //文件名      String fileName = item.getName();      if (fileName == null || fileName.trim() == "") {       System.out.println("文件名為空!");      }      //處理不同瀏覽器提交的文件名帶路徑問題      fileName = fileName.substring(fileName.lastIndexOf("\\") + 1);      //文件大小      Long fileSize = item.getSize();      //文件擴展名      String fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1);      //判斷擴展名是否合法      if (!validExtension(fileExtension)) {       errorMessage = "上傳文件非法!";       item.delete();       break;      }      //獲得文件輸入流      InputStream in = item.getInputStream();      //得到保存文件的名稱      String saveFileName = createFileName(fileName);      //得到文件保存路徑      String realFilePath = createRealFilePath(savePath, saveFileName);      //創建文件輸出流      FileOutputStream out = new FileOutputStream(realFilePath);      //創建緩沖區      byte buffer[] = new byte[1024];      int len = 0;      while ((len = in.read(buffer)) > 0) {       //寫文件       out.write(buffer, 0, len);      }      //關閉輸入流      in.close();      //關閉輸出流      out.close();      //刪除臨時文件      item.delete();      <span>//將上傳文件信息保存到附件表中      EntityAccessory entity = new EntityAccessory();      entity.setFileName(fileName);      entity.setFileSize(fileSize);      entity.setFile_ext_name(fileExtension);      entity.setFilePath(realFilePath);      AccessoryDao.add(entity);</span>     }     }    } catch (FileUploadBase.FileSizeLimitExceededException e) {    e.printStackTrace();    errorMessage = "單個文件超出最大值!!!";   } catch (FileUploadBase.SizeLimitExceededException e) {    e.printStackTrace();    errorMessage = "上傳文件的總的大小超出限制的最大值!!!";   } catch (FileUploadException e) {    e.printStackTrace();    errorMessage = "文件上傳失敗!!!";   } finally {    <span>if (!"".equals(errorMessage)) {     request.setAttribute("errorMessage", errorMessage);     request.getRequestDispatcher("pages/upload/error.jsp").forward(request, response);    } else {     response.sendRedirect("listUploadedFiles");    }</span>    }   }   @Override  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {   doGet(request, response);  }   private boolean validExtension(String fileExtension) {   String[] exts = {"jpg", "txt", "doc", "pdf"};   for (int i = 0; i < exts.length; i++) {    if (fileExtension.equals(exts[i])) {     return true;    }    }    return false;  }   private String createFileName(String fileName) {   return UUID.randomUUID().toString() + "_" + fileName;  }   /**   * 根據基本路徑和文件名稱生成真實文件路徑,基本路徑\\年\\月\\fileName   *   * @param basePath   * @param fileName   * @return   */  private String createRealFilePath(String basePath, String fileName) {   Calendar today = Calendar.getInstance();   String year = String.valueOf(today.get(Calendar.YEAR));   String month = String.valueOf(today.get(Calendar.MONTH) + 1);     String upPath = basePath + File.separator + year + File.separator + month + File.separator;   File uploadFolder = new File(upPath);   if (!uploadFolder.exists()) {    uploadFolder.mkdirs();   }    String realFilePath = upPath + fileName;    return realFilePath;  } } 

測試效果截圖



下集預告:實現附件刪除功能!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

標簽: JSP
相關文章:
主站蜘蛛池模板: 九九热在线观看 | 欧美日韩在线看 | 亚洲精品电影网在线观看 | av中文字幕在线播放 | 国产精品视频一区二区三区不卡 | 91成人免费看片 | 黄色片免费看 | 久久综合狠狠综合久久 | 精产国产伦理一二三区 | 日韩精品一区二区三区第95 | 欧美a级在线观看 | 久久久久久久成人 | 精品96久久久久久中文字幕无 | 亚洲国产精品自拍 | 91免费看| 蜜桃精品久久久久久久免费影院 | 99re在线| 欧美va天堂 | 国产成人综合在线观看 | 91色视频在线观看 | 欧美综合久久 | 久久99er6热线精品首页蜜臀 | 日本一区二区不卡视频 | 欧美aⅴ | 欧美第一页 | 精品一区二区三区三区 | 欧美日韩国产在线 | 中国一级特黄毛片大片 | 黄网在线观看 | 国产精品久久久爽爽爽麻豆色哟哟 | 中文字幕在线看片 | 精品一区二区三区四区五区 | 国产精品视频免费播放 | 色综合一区二区三区 | 久久91久久久久麻豆精品 | 国产精品一区二区在线观看 | av在线综合网 | 一区二区网站 | 久久精品91| 国产日韩精品一区二区 | 欧美二区精品 | 欧美在线一二三 | 精品国产精品国产偷麻豆 | 欧美激情一区二区三区在线观看 | 91se在线 | 久久精品久久精品国产大片 | 在线观看国产视频 | 91在线视频观看 | 国产成人精品一区二区三区四区 | 国产一区二区三区精品久久久 | 久久国产精品一区 | 久久久亚洲精品中文字幕 | 国厂毛片 | 91在线最新 | 日韩欧美国产精品一区二区三区 | av在线免费观看网站 | 91亚洲精品乱码久久久久久蜜桃 | 成人超碰在线 | 中国黄色毛片 大片 | 欧美精品二区 | 日本阿v视频高清在线中文 中文二区 | 欧美日韩精品久久久 | 国产中文在线 | 日本69视频 | 亚洲久悠悠色悠在线播放 | 色九九 | 日韩高清在线一区 | 欧美激情在线狂野欧美精品 | 欧美一区久久 | 欧美 日韩 国产 在线 | 超级乱淫片国语对白免费视频 | www,四虎| 精品国产成人 | 天天草夜夜 | 免费视频久久久久 | 91免费版在线观看 | 国产999精品久久久久久麻豆 | 色婷婷一区二区三区四区 | 亚洲欧美一区二区三区在线 | 亚洲情综合五月天 | 亚洲国产二区 | 国产情侣自拍啪啪 | 国产99久久久精品视频 | 欧美在线观看一区 | 久久久资源 | 国产综合精品一区二区三区 | 在线99热| 久久精品国产精品 | 日韩电影一区 | 亚洲国产精品99久久久久久久久 | 欧美日韩综合视频 | 看亚洲a级一级毛片 | 国产视频久久久 | 国产欧美日韩综合精品 | 精品国产一区二区三区性色av | 日本亚洲一区 | 久久精品中文字幕 | 精品国产一区二区三区不卡蜜臂 | 九九在线精品 | 日韩中文在线播放 | 国产精品国产精品国产专区不片 | 国产午夜精品美女视频明星a级 | 久久免费精品视频 | 亚洲第一色片 | 久久精品网| 欧美精品一二区 | 亚洲视频在线观看 | www国产高清| 国产乱码精品一区二区三区爽爽爽 | 久草高清 | 操操操操操操 | 精品国产乱码久久久久久1区二区 | 国产精品影院在线观看 | 亚洲成人精品视频 | 国产区精品 | 国产一区免费在线观看 | 色猫猫国产区一区二在线视频 | 成人精品视频99在线观看免费 | 精品国产乱码久久久久久闺蜜 | av在线一区二区三区 | 日韩欧美大片在线观看 | 欧美综合久久 | 国产黄色大片免费看 | 精久久 | 久久亚洲天堂 | 国产 日韩 一区 | 超碰综合| 精品久久久久久亚洲精品 | 久草在线视频网 | av资源中文在线天堂 | 国产精品久久久爽爽爽麻豆色哟哟 | av在线成人 | 人人人人人你人人人人人 | 日韩一区二区在线免费 | 在线观看免费毛片视频 | 久国久产久精永久网页 | av国产精品毛片一区二区小说 | 成人午夜毛片 | 狠狠se | 国产在线不卡视频 | 精品国产欧美一区二区三区成人 | 日韩一片| 精品一区二区在线观看 | 久久99精品久久久久婷婷暖91 | 99re6热在线精品视频播放 | 日韩久久午夜一级啪啪 | 不卡在线 | 欧美极品一区 | 国产精品不卡视频 | 国产成人高清 | 成人免费一区二区三区 | 欧美精品www | 久久人爽| 亚洲一区二区精品视频 | 精品影视 | 国产69精品久久久久观看黑料 | 一本大道综合伊人精品热热 | 91精品国产综合久久精品 | 国产精品亚洲第一区在线暖暖韩国 | 国产精品久久久久久久久久久免费看 | 一级在线看 | 久久精品91久久久久久再现 | 精品一区二区三区久久 | 正在播放国产一区 | 二区三区| 精品久久久久一区二区三区 | 国产成人精品亚洲日本在线观看 | 一级女性全黄久久生活片免费 | 日本中文在线 | 欧美日一区二区 | 息与子猛烈交尾一区二区 | 91天堂| 亚洲精品二区三区 | 1000部精品久久久久久久久 | 免费看黄视频网站 | 在线观看免费毛片视频 | 婷婷中文字幕 | 日本不卡一区二区 | 国产精品久久久久久久免费大片 | 免费毛片在线播放 | 久久久国产一区 | 日韩视频不卡 | 久久久亚洲精品视频 | 亚洲精品一区二区网址 | 日韩欧在线 | 国产精品免费一区二区三区四区 | 国产精品九九九 | 国产黄色在线观看 | 免费成人高清 | 在线视频日韩 | 精品视频久久久 | 91免费观看| 久草av在线播放 | 91精品国产92 | 国产v日产∨综合v精品视频 | 精品久久久久久国产 | 国产日韩视频在线观看 | 91久久综合亚洲鲁鲁五月天 | 涩涩综合 | www.操操操.com| 亚洲男人天堂网 | 欧美一区二区精品 | 91亚洲国产精品 | 日韩精品在线视频观看 | 久久久久一区 | 亚洲电影在线观看 | 免费欧美一级 | 日韩精品一区二 | 久久这里只有精品首页 | 天天干天天爱天天 | 亚洲精品一区在线观看 | 中文字幕成人在线 | 国产精品久久久久影院色老大 | 欧美在线视频播放 | 精品成人在线 | 日韩毛片 | 亚洲第一页在线 | 午夜精品在线 | 成人片网址 | 久爱国产| 日日夜夜精品网站 | 国产成人在线一区二区 | 日韩国产欧美 | av下一页| 日韩久久精品电影 | 久久精品国产99国产 | 精品国产乱码久久久久久久软件 | 亚洲第一免费看片 | 久久国产精品久久久久久电车 | 影音先锋亚洲精品 | 日日干夜夜操 | 欧美激情一区二区 | 欧美视频在线播放 | 四虎新网站| 成人精品网 | 欧美精品欧美极品欧美激情 | 一道本视频| 国产精品一二三 | 久久久精品久久久 | 国产精品久久久久久久久免费 | 国产成人免费视频网站高清观看视频 | 亚洲精品3 | 精品免费在线 | 欧美激情亚洲 | 国产一区在线观看视频 | 欧美中文字幕在线 | 精品中文在线 | 亚洲不卡在线观看 | 日韩在线播放视频 | 欧美一区久久 | 日韩黄色片免费看 | av网址在线播放 | 精品国产一区二区三区在线观看 | 亚洲精品视频免费看 | 91免费国产 | 欧美全黄 | 久久久久亚洲精品 | 中国黄色在线视频 | 一区二区三区四区免费观看 | 亚洲成人免费在线观看 | 国产精品视频播放 | 一级篇| 国产区在线 | 91一区二区三区久久国产乱 | 在线精品国产一区二区三区 | 久久久精品日本 | 国产三级精品在线 | 久久综合久久久 | 欧美一级片在线 | 九九精品久久久 | 成人午夜在线 | 亚洲成人在线观看视频 | 日韩综合色 | 国产成人精品一区二区三区四区 | 免费精品 | 国产一区二区精品在线观看 | 久久久久久久国产 | 日韩欧美国产精品 | 在线视频se| 日韩色综合| 国产大学生援交视频在线观看 | 福利视频一区二区三区 | 日穴视频在线观看 | 国产91在线视频 | 亚洲视频在线免费观看 | 亚洲大片免费观看 | 精品视频免费观看 | 欧美伦理一区二区三区 | 国产一区精品电影 | 久久亚洲综合 | 亚洲国产精品一区二区第一页 | 国产一区二区三区免费 | 99爱在线观看 | 国产精品色哟哟哟 | 国产精品美女在线观看 | 一区二区三区视频免费看 | 欧美综合一区二区 | 日韩一区二区免费视频 | 人人射av | 欧美视频一区二区 | 国产一区二区精品久久岳 | 国产精品一区二区三区免费 | 国产精品欧美久久久久一区二区 | 日韩中文视频 | 久久精品网 | 九色 在线| 中文字幕av一区二区三区 | 久久9热 | 一区视频网站 | 亚洲国产高清在线 | 君岛美绪一区二区三区在线视频 | 91国产精品 | 国户精品久久久久久久久久久不卡 | 国产精品国产a级 | 亚洲一区中文字幕 | 91久久精品一区二区三区 | 欧美精品国产精品 | 青青草久久久 | 婷婷欧美| 欧洲精品在线视频 | 精品久久久久久久久久久久 | 成人福利在线 | 国产欧美亚洲精品 | 久久精品国产一区二区三区不卡 | 欧美成年黄网站色视频 | 日韩看片 | 久久精品欧美一区二区三区不卡 | 国产精品久久久久久久粉嫩 | 午夜国产精品视频 | 偷拍电影一区二区三区 | 久久精品日产高清版的功能介绍 | 国产精品久久久久久吹潮 | 欧美日韩中文字幕 | 精品国产一区二区三区高潮视 | 成人免费视频观看视频 | 欧美精产国品一二三区 | 999国产在线视频 | 亚洲免费av在线 | 亚洲精品一区二区三区蜜桃久 | 黄色免费av | 亚洲国产成人久久综合一区,久久久国产99 | 国产探花在线精品一区二区 | jizz在线看片 | 在线色av | 99精品久久久久久久免费看蜜月 | 成人免费毛片高清视频 | 日韩综合网 | 亚洲国产成人精品女人久久久 | 欧美在线视频播放 | 成人午夜视频网 | 日本二区在线播放 | 亚洲欧美日韩系列 | 日韩高清成人 | 日本高清视频在线播放 | 刺激网| 久久中文网| 久久成人av | 欧美黄色一区 | a在线免费观看 | 日韩第一区 | 狠狠做深爱婷婷综合一区 | 精品欧美日韩 | 亚洲精品美女久久 | 亚洲男人网 | 日本精品网站 | 国产免费视频 | www.亚洲| 欧美黄视频在线观看 | 久久夜视频 | 精品国产一区二区 | 亚洲 欧美 日韩在线 | 久久综合一区二区三区 | 成人av教育 | 国产成人高清在线 | 羞羞视频免费观 | 国产免费一区二区三区最新不卡 | 久色视频在线观看 | 91亚洲成人 | 巴西性猛交xxxx免费看久久久 | 亚洲国产欧美日韩 | 国产精品毛片一区二区在线看 | 黄色一级大片在线免费看产 | 国产精品一区二区三区99 | 天天躁日日躁狠狠躁av麻豆 | 国产精品久久久久久久午夜 | 亚洲欧美高清 | 午夜精品久久久久久久白皮肤 | 国产一区二区精品在线观看 | 2020国产在线 | 天天操天天干天天插 | 国产99久久久精品视频 | 欧美精品1区 | 黄色网页大全 | 成人免费视频网址 | 91精品视频在线播放 | 男人的天堂视频网站 | 日韩中文字幕在线观看 | 99re在线免费| 国产性久久| aaa在线观看 | 国产精品第一国产精品 | 久久porn| 中文字幕亚洲一区二区三区 | 日韩精品免费在线视频 | 成年入口无限观看网站 | 欧美久久久久久久久久久久久久 | 中文字幕91视频 | 精品久久久久久久久久久久 | 毛片免费看 | 久久精品国产精品青草 | av性色| av片网站| 91精品国产色综合久久 | 欧美一区二区三区在线观看视频 | 国产婷婷久久 | 日本黄色免费播放 | 欧美激情一区二区 | 日韩精品久久久 | 久久久91精品国产一区二区三区 | 天天av网| 免费日韩| 亚洲高清视频在线观看 | 成人网av| 久久精品久久久 | 日韩1区| 日韩成人 | 日韩在线视频精品 | 日av一区| 91麻豆精品国产91久久久资源速度 | 国产欧美日韩综合精品一区二区 | www国产高清| 亚洲视频在线观看一区二区三区 | 国产日韩欧美视频 | 一区二区三区在线观看国产 | 欧美午夜在线观看 | 欧美成人一区二区 | 国产精品成av人在线视午夜片 | 久久久999精品视频 99国产精品久久久久久久 | www.成人国产 | zzz444成人天堂7777 | 国产色| 欧美日韩成人一区 | 久久久综合亚洲91久久98 | 欧美午夜电影 | 精品久久一区二区三区 | a在线免费观看 | 日韩成人在线视频 | 99re在线| 久草网站 | 仙踪林久久久久久久999 | 在线一区观看 | 精品一区二区免费视频 | 免费av电影观看 | 视频一区二区三区在线播放 | 中文字幕一区二区三区乱码图片 | 午夜免费视频 | 久久99精品久久久久久园产越南 | 成人免费精品视频 | 美女一区二区三区四区 | 毛片在线看片 | 精品中文字幕在线观看 | 久久久国产精品视频 | 日韩精品视频在线 | 国产亚洲精品久久久久久青梅 | 久久精品二 | 97理论片 | 亚洲视频一区在线播放 | 国产精品99久久免费观看 | 久久久久久久一区二区 | 国产精品一区一区 | 久久精品国产一区二区电影 | 日韩精品一91爱爱 | 日韩精品一区二区三区在线播放 | 免费观看的av | 欧美成人精品一区 | 国产成人精品电影 | 日韩在线不卡 | 欧美日韩亚洲国产 | av大片网| 91亚洲国产成人精品性色 | 亚洲少妇视频 | 久久综合九九 | 国产精品毛片一区二区三区 | 亚洲成av人片在线观看无码 | 日批免费视频 | 日韩av免费在线观看 | 日日摸夜夜添夜夜添亚洲女人 | 亚洲日韩欧美一区二区在线 | av片在线观看 | 黄色一级片免费 | 欧美成人一区二区三区片免费 | 色欧美片视频在线观看 | 久久久美女 | 久久久久国产精品一区二区 | 天天操夜夜操 | 国产精品视频导航 | 国产成人一区 | 日韩久久精品 | av网站在线免费看 | 国产日韩欧美 | 欧美成人精品一区二区三区 | 国产精品乱码一区二区三区 | 色偷偷噜噜噜亚洲男人 | 国产亚洲精品精品国产亚洲综合 | 久久精品国产亚洲精品 | 在线小视频 | 精品国产免费久久久久久尖叫 | 久久视频免费在线 | 中文字幕在线观看 | 国产精品久久毛片 | 在线观看成人小视频 | 国产视频第一页 | 成人欧美一区二区三区视频xxx | 欧美日韩成人在线视频 | 日本免费一区二区三区 | www.久久.com| 国产在线视频网站 | 亚洲三级视频 | 亚洲a在线观看 | 国产精品一区在线观看你懂的 | 午夜免费高清视频 | 中文字幕日韩一区 | 性开放xxxhd视频 | 日本精品视频在线观看 | 日本视频黄| 国产一区二区三区在线 | 日韩精品免费在线观看 | 亚洲成av人片一区二区梦乃 | 久久精品com | 欧美日韩精品一区二区三区蜜桃 | 午夜在线小视频 | 日韩专区在线 | 国产精品国产 | 一区二区三区国产好 | 成人av免费在线观看 | 欧美亚洲啪啪 | 精品少妇一区二区三区在线播放 | 夜夜操天天干 | 懂色一区二区三区免费观看 | 狠狠的干 | 久久福利 | 日本一级中文字幕久久久久久 | 狠狠操综合网 | 欧美一区二区三区在线 | 国产h视频在线观看 | av在线一区二区 | chengrenzaixian| 99久久日韩精品视频免费在线观看 | 精品成人国产 | 国产精品无码专区在线观看 | 亚洲精品视频在线观看免费视频 | 欧美日韩在线精品 | 成人精品鲁一区一区二区 | 一区二区三区四区在线播放 | 亚洲免费视频在线观看 | 日韩视频在线免费观看 | 天天干干| 亚洲一区二区三区蜜桃 | 99久久国产| 久久成人综合 | 国产精品免费一区 | 天天操天天草 | 自拍偷拍亚洲视频 | 一区二区不卡视频在线观看 | 视频专区一区二区 | a免费在线观看 | 韩国三级中文字幕hd久久精品 | 欧洲免费av | 亚洲 成人 av| 91亚洲视频 | 成人欧美一区二区三区在线播放 | 我要看免费黄色片 | 美女福利网站 | 精品视频一区二区三区四区 | 亚洲国产成人在线 | 久久综合伊人77777 | 日韩色av | 日韩欧美国产成人一区二区 | 国模精品视频一区二区 | 久久久91精品国产一区二区 | 国产综合视频在线观看 | 国产精品99久久久久久动医院 | 精品三级在线观看 | 午夜伦理影院 | 91影院在线观看 | 三区影院 | 久久久久网站 | 色婷婷久久久久swag精品 | 永久91嫩草亚洲精品人人 | 激情在线观看视频 | 91在线观 | 久久久精品免费看 | 久久久久久久中文 | 狠狠操精品视频 | 91精品国产欧美一区二区 | 国产精品久久久久久一区二区三区 | 国产成人一级片 | 日韩精品久久久久久 | 欧美一级网站 | 久久成人一区 | 欧美日韩中文字幕 | 国产精品91av | 日韩精品一区二区三区中文字幕 | 天天操天天干天天 | 91精品国产综合久久久久久丝袜 | 亚洲精品三级 | 亚洲一区视频在线播放 | 九一视频在线免费观看 | 欧美性猛交一区二区三区精品 | 亚洲网在线 | 日韩精品免费在线观看 | 天天操天天干天天干 | 99久久久精品 | 国产成人一级毛片 | 国产精品一区二区三区在线 |