Spring MVC中的Controller和Handler有什么区别?

Handler

HandlerMapping接口实现从URL映射到请求处理程序bean。 支持映射到bean实例和bean names; 

Controller

Base Controller接口,表示接收HttpServletRequest和HttpServletResponse实例的组件,就像HttpServlet一样,但能够参与MVC工作流程。Controllers 可以与Struts Action的概念相媲美。

Controller接口的任何实现都应该是可重用的线程安全类,能够在应用程序的整个生命周期中处理多个HTTP请求。为了能够轻松配置控制器,鼓励Controller实现(通常是)JavaBeans。

Controller接口的任何直接实现都只是处理HttpServletRequests,并且应该返回一个ModelAndView,以便由DispatcherServlet进一步解释。


两者关系

一般来说,Controller是Handler,但Handler不一定是Controller。

例如,HttpRequestHandler,WebRequestHandler,MessageHandler都是可以使用DispatcherServlet的处理程序。 ((@)Controller是执行Web请求并返回视图的处理程序。)


简而言之,Handler只是一个术语,它不是一个类或接口。 它可以执行映射。

你可能感兴趣的:(spring)