iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >SpringMVC适配器模式作用范围是什么
  • 842
分享到

SpringMVC适配器模式作用范围是什么

2023-07-06 00:07:22 842人浏览 独家记忆
摘要

这篇文章主要介绍“springMVC适配器模式作用范围是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springmvc适配器模式作用范围是什么”文章能帮助大家解决问题。HandlerAdapt

这篇文章主要介绍“springMVC适配器模式作用范围是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springmvc适配器模式作用范围是什么”文章能帮助大家解决问题。

    HandlerAdapter的作用

    HandlerAdapter 的作用是将 Http 请求与控制器之间的接口进行转换。它接受一个处理请求的控制器(Handler,任何实现了Controller接口或者注解了 @Controller注解的类),并将请求的参数、请求的类型、响应的类型等信息适配给控制器进行处理,最终将处理结果封装成一个 ModelAndView 对象返回给 DispatcherServlet。

    HandlerAdapter 的主要作用包括:

    请求参数适配

    当 Handler 方法需要参数时,HandlerAdapter 会根据参数类型和名称,将请求中的参数适配给 Handler 的方法。例如,当 Handler 方法需要一个 String 类型的参数时,HandlerAdapter 会从请求中获取参数,并将其转换成 String 类型的参数传递给 Handler 的方法。

    请求类型适配

    HandlerAdapter 还负责将请求的类型适配给 Handler。例如,当请求为 GET 请求时,HandlerAdapter 会调用控制器方法中的 GET 方法;当请求为 POST 请求时,HandlerAdapter 会调用 Handler 中的 POST 方法。

    响应类型适配

    Handler 返回的结果通常应该是一个 ModelAndView 对象,因此 HandlerAdapter 负责将 Handler 的返回结果适配给 ModelAndView 对象。例如,当 Handler 返回一个字符串时,HandlerAdapter 会将该字符串封装成 ModelAndView 对象并返回给 DispatcherServlet。

    HandlerAdapter的源码实现

    HandlerAdapter 接口定义了一个方法,即 handle() 方法,用于处理请求并返回 ModelAndView 对象。

    Spring MVC 框架提供了多个 HandlerAdapter 的实现类,主要包括以下几个:

    HandlerAdapter
    SimpleControllerHandlerAdapter
    HttpRequestHandlerAdapter
    AnnotationMethodHandlerAdapter
    RequestMappingHandlerAdapter

    下面以 RequestMappingHandlerAdapter 为例,介绍 HandlerAdapter 的源码实现。

    public ModelAndView handle(httpservletRequest request, HttpServletResponse response, Object handler) throws Exception {    if (handler instanceof HandlerMethod) {        HandlerMethod handlerMethod = (HandlerMethod) handler;        ModelAndView mav = new ModelAndView();        mav.setViewName(getViewName(handlerMethod));        mav.addAllObjects(getModelAndView(handlerMethod, request, response));        return mav;    } else {        throw new IllegalArgumentException("handler is not a HandlerMethod");    }}

    该方法接受三个参数:HttpServletRequest、HttpServletResponse 和 Object。其中,HttpServletRequest 和 HttpServletResponse 分别表示当前请求和响应对象,Object 表示当前请求所对应的 Handler 的 HandlerMethod 对象。

    在 handle() 方法中,

    • 首先判断传入的 Handler 是否为 HandlerMethod 类型。

    • 如果是,则强制转换为 HandlerMethod 对象,并初始化一个 ModelAndView 对象。

    • 然后,通过 getViewName() 方法获取视图名称,并通过 getModelAndView() 方法获取控制器方法的参数值并封装成 ModelAndView 对象。

    • 最后,将 ModelAndView 对象返回给 DispatcherServlet。

    关于“SpringMVC适配器模式作用范围是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

    --结束END--

    本文标题: SpringMVC适配器模式作用范围是什么

    本文链接: https://www.lsjlt.com/news/356935.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • SpringMVC适配器模式作用范围是什么
      这篇文章主要介绍“SpringMVC适配器模式作用范围是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringMVC适配器模式作用范围是什么”文章能帮助大家解决问题。HandlerAdapt...
      99+
      2023-07-06
    • SpringMVC适配器模式作用范围介绍
      目录HandlerAdapter的作用请求参数适配请求类型适配响应类型适配HandlerAdapter的源码实现总结Spring MVC 启动的关键流程我们已经学习了 Handler...
      99+
      2023-05-15
      SpringMVC适配器模式 SpringMVC适配器作用 MVC适配器模式
    • mysql中Memory的适用范围是什么
      今天就跟大家聊聊有关mysql中Memory的适用范围是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.Memory适用范围将数据存在内存,为了提高数据的访问速度,每一个表实际...
      99+
      2023-06-14
    • SpringMVC适配器模式代码示例
      此处采用了适配器模式, 由于Controller的类型不同,有多重实现方式,那么调用方式就不是确定的,如果需要直接调用Controller方法,需要在代码中写成如下形式:if(mappedHandler.getHandler() insta...
      99+
      2023-05-30
      springmvc 适配器模式
    • SpringIOC容器中bean的作用范围是什么
      这篇文章主要为大家详细介绍了SpringIOC容器中bean的作用范围是什么,文中示例代码介绍的非常详细,具有一定的参考价值,发现的小伙伴们可以参考一下:bean的作用范围:可以通过scope属性进行设置:singleton 单例的(默认)...
      99+
      2023-06-06
    • JSP内置对象作用范围是什么
      JSP内置对象的作用范围是在JSP页面内部。这意味着这些对象只在当前JSP页面中可用,并且不能在其他页面或其他环境中访问。这些内置对...
      99+
      2023-09-15
      JSP
    • java对象的作用域范围是什么
      Java对象的作用域范围取决于其声明的位置。在方法中声明的局部变量的作用域范围仅限于声明它的方法内部。一旦方法执行结束,局部变量就会...
      99+
      2023-09-29
      java
    • svn和git适用范围有什么不同
      本篇内容主要讲解“svn和git适用范围有什么不同”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“svn和git适用范围有什么不同”吧!Git是一款开源的分布式版本控制系统,用以有效、高速的处理从...
      99+
      2023-06-21
    • web设计模式的适配器模式有什么用
      本文小编为大家详细介绍“web设计模式的适配器模式有什么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“web设计模式的适配器模式有什么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。意图将一个类的接口转换成客...
      99+
      2023-06-19
    • java中适配器模式的原理是什么
      java中适配器模式的原理是什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3. 客户端...
      99+
      2023-06-14
    • windows适配器的作用是什么
      本篇内容介绍了“windows适配器的作用是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!适配器的作用是什么:答:适配器主要起到一个转换...
      99+
      2023-07-02
    • springmvc映射器和适配器的区别是什么
      Spring MVC的映射器和适配器是用来处理请求并将其映射到相应的处理器方法的重要组件。它们之间的区别如下: 映射器(Hand...
      99+
      2024-04-02
    • Adapter适配器模式怎么应用
      这篇文章主要讲解了“Adapter适配器模式怎么应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Adapter适配器模式怎么应用”吧! Adapter(...
      99+
      2024-04-02
    • Java项目中适配器模式的原理是什么
      Java项目中适配器模式的原理是什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。适配器模式是把一个类的接口适配成用户所期待的,使得原本由于接口不兼容而不能一起工作的一些类可以...
      99+
      2023-05-31
      java ava 适配器模式
    • PHP适配器模式怎么应用
      今天小编给大家分享一下PHP适配器模式怎么应用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。PHP 适配器模式讲解和代码示例...
      99+
      2023-07-05
    • Android深色模式适配的方法是什么
      本篇内容主要讲解“Android深色模式适配的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android深色模式适配的方法是什么”吧!Android 深色模式适配深色主题背景Andr...
      99+
      2023-07-05
    • Java中Lambda的使用范围是什么
      本篇文章给大家分享的是有关Java中Lambda的使用范围是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型...
      99+
      2023-06-14
    • Pyramid框架的使用范围是什么?
      Pyramid框架是一种基于Python的Web开发框架,它提供了一种简洁、灵活和可扩展的方式来构建高效的Web应用程序。Pyramid框架的设计哲学是“尽量少做决策”,这意味着它尽可...
      99+
      2024-02-25
      模板引擎 支持url路由 支持http方法
    • Oracle索引范围扫描操作流程是什么
      本篇内容主要讲解“Oracle索引范围扫描操作流程是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle索引范围扫描操作流程是什么”吧!索引范围扫描就...
      99+
      2024-04-02
    • java中的各种修饰符作用及范围是什么
      本篇内容介绍了“java中的各种修饰符作用及范围是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!访问修饰符private缺省protec...
      99+
      2023-06-25
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作