将 AnnotationMethodHandlerAdapter 替换为 RequestMappingHandlerAdapter 问题

2024-02-29

我最近升级到 spring 3.2 并注意到AnnotationMethodHandlerAdapter已被弃用,取而代之的是RequestMappingHandlerAdapter。所以我重新配置为使用新类,并完成自定义MessageConverter我需要。一切都很好。

但是,当尝试访问带注释支持的 URL 时Controller,我收到错误:

 [java] javax.servlet.ServletException: No adapter for handler [my.company.TagController@1c2e7808]: The DispatcherServlet configuration needs to include a HandlerAdapter that supports this handler
 [java]     at org.springframework.web.servlet.DispatcherServlet.getHandlerAdapter(DispatcherServlet.java:1128)
 [java]     at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:903)
 [java]     at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)

调试调度程序时,特别是Dispatcher.getHandlerAdapter()方法,它正在寻找我的HandlerAdapter,但是AbstractHandlerMethodAdapter.supports()被调用的需要一个MethodHandler:

public final boolean supports(Object handler) {
  return handler instanceof HandlerMethod && supportsInternal((HandlerMethod) handler);
}

并且控制器不是HandlerMethod. The AnnotatedMethodHandlerAdapter的支持方法是..嗯,不同(并且仍然有效!)

public boolean supports(Object handler) {
  return getMethodResolver(handler).hasHandlerMethods();
}

所以我显然不能简单地升级到新的类...我缺少一些额外的配置,但文档并没有真正帮助我。有任何想法吗?

Thanks.


Use "<mvc:annotation-driven/>” 在 spring 配置文件中,而不是编写自己的 WebMvcConfigurationSupport 实现

example

    <mvc:annotation-driven/>
<context:component-scan base-package="com.springapp.mvc"/>
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
            <list>
                <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
                <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>
                <bean class="org.springframework.http.converter.xml.SourceHttpMessageConverter"/>
                <bean class="org.springframework.http.converter.FormHttpMessageConverter"/>
                <bean class="org.springframework.http.converter.StringHttpMessageConverter"/>
            </list>
        </property>

    </bean>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 AnnotationMethodHandlerAdapter 替换为 RequestMappingHandlerAdapter 问题 的相关文章

