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

后端必會的 Spring MVC 核心類和注解

開發 架構
DispatcherServlet的全名是org.springframework.web.servlet.DispatcherServlet,它在程序中充當著前端控制器的角色。在使用時,只需將其配置在項目的web.xml文件中。

[[432265]]

GitHub:https://github.com/nateshao/ssm/tree/master/107-springmvc-demo

1. DispatcherServlet

“DispatcherServlet的全名是org.springframework.web.servlet.DispatcherServlet,它在程序中充當著前端控制器的角色。在使用時,只需將其配置在項目的web.xml文件中,其配置代碼如下:

  1. <servlet> 
  2.     <!-- 如果沒有通過< init-param >元素配置,則應用程序會默認去WEB-INF目錄下尋找以servletName-servlet.xml方式命名的配置文件,這里的servletName指下面的springmvc --> 
  3.     <servlet-name>springmvc</servlet-name
  4.     <servlet-class> 
  5.           org.springframework.web.servlet.DispatcherServlet 
  6.     </servlet-class> 
  7. <!-- 如果< init-param >元素存在并且通過其子元素配置了Spring MVC配置文件的路徑,則應用程序在啟動時會加載配置路徑下的配置文件 --> 
  8.     <init-param> 
  9.         <param-name>contextConfigLocation</param-name
  10.         <param-value>classpath:springmvc-config.xml</param-value> 
  11.     </init-param> 
  12.     <load-on-startup>1</load-on-startup> 
  13. </servlet> 
  14. <servlet-mapping> 
  15.     <servlet-name>springmvc</servlet-name
  16.     <url-pattern>/</url-pattern> 
  17. </servlet-mapping> 

 

2. @Controller注解類型

“org.springframework.stereotype.Controller注解類型用于指示Spring類的實例是一個控制器,其注解形式為@Controller。該注解在使用時不需要再實現Controller接口,只需要將@Controller注解加入到控制器類上,然后通過Spring的掃描機制找到標注了該注解的控制器即可。

