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

實戰 用戶登錄、Session校驗、分布式存儲Session

存儲 存儲軟件 分布式
一般會將web容器所在的服務器和redis所在的服務器放在同一個機房,減少網絡開銷,走內網進行連接。

[[385945]]

實現登錄功能

然后再創建login.css存放于在static下,css目錄中,id 為 content 的 樣式;

  1. #content { 
  2.         margin-left: 220px; 
  3.         margin-right: 1420px; 
  4.         margin-top: 100px; 
  5.         margin-bottom: auto; 
  6.         background-color: orange; 
  7.     } 

創建login.html登錄頁面

  1. <!DOCTYPE html> 
  2. <html lang="zh" xmlns:th="http://www.thymeleaf.org"
  3. <head> 
  4.     <meta charset="UTF-8"
  5.     <title>登錄</title> 
  6.     <!-- 如何引入本地css文件--> 
  7.     <link rel="stylesheet" th:href="@{/css/login.css}"/> 
  8. </head> 
  9. <body> 
  10. <div id="content"
  11.     <!-- 錯誤是提示--> 
  12.     <label id="errorMsg" style="color: crimson">[[${errorMsg}]]</label> 
  13.     <form id="login_form" action="/login" method="post"
  14.         姓名:<input type="text" id="uname" name="uname"><br/> 
  15.         密碼:<input type="password" id="password" name="password"><br/> 
  16.         <button onclick="login()">登錄</button> 
  17.     </form> 
  18. </div> 
  19. </body> 
  20. </html> 

 

 

 

 

 

 

前面的這一部分是前端的,下面來把后端代碼給寫完:

UserRepository中添加方法的定義:

  1. //通過用戶名和密碼查找用戶 
  2. List<User> findByUnameAndPassword(String uname, String password); 

