92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线

SSM框架實戰-搭建自己的個人博客1-基礎架構搭建

2021-4-30    前端達人

前言

本系列文章主要通過從零開始搭建自己的個人博客,來加深對SSM框架的學習與使用,了解一個系統從提出到設計-到開發-到測試-部署運行的過程,并記錄在搭建過程中的學習心得、遇見的錯誤及解決方式。

個人博客的主要功能有:

  1. 博客列表展示:文章按照時間順序(時間倒序:最新最先展示)列表展示
  2. 博客文章詳情展示:展示文章全部內容,包含:作者、創建時間、所屬目錄、標簽、文章標題、內容
  3. 用戶權限管理:游客只能瀏覽文章、管理員可以發布文章、文章下線處理
  4. 添加文章功能:支持富文本編輯??梢哉{整字體大小、樣式、鍵入代碼等功能

界面展示:

前臺博客列表界面

前臺博客列表頁面.png

博客詳情頁面

博客詳情頁面.png

后臺管理頁面 

 

登錄頁面

 

后臺管理頁面.png

項目技術簡介

系統實現的功能點

  1. 用戶權限管理:普通的用戶(游客)只能瀏覽文章、管理員用戶可以發布文章、文章管理
  2. 博客列表展示:文章按照發布時間順序(按照時間倒敘)展示 :博客類別、標簽、博客名稱、作者名、發布時間、閱讀數量、博客的內容概括
  3. 博客詳情頁面:博客名稱、作者、時間、博客內容、標簽
  4. 博客后臺列表:博客檢索(類別、標簽、博客名稱)、博客列表(博客id、博客類別、標簽、時間)、博客操作
  5. 新增博客功能:支持富文本編輯:可以調整大小、樣式等

服務端技術

核心框架:Spring:5.2.8.RELEASE

web框架:SpringMVC:5.2.8.RELEASE

持久層框架:Mybatis 3.2.4

數據庫連接池:阿里druid:0.2.6

數據庫:MySQL5.XX

JSON數據處理:谷歌gson 2.3

前端技術

jsp

Ajax

前端框架:bootstrap

富文本編輯器:百度UEditor

數據庫的設計

  • 用戶表:賬號id、賬號名稱、賬號密碼
  • 博客表:博客id、博客名稱、博客內容、發布時間、閱讀量、類別id、狀態
  • 博客/標簽對應表:博客id、標簽的id
  • 標簽表:標簽id、標簽名稱(博客和標簽:一對多:一個博客可以對應多個標簽)
  • 類別表:類別ID、類別名稱(博客和類別:一對一:一個博客對應一個類別)

創建SQL語句:

 
  1. DROP TABLE IF EXISTS `t_article`;
  2. CREATE TABLE `t_article` (
  3. `id` int(11) NOT NULL AUTO_INCREMENT,
  4. `categoryId` int(11) NOT NULL COMMENT '分類Id',
  5. `title` varchar(40) NOT NULL COMMENT '標題',
  6. `content` blob NOT NULL COMMENT '內容',
  7. `description` varchar(500) NOT NULL COMMENT '文章簡介 用于列表顯示',
  8. `statue` int(11) NOT NULL DEFAULT '0' COMMENT '狀態 0:正常 1:不可用',
  9. `author` varchar(15) DEFAULT 'tulun' COMMENT '作者',
  10. `createTime` datetime NOT NULL COMMENT '發表時間',
  11. `showCount` int(11) NOT NULL DEFAULT '0' COMMENT '瀏覽量',
  12. PRIMARY KEY (`id`)
  13. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='文章表';
  14. -- ----------------------------
  15. -- Table structure for t_article_image
  16. -- ----------------------------
  17. DROP TABLE IF EXISTS `t_article_image`;
  18. CREATE TABLE `t_article_image` (
  19. `id` int(11) NOT NULL AUTO_INCREMENT,
  20. `imageUrl` varchar(100) NOT NULL COMMENT '圖片地址',
  21. `articleId` int(11) NOT NULL COMMENT '文章Id',
  22. PRIMARY KEY (`id`,`articleId`)
  23. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='文章圖 主要用于列表瀏覽';
  24. -- ----------------------------
  25. -- Table structure for t_tag
  26. -- ----------------------------
  27. DROP TABLE IF EXISTS `t_tag`;
  28. CREATE TABLE `t_tag` (
  29. `id` int(11) NOT NULL AUTO_INCREMENT,
  30. `tagName` varchar(25) NOT NULL COMMENT '標簽名稱 唯一',
  31. PRIMARY KEY (`id`),
  32. UNIQUE KEY `tagName_UNIQUE` (`tagName`)
  33. ) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 COMMENT='標簽表';
  34. -- ----------------------------
  35. -- Table structure for t_article_tag
  36. -- ----------------------------
  37. DROP TABLE IF EXISTS `t_article_tag`;
  38. CREATE TABLE `t_article_tag` (
  39. `articleId` int(11) NOT NULL COMMENT '文章Id',
  40. `tagId` int(11) NOT NULL COMMENT '標簽Id',
  41. PRIMARY KEY (`articleId`,`tagId`)
  42. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='文章標簽中間表';
  43. -- ----------------------------
  44. -- Table structure for t_category
  45. -- ----------------------------
  46. DROP TABLE IF EXISTS `t_category`;
  47. CREATE TABLE `t_category` (
  48. `id` int(11) NOT NULL AUTO_INCREMENT,
  49. `categoryName` varchar(20) NOT NULL COMMENT '分類名稱 唯一',
  50. `iconClass` varchar(45) NOT NULL COMMENT '圖標樣式',
  51. `aliasName` varchar(20) NOT NULL COMMENT '別名 唯一 比如新聞 就用News 代替 欄目Id不顯示在url中',
  52. `sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序 (0-10)',
  53. PRIMARY KEY (`id`),
  54. UNIQUE KEY `aliasName_UNIQUE` (`aliasName`),
  55. UNIQUE KEY `categoryName_UNIQUE` (`categoryName`)
  56. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='分類表 只支持一級分類 如果需要分多個層次 用標簽來協助實現';
  57. -- ----------------------------
  58. -- Table structure for t_manager
  59. -- ----------------------------
  60. DROP TABLE IF EXISTS `t_manager`;
  61. CREATE TABLE `t_manager` (
  62. `id` int(11) NOT NULL AUTO_INCREMENT,
  63. `userName` varchar(25) NOT NULL COMMENT '用戶名',
  64. `password` varchar(45) NOT NULL,
  65. PRIMARY KEY (`id`)
  66. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

image.png

框架結構搭建

SSM項目腳手架搭建

搭建如下框架結構:

目錄說明:

 
  1. 目錄說明:
  2. |-src
  3. |--mian
  4. |---java JAVA源代碼根目錄
  5. |----com
  6. |-----tulun
  7. |------model 存放pogo類:基本基本的getter和setter方法
  8. |------controller 展示層類包路徑:前端用戶請求映射到該包路徑下類的實現
  9. |------service 業務邏輯層包路徑:業務邏輯實現,調用dao層服務
  10. |------dao 數據庫操作層包路徑:提供對數據庫的操作類與方法
  11. |------util 工具類包路徑
  12. |---resource 配置文件根目錄
  13. |----myatis mybatis接口對應配置文件目錄
  14. |----spring-XXX.xml SSM中mybatis、spring核心、springMVC的全局配置文件
  15. |--webapp 前端頁面內容根目錄
  16. |---WEB-INF
  17. |----web.xml 前端頁面必要配置文件
  18. |-pom.xml maven的配置文件

測試Demo

主要完成各個層之間的連接映射,完成從t_manager表中讀取數據并進行回顯

 

POJO類

根據數據庫表t_manager,創建User類

 
  1. package com.tulun.model;
  2. /**
  3. * Description :
  4. * Created by Resumebb
  5. * Date :2021/4/17
  6. */
  7. public class User {
  8. private Integer id;
  9. private String name;
  10. private String passwd;
  11. public Integer getId() {
  12. return id;
  13. }
  14. public void setId(Integer id) {
  15. this.id = id;
  16. }
  17. public String getName() {
  18. return name;
  19. }
  20. public void setName(String name) {
  21. this.name = name;
  22. }
  23. public String getPasswd() {
  24. return passwd;
  25. }
  26. public void setPasswd(String passwd) {
  27. this.passwd = passwd;
  28. }
  29. }

Spring核心配置文件

這里用到了阿里巴巴的druid連接池

 
  1. <beans xmlns="http://www.springframework.org/schema/beans"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns:context="http://www.springframework.org/schema/context"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  6. http://www.springframework.org/schema/context
  7. http://www.springframework.org/schema/context/spring-context-3.0.xsd">
  8. <!--開啟注解-->
  9. <context:component-scan base-package="com.tulun"/>
  10. <!--配置數據源:借助連接池druid-->
  11. <bean id ="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
  12. <!--注入屬性-->
  13. <property name="url" value="jdbc:mysql://localhost:3306/test"/>
  14. <property name="username" value="root"/>
  15. <property name="password" value="123456"/>
  16. </bean>
  17. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  18. <property name="dataSource" ref="dataSource"/>
  19. <!--注入mapper映射文件-->
  20. <property name="configLocation" value="classpath:spring-mybatis.xml"></property>
  21. <property name="mapperLocations" value="classpath:mapper/*.xml"/>
  22. </bean>
  23. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  24. <property name="basePackage" value="com.tulun.dao"/>
  25. <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
  26. </bean>
  27. </beans>

Spring-Mybatis配置文件

 
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE configuration
  3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  5. <!--根標簽-->
  6. <configuration>
  7. </configuration>

SpringMVC配置文件

 
  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. xmlns:mvc="http://www.springframework.org/schema/mvc"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  7. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
  8. http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
  9. <!--掃描controller寫注解-->
  10. <context:component-scan base-package="com.tulun.controller"/>
  11. <!--配置映射器-->
  12. <mvc:annotation-driven/>
  13. <!--配置視圖解析器-->
  14. <!--視圖解析器-->
  15. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  16. <!--jsp頁面前綴-->
  17. <property name="prefix" value="/WEB-INF/jsp/"/>
  18. <!--jsp后綴-->
  19. <property name="suffix" value=".jsp"/>
  20. <property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView"/>
  21. </bean>
  22. </beans>

web配置文件

 
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  5. http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  6. <context-param>
  7. <param-name>contextConfigLocation</param-name>
  8. <param-value>classpath:spring-core.xml</param-value>
  9. </context-param>
  10. <listener>
  11. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  12. </listener>
  13. <!--前端控制器-->
  14. <servlet>
  15. <servlet-name>myBolg</servlet-name>
  16. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  17. <!--將springMVC的配置文件進行配置-->
  18. <init-param>
  19. <param-name>contextConfigLocation</param-name>
  20. <param-value>classpath:spring-mvc.xml</param-value>
  21. </init-param>
  22. </servlet>
  23. <servlet-mapping>
  24. <servlet-name>myBolg</servlet-name>
  25. <url-pattern>/</url-pattern>
  26. </servlet-mapping>
  27. </web-app>

pom依賴

 
  1. <dependencies>
  2. <dependency>
  3. <groupId>junit</groupId>
  4. <artifactId>junit</artifactId>
  5. <version>4.11</version>
  6. <scope>test</scope>
  7. </dependency>
  8. <!-- spring依賴-->
  9. <dependency>
  10. <groupId>org.springframework</groupId>
  11. <artifactId>spring-core</artifactId>
  12. <version>5.2.8.RELEASE</version>
  13. </dependency>
  14. <dependency>
  15. <groupId>org.springframework</groupId>
  16. <artifactId>spring-context</artifactId>
  17. <version>5.2.8.RELEASE</version>
  18. </dependency>
  19. <dependency>
  20. <groupId>org.springframework</groupId>
  21. <artifactId>spring-beans</artifactId>
  22. <version>5.2.8.RELEASE</version>
  23. </dependency>
  24. <dependency>
  25. <groupId>org.springframework</groupId>
  26. <artifactId>spring-expression</artifactId>
  27. <version>5.2.8.RELEASE</version>
  28. </dependency>
  29. <!--web依賴/spring mvc依賴-->
  30. <dependency>
  31. <groupId>org.springframework</groupId>
  32. <artifactId>spring-webmvc</artifactId>
  33. <version>5.2.8.RELEASE</version>
  34. </dependency>
  35. <dependency>
  36. <groupId>org.springframework</groupId>
  37. <artifactId>spring-web</artifactId>
  38. <version>5.2.8.RELEASE</version>
  39. </dependency>
  40. <dependency>
  41. <groupId>javax.servlet</groupId>
  42. <artifactId>javax.servlet-api</artifactId>
  43. <version>3.1.0</version>
  44. </dependency>
  45. <!--tomcat servlet api -->
  46. <dependency>
  47. <groupId>jstl</groupId>
  48. <artifactId>jstl</artifactId>
  49. <version>1.2</version>
  50. </dependency>
  51. <dependency>
  52. <groupId>taglibs</groupId>
  53. <artifactId>standard</artifactId>
  54. <version>1.1.2</version>
  55. </dependency>
  56. <!--mybatis依賴-->
  57. <dependency>
  58. <groupId>org.mybatis</groupId>
  59. <artifactId>mybatis</artifactId>
  60. <version>3.4.1</version>
  61. </dependency>
  62. <dependency>
  63. <groupId>mysql</groupId>
  64. <artifactId>mysql-connector-java</artifactId>
  65. <version>5.1.39</version>
  66. </dependency>
  67. <!-- 整合-->
  68. <dependency>
  69. <groupId>org.mybatis</groupId>
  70. <artifactId>mybatis-spring</artifactId>
  71. <version>1.3.0</version>
  72. </dependency>
  73. <!-- 連接池-->
  74. <dependency>
  75. <groupId>com.mchange</groupId>
  76. <artifactId>c3p0</artifactId>
  77. <version>0.9.5.2</version>
  78. </dependency>
  79. <dependency>
  80. <groupId>org.springframework</groupId>
  81. <artifactId>spring-tx</artifactId>
  82. <version>5.2.8.RELEASE</version>
  83. </dependency>
  84. <dependency>
  85. <groupId>org.springframework</groupId>
  86. <artifactId>spring-jdbc</artifactId>
  87. <version>5.2.8.RELEASE</version>
  88. </dependency>
  89. <dependency>
  90. <groupId>javax.servlet.jsp.jstl</groupId>
  91. <artifactId>jstl</artifactId>
  92. <version>1.2</version>
  93. </dependency>
  94. <dependency>
  95. <groupId>javax.servlet</groupId>
  96. <artifactId>servlet-api</artifactId>
  97. <version>2.5</version>
  98. </dependency>
  99. <dependency>
  100. <groupId>com.google.code.gson</groupId>
  101. <artifactId>gson</artifactId>
  102. <version>2.3</version>
  103. </dependency>
  104. <dependency>
  105. <groupId>com.alibaba</groupId>
  106. <artifactId>druid</artifactId>
  107. <version>0.2.6</version>
  108. </dependency>
  109. <dependency>
  110. <groupId>commons-logging</groupId>
  111. <artifactId>commons-logging</artifactId>
  112. <version>1.1.1</version>
  113. </dependency>
  114. <dependency>
  115. <groupId>commons-configuration</groupId>
  116. <artifactId>commons-configuration</artifactId>
  117. <version>1.9</version>
  118. </dependency>
  119. </dependencies>

UserMapper

 
  1. import com.tulun.model.User;
  2. /**
  3. * Description :
  4. * Created by Resumebb
  5. * Date :2021/4/22
  6. */
  7. public interface UserMapper {
  8. public User getUserById(Integer id);
  9. }

UserService

 
  1. package com.tulun.service;
  2. import com.tulun.model.User;
  3. import com.tulun.dao.UserMapper;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Service;
  6. /**
  7. * Description :
  8. * Created by Resumebb
  9. * Date :2021/4/19
  10. */
  11. @Service
  12. public class UserService {
  13. @Autowired
  14. private UserMapper userMapper;
  15. public User getUserById(Integer id){
  16. if(id < 0)
  17. return new User();
  18. return userMapper.getUserById(id);
  19. }
  20. }

UserController

查詢t_manager中的id為1的數據進行顯示

 
  1. package com.tulun.controller;
  2. import com.tulun.model.User;
  3. import com.tulun.service.UserService;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Controller;
  6. import org.springframework.web.bind.annotation.RequestMapping;
  7. import org.springframework.web.bind.annotation.ResponseBody;
  8. /**
  9. * Description :
  10. * Created by Resumebb
  11. * Date :2021/4/22
  12. */
  13. @Controller
  14. public class UserController {
  15. @Autowired
  16. private UserService userService;
  17. @RequestMapping("/testUser")
  18. @ResponseBody
  19. public User testUser(){
  20. User user = userService.getUserById(1);
  21. return user;
  22. }
  23. }

UserMapper.xml

 
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.tulun.dao.UserMapper">
  6. <resultMap id="UserMap" type="com.tulun.model.User">
  7. <result property="id" column="id"></result>
  8. <result property="name" column="userName"></result>
  9. <result property="passwd" column="password"></result>
  10. </resultMap>
  11. <select id="getUserById" parameterType="int" resultMap="UserMap">
  12. select * from t_manager where id=#{id}
  13. </select>
  14. </mapper>

運行結果

 

錯誤記錄

運行的界面顯示unkown the request

 原因是因為端口被占用了,更改服務器的端口號就可以了。

出現這個錯誤就要檢查SQL查詢語句,數據源的配置是否正確,經檢查我報這個錯是因為SQL查詢語句manager寫成了manger,用戶名密碼不對也會報這個錯。

類似這種錯,一是檢查@Service有沒有加上,二是檢查映射文件有沒有頂行寫,第一行不能有空行。

轉自:csdn。作者:resumebb

藍藍設計m.skdbbs.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務

日歷

鏈接

個人資料

藍藍設計的小編 http://m.skdbbs.com

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
91成人国产精品| 亚洲激情在线观看视频免费| 日韩暖暖在线视频| 中文字幕av在线一区二区三区| 欧美日韩精品一区二区| 成人高清在线| av资源站一区| 在线观看亚洲精品视频| av在线免费观看网站| 日本强好片久久久久久aaa| 欧美一区二区综合| 国产极品jizzhd欧美| 亚洲精品国产无套在线观| 伊人久久大香线蕉精品组织观看| 久久久日本电影| 成人高清视频免费观看| 91网页版在线| 欧美午夜精品一区二区蜜桃| xf在线a精品一区二区视频网站| 热久久这里只有精品| www国产在线观看| 午夜精品亚洲一区二区三区嫩草| 国产欧美日韩综合一区在线观看| 国产免费成人av| 成人资源www网在线最新版| 日本高清不卡一区二区三区视频| 国产日韩欧美高清在线| av在线成人| 日韩欧美第一页| 亚洲一区二区在线观看视频| 国产偷久久久精品专区| 日韩欧美亚洲一区二区| 亚洲成人精品影院| 亚洲国产岛国毛片在线| 久久国产精品色婷婷| 黑人巨大精品欧美一区| 午夜激情成人网| 欧美日韩精品免费观看视欧美高清免费大片| 日韩一区二区在线免费| 紧缚奴在线一区二区三区| 日产精品一区| 亚洲1区2区3区4区| 中文幕av一区二区三区佐山爱| 国产第一页在线视频| 色综合老司机第九色激情| 中文字幕精品一区二区精品绿巨人| 日韩av在线免费播放| 欧美综合一区二区三区| 萌白酱国产一区二区| 亚洲男人天堂九九视频| 精品一区二区三区免费播放| 日韩av快播网址| 亚洲婷婷噜噜| 日韩在线中文视频| 日韩成人在线播放| 日本亚洲欧洲无免费码在线| 四虎精品一区二区免费| 亚洲东热激情| 国产自产自拍视频在线观看| 国产精品亚洲一区二区三区在线| 欧洲中文字幕国产精品| 制服丝袜亚洲精品中文字幕| 超碰国产精品一区二页| 国产成人鲁色资源国产91色综| 96视频在线观看欧美| 在线观看91精品国产麻豆| 欧美久久久久久久久| 91jq激情在线观看| 丰满的护士2在线观看高清| 最新国产精品| 亚洲成a人片在线不卡一二三区| 黄色网页在线免费观看| 高清欧美日韩| 国语精品中文字幕| 久久免费视频66| 亚洲人av在线影院| 99热这里都是精品| 久久久久天天天天| 亚洲国产福利在线| 中文字幕综合| 99精品视频在线免费播放| 国产日韩欧美黄色| 精品1区2区| 老**午夜毛片一区二区三区| 日韩在线短视频| 日韩精品影视| 日韩一区二区三区资源| 香蕉视频在线播放| 精品久久久免费| 欧美日韩一区二区高清| 丝袜亚洲另类丝袜在线| 欧美亚日韩国产aⅴ精品中极品| 亚洲国产精品久久久久秋霞蜜臀| 久久99热精品这里久久精品| 亚洲精品欧美二区三区中文字幕| 欧美视频网址| 欧美精品第一页在线播放| 成人信息集中地欧美| 免费观看在线黄色网| av一区二区三区免费| 超碰97国产精品人人cao| 亚洲一区中文日韩| 亚洲人亚洲人色久| 性欧美18一19sex性欧美| 国产成人精品三级麻豆| 久久综合久久综合久久综合| 国产三级伦理在线| 国产成人一区| 91精品国产电影| 亚洲xxx视频| 欧美色男人天堂| 欧美va在线播放| 岛国视频午夜一区免费在线观看| h片在线观看下载| 丁香高清在线观看完整电影视频| 亚洲免费观看高清完整版在线观看熊| 免费精品视频在线| 国产亚洲精品自在久久| 精品国产一区二区亚洲人成毛片| av黄色在线| 伊人www22综合色| 欧美大学生性色视频| 欧美精品久久久久久久| 日韩一区二区三区精品视频第3页| 不卡在线视频中文字幕| 久久综合久久久| 亚洲二区视频| 国产精品久久久久久久久免费樱桃| 欧美日韩国产综合视频在线观看中文| 国产精品1区2区3区在线观看| 精品国产成人| www.欧美视频| 97国产精品videossex| 国产成人调教视频在线观看| 一区二区欧美视频| 性感美女久久精品| 国产成人在线观看| 日韩免费福利电影在线观看| 精品国产乱码久久久久久1区2区| 136福利第一导航国产在线| 精品久久一区二区三区| 波多野结衣久久| 亚洲网站在线看| 成人福利片在线| 97精品国产97久久久久久| 成人a在线视频免费观看| 欧美成人家庭影院| 99精品视频在线播放观看| 2020欧美日韩在线视频| 欧美三区不卡| 亚洲日本韩国一区| 国产精品二区不卡| 欧美男人天堂| 任你弄精品视频免费观看| 福利小视频在线观看| 国产精品一区二区三区网站| 亚洲精品在线三区| 欧美aaaaaa午夜精品| 国产欧美一区二区精品久导航| 久久国产精品高清| 在线观看日韩av先锋影音电影院| av片在线观看| 国产精品日本精品| 亚洲综合成人在线|