@Controller注解在控制器類中的使用示例如下:

  1. @Controller 
  2. public class HelloController { 
  3.  
  4.     @RequestMapping("hello"
  5.     public String hello(){ 
  6.         return "hello"
  7.     } 

為了保證Spring能夠找到控制器類,還需要在Spring MVC的配置文件中添加相應的掃描配置信息,一個完整的配置文件示例如下:

  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.            <!-- 引入context信息 --> 
  5.             xmlns:context="http://www.springframework.org/schema/context" 
  6.             xsi:schemaLocation="http://www.springframework.org/schema/beans 
  7.                                              http://www.springframework.org/schema/beans/spring-beans-4.3.xsd 
  8.                                              http://www.springframework.org/schema/context  
  9.                                              http://www.springframework.org/schema/context/spring-context-4.3.xsd"> 
  10.     <!-- 指定需要掃描的 --> 
  11.  <context:component-scan base-package="com.nateshao.controller" /> 
  12. </beans>  

 

注意:使用注解方式時,程序的運行需要依賴Spring的AOP包,因此需要向lib目錄中添加spring-aop-4.3.6.RELEASE.jar,否則程序運行時會報錯!

3. @RequestMapping注解類型

“Spring通過@Controller注解找到相應的控制器類后,還需要知道控制器內部對每一個請求是如何處理的,這就需要使用@RequestMapping注解類型,它用于映射一個請求或一個方法。使用時,可以標注在一個方法或一個類上。

1. 標注在方法上: 作為請求處理方法在程序接收到對應的URL請求時被調用:

  1. @Controller 
  2. public class FirstController{ 
  3.  @RequestMapping(value="/firstController"
  4.  public ModelAndView handleRequest(HttpServletRequest request, 
  5.    HttpServletResponse response) { 
  6.                            ... 
  7.   return mav; 

2. 標注在類上: 該類中的所有方法都將映射為相對于類級別的請求,表示該控制器所處理的所有請求都被映射到value屬性值所指定的路徑下。

  1. @Controller 
  2. @RequestMapping(value="/hello"
  3. public class FirstController{ 
  4.  @RequestMapping(value="/firstController"
  5.  public ModelAndView handleRequest(HttpServletRequest request, 
  6.    HttpServletResponse response) { 
  7.                            ... 
  8.   return mav; 
  9.  } 

由于在類上添加了@RequestMapping注解,并且其value屬性值為“/hello”,所以上述代碼方法的請求路徑將變為:http://localhost:8080/106-springmvc-hello/hello

@RequestMapping注解除了可以指定value屬性外,還可以指定其他一些屬性,如下表所示。

表中所有屬性都是可選的,但其默認屬性是value。當value是其唯一屬性時,可以省略屬性名。例如,下面兩種標注的含義相同:

@RequestMapping(value="/firstController")

@RequestMapping("/firstController")

組合注解

“Spring框架的4.3版本中,引入了新的組合注解,來幫助簡化常用的HTTP方法的映射,并更好的表達被注解方法的語義。

Spring的4.3版本中的組合注解及其描述如下所示:

  • @GetMapping:匹配GET方式的請求;
  • @PostMapping:匹配POST方式的請求;
  • @PutMapping:匹配PUT方式的請求;
  • @DeleteMapping:匹配DELETE方式的請求;
  • @PatchMapping:匹配PATCH方式的請求。

以@GetMapping為例,該組合注解是@RequestMapping(method = RequestMethod.GET)的縮寫,它會將HTTP GET請求映射到特定的處理方法上。

在實際開發中,傳統的@RequestMapping注解使用方式如下:

  1. @RequestMapping(value="/user/{id}",method=RequestMethod.GET) 
  2. public String selectUserById(String id){ 
  3.     ... 

使用@GetMapping注解后的簡化代碼如下:

  1. @GetMapping(value="/user/{id}"
  2. public String selectUserById(String id){ 
  3.     ... 

請求處理方法的參數和返回類型

在控制器類中,每一個請求處理方法都可以有多個不同類型的參數,以及一個多種類型的返回結果。在請求處理方法中,可以出現的參數類型如下:

  1. javax.servlet.ServletRequest / javax.servlet.http.HttpServletRequest 
  2. javax.servlet.ServletResponse / javax.servlet.http.HttpServletResponse 
  3. javax.servlet.http.HttpSession 
  4. org.springframework.web.context.request.WebRequest或 
  5. org.springframework.web.context.request.NativeWebRequest 
  6. java.util.Locale 
  7. java.util.TimeZone (Java 6+) / java.time.ZoneId (on Java 8) 
  8. java.io.InputStream / java.io.Reader 
  9. java.io.OutputStream / java.io.Writer 
  10. org.springframework.http.HttpMethod 
  11. java.security.Principal 
  12. @PathVariable、@MatrixVariable、@RequestParam、@RequestHeader、@RequestBody、@RequestPart、@SessionAttribute、@RequestAttribute注解 
  13. HttpEntity<?> 
  14. java.util.Map / org.springframework.ui.Model /org.springframework.ui.ModelMap 
  15. org.springframework.web.servlet.mvc.support.RedirectAttributes 
  16. org.springframework.validation.Errors /org.springframework.validation.BindingResult 
  17. org.springframework.web.bind.support.SessionStatus 
  18. org.springframework.web.util.UriComponentsBuilder 

該類型不是一個Servlet API類型,而是一個包含了Map對象的Spring MVC類型。如果方法中添加了Model參數,則每次調用該請求處理方法時,Spring MVC都會創建Model對象,并將其作為參數傳遞給方法

請求處理方法的返回類型

Spring MVC所支持的常見方法返回類型如下:

由于ModelAndView類型未能實現數據與視圖之間的解耦,所以在企業開發時,方法的返回類型通常都會使用String。

既然String類型的返回值不能攜帶數據,那么在方法中是如何將數據帶入視圖頁面的呢?

通過Model參數類型,即可添加需要在視圖中顯示的屬性,其示例代碼如下:

  1. @RequestMapping(value="/firstController"
  2. public String handleRequest(HttpServletRequest request, 
  3.                                                HttpServletResponse response, Model model) { 
  4.         model.addAttribute("msg""這是我的第一個Spring MVC程序"); 
  5.         return "/WEB-INF/jsp/first.jsp"

String類型除了可以返回上述代碼中的視圖頁面外,還可以進行重定向與請求轉發,具體方式如下:

1. redirect 重定向。例如,在修改用戶信息操作后,將請求重定向到用戶查詢方法的實現代碼如下:

  1. @RequestMapping(value="/update"
  2. public String update(HttpServletRequest request,HttpServletResponse response, Model model){ 
  3.        ...  
  4.        return "redirect:queryUser"

2. forward 請求轉發。例如,用戶執行修改操作時,轉發到用戶修改頁面的實現代碼如下:

  1. @RequestMapping(value="/toEdit"
  2. public String update(HttpServletRequest request,HttpServletResponse response, Model model){ 
  3.        ...  
  4.        return "forward:editUser"

4. ViewResolver(視圖解析器)

Spring MVC中的視圖解析器負責解析視圖。可以通過在配置文件中定義一個ViewResolver來配置視圖解析器,其配置示例如下:

  1. <bean id="viewResolver"    class="org.springframework.web.servlet.view.InternalResourceViewResolver"
  2.         <property name="prefix" value="/WEB-INF/jsp/" /> 
  3.         <property name="suffix" value=".jsp" /> 
  4. </bean> 

在上述代碼中,定義了一個視圖解析器,并設置了視圖的前綴和后綴屬性。這樣設置后,方法中所定義的view路徑將可以簡化。例如,入門案例中的邏輯視圖名只需設置為“first”,而不再需要設置為“/WEB-INF/jsp/first.jsp”,在訪問時視圖解析器會自動的增加前綴和后綴。

5. 基于注解的Spring MVC應用

代碼附上!!

web.xml

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  4.          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" 
  5.          version="4.0"
  6.     <context-param> 
  7.         <param-name>contextConfigLocation</param-name
  8.         <param-value>/WEB-INF/applicationContext.xml</param-value> 
  9.     </context-param> 
  10.     <listener> 
  11.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
  12.     </listener> 
  13.     <servlet> 
  14.         <servlet-name>dispatcher</servlet-name
  15.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
  16.         <load-on-startup>1</load-on-startup> 
  17.     </servlet> 
  18.     <servlet-mapping> 
  19.         <servlet-name>dispatcher</servlet-name
  20.         <!--        <url-pattern>*.form</url-pattern>--> 
  21.         <url-pattern>/</url-pattern> 
  22.     </servlet-mapping> 
  23. </web-app> 

 

 

dispatcher-servlet.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.        xmlns:mvc="http://www.springframework.org/schema/mvc" 
  6.        xsi:schemaLocation="http://www.springframework.org/schema/beans 
  7.        http://www.springframework.org/schema/beans/spring-beans.xsd 
  8.        http://www.springframework.org/schema/context 
  9.        https://www.springframework.org/schema/context/spring-context.xsd 
  10.        http://www.springframework.org/schema/mvc 
  11.        https://www.springframework.org/schema/mvc/spring-mvc.xsd"> 
  12.      
  13.     <context:component-scan base-package="com.nateshao.controller"/> 
  14.     <mvc:default-servlet-handler/> 
  15.     <mvc:annotation-driven/> 
  16.     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"
  17.         <property name="prefix" value="/WEB-INF/jsp/"/> 
  18.         <property name="suffix" value=".jsp"/> 
  19.     </bean> 
  20. </beans> 

 

 

hello.jsp

  1. <%-- 
  2.   Created by IntelliJ IDEA. 
  3.   User: 邵桐杰 
  4.   Date: 2021/10/16 
  5.   Time: 21:34 
  6.   To change this template use File | Settings | File Templates. 
  7. --%> 
  8. <%@ page contentType="text/html;charset=UTF-8" language="java" %> 
  9. <html> 
  10. <head> 
  11.     <title>Title</title> 
  12. </head> 
  13. <body> 
  14. ${msg} 
  15. </body> 
  16. </html> 

 

 

HelloController.java

  1. package com.nateshao.controller; 
  2.  
  3. import org.springframework.stereotype.Controller; 
  4. import org.springframework.ui.Model; 
  5. import org.springframework.web.bind.annotation.RequestMapping; 
  6. import javax.servlet.http.HttpServletRequest; 
  7. import javax.servlet.http.HttpServletResponse; 
  8. /** 
  9.  * @date Created by 邵桐杰 on 2021/10/16 21:37 
  10.  * @微信公眾號 程序員千羽 
  11.  * @個人網站 www.nateshao.cn 
  12.  * @博客 https://nateshao.gitee.io 
  13.  * @GitHub https://github.com/nateshao 
  14.  * @Gitee https://gitee.com/nateshao 
  15.  * Description: 
  16.  */ 
  17. @Controller 
  18. public class HelloController { 
  19.     @RequestMapping("/hello"
  20.     public String handleRequest(HttpServletRequest request, 
  21.                                 HttpServletResponse response, Model model) throws Exception { 
  22.         // 向模型對象中添加數據 
  23.         model.addAttribute("msg""這是我的第一個Spring MVC程序"); 
  24.         // 返回視圖頁面 
  25.         return "hello"
  26.     } 

總結

這一篇文章主要對Spring MVC的核心類及其相關注解的使用進行了詳細的講解。

  • 首先介紹了DispatcherServlet的作用和配置;
  • 然后介紹了@Controller以及@RequestMapping注解類型的相關知識;
  • 最后講解了視圖解析器的定義和配置,并通過一個應用案例,將所講解的內容進行了一個全面總結。

 

通過本章的學習,我相信我們能夠了解Spring MVC核心類的作用,并掌握Spring MVC常用注解的使用。

 

責任編輯:武曉燕 來源: 程序員千羽
相關推薦

2021-12-27 08:27:17

SpringMVC面試

2022-06-28 14:57:09

FormatterSpring

2009-09-27 14:01:29

Spring MVC

2020-11-02 07:00:29

Spring Boo注解自動化

2021-03-26 09:37:12

Java開發代碼

2011-03-08 08:58:37

springmvc

2024-02-01 08:28:28

2022-01-05 08:53:13

Spring原理分析MVC

2024-06-19 10:08:34

GoChannel工具

2023-05-10 08:29:28

Spring配置原理

2021-12-30 23:37:51

SpringMVC RequestResponse

2023-02-23 08:15:33

Spring異常處理機制

2022-11-10 07:53:54

Spring參數校驗

2022-02-16 13:46:40

Spring Aop代碼注解

2011-12-05 13:44:34

JavaSpringMVC

2009-06-18 09:47:14

Spring的核心

2009-06-19 17:05:08

MVC框架Struts和Spri

2012-06-17 20:19:29

2012-10-24 14:53:31

IBMdw

2021-12-14 07:43:52

Spring核心原理環境準備
點贊
收藏

51CTO技術棧公眾號

亚洲国产精品成人综合| 国产欧美大片| 日韩精品一区二区三区蜜臀 | 在线观看麻豆| 国产精品888| 欧美中文在线免费| 少妇被躁爽到高潮无码文| 欧美网色网址| 制服丝袜日韩国产| 国产主播在线看| 国产一区久久精品| 国产午夜亚洲精品羞羞网站| 亚洲综合一区二区不卡| 亚洲欧美偷拍一区| 欧美日本精品| 精品国产一区二区三区久久久狼| 亚洲国产果冻传媒av在线观看| 九七电影院97理论片久久tvb| 亚洲高清中文字幕| 黄瓜视频免费观看在线观看www| 亚洲av成人无码久久精品老人| 免费人成在线不卡| 91精品国产91久久久久久不卡| 久久久久久久久久97| 神马电影久久| 亚洲第一国产精品| 99999精品| 狂野欧美性猛交xxxx| 欧美性高潮在线| 免费不卡av在线| 五月天激情在线| 成人欧美一区二区三区小说| 日本高清久久一区二区三区| 视频二区在线观看| 东方aⅴ免费观看久久av| 成人字幕网zmw| 在线视频1卡二卡三卡| 美女黄网久久| 欧美最猛黑人xxxx黑人猛叫黄 | 色婷婷综合久久久久中文 | 欧美成人第一区| 天天干天天色天天| 成人免费va视频| av资源一区二区| 男人的天堂一区| 亚洲小说欧美另类婷婷| 欧美大片在线看| 免费麻豆国产一区二区三区四区| 婷婷综合亚洲| 久久视频在线视频| 亚洲综合网在线| 一个色综合网| 欧美黑人视频一区| 久久艹精品视频| 国一区二区在线观看| 久久99青青精品免费观看| 国产十六处破外女视频| 欧美不卡在线| 久久久久久久电影一区| 国产精品50页| 免费看黄裸体一级大秀欧美| 国产mv久久久| 亚洲天堂手机版| 精品一区二区三区免费毛片爱| 国产中文日韩欧美| 国产jzjzjz丝袜老师水多| 大桥未久av一区二区三区中文| 成人片在线免费看| 天堂在线资源网| 国产亚洲成年网址在线观看| 婷婷精品国产一区二区三区日韩| 99re在线视频| 亚洲另类在线制服丝袜| 日本中文字幕亚洲| 精品欧美一区二区三区在线观看| 欧美亚洲高清一区| 性生活在线视频| 日本欧美三级| 色偷偷888欧美精品久久久| 99视频只有精品| 亚洲视频播放| 国产精品视频xxx| 亚洲AV无码乱码国产精品牛牛| 懂色av中文一区二区三区| 久久99精品久久久久久三级| gogogo高清在线观看免费完整版| 亚洲欧美另类在线| 玩弄中年熟妇正在播放| 国产一区二区三区朝在线观看| 欧美日韩国产乱码电影| 男人网站在线观看| 日韩理论片av| 国模精品系列视频| 伊人免费在线观看| 成人av资源网站| 亚洲午夜精品久久| 2020av在线| 欧美久久一二区| 538国产视频| 牛牛国产精品| 国产精品电影网站| 人人妻人人澡人人爽精品日本| 久久久久国产精品麻豆| 亚洲乱码日产精品bd在线观看| 神马电影网我不卡| 欧美成人三级在线| 亚洲天堂av中文字幕| 日韩视频精品在线观看| 91色精品视频在线| 高清在线观看av| 午夜国产精品一区| 国产成人精品综合久久久久99 | 国产成人自拍偷拍| 成人精品免费视频| 好吊色视频988gao在线观看| 精品国产欧美日韩一区二区三区| 亚洲国产精品久久| 欧美黑吊大战白妞| 精品一区二区三区欧美| 亚洲成人网上| 欧美专区福利免费| 精品亚洲一区二区三区在线观看 | 你懂得在线观看| 久久久久国产精品一区二区 | 欧美日韩老妇| 欧美怡春院一区二区三区| 亚洲AV午夜精品| 椎名由奈av一区二区三区| 少妇激情一区二区三区| 日韩激情网站| 久久久久久亚洲精品不卡| a级片免费观看| 综合久久一区二区三区| 少妇网站在线观看| 成人免费在线播放| 国产精品欧美一区二区三区奶水| 日本私人网站在线观看| 精品国产电影一区| 青青草成人免费视频| 日韩午夜在线| 精品视频在线观看| 美女高潮视频在线看| 日韩av一卡二卡| 啦啦啦免费高清视频在线观看| 成人国产在线观看| 国产深夜男女无套内射| 美女午夜精品| 8x拔播拔播x8国产精品| 五月天婷婷在线播放| 婷婷久久综合九色综合绿巨人| 中文视频在线观看| 亚洲欧美bt| 欧美一区三区二区在线观看| 范冰冰一级做a爰片久久毛片| 亚洲美女自拍视频| 午夜一级黄色片| 中文字幕在线一区| 佐山爱在线视频| 亚洲一级二级| 免费在线国产精品| www.26天天久久天堂| 爽爽爽爽爽爽爽成人免费观看| 亚洲一区二区天堂| 一区二区三区四区五区视频在线观看| 日本中文字幕精品| 国产人成精品一区二区三| 欧美福利一区二区三区| 日本在线视频一区二区| 精品国内自产拍在线观看| 精品国产18久久久久久| 偷窥国产亚洲免费视频 | 自拍偷拍亚洲综合| 88av在线播放| 日本不卡视频在线| 在线观看av的网址| 亚洲警察之高压线| 成人免费观看a| 国产蜜臀一区二区打屁股调教| 亚洲精品av在线播放| 中文字幕无线码一区| 综合婷婷亚洲小说| av无码av天天av天天爽| 久久精品久久综合| 毛片在线播放视频| 欧美高清视频在线观看mv| 999在线观看免费大全电视剧| 涩涩视频在线播放| 久久香蕉频线观| 日本在线一二三| 3751色影院一区二区三区| 日韩三级免费看| 国产精品国产自产拍高清av| 久久性爱视频网站| 麻豆成人综合网| 久久av综合网| 日韩欧美午夜| 久久99精品国产99久久| 精品一区二区三区四区五区| 欧洲美女7788成人免费视频| 欧美性猛片xxxxx免费中国| 亚洲欧洲日韩国产| 粉嫩小泬无遮挡久久久久久| 欧美色精品在线视频| a v视频在线观看| 亚洲欧美国产三级| 熟女少妇内射日韩亚洲| 成人的网站免费观看| 午夜不卡福利视频| 日韩专区欧美专区| 热99这里只有精品| 影音先锋日韩在线| 亚洲精品第一区二区三区| 欧美激情15p| 99国产超薄肉色丝袜交足的后果| 国语自产精品视频在线看抢先版结局| 欧美激情xxxx| 中文字幕在线三区| 少妇高潮 亚洲精品| 免费毛片在线| 精品亚洲一区二区三区| 欧美 日韩 综合| 日韩午夜激情av| 国产精品系列视频| 欧美日本韩国一区二区三区视频| 亚洲自拍一区在线观看| 婷婷久久综合九色综合伊人色| 久久免费精彩视频| 亚洲男人电影天堂| 三上悠亚作品在线观看| 国产精品美女一区二区三区| 伊人网伊人影院| 99re这里只有精品6| 美女黄色一级视频| 国产成人av一区二区| 日本少妇激三级做爰在线| 久久99精品国产麻豆婷婷洗澡| 男人插女人下面免费视频| 久久综合导航| www.99在线| 全部av―极品视觉盛宴亚洲| 国产情侣av自拍| 日本不卡免费在线视频| 欧美三级理论片| 免费成人av在线播放| 最新中文字幕2018| 久久电影网电视剧免费观看| 天天摸天天舔天天操| 国内精品久久久久影院薰衣草| 小明看看成人免费视频| 精品一区二区三区免费播放| 一级黄色片在线免费观看| 国产精品资源站在线| 国产精品日日摸夜夜爽| 成人精品免费网站| 少妇大叫太粗太大爽一区二区| 2023国产精品视频| 日韩女同一区二区三区| 国产精品久久看| 日韩一级片av| 亚欧色一区w666天堂| 黄瓜视频在线免费观看| 欧美日韩一区二区三区在线看 | 亚洲国产成人精品久久| 头脑特工队2在线播放| 日韩成人在线视频网站| 精品欧美不卡一区二区在线观看| 在线精品视频视频中文字幕| 国产黄色小视频在线| 久久久久久久久久婷婷| 在线天堂新版最新版在线8| 国产精品免费一区豆花| 欧洲一区在线| 久久大片网站| 日韩专区精品| 日韩精品视频在线观看视频| 美女黄色成人网| 中文字幕在线视频精品| caoporen国产精品视频| 日韩福利在线视频| 夜夜嗨av一区二区三区四季av| 99久在线精品99re8热| 欧美日韩一区二区三区免费看 | 亚洲桃花岛网站| 成人影院在线观看| 欧美孕妇孕交黑巨大网站| 欧美午夜三级| 国产精品久久久久久久久久久久午夜片| 奇米777国产一区国产二区| 亚洲欧美日韩另类精品一区二区三区 | 免看一级a毛片一片成人不卡| 精品久久久久久久中文字幕| 亚洲天堂中文在线| 亚洲国产欧美精品| 二区三区在线观看| 日韩免费在线播放| 91精品久久久久久综合五月天| 热舞福利精品大尺度视频| 午夜国产精品视频免费体验区| 免费男同深夜夜行网站| 国产成人一级电影| 三级黄色片在线观看| 欧美日韩国产中文字幕| 国产又粗又黄又爽的视频| 欧美成人高清电影在线| 青青青青在线| 青青a在线精品免费观看| 中文一区二区三区四区| 一区二区免费电影| 老妇喷水一区二区三区| 污污免费在线观看| 亚洲欧美韩国综合色| 真实的国产乱xxxx在线91| 日韩成人在线免费观看| 大香伊人中文字幕精品| 亚洲在线观看视频网站| 日韩精品免费| 国产av无码专区亚洲精品| 成人免费毛片片v| 久热这里有精品| 欧美日韩国产系列| 午夜精品一区| 日本三级韩国三级久久| 欧美挤奶吃奶水xxxxx| 大地资源网在线观看免费官网| 久久成人av少妇免费| 国产精品av久久久久久无| 色综合久久中文综合久久牛| 少妇人妻一区二区| 久久久久久久999精品视频| av动漫精品一区二区| 公共露出暴露狂另类av| 精品在线观看视频| 国产精品免费在线视频| 欧美日本一区二区三区四区| caoporn国产精品免费视频| 国产精品福利在线| 国产成人手机高清在线观看网站| 男人靠女人免费视频网站| 99久久婷婷国产精品综合| 国产无码精品视频| 亚洲第一中文字幕| 国产精品高颜值在线观看| 国产精品一区二区a| 亚洲激情亚洲| 成人h动漫精品一区| 欧美日韩一区二区三区| 男女视频在线观看免费| 国产极品jizzhd欧美| 精品欧美激情在线观看| 日韩精品你懂的| 国产精品久久久久精k8| 国产精品无码AV| 欧美高清在线播放| 美女av一区| 成人在线激情网| 国产精品三级久久久久三级| 一级视频在线播放| 欧美成人午夜影院| 超碰成人福利| 国产在线青青草| 欧美激情中文字幕一区二区| 一级特黄特色的免费大片视频| 久久亚洲影音av资源网| www.丝袜精品| 国产xxxxx在线观看| 中文字幕免费一区| av老司机久久| 91精品国产电影| 成人在线免费观看91| 国产探花在线观看视频| 亚洲成a人v欧美综合天堂 | 久久久国产影院| 成人免费在线电影网| 男人的天堂99| 亚洲色图在线播放| 人妻91麻豆一区二区三区| 日本老师69xxx| 外国成人免费视频| 尤物网站在线观看| 欧美日韩一级片网站| 激情av在线播放| 日韩一区二区三区资源| 国产麻豆欧美日韩一区| 国产成人精品网| 久久综合亚洲社区| 日韩美女国产精品| 在线观看免费av网址| 午夜精品久久久久久久| 嫩草香蕉在线91一二三区| 国产在线资源一区| 久久91精品久久久久久秒播| 日产亚洲一区二区三区| 最近2019中文免费高清视频观看www99| 欧美经典一区| 一区二区在线播放视频| 亚洲一二三区不卡| 午夜免费福利在线观看| 欧美日韩视频在线一区二区观看视频 | 亚洲国产欧美在线人成| 五月婷婷在线观看|