springMVC讲解

1.执行过程:

 

 

 

 

1、 用户发送请求至前端控制器DispatcherServlet

2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。

3、 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

4、 DispatcherServlet通过HandlerAdapter处理器适配器调用处理器

5、 执行处理器(Controller,也叫后端控制器)。

6、 Controller执行完成返回ModelAndView

7、 HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet

8、 DispatcherServlet将ModelAndView传给ViewReslover视图解析器

9、 ViewReslover解析后返回具体View

10、            DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。

11、            DispatcherServlet响应用户

 

 

 

2.常用注解:

@Controller

@RequestMapping(value="/demo"):确定请求访问位置

 @RequestParam(value="url中请求的key") :方法里的形参和请求中的key不一致时,用此注解做映射。

 

@RequestMapping(method={RequestMethod.GET,RequestMethod.POST}):限定请求方式

@PathVariable:解析restful风格的参数

 

3.ModelAndView对象:

ModelAndView modelAndView=new ModelAndView();
modelAndView.addObject("demo","demo");
modelAndView.setViewName("springMVC-demo");

 如果使用Model则可以不使用ModelAndView对象,Model对象可以向页面传递数据,View对象则可以使用String返回值替代。不管是Model还是ModelAndView,其本质都是使用Request对象向jsp传递数据。

4.后台接收集合参数的方法:

5.springMVC可以处理异常。有异常处理机制

6.springMVC可以自定义配置拦截器,和过滤器类似。不过springMVC的拦截器可以在访问controller前,访问controller后进行拦截。详情请看程序总结案例。

(1)preHandle: 在执行controller处理之前执行,返回值为boolean ,返回值为true时接着执行postHandle和afterCompletion,如果我们返回false则中断执行
(2)postHandle:在执行controller的处理后,在ModelAndView处理前执行
(3)afterCompletion :在DispatchServlet执行完ModelAndView之后执行

 

posted @ 2018-03-26 09:58  架构改变世界  阅读(117)  评论(0编辑  收藏  举报