我正在使用 this学习 Spring MVC 的链接。如前所述,dispatcher-servlet 在顶部处理所有传入请求。
还描述了有一个HandlerMapping和一个Controller。但是,在源代码中,只使用了Controller。那么哪个是 HandlerMapping 呢?是不是一个单独的文件?
或者它是否存在于其他一些复杂的场景中?
最佳答案
Controller 和 HandlerMapping
在 Spring MVC 中是两个不同的东西。
Controller 是一个实际的 java 类,用于处理请求。我们在类定义的顶部声明 @Controller
。
其中 HandlerMapping
是在 Spring 框架的类中构建的。 Spring框架中有很多处理映射,如BeanNameUrlHandlerMapping
、ControllerClassNameHandlerMapping
等。默认情况下,BeanNameUrlHandlerMapping
用于映射请求。此类在所有 Controller 类中搜索以将特定请求与方法映射。
关于java - Spring MVC 中哪个是 Controller 哪个是 HandlerMapping?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8643007/