校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > JSP基于dom解析xml實例詳解

JSP基于dom解析xml實例詳解

熱門標簽:百度地圖添加標注圖標樣式 地圖標注市場怎么樣 南京新思維電話機器人 聊城智能電銷機器人外呼 好操作的電話機器人廠家 企業(yè)怎么在聯(lián)通申請400電話 如何用中國地圖標注數(shù)字點 南昌市地圖標注app 泰州泰興400電話 怎么申請

本文實例講述了JSP基于dom解析xml的方法。分享給大家供大家參考,具體如下:

初次學(xué)習(xí)用dom操作xml文件,有很多不足之處,牛人多給點建議,練習(xí)時我沒對中文做亂碼處理,也沒做驗證哦!O(∩_∩)O~

實體類:User

public class User {
 private String name;
 private String pwd;
 private String email;
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public String getPwd() {
 return pwd;
 }
 public void setPwd(String pwd) {
 this.pwd = pwd;
 }
 public String getEmail() {
 return email;
 }
 public void setEmail(String email) {
 this.email = email;
 }
}

數(shù)據(jù)訪問層接口:UserDao

public interface UserDao {
 boolean login(String name, String pwd);
 void insertUser(User user);
 ListUser> selectUser();
 void updateUser(User user);
 boolean deleteUser(String name);
 public User findByName(String name);
}

接口實現(xiàn)類:UserDaoImpl

