精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Struts2.0+ibatis2.3整合實例實現服務層及Struts

開發 后端
Struts2.0+ibatis2.3整合實例實現服務層及Struts是如何達成的呢?本文將會給你這方面的講解。

服務層這里我就不用做介紹了,這里的實現和以前Hibernate的例子基本類同,唯一不同的是使用了Spring2.5的標注方式實現類的注入。

Struts2.0+ibatis2.3整合實例之IUserService.java

  1. package org.login.service;  
  2.  
  3. import java.util.List;  
  4.  
  5. import org.login.vo.Users;  
  6.  
  7. public interface IUserService {  
  8.       
  9.     List﹤Users﹥ getAllUser();  
  10.       
  11.     Users getUserById(Integer id);  
  12.       
  13.     boolean isLogin(Users user);  
  14.       
  15.     boolean insertUser(Users user);  
  16.       
  17.     boolean updateUser(Users user);  
  18.       
  19.     boolean deleteUser(Integer id);  
  20. }  
  21.  
  22. 服務層實現:UserService.java  
  23.  
  24. package org.login.service.Impl;  
  25.  
  26. import java.util.List;  
  27.  
  28. import org.login.dao.IUserDAO;  
  29. import org.login.service.IUserService;  
  30. import org.login.vo.Users;  
  31. import org.springframework.beans.factory.annotation.Autowired;  
  32. import org.springframework.beans.factory.annotation.Qualifier;  
  33. import org.springframework.stereotype.Service;  
  34.  
  35. @Service("userService")  
  36. public class UserService implements IUserService {  
  37.  
  38.     @Autowired(required=false)  
  39.     @Qualifier("userDAO")  
  40.     private IUserDAO userDAO = null;  
  41.       
  42.     public IUserDAO getUserDAO() {  
  43.         return userDAO;  
  44.     }  
  45.  
  46.     public void setUserDAO(IUserDAO userDAO) {  
  47.         this.userDAO = userDAO;  
  48.     }  
  49.  
  50.     @Override 
  51.     public boolean deleteUser(Integer id) {  
  52.           
  53.         return userDAO.deleteUser(id);  
  54.     }  
  55.  
  56.     @Override 
  57.     public List﹤Users﹥ getAllUser() {  
  58.           
  59.         return userDAO.getAllUser();  
  60.     }  
  61.  
  62.     @Override 
  63.     public boolean insertUser(Users user) {  
  64.           
  65.         return userDAO.insertUser(user);  
  66.     }  
  67.  
  68.     @Override 
  69.     public boolean isLogin(Users user) {  
  70.           
  71.         return userDAO.isLogin(user);  
  72.     }  
  73.  
  74.     @Override 
  75.     public boolean updateUser(Users user) {  
  76.           
  77.         return userDAO.updateUser(user);  
  78.     }  
  79.  
  80.     @Override 
  81.     public Users getUserById(Integer id) {  
  82.           
  83.         return userDAO.getUserById(id);  
  84.     }  
  85.  

Struts層的實現也是比較簡單了,與上述的區別都一樣,在這里我就不太多說了。

Struts2.0+ibatis2.3整合實例之Login.java

  1.  package org.login.actions;  
  2.  
  3. import java.util.List;  
  4.  
  5. import javax.servlet.http.HttpServletRequest;  
  6.  
  7. import org.apache.struts2.interceptor.ServletRequestAware;  
  8. import org.login.service.IUserService;  
  9. import org.login.vo.Users;  
  10. import org.springframework.beans.factory.annotation.Autowired;  
  11. import org.springframework.beans.factory.annotation.Qualifier;  
  12. import org.springframework.stereotype.Service;  
  13.  
  14. import com.opensymphony.xwork2.ActionSupport;  
  15.  
  16. @SuppressWarnings({"serial","unchecked"})  
  17. @Service("login")  
  18. public class Login extends ActionSupport implements ServletRequestAware {  
  19.  
  20.     private static final String UPDATE = "update";  
  21.       
  22.     private HttpServletRequest request = null;  
  23.       
  24.     @Autowired(required = false)  
  25.     @Qualifier("userService")  
  26.     private IUserService userService = null;  
  27.       
  28.     private String id = null;  
  29.     private String name = null;  
  30.     private String password = null;  
  31.       
  32.     public String getName() {  
  33.         return name;  
  34.     }  
  35.  
  36.     public void setName(String name) {  
  37.         this.name = name;  
  38.     }  
  39.  
  40.     public String getPassword() {  
  41.         return password;  
  42.     }  
  43.  
  44.     public void setPassword(String password) {  
  45.         this.password = password;  
  46.     }  
  47.       
  48.     public String getId() {  
  49.         return id;  
  50.     }  
  51.  
  52.     public void setId(String id) {  
  53.         this.id = id;  
  54.     }  
  55.       
  56.     public IUserService getUserService() {  
  57.         return userService;  
  58.     }  
  59.  
  60.     public void setUserService(IUserService userService) {  
  61.         this.userService = userService;  
  62.     }  
  63.  
  64.     @Override 
  65.     public String execute() throws Exception {  
  66.         Users user = new Users();  
  67.         user.setUserName(name);  
  68.         user.setPassword(password);  
  69.         if (getUserService().isLogin(user)) {  
  70.             return SUCCESS;  
  71.         }  
  72.         return INPUT;  
  73.     }  
  74.       
  75.     public String save() throws Exception {  
  76.         Users user = new Users();  
  77.         user.setUserName(name);  
  78.         user.setPassword(password);  
  79.         if (getUserService().insertUser(user)) {  
  80.             return SUCCESS;  
  81.         }  
  82.         return ERROR;  
  83.     }  
  84.  
  85.     public String update() throws Exception {  
  86.         Users user = null;  
  87.         String action = request.getParameter("action");  
  88.         String id = request.getParameter("id");  
  89.         if ("loading".equals(action)) {  
  90.               
  91.             user = new Users();  
  92.             user = getUserService().getUserById(Integer.valueOf(id));  
  93.             if (null != user) {  
  94.                 request.setAttribute("user", user);  
  95.             }  
  96.             return UPDATE;  
  97.               
  98.         } else {  
  99.             user = new Users();  
  100.             user.setUserName(name);  
  101.             user.setPassword(password);  
  102.             user.setId(Integer.valueOf(id));  
  103.             if (getUserService().updateUser(user)) {  
  104.                 return SUCCESS;  
  105.             }  
  106.         }  
  107.           
  108.         return ERROR;  
  109.     }  
  110.       
  111.     public String delete() throws Exception {  
  112.         String id = request.getParameter("id");  
  113.         if (getUserService().deleteUser(Integer.valueOf(id))) {  
  114.             return SUCCESS;  
  115.         }  
  116.         return ERROR;  
  117.     }  
  118.       
  119.       
  120.     public String findAllUsers() throws Exception {  
  121.         List﹤Users﹥ list = getUserService().getAllUser();   
  122.         if (list.size() ﹥ 0) {  
  123.             request.setAttribute("list", list);  
  124.             return SUCCESS;  
  125.         }  
  126.         return ERROR;  
  127.     }  
  128.  
  129.     @Override 
  130.     public void setServletRequest(HttpServletRequest request) {  
  131.         this.request = request;          
  132.     }  

到現在為止,我們的底層的類已經全部實現了,下來我們看其配置文件:

Struts2.0+ibatis2.3整合實例之struts.xml

  1. ﹤?xml version="1.0" encoding="UTF-8"?﹥  
  2. ﹤!DOCTYPE struts PUBLIC  
  3.         "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
  4.         "http://struts.apache.org/dtds/struts-2.0.dtd"﹥  
  5. ﹤struts﹥  
  6.     ﹤include file="struts-default.xml"/﹥  
  7.     ﹤package name="struts2" extends="struts-default"﹥  
  8.         ﹤action name="logon" class="login"﹥  
  9.             ﹤result name="success"﹥/success.jsp﹤/result﹥  
  10.             ﹤result name="input"﹥/login.jsp﹤/result﹥  
  11.         ﹤/action﹥  
  12.         ﹤action name="save" class="login" method="save"﹥  
  13.             ﹤result name="success"﹥/success.jsp﹤/result﹥  
  14.             ﹤result name="error"﹥/error.jsp﹤/result﹥  
  15.         ﹤/action﹥  
  16.         ﹤action name="update" class="login" method="update"﹥  
  17.             ﹤result name="success"﹥/success.jsp﹤/result﹥  
  18.             ﹤result name="update"﹥/update.jsp﹤/result﹥  
  19.             ﹤result name="error"﹥/error.jsp﹤/result﹥  
  20.         ﹤/action﹥  
  21.         ﹤action name="delete" class="login" method="delete"﹥  
  22.             ﹤result name="success"﹥/success.jsp﹤/result﹥  
  23.             ﹤result name="error"﹥/error.jsp﹤/result﹥  
  24.         ﹤/action﹥  
  25.         ﹤action name="show" class="login" method="findAllUsers"﹥  
  26.             ﹤result name="success"﹥/list.jsp﹤/result﹥  
  27.             ﹤result name="error"﹥/error.jsp﹤/result﹥  
  28.         ﹤/action﹥  
  29.     ﹤/package﹥  
  30. ﹤/struts﹥ 

Struts2.0+ibatis2.3整合實例之Struts.properties

struts.locale=zh_CN

struts.i18n.encoding=UTF-8 

struts.objectFactory=spring 

接下來也是與之前例子不同的地方,就是ibatis的配置文件:

config.xml

  1.  ﹤?xml version="1.0" encoding="UTF-8"?﹥  
  2. ﹤!DOCTYPE sqlMapConfig        
  3.     PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"        
  4.     "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"﹥  
  5.       
  6. ﹤sqlMapConfig﹥  
  7.     ﹤sqlMap resource="org/login/vo/Users.xml"/﹥  
  8. ﹤/sqlMapConfig﹥ 

這個文件比較簡單,只配置了bean的映射文件。

***一個配置文件就是Spring的配置文件了,這個也是最關鍵的,與以前的配置是截然不同,因為在Spring2.5使用了標注方式注入,同時她了具有了自動的搜索bean的能力,所以配置就相當的簡單,如果有不明白的地方,可以寫到評論里,或者給我留言,這也是Spring2.5最難理解的地方了。

applicationContext.xml

  1. ﹤?xml version="1.0" encoding="UTF-8"?﹥  
  2. ﹤beans xmlns="http://www.springframework.org/schema/beans" 
  3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  4.        xmlns:context="http://www.springframework.org/schema/context" 
  5.        xsi:schemaLocation="http://www.springframework.org/schema/beans   
  6.            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
  7.            http://www.springframework.org/schema/context  
  8.            http://www.springframework.org/schema/context/spring-context-2.5.xsd"﹥  
  9.       
  10.     ﹤context:annotation-config /﹥  
  11.     ﹤bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"﹥  
  12.         ﹤property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver" /﹥  
  13.         ﹤property name="url" value="jdbc:jtds:sqlserver://localhost:1433/pubs" /﹥  
  14.         ﹤property name="username" value="sa" /﹥  
  15.         ﹤property name="password" value="aa" /﹥  
  16.     ﹤/bean﹥  
  17.       
  18.     ﹤bean id="sqlClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"﹥  
  19.         ﹤property name="dataSource"﹥  
  20.             ﹤ref local="dataSource"/﹥  
  21.         ﹤/property﹥  
  22.         ﹤property name="configLocation"﹥  
  23.             ﹤value﹥classpath:config.xml﹤/value﹥  
  24.         ﹤/property﹥  
  25.     ﹤/bean﹥  
  26.     ﹤context:component-scan base-package="org.login" /﹥  
  27. ﹤/beans﹥ 

這篇就寫到這里吧,下篇我們將說明頁面層的代碼,至于說明我想也不用了,如果有興趣研究的朋友可以先下載示例代碼先看下,具體的下載地址如下:

演示示例下載地址:Struts2.0+Spring2.5.1+ibatis2.3地址:http://download.csdn.net/source/331581

Struts2.0+ibatis2.3整合實例之實現服務層及Struts就向你介紹到這里,希望多你有所幫助。

【編輯推薦】

  1. 在iBATIS.NET中調用存儲過程淺析
  2. Struts2.0+Springframework2.5+ibatis2.3***整合實例
  3. Struts2.0+ibatis2.3***整合實例之映射淺析
  4. iBATIS.NET字段映射自定義對象淺析
  5. iBATIS.NET字段映射自定義對象淺析
責任編輯:仲衡 來源: CSDN博客
相關推薦

2009-07-20 17:01:11

Struts2.0+i

2009-07-20 16:41:27

Struts2.0+i

2009-07-20 16:07:19

Struts2.0 S

2009-07-17 17:45:56

iBATIS Spri

2009-06-19 10:00:37

Struts和Spri

2009-06-05 11:01:23

struts mvcMVC工作原理

2009-07-17 17:16:48

Spring iBAT

2011-05-03 09:40:58

iBatis

2009-06-10 14:53:25

netbeans st實例

2009-06-05 10:43:29

struts2 checheckbox實例

2009-06-08 16:52:00

2010-07-30 16:04:17

Flex2struts

2009-06-03 14:19:34

Struts2Guice

2009-06-23 14:01:27

StrutsTapestryJSF

2012-05-25 10:41:33

StrutsDWRJava

2009-06-18 15:56:49

Struts和Spri

2009-03-24 10:30:35

SpringStruts集成

2009-03-06 14:34:31

StrutsHibernateSpring

2009-09-21 17:10:14

struts Hibe

2009-09-22 13:02:05

ibmdwStruts
點贊
收藏

51CTO技術棧公眾號

日韩毛片精品高清免费| 国内精品国产三级国产a久久| 亚洲国模精品私拍| 国产a级一级片| 阿v免费在线观看| 精品一区二区久久| 97福利一区二区| 国产精品无码电影| 国产极品一区| 午夜一区二区三区视频| 性刺激综合网| 日韩中文字幕影院| 极品少妇一区二区三区精品视频 | 亚洲激情视频小说| 中文成人在线| 日韩欧美在线视频免费观看| 日本一二三区视频在线| 日本啊v在线| 国产精品1区二区.| 国产精品老牛影院在线观看| 久久久国产精华液| 欧美日韩色图| 亚洲成av人影院在线观看| 911福利视频| 成人美女视频| 亚洲r级在线视频| 免费久久久久久| 国产黄色片在线观看| 99久久精品国产导航| 国产综合久久久久久| 成人av网站在线播放| 亚洲国产激情| 欧美激情视频给我| 欧洲美女女同性互添| 国产精品免费不| 亚洲成色777777女色窝| 免费人成视频在线播放| 日本午夜精品久久久久| 日韩欧美中文免费| av免费观看网| www.综合| 亚洲6080在线| 亚洲国产精品无码观看久久| 日韩激情av| 一区二区三区在线视频播放| 免费成人进口网站| 国产写真视频在线观看| 亚洲婷婷综合色高清在线| 亚洲欧美日韩精品久久久| 韩国精品视频| 日本一区二区视频在线| 日本精品一区| 97在线观看免费观看高清| 国产清纯白嫩初高生在线观看91| 欧美日韩国产精品一卡| 免费在线性爱视频| 久久久久久一二三区| 日本视频精品一区| www在线播放| 国产精品久久午夜| 在线观看成人一级片| 免费观看久久久久| 亚洲乱码国产乱码精品精的特点 | 成人在线观看亚洲| 亚洲欧美视频在线观看| 欧美在线观看视频免费| 污的网站在线观看| 图片区日韩欧美亚洲| 国产aaa一级片| 在线成人视屏| 欧美美女bb生活片| 亚洲成年人在线观看| 欧美日韩导航| 伊人伊成久久人综合网小说| 欧美a在线播放| 影视一区二区| 97免费视频在线| 无码人妻精品一区二区三区9厂 | 亚洲熟女乱综合一区二区| aaa国产精品| 亚洲乱码国产乱码精品精天堂| 久久久久亚洲av成人无码电影| 日韩欧美不卡| 欧美激情在线观看| 久久久久久少妇| 久久aⅴ国产欧美74aaa| 国产不卡一区二区在线观看| 无码精品黑人一区二区三区 | 日韩激情片免费| 国产午夜精品福利视频| 一本一道久久综合狠狠老| 久久久久久久久久亚洲| 69视频免费看| 国产成人免费av在线| 久久国产精品99久久久久久丝袜| 国产区av在线| 一区二区三区四区蜜桃| 能看的毛片网站| 日本超碰一区二区| 亚洲欧美国产日韩天堂区| 日韩欧美国产成人精品免费| 国产精品久久久久毛片大屁完整版 | 中文字幕av网址| 久久久久久久久国产一区| 97精品欧美一区二区三区| 亚洲天堂中文字幕在线| 91小视频免费看| 亚洲小说欧美另类激情| 超碰aⅴ人人做人人爽欧美| 欧美一区永久视频免费观看| 亚洲熟妇一区二区三区| 在线中文一区| 国产精品69久久| 亚洲乱码精品久久久久..| 欧美激情一二三区| 亚洲中文字幕无码av永久| 外国成人毛片| 一区二区三区视频免费| 国产又大又黄视频| 国产福利精品一区二区| 亚洲一区二区三区四区中文| 一区二区三区四区日本视频| 亚洲精品一区二区三区四区高清| 中文字幕资源站| 日韩电影免费在线看| 精品人伦一区二区三区| 日本精品600av| 91精品国产免费久久综合| 久久久久亚洲AV成人无在| 久久在线91| 久久久久久亚洲精品不卡4k岛国| 草美女在线观看| 日韩欧美视频在线 | 大桥未久av一区二区三区| 久久久久无码精品| 五月天激情综合网| 国产欧美一区二区三区视频 | 国产精品视频分类| 久久91麻豆精品一区| 26uuu另类亚洲欧美日本一| 高清一区二区三区四区| 一区二区激情视频| 亚洲熟女乱综合一区二区| 在线看片不卡| 91手机在线观看| 色婷婷在线播放| 欧美变态凌虐bdsm| 久久久久亚洲av片无码下载蜜桃| 国产成人在线免费观看| 乱熟女高潮一区二区在线| 日韩在线视频一区二区三区| 久久伊人精品视频| a天堂中文在线观看| 亚洲女与黑人做爰| 国产无套精品一区二区三区| 欧美日韩一区二区国产| 国产免费高清一区| 蜜桃视频在线观看播放| 亚洲欧美国产精品久久久久久久| 无码人妻精品一区二区蜜桃色欲| 国产无人区一区二区三区| 韩国中文字幕av| 97精品97| 亚洲综合视频1区| 不卡av免费观看| 日韩电影在线观看中文字幕 | 色偷偷偷亚洲综合网另类| 在线观看免费高清视频| 亚洲精品视频在线观看免费| 国产精品一区二区无码对白| 国产深夜精品| 亚洲国产精品综合| 色悠久久久久综合先锋影音下载| 欧美大片网站在线观看| 四季av日韩精品一区| 色婷婷久久久亚洲一区二区三区| 国产又粗又黄又猛| 国产激情一区二区三区桃花岛亚洲| 青青青在线观看视频| 亚洲男人都懂第一日本| 91精品久久久久久久久不口人| 在线看福利影| 亚洲欧美激情在线视频| 国产精品永久久久久久久久久| 亚洲一本大道在线| 中文字幕免费视频| 国产精品主播直播| 91传媒久久久| 你懂的一区二区| 蜜桃av噜噜一区二区三| 国产亚洲字幕| 日韩av不卡在线| 伊人影院蕉久影院在线播放| 亚洲男人天堂九九视频| 国产又粗又大又黄| 精品欧美aⅴ在线网站| 波兰性xxxxx极品hd| jiyouzz国产精品久久| 性欧美1819| a91a精品视频在线观看| 青青草原国产免费| 欧美极品在线观看| 99在线影院| 久久av影院| 欧美中文字幕视频| 牛牛精品视频在线| 日韩中文字幕免费视频| 亚洲av成人无码久久精品老人| 8v天堂国产在线一区二区| 成人毛片在线播放| 亚洲午夜在线视频| 欧美风情第一页| 国产婷婷色一区二区三区| 人妻激情偷乱频一区二区三区| 久久成人麻豆午夜电影| 无码日韩人妻精品久久蜜桃| 亚洲人成免费| 激情视频小说图片| 999久久久免费精品国产| 欧美日韩精品一区| 日韩动漫一区| 国产日韩欧美一区二区| 日韩免费高清视频网站| 成人免费看黄网站| 国产91在线播放精品| 日韩av电影国产| 中文字幕在线视频网站| 97精品国产97久久久久久春色| 亚洲妇熟xxxx妇色黄| 精品国产美女在线| 亚洲s色大片| 中文字幕精品在线| jizz在线观看视频| 亚洲图片在区色| 国产在线一二三区| 亚洲欧美中文日韩在线v日本| 偷拍精品一区二区三区| 亚洲成人亚洲激情| 黑人精品一区二区| 精品久久一区二区| 丰满少妇一级片| 精品国产一区二区亚洲人成毛片| 99热这里只有精品99| 欧美一区二区三区在线电影| 国产免费无遮挡| 日韩一区二区三区在线观看| 精品毛片一区二区三区| 日韩一区二区视频在线观看| 亚洲av综合色区无码一二三区 | 国产精品www.| 高清无码一区二区在线观看吞精| 亚洲欧美文学| 日韩 欧美 视频| 国产亚洲精品v| 37pao成人国产永久免费视频| 久久永久免费| 国产福利在线免费| 国产激情视频一区二区在线观看 | 欧美精品成人91久久久久久久| 欧美一卡二卡| 国内免费久久久久久久久久久| 大桥未久在线视频| 国产999精品久久久影片官网| av有声小说一区二区三区| 国产精品久久久久久久久久免费 | 国产探花在线视频| 一区二区三区视频在线观看| 国产精品18p| 色综合久久综合中文综合网| 中文字幕在线观看免费| 91精品国产91久久久久久一区二区 | 99视频一区二区| 亚洲精品国产91| 亚洲视频一区在线观看| 久久免费黄色网址| 日韩欧美a级成人黄色| 瑟瑟视频在线免费观看| 欧美一卡二卡三卡| 色视频免费在线观看| 色偷偷亚洲男人天堂| 青青在线视频| 国产成人精品电影久久久| **日韩最新| 久99久视频| 国产精品久久久久无码av| 性欧美大战久久久久久久| 久久三级福利| 欧美熟妇另类久久久久久多毛| 91亚洲国产成人精品一区二区三| 久久av红桃一区二区禁漫| 亚洲成av人影院在线观看网| 中文字幕一区二区三区波野结| 欧美大黄免费观看| 国产1区2区3区在线| 色综合久久精品亚洲国产| 日本精品不卡| a级国产乱理论片在线观看99| 国产亚洲精品美女久久久久久久久久| ijzzijzzij亚洲大全| 久久亚洲视频| 妖精视频一区二区| 亚洲日本青草视频在线怡红院 | 日韩影片在线播放| 亚洲私人影院| 手机在线视频一区| 国产欧美日韩在线观看| 天堂资源在线播放| 欧美一区二区三区四区高清| 九色国产在线观看| 国模视频一区二区三区| 91嫩草国产线观看亚洲一区二区| 精品亚洲欧美日韩| 欧美日韩亚洲一区| 在线观看岛国av| 欧美激情在线看| 欧美日韩一二三四区| 精品裸体舞一区二区三区| 免费的黄网站在线观看| 国产精品久久久久久久久久尿| 麻豆精品av| 无码人妻少妇伦在线电影| 国产一区二区影院| 操她视频在线观看| 在线免费不卡视频| 男女网站在线观看| 欧洲永久精品大片ww免费漫画| 国产成人夜色高潮福利影视| 中文字幕色呦呦| 韩国女主播成人在线| 亚洲熟女少妇一区二区| 欧美性猛片xxxx免费看久爱| 酒色婷婷桃色成人免费av网| 欧美一级片一区| 日本午夜精品久久久| 免费看国产曰批40分钟| 成人av在线一区二区三区| 久久免费视频精品| 精品国产乱码久久久久久久| 羞羞污视频在线观看| 亚洲xxxx在线| 欧美激情成人在线| 国产亚洲精品成人a| 亚洲一区二区不卡免费| 性欧美8khd高清极品| 欧美黑人xxx| 激情av综合| 亚洲自偷自拍熟女另类| 久久美女高清视频| 久久久久在线视频| 伊人久久久久久久久久久| 粉嫩91精品久久久久久久99蜜桃| 欧美在线3区| 蜜桃视频一区二区| 精品国产国产综合精品| 日韩欧美一级二级三级| heyzo一区| 欧美凹凸一区二区三区视频| 久久综合影视| 很污很黄的网站| 日韩一级大片在线| 538在线观看| 日本一区二区免费看| 另类小说综合欧美亚洲| 色欲一区二区三区精品a片| 日韩美女视频在线| 欧美日韩国产观看视频| 欧美一区少妇| 国产久卡久卡久卡久卡视频精品| 国产亚洲精品久久久久久打不开| 亚洲精品www| 成人国产激情在线| 日韩精品久久一区二区| 99r国产精品| 中文字幕视频二区| 久久久免费精品视频| 国产成人精品免费视| 国产探花在线观看视频| 亚洲18色成人| 成人亚洲综合天堂| 99精品国产高清一区二区| 亚洲一区成人| 中文字幕在线观看2018| 亚洲电影中文字幕| 91p九色成人| www.夜夜爱| 国产农村妇女精品| 欧美一级特黄aaaaaa大片在线观看| 国产97免费视| 午夜天堂精品久久久久| 成人午夜福利一区二区| 日韩片之四级片| 91看片一区| 亚洲人成无码网站久久99热国产 | 成人高清在线视频| 真实新婚偷拍xxxxx| 国内精品模特av私拍在线观看| 成人免费在线观看av| 亚洲乱妇老熟女爽到高潮的片| 欧美午夜精品一区二区蜜桃| sqte在线播放|