如何调试 Spring MVC url 映射?

2024-02-09

我正在使用 Spring MVC 3,并且遇到 URL 映射问题。我有一个方法

 @Controller
 public class DocumentController {
      @RequestMapping( value="/docs/pupil/classes/{courseCategoryType}", method=RequestMethod.GET )
      public ModelAndView listClassesForPupil( @PathVariable("courseCategoryType") final String courseCategoryType ){
            System.err.print( "\n\n\n\t\t--- XXXXX ---\n\n\n" );
      }
 }

我正在尝试使用Spring URI 模板语法 http://static.springsource.org/spring/docs/3.1.0.M1/spring-framework-reference/html/mvc.html#mvc-ann-requestmapping-uri-templates,我知道它正在被映射,因为在控制台中我看到:

 11:22:12,108  INFO DefaultAnnotationHandlerMapping:411 - Mapped URL path [/docs/pupil/classes/{courseCategoryType}] onto handler 'documentController'
 11:22:12,108  INFO DefaultAnnotationHandlerMapping:411 - Mapped URL path [/docs/pupil/classes/{courseCategoryType}.*] onto handler 'documentController'
 11:22:12,108  INFO DefaultAnnotationHandlerMapping:411 - Mapped URL path [/docs/pupil/classes/{courseCategoryType}/] onto handler 'documentController'

但是,当我输入网址时https://localhost/docs/pupil/classes/ACADEMIC在浏览器中我收到 404 错误,并且在控制台中看不到任何打印内容。我替换了仅抛出异常的打印输出代码,并且它似乎也没有被抛出。一位同事建议应该有一种方法来查看 URL 解析是如何完成的,但是谷歌搜索 http://www.google.ca/search?q=spring%20url%20resolver%20debug%20enable似乎没有发现任何东西。

关于如何调试这个有什么建议吗?


对于这样的问题,我觉得开始调试的最佳“入口点”是方法getHandler(HttpServletRequest request) of the DispatcherServlet.

在这个方法中每个配置HandlerMapping检查其是否负责处理您的具体请求。如果您的请求达到了这一步,您可以非常确定这是 spring 上下文中的配置问题。

留意该类型的处理程序RequestMappingHandlerMapping (or DefaultAnnotationHandlerMapping,如果您使用的是旧版本的 Spring),这些通常是HandlerMapping由基于注释的控制器配置使用。

在另一种情况下,请确保“前面”没有任何内容DispatcherServlet过滤您的请求(就像您的情况一样)

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

如何调试 Spring MVC url 映射? 的相关文章