public class UserDaoImpl implements UserDao {
 private static final String PATH="xml文件路徑";
 private void build(Document dom) {
 try {
  //定義轉(zhuǎn)換器
  Transformer f = TransformerFactory.newInstance().newTransformer();
  //設(shè)置輸出的編碼格式
  f.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
  //構(gòu)建dom源
  DOMSource source = new DOMSource(dom);
  //指定文件存放的目標路勁
  StreamResult sr = new StreamResult(new File(PATH));
  //執(zhí)行轉(zhuǎn)換操作
  f.transform(source, sr);
 } catch (Exception e) {
  e.printStackTrace();
 }
 }
 //登陸
 public boolean login(String name, String pwd) {
 boolean flag = false;
 try {
  //根據(jù)以有的xml文件創(chuàng)建Document對象
  Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(PATH));
  //獲取user節(jié)點下的子節(jié)點
  NodeList list = dom.getElementsByTagName("user");
  //遍歷list,數(shù)據(jù)匹配退出
  for(int i = 0; ilist.getLength(); i++) {
  Element el = (Element)list.item(i);
  if(name.equals(el.getAttribute("name"))  pwd.equals(el.getAttribute("pwd"))) {
   flag = true;
   break;
  }
  }
 } catch (Exception e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 } 
 return flag;
 }
 //添加操作
 public void insertUser(User user) {
 try {
  //創(chuàng)建全新的Document對象
  Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
  //創(chuàng)建根節(jié)點users
  Element el = dom.createElement("users");
  //將根節(jié)點添加到dom中
  dom.appendChild(el);
  //創(chuàng)建子節(jié)點
  Element e2 = dom.createElement("user");
  //將子節(jié)點添加到根節(jié)點中
  el.appendChild(e2);
  //取得xml文件中現(xiàn)有的信息
  ListUser> users = this.selectUser();
  for(int i = 0; i  users.size(); i++){
  //創(chuàng)建節(jié)點user
  Element el3 = dom.createElement("user");
  User us =users.get(i);
  //設(shè)置節(jié)點的屬性(name,pwd,email)
  el3.setAttribute("name", us.getName());
  el3.setAttribute("pwd", us.getPwd());
  el3.setAttribute("email", us.getEmail());
  //添加到根節(jié)點中
  el.appendChild(el3);
  }
  e2.setAttribute("name", user.getName());
  e2.setAttribute("pwd", user.getPwd());
  e2.setAttribute("email", user.getEmail());
  build(dom);
 } catch (ParserConfigurationException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 }
 //查詢操作
 public ListUser> selectUser() {
 ListUser> userList = new ArrayListUser>();
 try {
  //根據(jù)已有的xml文件創(chuàng)建dom
  Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(PATH));
  //獲取所有user節(jié)點下的子節(jié)點
  NodeList list = dom.getElementsByTagName("user");
  for(int i = 0;i list.getLength();i++){
  User user =new User();
  Element element = (Element)list.item(i);
  user.setName(element.getAttribute("name"));
  user.setPwd(element.getAttribute("pwd"));
  user.setEmail(element.getAttribute("email"));
  userList.add(user);
  }
 } catch (Exception e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 return userList;
 }
 //修改操作
 public void updateUser(User user) {
 try {
  //根據(jù)以有的xml文件創(chuàng)建dom
  Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(PATH));
  //獲取user節(jié)點下的子節(jié)點
  NodeList list = dom.getElementsByTagName("user");
  //遍歷list
  for(int i = 0;i  list.getLength();i++) {
  Element el = (Element)list.item(i);
  //根據(jù)name屬性去修改
  if(user.getName().equals(el.getAttribute("name"))) {
   el.setAttribute("pwd", user.getPwd());
   el.setAttribute("email", user.getEmail());
   build(dom);
  }
  }
 } catch (SAXException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 } catch (IOException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 } catch (ParserConfigurationException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 }
 //刪除操作
 public boolean deleteUser(String name) {
 try {
  //根據(jù)以有xml文件創(chuàng)建domcumet對象
  Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(PATH));
  //獲取user節(jié)點下的子節(jié)點
  NodeList list = dom.getElementsByTagName("user");
  //遍歷list
  for(int i=0;ilist.getLength();i++) {
  Element el = (Element)list.item(i);
  if(name.equals(el.getAttribute("name"))) {
   el.getParentNode().removeChild(el);
   build(dom);
   return true;
  }
  }
 } catch (Exception e) {
  // TODO: handle exception
 }
 return false;
 }
 //根據(jù)name查找
 public User findByName(String name) {
 User user = new User();
 try {
  //根據(jù)以后的xml文件創(chuàng)建document對象
  Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(PATH));
  //獲取user節(jié)點下的子節(jié)點集合
  NodeList list = dom.getElementsByTagName("user");
  for(int i=0;ilist.getLength();i++) {
  Element el = (Element)list.item(i);
  if(name.equals(el.getAttribute("name"))) {
   user.setName(el.getAttribute("name"));
   user.setPwd(el.getAttribute("pwd"));
   user.setEmail(el.getAttribute("email"));
   break;
  }
  }
 } catch (Exception e) {
  e.printStackTrace();
 }
 return user;
 }
}

業(yè)務(wù)邏輯層接口:UserService

boolean login(String name, String pwd);
void insertUser(User user);
ListUser> selectUser();
void updateUser(User user);
boolean deleteUser(String name);
public User findByName(String name);

接口實現(xiàn)類:UserServiceImpl

public class UserServiceImpl implements UserService {
 UserDao dao = new UserDaoImpl();
 public boolean login(String name, String pwd) {
 return dao.login(name, pwd);
 }
 public void insertUser(User user) {
 dao.insertUser(user);
 }
 public ListUser> selectUser() {
 return dao.selectUser();
 }
 public void updateUser(User user) {
 dao.updateUser(user);
 }
 public boolean deleteUser(String name) {
 return dao.deleteUser(name);
 }
 public User findByName(String name) {
 return dao.findByName(name);
 }
}

控制層:UserAction

