【发布时间】:2011-03-28 15:39:50
【问题描述】:
我正在使用 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 template syntax,我知道它正在被映射,因为在控制台中我看到:
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'
但是,当我在浏览器中输入 URLhttps://localhost/docs/pupil/classes/ACADEMIC 时,我收到 404 错误,并且在控制台中看不到任何打印内容。我替换了只是抛出异常的打印输出代码,它似乎也没有被抛出。一位同事建议应该有一种方法可以查看 URL 解析是如何完成的,但 Google search 似乎没有出现任何结果。
关于如何调试的任何建议?
【问题讨论】:
-
快速检查:其他控制器是否工作?你确定这不是上下文路径、
DispatcherServlet的 url-pattern 等的问题吗? -
其他控制器正常工作,我们解决了这个特殊问题(我发现前端控制器有过滤器可以忽略除 *.bf 请求之外的所有请求)但我认为这个问题仍然有用,因为我希望将来能够调试这样的请求问题。
标签: java spring spring-mvc