zoukankan      html  css  js  c++  java
  • 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之后执行

  • 相关阅读:
    基于密度的optics聚类算法
    unicode编码和utf-8编码详解
    聚类分析之k-prototype算法解析
    python学习笔记之正则表达式1
    聚类分析之模糊C均值算法核心思想
    Matlab编程笔记之GUI程序转exe
    Matlab学习笔记之安装教程
    SVPWM原理分析-基于STM32 MC SDK 5.0
    Allego Quick Reports
    SVPWM-实战
  • 原文地址:https://www.cnblogs.com/hongyuansu/p/8613292.html
Copyright © 2011-2022 走看看