public class UserAction extends ActionSupport{
  private User user;
 public User getUser() {
 return user;
 }
 public void setUser(User user) {
 this.user = user;
 }
 UserService userService = new UserServiceImpl();
 public String selectUser(){
 HttpServletRequest request = ServletActionContext.getRequest();
 ListUser> users = new ArrayListUser>();
 users = userService.selectUser();
 request.setAttribute("USER", users);
 return "select";
 }
 /**
 * 登陸
 * @return
 */
 public String login(){
 if(user.getName() != null  user.getPwd() != null) {
  boolean flag = userService.login(user.getName(), user.getPwd());
  if(flag) {
  return SUCCESS;
  }
 }
 return ERROR;
 }
 /**
 * 修改
 * @return
 */
 public String update(){
 userService.updateUser(user);
 return "update";
 }
 /**
 * 編輯
 * @return
 */
 public String edit(){
 HttpServletRequest request = ServletActionContext.getRequest();
 String name = request.getParameter("uName");
 if(name != null) {
  User u = userService.findByName(name);
  request.setAttribute("USER", u);
 }
 return "edit";
 }
 /**
 * 刪除
 * @return
 */
 public String delete(){
 HttpServletRequest request = ServletActionContext.getRequest();
 String name = request.getParameter("uName");
 boolean flag = userService.deleteUser(name);
 System.out.println(flag);
 return SUCCESS;
 }
  /**
   * 添加
   * @return
   */
 public String insert(){
 userService.insertUser(user);
 return "insert";
 }
}

struts.xml配置(本人用的的struts2):

?xml version="1.0" encoding="UTF-8" ?>
!DOCTYPE struts PUBLIC
  "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
  "http://struts.apache.org/dtds/struts-2.1.7.dtd">
struts>
  package name="file" extends="struts-default">
   action name="list" class="com.jun.action.UserAction" method="selectUser">
    result name="select">/list.jsp/result>
   /action>
   action name="login" class="com.jun.action.UserAction" method="login">
    result name="success" type="redirectAction">/list.action/result>
    result name="error">/login.jsp/result>
   /action>
   action name="insert" class="com.jun.action.UserAction" method="insert">
    result name="insert" type="redirectAction">/list.action/result>
   /action>
   action name="delete" class="com.jun.action.UserAction" method="delete">
    result type="redirect">/list.action/result>  
   /action>
   action name="update" class="com.jun.action.UserAction" method="update">
    result name="update" type="redirectAction">/list.action/result>  
   /action>
   action name="edit" class="com.jun.action.UserAction" method="edit">
    result name="edit">/update.jsp/result>  
   /action>
  /package>
/struts>

web.xml配置