随机推荐

  • 使用 PHP 从 Google Chrome 书签导出中提取数据

    我想将我的 google chrome 书签放入数据库 所以我的第一步是使用 PHP 从 chrome 导出 html 文件并将数据放入变量中 我希望获得一些能够运行的 PHP 代码下面的数据 它会将 URL ADD DATE ICON 和
  • 无法通过管道以自定义方式重命名下载的图像

    我使用 python 的 scrapy 模块创建了一个脚本 从 torrent 站点下载并重命名电影图像 并将它们存储在 scrapy 项目内的文件夹中 当我按原样运行脚本时 我发现它正确地下载了该文件夹中的图像 此时 脚本正在使用 req
  • javascript从所选国家/地区值中选择城市

    我有来自这里的国家数据库http www webmasterworld com html 3018309 htm http www webmasterworld com html 3018309 htm有239个国家 每个国家都有价值 在选
  • 这个指针类型防水吗?

    我正在尝试设计一种自定义类型 可以在需要窗口句柄或其他类型指针的 API 中使用 并且适用于 VBA 可以运行的所有系统 这是我所得到的 If Win64 1 And VBA7 0 Then Public Type LongLong 64
  • Chart.js 上的悬停模式

    当您未将鼠标悬停在折线图中的特定 点 上时 是否可以激活悬停 I want that每当我将鼠标悬停在图表的任何部分上时就会激活特定的工具提示 Edit 像这样的东西http watchstocks herokuapp com http w
  • 减少纬度和经度点数的最快方法

    我正在尝试减少并组合一些点到这些位置的中心点 现在 我通过找到最接近的一对 将它们组合起来并重复 直到将其减少到我的目标 旁注 实际上我通过排序来减少问题 lat lat long long 然后在每个点的两侧搜索 10 根据我的测试 总是
  • Swift 框架在 lldb 中返回“模糊使用”方法扩展

    我已升级到 Xcode 11 和 swift 5 并在通过框架提供方法扩展时遇到了问题 更具体地说 在一个结构如下的项目中 gt Main Project gt Framework created from sources in Main
  • Keras 1.0 支持 scipy 稀疏矩阵吗?

    我找不到关于 keras 是否支持 scipy 稀疏矩阵作为训练 测试向量的明确答案 我已阅读此链接 这似乎意味着它没有https www kaggle com c walmart recruiting trip type classifi
  • R闪亮滑块输入显示时间

    我有一个与 R Shiny 中的 sliderInput 相关的问题 在 sliderInput 中 该值是一个数字 一些示例显示该数字是 number 但是 如果我想将 sliderInput 的值显示为时间 例如 10 00 15 00
  • 如何循环匹配正则表达式的所有元素?

    案例如下 我想找到与正则表达式匹配的元素 targetText SomeT1extSomeT2extSomeT3extSomeT4extSomeT5extSomeT6ext 我在 javascript 中使用正则表达式 如下所示 reg n
  • Xcode 自动完成块内块(以及它们所在的块......)

    如何设置一个块属性 该属性将另一个块属性作为参数 以便自动完成功能为两个块提供所有必需的参数 为了进一步解释 我将演示自动完成功能如何仅适用于一个块属性 In AppDelegate h 为所有需要访问 block 属性的类创建一个引用 A
  • 如何阻止 PHP 向客户端发送数据,同时仍在服务器中运行 PHP 代码?

    当我遇到一个导致我的 PHP 程序无限循环的错误时 我想到了这个问题 下面是一个示例情况 假设我有一个接收图片上传的PHP网页 该页面可能是图像上传表单的响应页面 在服务器中 脚本应将图像存储在临时文件中 然后 脚本应该向客户端输出一条确认
  • 预处理 C# - 检测方法

    我需要能够预处理多个 C 文件作为项目的预构建步骤 检测方法的开始 并在方法的开始处 任何现有代码之前 插入生成的代码 但是 我在检测方法的打开时遇到问题 我最初尝试使用正则表达式进行匹配 但最终出现了太多误报 我会使用反射 但 Metho
  • Firebase 查询数据

    random key 1 id 0 text This is text random key 2 id 1 text This is text 如果我像这样存储数据 并且我想获取节点id等于0 我怎样才能做到这一点 上面是孩子issue 它
  • Angular2组件单向绑定还是输入?

    在角度 2 中 如果我看到
  • AWS Cloud9:Python 虚拟环境并未实际激活。使用系统范围的Python

    刚刚开始使用 AWS Cloud9 开始了一个新项目 Django with Beanstalk 打开Cloud9环境 输入virtualenv python usr bin python3 6 venv 然后 当我输入 sourse ve
  • 如何安装 VS 2017 的 SignTool.exe?

    升级到 VS 2017 后我得到了 错误 签名时发生错误 找不到 SignTool exe 但仅在 Visual Studio 上使用 MSbuild 发布是没有问题的 我已经检查过文件夹 C Program Files x86 Micro
  • 使用 Bootstrap(使用 Firefox 浏览器)的表单上,选择控件缺少箭头图标

    我在使用 Bootstrap 使用 Firefox 浏览器 的表单上有一个选择控件 但它缺少右侧的箭头图标 这是我使用的相关 HTML div class container fluid div
  • 使用 Ruby CSV 提取一列

    我一直在尝试从 csv 文件中获取单列 我已经查看了文档 http www ruby doc org stdlib libdoc csv rdoc index html http www ruby doc org stdlib libdoc
  • 将 AnnotationMethodHandlerAdapter 替换为 RequestMappingHandlerAdapter 问题

    我最近升级到 spring 3 2 并注意到AnnotationMethodHandlerAdapter已被弃用 取而代之的是RequestMappingHandlerAdapter 所以我重新配置为使用新类 并完成自定义MessageCo