SpringMVC执行流程中的适配器HandlerAdapter
如何理解HandlerAdapter去执行Hadnler
- 1、先来看两种控制器(Hadnler)的实现方式
方式一
此方式实现了Controller接口,为一个控制器类,复写handleRequest类似Servlet中的doGet/doPost方法,该方法返回ModelAndView,我们在ModelAndView定义好返回的模型数据和转发的页面
public class HelloController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView mav=new ModelAndView("show_01");
mav.addObject("msg","hello");
return mav;
}
}
方式二
此方式实现了HttpRequestHandler接口,我们可以看到此方法的操作形式和传统Servlet方式几乎一模一样,SpringMVC在设计的时候考虑到了不同编码方式的需求,有些人习惯于传统的Servlet写法,目的为满足不同人的需要而设计的接口
public class HiController implements HttpRequestHandler {
@Override
public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setAttribute("msg",