?xml version="1.0" encoding="UTF-8"?>
web-app version="2.5" 
 xmlns="http://java.sun.com/xml/ns/javaee" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 welcome-file-list>
  welcome-file>index.jsp/welcome-file>
 /welcome-file-list>
 filter>
  filter-name>struts2/filter-name>
  filter-class>
  org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  /filter-class>
 /filter>
 filter-mapping>
  filter-name>struts2/filter-name>
  url-pattern>/*/url-pattern>
 /filter-mapping>
/web-app>

四個頁面:login.jsp  list.jsp insert.jsp,update.jsp

login.jsp

%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
html>
 head>
  base href="%=basePath%>">
  title>My JSP 'login.jsp' starting page/title>
 meta http-equiv="pragma" content="no-cache">
 meta http-equiv="cache-control" content="no-cache">
 meta http-equiv="expires" content="0">  
 meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 meta http-equiv="description" content="This is my page">
 !--
 link rel="stylesheet" type="text/css" href="styles.css">
 -->
 /head>
 body>
  a href="list.action">首頁/a>|a href="insert.jsp">注冊/a>
  form action="login.action" method="post">
  table>
  tr>
    td> 用戶名:/td>td>input name="user.name" type="text">/td>
  /tr>
  tr>
    td> 密碼:/td>td>input type="password" name="user.pwd">/td>
  /tr>
  tr>
    td colspan="2" align="center">input type="submit" value="登錄">/td>
  /tr>
    /table> 
  /form>
 /body>
/html>

list.jsp

%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
%@ taglib uri="/struts-tags" prefix="s"%>
%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
html>
 head>
  base href="%=basePath%>">
  title>My JSP 'list.jsp' starting page/title>
 meta http-equiv="pragma" content="no-cache">
 meta http-equiv="cache-control" content="no-cache">
 meta http-equiv="expires" content="0">  
 meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 meta http-equiv="description" content="This is my page">
 !--
 link rel="stylesheet" type="text/css" href="styles.css">
 -->
 /head>
 body >
 a href="insert.jsp">注冊/a>
  table border="1">
  tr>
   td align="center" colspan="6">font size="+3">用戶列表/font>/td>
  /tr>
   tr>
    td>序號/td>td>用戶名/td>td>密碼/td>td>郵箱/td>td>刪除/td>td>編輯/td>
   /tr>
   c:forEach items="${USER}" var="u" varStatus="temp">
    tr>
    td>${temp.index+1}/td>td>${u.name }/td>td>${u.pwd }/td>td>${u.email}/td>td>a href="delete.action?uName=${u.name}">刪除/a>/td>td>a href="edit.action?uName=${u.name }">編輯/a>/td>
    /tr>
  /c:forEach>
  /table>
 /body>
/html>

insert.jsp

%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
%
 String path = request.getContextPath();
 String basePath = request.getScheme() + "://"
  + request.getServerName() + ":" + request.getServerPort()
  + path + "/";
%>
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
html>
 head>
 base href="%=basePath%>">
 title>My JSP 'register.jsp' starting page/title>
 meta http-equiv="pragma" content="no-cache">
 meta http-equiv="cache-control" content="no-cache">
 meta http-equiv="expires" content="0">
 meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 meta http-equiv="description" content="This is my page">
 !--
 link rel="stylesheet" type="text/css" href="styles.css">
 -->
 /head>
 body>
 a href="list.action">首頁/a>
 form action="insert.action" method="post">
  table>
  tr>
   td>
   用戶名:
   /td>
   td>
   input name="user.name" type="text">
   /td>
  /tr>
  tr>
   td>
   密碼:
   /td>
   td>
   input type="password" name="user.pwd">
   /td>
  /tr>
  tr>
   td>
   郵箱:
   /td>
   td>
   input type="text" name="user.email">
   /td>
  /tr>
  tr>
   td colspan="2" align="center">
   input type="submit" value="提交">
   /td>
  /tr>
  /table>
 /form>
 /body>
/html>

update.jsp

%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
html>
 head>
  base href="%=basePath%>">
  title>My JSP 'update.jsp' starting page/title>
 meta http-equiv="pragma" content="no-cache">
 meta http-equiv="cache-control" content="no-cache">
 meta http-equiv="expires" content="0">  
 meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 meta http-equiv="description" content="This is my page">
 !--
 link rel="stylesheet" type="text/css" href="styles.css">
 -->
 /head>
 body>
  a href="list.action">首頁/a>
  h2>更新操作/h2>
  form action="update.action" method="post">
  table>
  c:set value="${USER}" var="user">/c:set>
  tr>
    td> 用戶名:/td>td>input readonly="readonly" name="user.name" value="${user.name}" type="text">/td>
  /tr>
  tr>
    td> 密碼:/td>td>input type="password" value="${user.pwd }" name="user.pwd">/td>
  /tr>
  tr>
    td> 郵箱:/td>td>input type="text" value="${user.email }" name="user.email">/td>
  /tr>
  tr>
    td colspan="2" align="center">input type="submit" value="保存">/td>
  /tr>
    /table> 
  /form>
 /body>
/html>

本人學(xué)習(xí)所用的user.xml文件

?xml version="1.0" encoding="UTF-8"?>
users>
user email=aaa@sina.com name="bbb" pwd="aaaaaa"/>
user email=bbb@sina.com name="ccc" pwd="aaaaaa"/>
/users>

希望本文所述對大家jsp程序設(shè)計有所幫助。

您可能感興趣的文章:
  • JavaScript和HTML DOM的區(qū)別與聯(lián)系及Javascript和DOM的關(guān)系
  • JavaScript對HTML DOM使用EventListener進行操作
  • JavaScript簡單遍歷DOM對象所有屬性的實現(xiàn)方法
  • 詳解javascript跨瀏覽器事件處理程序
  • JavaScript實現(xiàn)為指定對象添加多個事件處理程序的方法
  • 輕松創(chuàng)建nodejs服務(wù)器(5):事件處理程序
  • JS注冊/移除事件處理程序(ExtJS應(yīng)用程序設(shè)計實戰(zhàn))
  • 淺談Javascript事件處理程序的幾種方式
  • js使用函數(shù)綁定技術(shù)改變事件處理程序的作用域
  • JavaScript事件處理程序(事件偵聽器)
  • JavaScript Event學(xué)習(xí)第三章 早期的事件處理程序
  • JavaScript將DOM事件處理程序封裝為event.js 出現(xiàn)的低級錯誤問題

標簽:開封 白銀 自貢 山南 銅川 吉林 烏蘭察布 臨汾

巨人網(wǎng)絡(luò)通訊聲明:本文標題《JSP基于dom解析xml實例詳解》,本文關(guān)鍵詞  JSP,基于,dom,解析,xml,實例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《JSP基于dom解析xml實例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于JSP基于dom解析xml實例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    精品视频一区二区不卡| 国产激情视频一区二区三区欧美| 97精品久久久久中文字幕| 国产精品你懂的| 99riav久久精品riav| 亚洲一区二区欧美| 日韩一区二区三区四区 | 精品嫩草影院久久| 国产综合色产在线精品| 国产色产综合色产在线视频| a4yy欧美一区二区三区| 亚洲成国产人片在线观看| 欧美一区二区精美| 国产精品一区二区三区乱码| 亚洲视频在线一区二区| 在线不卡a资源高清| 韩日精品视频一区| 亚洲天堂免费在线观看视频| 99久久精品国产一区| 亚洲成av人影院| 久久一区二区三区国产精品| 91色综合久久久久婷婷| 天天免费综合色| 中文字幕 久热精品 视频在线| 在线观看视频欧美| 久草中文综合在线| 一区二区三区四区在线播放 | 菠萝蜜视频在线观看一区| 亚洲一区二区五区| 国产人妖乱国产精品人妖| 欧美在线视频日韩| 国产不卡在线播放| 午夜欧美2019年伦理| 国产精品美女久久久久aⅴ| 在线成人免费视频| av激情综合网| 国产在线看一区| 亚欧色一区w666天堂| 亚洲国产岛国毛片在线| 欧美一卡2卡3卡4卡| 91在线视频网址| 久久超碰97中文字幕| 亚洲国产你懂的| 亚洲欧美日韩一区二区三区在线观看| 日韩欧美一区二区三区在线| 91搞黄在线观看| 顶级嫩模精品视频在线看| 免费看日韩精品| 亚洲一本大道在线| 亚洲免费视频成人| 国产精品毛片久久久久久| 精品国精品自拍自在线| 欧美久久久久久蜜桃| 色狠狠一区二区三区香蕉| 国产精品亚洲专一区二区三区| 日日摸夜夜添夜夜添国产精品| 亚洲男人电影天堂| 中文字幕+乱码+中文字幕一区| 精品欧美久久久| 欧美一级日韩不卡播放免费| 欧美色图12p| 日本精品视频一区二区三区| 成人黄色大片在线观看| 国产ts人妖一区二区| 精品一区二区三区在线观看| 免费在线成人网| 日韩高清不卡一区二区三区| 性感美女极品91精品| 亚洲自拍偷拍欧美| 亚洲综合男人的天堂| 亚洲一区自拍偷拍| 亚洲国产视频一区| 亚洲不卡在线观看| 亚洲一卡二卡三卡四卡无卡久久| 亚洲人xxxx| 亚洲午夜日本在线观看| 亚洲综合在线免费观看| 亚洲国产精品久久人人爱蜜臀| 亚洲国产日韩a在线播放性色| 亚洲一二三四在线| 亚洲综合免费观看高清完整版在线| 亚洲自拍另类综合| 性感美女极品91精品| 日韩 欧美一区二区三区| 久久99精品久久只有精品| 国产伦精一区二区三区| 国产成人在线视频网站| 成人黄页毛片网站| 在线看国产一区| 欧美精品在线观看播放| 欧美成人国产一区二区| 国产亚洲欧美激情| 成人欧美一区二区三区黑人麻豆| 一区二区三区日韩精品视频| 亚洲第一福利视频在线| 日本中文在线一区| 国产成人亚洲综合a∨婷婷图片| 成人91在线观看| 欧美最新大片在线看| 日韩一区二区高清| 国产欧美日韩另类一区| 一区二区久久久| 免费成人av在线播放| 国产成人av电影在线| 日本精品裸体写真集在线观看 | 亚洲黄色尤物视频| 热久久久久久久| 成人国产在线观看| 欧美日韩久久一区二区| 日韩精品一区二区三区三区免费 | 国产高清在线精品| 97久久人人超碰| 欧美一区二区黄色| 亚洲视频在线一区| 蜜桃av一区二区| caoporn国产精品| 日韩视频免费观看高清完整版| 国产日韩影视精品| 亚洲444eee在线观看| 成人av午夜影院| 欧美一级片在线观看| 最好看的中文字幕久久| 蜜桃精品在线观看| 欧洲亚洲国产日韩| 国产欧美综合色| 奇米影视一区二区三区小说| 波多野结衣中文字幕一区 | 91国在线观看| 国产日韩欧美a| 日韩综合小视频| 成人h动漫精品一区二| 欧美一级在线视频| 一区二区三区欧美激情| 国产iv一区二区三区| 日韩欧美一级精品久久| 亚洲午夜私人影院| 99精品桃花视频在线观看| 欧美精品一区二区三区四区| 亚洲成av人片一区二区梦乃| 成人国产在线观看| 久久久青草青青国产亚洲免观| 日韩精品电影在线| 欧美中文字幕亚洲一区二区va在线| 久久奇米777| 久久99国产精品麻豆| 欧美日韩dvd在线观看| 亚洲精品日日夜夜| 99麻豆久久久国产精品免费优播| 久久久久99精品一区| 麻豆国产精品777777在线| 欧美精三区欧美精三区| 亚洲国产日产av| 欧美亚洲综合久久| 一区二区三区四区亚洲| 色婷婷精品大在线视频| 亚洲日本va午夜在线电影| 国产1区2区3区精品美女| 久久亚洲一区二区三区四区| 久久精品国产澳门| 日韩你懂的电影在线观看| 美腿丝袜在线亚洲一区| 欧美一区二区三区免费大片| 日韩高清在线观看| 91精品欧美一区二区三区综合在| 视频一区视频二区中文字幕| 这里只有精品99re| 人人爽香蕉精品| 日韩无一区二区| 国产一区视频网站| 国产欧美日韩在线看| av电影一区二区| 亚洲乱码国产乱码精品精98午夜| 一本色道a无线码一区v| 亚洲综合色区另类av| 欧美日韩成人综合天天影院| 奇米色一区二区| 久久久久久9999| 99久免费精品视频在线观看| 亚洲免费视频中文字幕| 欧美精品一二三四| 九九视频精品免费| 国产精品系列在线| 91网站最新网址| 午夜精品123| 精品国产凹凸成av人网站| 国产美女精品在线| 亚洲人成伊人成综合网小说| 欧美日韩中文字幕精品| 麻豆精品新av中文字幕| 久久精品一区二区| 99精品热视频| 日本不卡视频在线| 欧美极品另类videosde| 在线一区二区视频| 久久99热这里只有精品| 国产精品女主播av| 欧美另类变人与禽xxxxx| 国产精品99久久久| 亚洲视频狠狠干| 欧美一区二区黄|