1、springmvc工作流程
1)用户发送请求到DispatcherServlet
2)DispatcherServlet收到请求,调用HandlerMapping处理器映射器查找具体的Handler。
3)处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器,都返回给DispatcherServlet
4)DispatcherServlet调用HandlerAdapter处理器适配器执行Handler。
5)HandlerAdapter调用具体的处理器(controller,也叫后端控制器)
6)controller执行完成返回ModelAndView。
7)HandlerAdapter将controller的执行结果ModelAndView返回给DispatcherServlet。
8) DispatcherServlet把ModelAndView传给ViewResolver视图解析器。
9) ViewResolver解析后返回具体的view
10) DispatcherServlet根据view进行渲染视图
11) DispatcherServlet响应用户。
我们主要开发的就是Handler。
每个请求来到dispatcherServlet,dispatcherServlet通过handlermapping决定哪个controller处理请求,先要在web.xml中配置dispatcherServlet的<servlet>和<servletmapping>
2、@RequestMapping注解用在类上有什么作用?
用在类上,表示类中的所有响应请求的方法都是以该地址作为父路径
3、怎么把某个请求映射到特定的方法上面?
直接在方法上面加上注解@RequestMapping,并且在注解里面写上要拦截的路径。
4、在拦截请求中,想拦截get方式提交的方法,怎么配置
在@RequestMapping里加上method = RequestMethod.GET
5、实现重定向和转发:
在方法返回值前面加forward,或redirect
6、拦截器:实现HandlerInterceptor接口
PreHandle方法:进入Handler方法之前执行。
PostHandle方法:进入Handler方法之后,返回ModelAndView之前执行
AfterCompletion方法:执行Handler完成之后执行,应用场景,统一异常(日志)处理等。
标签:请求,springmvc,Handler,处理器,ModelAndView,DispatcherServlet,方法 From: https://www.cnblogs.com/MarkLeeBYR/p/17094072.html