UserService和實現類中添加方法如下:

  1. /通過用戶名和密碼查找用戶 
  2. List<User> findByUnameAndPassword(String uname, String password); 
  3. UserService和實現類中添加方法如下: 
  4.  
  5. // UserService  
  6. User login(User user); 
  7.  
  8. @Service 
  9. //把事務注解放在類上了,這樣下面就不需要每次都在方法寫這個注解了 
  10. @Transactional(rollbackFor = Exception.class) 
  11. public class UserServiceImpl implements UserService { 
  12.     //...... 
  13.     @Override 
  14.     public User login(User user) { 
  15.         List<User> userList = userRepository.findByUnameAndPassword(user.getUname(), user.getPassword()); 
  16.         //防止有多個用戶名相同,并且密碼也相同的用戶 
  17.         if (!CollectionUtils.isEmpty(userList)) { 
  18.             return userList.get(0); 
  19.         } 
  20.         return null
  21.     } 

UserController中添加方法如下:

  1. @RequestMapping(value = "/loginPage", method = RequestMethod.GET) 
  2. public String loginPage(Model model) { 
  3.     return "login"
  4.  
  5. @RequestMapping(value = "/login", method = RequestMethod.POST) 
  6. public String login(Model model, User user) { 
  7.     User result = userService.login(user); 
  8.     if (result != null) { 
  9.         //登錄成功,跳轉到用戶列表 
  10.         return "redirect:/userList"
  11.     } 
  12.     //不成功,提示 
  13.     model.addAttribute("errorMsg""用戶名或密碼不正確"); 
  14.     return "login"

啟動項目,訪問

http://localhost:8080/loginPage

進入登錄頁面。

輸入用戶名密碼。密碼錯誤:

輸入正確的用戶名和密碼,那么跳轉到用戶列表。

這樣,我們一個簡單的登錄功能就搞定了。

如果我們需要在修改用戶信息的時候,校驗是否已經登錄,怎么辦呢?

攔截器

創建自定義的攔截器并實現HandlerInterceptor接口 。

  1. import org.springframework.lang.Nullable; 
  2. import org.springframework.web.servlet.HandlerInterceptor; 
  3. import org.springframework.web.servlet.ModelAndView; 
  4.  
  5. import javax.servlet.http.HttpServletRequest; 
  6. import javax.servlet.http.HttpServletResponse; 
  7.  
  8. public class SessionInterceptor implements HandlerInterceptor { 
  9.     @Override 
  10.     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { 
  11.         //session校驗 
  12.         Object object = request.getSession().getAttribute("users"); 
  13.         if (null == object) { 
  14.             response.sendRedirect("/loginPage"); 
  15.             return false
  16.         } 
  17.         return true
  18.     } 

創建一個java類繼承WebMvcConfiguraeAdapter并重寫addInterceptor方法(該類用來添加配置攔截器在該類中添加配置攔截器,以及配置過濾)。

  1. import org.springframework.context.annotation.Configuration; 
  2. import org.springframework.web.servlet.config.annotation.InterceptorRegistry; 
  3. import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; 
  4.  
  5. @Configuration 
  6. public class MyInterceptor extends WebMvcConfigurerAdapter { 
  7.  
  8.     @Override 
  9.     public void addInterceptors(InterceptorRegistry registry) { 
  10.         //可以添加多個攔截 
  11.         registry.addInterceptor(new SessionInterceptor()) 
  12.             //也可以添加多個攔截路徑,"/**"攔截所有 
  13.                 .addPathPatterns("/update/**"); 
  14.     } 

再把登錄Controller方法調整,把session信息存進去。

  1. @RequestMapping(value = "/login", method = RequestMethod.POST) 
  2. public String login(Model model, User user, HttpServletRequest request) { 
  3.     User result = userService.login(user); 
  4.     if (result != null) { 
  5.         //用戶信息保存在session 
  6.         request.getSession().setAttribute("users"user.getUname()); 
  7.         return "redirect:/userList"
  8.     } 
  9.     model.addAttribute("errorMsg""用戶名或密碼不正確"); 
  10.     return "login"

再次訪問用戶列表:

http://localhost:8080/userList

這時候,我們訪問修改用戶信息這個功能,跳轉到了登錄頁面。

登錄后,再次訪問修改用戶信息這個功能。

這樣便來到用戶信息修改頁面。

到此,我們就實現了一個簡單的session來接校驗。

如果,我們服務器重啟后,session就沒了,因為session是保存在我們服務端的,并且還是在服務器內存里的。

session分布式有四種方案

方案一:客戶端存儲

直接將信息存儲在cookie中,cookie是存儲在客戶端上的一小段數據,客戶端通過http協議和服務器進行cookie交互,通常用來存儲一些不敏感信息

缺點

  • 數據存儲在客戶端,存在安全隱患。
  • cookie存儲大小、類型存在限制。
  • 數據存儲在cookie中,如果一次請求cookie過大,會給網絡增加更大的開銷。

方案二:session復制

session復制是小型企業應用使用較多的一種服務器集群session管理機制,在真正的開發使用的并不是很多,通過對web服務器(例如Tomcat)進行搭建集群。

缺點

session同步的原理是在同一個局域網里面通過發送廣播來異步同步session的,一旦服務器多了,并發上來了,session需要同步的數據量就大了,需要將其他服務器上的session全部同步到本服務器上,會帶來一定的網路開銷,在用戶量特別大的時候,會出現內存不足的情況。

優點

服務器之間的session信息都是同步的,任何一臺服務器宕機的時候不會影響另外服務器中session的狀態,配置相對簡單

Tomcat內部已經支持分布式架構開發管理機制,可以對tomcat修改配置來支持session復制,在集群中的幾臺服務器之間同步session對象,使每臺服務器上都保存了所有用戶的session信息,這樣任何一臺本機宕機都不會導致session數據的丟失,而服務器使用session時,也只需要在本機獲取即可。

如何配置?

在Tomcat安裝目錄下的config目錄中的server.xml文件中,將注釋打開,tomcat必須在同一個網關內,要不然收不到廣播,同步不了session,在web.xml中開啟session復制:。

方案三:session綁定:

Nginx是一款自由的、開源的、高性能的http服務器和反向代理服務器

Nginx能做什么?

反向代理、負載均衡、http服務器(動靜代理)、正向代理

如何使用nginx進行session綁定

我們利用nginx的反向代理和負載均衡,之前是客戶端會被分配到其中一臺服務器進行處理,具體分配到哪臺服務器進行處理還得看服務器的負載均衡算法(輪詢、隨機、ip-hash、權重等),但是我們可以基于nginx的ip-hash策略,可以對客戶端和服務器進行綁定,同一個客戶端就只能訪問該服務器,無論客戶端發送多少次請求都被同一個服務器處理。

缺點

容易造成單點故障,如果有一臺服務器宕機,那么該臺服務器上的session信息將會丟失

前端不能有負載均衡,如果有,session綁定將會出問題

優點

  • 配置簡單

方案四:基于redis存儲session方案

優點

  • 這是企業中使用的最多的一種方式
  • spring為我們封裝好了spring-session,直接引入依賴即可
  • 數據保存在redis中,無縫接入,不存在任何安全隱患
  • redis自身可做集群,搭建主從,同時方便管理

缺點

多了一次網絡調用,web容器需要向redis訪問。

一般會將web容器所在的服務器和redis所在的服務器放在同一個機房,減少網絡開銷,走內網進行連接。

來源:http://45dwz.com/xeP0J

實現基于redis分布式存儲session方案

安裝Redis,這里就不說了,不會安裝可以聯系我。

集成Redis

添加依賴

  1. <dependency> 
  2.     <groupId>org.springframework.boot</groupId> 
  3.     <artifactId>spring-boot-starter-data-redis</artifactId> 
  4. </dependency> 
  5. <!-- 連接池--> 
  6. <dependency> 
  7.     <groupId>org.apache.commons</groupId> 
  8.     <artifactId>commons-pool2</artifactId> 
  9. </dependency> 
  10. <dependency> 
  11.     <groupId>org.springframework.session</groupId> 
  12.     <artifactId>spring-session-data-redis</artifactId> 
  13. </dependency> 

 

添加Redis配置

  1. # Redis數據庫索引(默認為0) 
  2. spring.redis.database=0 
  3. # Redis服務器地址 
  4. spring.redis.host=127.0.0.1 
  5. # Redis服務器連接端口 
  6. spring.redis.port=6379 
  7. # Redis服務器連接密碼(默認為空) 
  8. spring.redis.password
  9. # 連接池最大連接數(使用負值表示沒有限制) 
  10. spring.redis.jedis.pool.max-active=20 
  11. # 連接池最大阻塞等待時間(使用負值表示沒有限制) 
  12. spring.redis.jedis.pool.max-wait=-1 
  13. # 連接池中的最大空閑連接 
  14. spring.redis.jedis.pool.max-idle=10 
  15. # 連接池中的最小空閑連接 
  16. spring.redis.jedis.pool.min-idle=0 
  17. # 連接超時時間(毫秒) 
  18. spring.redis.timeout=1000 

將session添加入Redis中

在啟動類上添加@EnableRedisHttpSession注解。

  1. @SpringBootApplication 
  2. @EnableRedisHttpSession 
  3. public class Application { 
  4.     public static void main(String[] args) { 
  5.         SpringApplication.run(Application.class, args); 
  6.     } 

啟動項目,然后,再次登錄后,便可以在Redis里查到了

再次重啟項目后,發現修改用戶信息的時候,并不需要重新登錄了。

到此,基于Redis分布式存儲session方案就已經搞定了。

總結

本文首先是實戰了登錄功能,其次接著實現了校驗session攔截處理,然后總結出session分布式四種方案,最后實現了基于redis存儲session的方案。

本文轉載自微信公眾號「Java后端技術全棧」,可以通過以下二維碼關注。轉載本文請聯系Java后端技術全棧公眾號。

 

責任編輯:武曉燕 來源: Java后端技術全棧
相關推薦

2023-12-29 08:18:31

Session分布式系統微服務

2014-05-08 14:38:26

tornadoredissession

2015-08-19 15:45:33

2011-11-03 10:07:09

ASP.NET

2024-06-13 09:34:35

JWTTokenSpring

2013-08-29 13:46:18

MongoDBSession.Net

2019-07-31 08:44:27

Session共享Memcache

2021-05-08 08:01:05

Session登錄瀏覽器

2017-10-27 08:40:44

分布式存儲剪枝系統

2011-05-17 14:38:52

身份認證校園網

2011-05-17 13:35:01

身份認證校園網

2020-03-20 14:48:46

SpringBootJava分布式

2020-08-25 07:35:07

session分布式抽象

2024-08-12 16:20:27

2015-05-12 13:03:54

開源分布式存儲HDFS

2018-02-22 08:42:04

分布式存儲安全

2024-06-06 08:40:07

2017-01-10 16:18:26

分布式存儲建設

2017-10-17 08:33:31

存儲系統分布式

2018-10-09 10:45:40

點贊
收藏

51CTO技術棧公眾號

国产精品无遮挡| 丝袜美腿亚洲一区二区图片| 精品国产免费人成在线观看| 日本中文字幕网址| 国产私人尤物无码不卡| 国产中文字幕精品| 38少妇精品导航| 亚洲欧美另类日本| 日韩大尺度在线观看| 欧美巨大另类极品videosbest| 91成人国产在线观看| 女人十八毛片嫩草av| 亚洲91网站| 欧美性三三影院| www插插插无码免费视频网站| 视频一区二区三区四区五区| 婷婷综合在线| 亚洲欧美激情视频| 中文字幕色网站| 天堂√中文最新版在线| 亚洲精品成人悠悠色影视| 少妇视频一区| 国产精品亚洲第一区在线暖暖韩国| 日韩电影在线观看中文字幕| 亚洲无吗一区二区三区| 第四色日韩影片| 国产精品你懂的在线| 久久天堂国产精品| 欧美熟女一区二区| 久久精品国产99| 情事1991在线| 日韩免费一级片| 午夜电影亚洲| 中文字幕日韩电影| 亚洲 小说 欧美 激情 另类| 极品尤物一区| 精品捆绑美女sm三区| 加勒比av中文字幕| 精品福利在线| 欧美日韩精品在线观看| 国产片侵犯亲女视频播放| 黄色网在线播放| 国产精品国产精品国产专区不片| 4444kk亚洲人成电影在线| 中文字幕免费播放| 久久99伊人| 欧美最猛性xxxxx(亚洲精品)| 免费看91的网站| 国产精品一线| 亚洲精品一线二线三线无人区| 大肉大捧一进一出好爽动态图| 国产福利片在线| 久久先锋资源网| 蜜桃导航-精品导航| 奇米影视888狠狠狠777不卡| 91丨九色丨国产丨porny| 国产尤物99| 婷婷五月综合激情| 久久久久久久久久美女| 欧洲一区二区在线| 1区2区3区在线观看| 亚洲国产激情av| 亚洲午夜在线观看| 黄色免费网站在线观看| 亚洲男人都懂的| 青草视频在线观看视频| av免费不卡| 日韩欧美在线观看视频| 亚洲最大综合网| 国产一区高清| 日韩一卡二卡三卡| 你懂得在线视频| 国产成人黄色| 精品国产一区二区三区久久狼黑人 | 91久久精品美女高潮| 国产又粗又猛又爽又黄91| 精品一区二区三区久久久| 亚洲综合在线播放| 天天操天天射天天舔| 久久久精品国产免大香伊 | 88久久精品| 欧美电影免费观看完整版| 国产老熟女伦老熟妇露脸| 亚洲福利天堂| 不卡av日日日| 国产三级av片| 久久国产精品无码网站| 国产98在线|日韩| 精品成人一区二区三区免费视频| 成人激情免费电影网址| 欧美日韩一区综合| 菠萝蜜视频国产在线播放| 欧美日韩国内自拍| 一起操在线视频| 清纯唯美亚洲经典中文字幕| 中文字幕国产亚洲2019| 久久在线视频精品| 日本va欧美va瓶| 99国内精品久久久久久久软件| 91丨porny丨在线中文 | 欧美视频在线观看一区二区| 婷婷激情综合五月天| 欧美在线关看| 麻豆乱码国产一区二区三区| 免费污污视频在线观看| 国产成人免费视频网站| 日本一区二区视频| av伦理在线| 911精品国产一区二区在线| 风间由美一二三区av片| 国产精品毛片一区二区在线看| 在线观看亚洲区| www.天天色| 九色综合国产一区二区三区| 狠狠久久综合婷婷不卡| 自拍亚洲图区| 欧美日本在线播放| 精品人妻无码一区二区三区| 黑人一区二区| 国产裸体写真av一区二区| 三级做a全过程在线观看| 一区二区三区蜜桃| 中文字幕线观看| 日产精品一区二区| 国产91色在线|| 特黄视频在线观看| 亚洲国产精品影院| 日本少妇一区二区三区| 午夜精品久久久久久久四虎美女版| 久久久极品av| 在线播放一级片| 国产日韩欧美一区二区三区乱码 | 激情久久久久| 亚洲xxxxx| 色影视在线观看| 欧美日韩一区二区在线视频| 欧美深性狂猛ⅹxxx深喉| 亚洲图片在线| 国产精品一区二区欧美| 蜜臀av在线| 日韩欧美的一区| 欧美成人免费观看视频| 国产一区二区三区美女| 欧美日韩一级在线| 高清一区二区三区av| 久久躁狠狠躁夜夜爽| 国产特黄一级片| 一区二区三区在线免费观看| 杨幂一区二区国产精品| 欧美日韩岛国| 国产精品久久九九| 草草视频在线观看| 日韩激情片免费| 91亚洲永久免费精品| 精品人妻人人做人人爽| 国产美女高潮在线观看| 亚洲国产精品久久91精品| 日韩精品视频免费看| av中文字幕在线不卡| 日本午夜激情视频| 亚洲免费福利一区| 国产精品普通话| 二区在线播放| 精品国产髙清在线看国产毛片| 国产老熟女伦老熟妇露脸| 中文永久免费观看| 欧美亚洲日本精品| 欧美成人精品3d动漫h| 老妇女50岁三级| 成人免费视频国产在线观看| 一区二区三区天堂av| 亚洲久久久久久久久久| 国产精品88久久久久久妇女| 日本不卡一二三| 中文字幕精品视频| 国产有码在线观看| 一区二区三区免费观看| 在线观看日韩精品视频| 日本怡春院一区二区| www.-级毛片线天内射视视| 美女久久精品| 国产91精品青草社区| 啊v在线视频| 日韩欧美一区在线观看| 中文字幕第四页| |精品福利一区二区三区| 中文字幕一区二区三区人妻在线视频| 欧美人成在线观看ccc36| 国产91免费观看| 在线观看三级视频| 国产视频欧美视频| 一级黄色录像大片| 亚洲成人黄色影院| 天天操天天摸天天舔| 成人黄色一级视频| 自拍偷拍一区二区三区四区| 精品电影一区| 在线观看日韩片| 精品亚洲免a| 成人免费网站在线看| 少妇在线看www| 久久亚洲精品中文字幕冲田杏梨| 国产成人av免费| 亚洲综合免费观看高清在线观看| 天天色天天综合网| 亚洲国产一区二区精品专区| 亚洲蜜桃在线| 亚洲大片精品免费| 99久热re在线精品996热视频| 91精品久久久久久粉嫩| 亚洲欧美激情精品一区二区| 国产ts人妖调教重口男| 日本高清无吗v一区| www.av视频在线观看| 国产精品久久久久久久久免费丝袜| 一级黄色录像在线观看| 久久国产精品久久久久久电车| 久久av一区二区| 亚洲一区二区小说| 国产精品久久久久久久久免费看| 91最新在线| 亚洲精品中文字幕女同| www.五月婷婷| 欧美一区二区三区视频免费播放 | 国产成人精品一区二区| 后进极品白嫩翘臀在线播放| 久久躁日日躁aaaaxxxx| 免费高清完整在线观看| 欲色天天网综合久久| 精品视频一二区| 亚洲欧美在线免费观看| 后进极品白嫩翘臀在线视频| 欧美一区二区三区爱爱| 国产喷水福利在线视频| 欧美精品在线观看一区二区| 国产精品视频一区在线观看| 婷婷一区二区三区| 在线观看黄网站| 欧美日韩国产在线播放| 国产农村妇女aaaaa视频| 亚洲aaa精品| 日韩成人免费在线观看| 一区二区三区在线观看欧美| 免费91在线视频| 777国产偷窥盗摄精品视频| 欧美女人性生活视频| 亚洲国产合集| 另类美女黄大片| 欧洲一区二区视频| 加勒比av在线播放| 亚洲视频一区二区在线| 久草福利资源在线| 中文字幕一区二区三区精华液 | 国产精品不卡视频| 这里只有久久精品| 中文幕一区二区三区久久蜜桃| 欧美精品色视频| 国产丶欧美丶日本不卡视频| 亚洲图片欧美另类| 97久久超碰精品国产| 亚洲熟女乱综合一区二区三区| 九色综合狠狠综合久久| 97婷婷大伊香蕉精品视频| 亚洲第一页在线视频| 亚洲一级Av无码毛片久久精品| 亚洲高清视频免费| 精品欧美色视频网站在线观看| 午夜视黄欧洲亚洲| 亚洲国产综合久久| 日韩欧美在线视频观看| 国产特黄级aaaaa片免| 亚洲成人一级片| 四虎精品一区二区免费| 欧美成人激情在线| 瑟瑟视频在线| 色综合久久88| 狠狠躁少妇一区二区三区| 日韩av电影手机在线观看| 国产精品麻豆成人av电影艾秋| 久久久久久18| 一区二区三区短视频| 91在线一区二区三区| 欧美福利一区二区| 日本午夜精品一区二区三区| 日本久久二区| 亚洲综合成人婷婷小说| 999久久久精品一区二区| 久久99精品久久久久久秒播放器| 欧美成人家庭影院| 91精品国产91久久久久青草| 美女一区二区在线观看| 国产偷亚洲偷欧美偷精品| 51色欧美片视频在线观看| 亚洲精品午夜在线观看| 一道本一区二区| 艹b视频在线观看| 国产黄色精品视频| 伊人网伊人影院| 亚洲精品午夜久久久| 天堂网免费视频| 精品少妇一区二区三区日产乱码| 中文字幕一区二区人妻视频| 久久久综合色| 亚洲精品视频一区二区| 精品久久中出| 国产成人夜色高潮福利影视| 欧美一级片免费观看| 欧美在线高清| 可以免费观看av毛片| 国产成人亚洲综合a∨婷婷| 欧美做受高潮6| 亚洲成人在线免费| av网站在线免费看| 不卡的av电影| 欧美成人免费播放| 免费成人黄色大片| 国产婷婷在线视频| 精品国产一区二区三区2021| 国产一区二区三区蝌蚪| 国产成人一区二区在线| 2019年精品视频自拍| 日韩免费观看av| 久久精品视频18| 日本福利专区在线观看| 亚洲精品水蜜桃| 欧美日韩a v| 日韩精品视频中文在线观看| av免费网站在线| 国产精品一二三在线| 蜜臀91精品国产高清在线观看| 懂色一区二区三区av片| 色999日韩| 波多野结衣天堂| 亚洲成人av观看| 国内精品写真在线观看| 精品国产伦一区二区三区观看方式| 99国产精品久久久久久| 成人h动漫精品| 久草资源在线视频| 欧美一区二区三区四区久久| 久草免费在线| 国产一区红桃视频| 欧美一区电影| 中文字幕国内自拍| 国产蜜臀av在线一区二区三区| 日韩a级片在线观看| 欧美美女网站色| 黄色一级片在线观看| 成人精品久久一区二区三区| 91综合在线| 亚洲天堂av一区二区三区| 成人免费在线播放视频| 国产又色又爽又黄又免费| 久久精品久久久久久| www.成人| 男女啪啪免费观看| 成人短视频下载| 国产一级精品视频| 亚洲欧美另类人妖| 亚洲精品一区三区三区在线观看| 国产成人女人毛片视频在线| 国产综合精品| 欧美大喷水吹潮合集在线观看| 亚洲国产成人私人影院tom| 中文字幕人妻一区二区三区视频 | 国产福利一区二区| 啪一啪鲁一鲁2019在线视频| 国产精品久久AV无码| 香蕉视频一区二区三区| 自拍偷拍亚洲色图欧美| 韩国女主播成人在线观看| 欧美亚洲色综久久精品国产| 制服丝袜亚洲播放| 日本高清在线观看| 国产一级特黄a大片99| 日韩视频精品在线观看| 久久精品女同亚洲女同13| 亚洲日本va中文字幕| 日韩精品资源二区在线| 爆操欧美美女| 国产精品国产精品国产专区不卡| 亚洲传媒在线| 深夜黄色小视频| 夜夜嗨av一区二区三区中文字幕 | 欧美在线综合视频| 免费看a在线观看| 久久久久久久久综合| 国产成年人免费视频| 久久在线播放| 日韩成人性视频| 一级黄色片毛片| 伊人久久大香| 亚洲黄色免费三级| 变态另类丨国产精品| 欧美bbbbb| 全网免费在线播放视频入口| 亚洲精品成人免费| 香蕉成人在线| 国产日产欧美视频| 最新国产の精品合集bt伙计|