随机推荐

  • PostgreSQL 与 SQL Server NVARCHAR 等效的是什么?

    如果 Microsoft SQL Server 数据库中有 NVARCHAR 或 NTEXT 数据类型的字段 那么 PostgreSQL 数据库中的等效数据类型是什么 我很确定 postgres varchar 与 Oracle Sybas
  • 基本字符串输入

    我刚刚遇到了这段代码 它允许用户在命令提示符中输入字符串 我知道他们所做的一切 这一切都很棒 但我有一个关于 cin 和 getline 函数的问题 string name cout lt lt Please enter your full
  • 如何创建这样的渐变进度指示器?

    我注意到基本的CircularProgressIndicator小部件有很少的参数来定制它 我想要达到像 gif 上那样的结果 不幸的是 我的知识不足以从头开始创建这样一个指标 在 pub dev 上搜索没有带来任何结果 Make a Cu
  • PHP 返回错误 500,但没有记录任何内容

    当我有一个 php 应用程序返回内部服务器错误 500 但错误日志中没有显示任何内容时 我遇到了问题 现在我知道我正在尝试运行的内容有错误 我知道我丢失了一些文件以及什么没有 但是 apache 错误日志中应该显示一些内容 否则我应该如何确
  • 使用 opencv 3.0 的 cv2 中的 KNN train()

    我正在尝试使用 cv2 python 2 7 和 opencv 3 0 运行 k 最近邻 我使用类似的代码复制了相同的错误消息http docs opencv org 3 0 beta doc py tutorials py ml py k
  • 使用 AWS SimpleDB 从 Java Servlet 创建域

    我是一名大学生 正在从事一个研究项目 该项目涉及将 Web 应用程序迁移到亚马逊云 上学期我一直在研究 servlet 并且能够使用 Tomcat 中运行的 java servlet 来实现应用程序的大部分功能 我现在正在尝试集成 Amaz
  • 将 TYPO3 extbase storagePageIds / storagePid 设置为当前

    我正在使用 TYPO3 扩展 feupload 它依赖于 extbase 这是我第一次接触extbase 但问题是关于 extbase 的 我希望 TYPO3 在查询中默认包含通常的 IN 当前页面 pid 检查 除非另有说明 但在 ext
  • AngularJS 上传文件并将其发送到数据库

    我一直在努力得到ng文件上传 https github com danialfarid ng file upload工作 以便我可以上传图像并将它们发送到数据库 在我的例子中是mongoLab http mongolab com接受 JSO
  • vue-devtools 总是被 nuxt.js 禁用

    我正在使用 nuxt js 创建一个新项目v2 3 0 当我跑步时npm run dev在我的 IDE 控制台中 一切都可以正确编译 但是当我转到该页面时 出现以下错误 Nuxt js Vue js is detected on this
  • Python - 检查两个单词是否在字符串中

    我想检查Python数组的每个元素中是否有两个单词 汽车 和 摩托车 我知道如何检查一个单词in但不知道如何用两个词来做 非常感谢任何帮助 两字解决方案 for string in array if car in string and mo
  • 如何在 SharePoint 2010 中获取服务应用程序权限

    在 SharePoint 2010 中读取特定服务应用程序的帐户权限的最佳 最简单方法是什么 目前我一直在搞乱 var solution SPFarm Local Solutions Service App Name wsp var sol
  • Spark 任务无法使用滞后窗口函数进行序列化

    我注意到 在 DataFrame 上使用 Window 函数后 如果我使用函数调用 map Spark 将返回 任务不可序列化 异常 这是我的代码 val hc org apache spark sql hive HiveContext n
  • 将键值对列表转换为哈希表

    将列表转换为哈希表的最佳方法是什么 假设我有一个像这样的列表 Key value Key2 value2 将其转换为哈希表的最短语法是什么 尝试以下操作 table new object System Collections Hashtab
  • GORM 域类属性默认值

    也许是一个愚蠢的问题 但我应该在哪里 如何定义 GORM 域类属性的默认值 例如 当我创建一个新的 Company 对象实例时 我希望属性国家 地区的默认值为 美国 我想我可以在创建控制器中做到这一点 但它看起来有点脏 就像是 def cr
  • 搜索 youtube 并在我的网站上显示结果

    如何从我的网站搜索 YouTube 并将结果显示在同一页面下方 我已经设法使用以下代码添加搜索功能
  • 在nds的子屏幕上绘制图像

    我对 libdns 完全陌生 我尝试更改示例 Graphics Backgrounds 256 color bmp 在子屏幕上显示背景 这是我的代码 您知道在子屏幕上显示 hey typBitmap 缺少什么吗 我已经设法在顶部屏幕上显示新
  • 加载后 JavaScript 不会执行

    我的网站包含链接 当我点击一次时 目标 HTML 内容会使用 JQuery 加载到 div 中 到目前为止没有问题 我的问题是 当第三次加载下面的搜索页面时 脚本将不会执行 h1 span Search span h1 p class bi
  • 在 Shiny App 中显示 HTML 文件

    是否可以在 Shiny 应用程序 在主面板中 中显示 html 文件 该 HTML 是由 SAS 代码创建的 但我想在 Shiny 应用程序中显示 这不是一个小图像 这是 HTML 文件中的表格输出 Html 文件包含 tabele 如下所
  • 删除 Bootstrap 3 导航中的品牌

    首先 我已经访问了具有相同问题的其他主题 但没有给我任何答案 这是 Bootstrap 3 导航 正如您在左侧看到的 那里有一个 品牌 文本 用于在我删除的源中删除它 a class navbar brand href Brand a 结果
  • 如何调试 Spring MVC url 映射?

    我正在使用 Spring MVC 3 并且遇到 URL 映射问题 我有一个方法 Controller public class DocumentController RequestMapping value docs pupil class