• springMVC总结


    MVC 全名是 Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写, 是一种用于设计创建 Web 应用程序表现层的模式。使用MVC优点:耦合性低,重用性高,更易维护。缺点:增加结构的复杂性。

    1. springMVC是基于MVC模式的web框架,主要职责就是处理前端用户请求。

    2. SpringMVC处理请求流程:

    1. 用户发送请求至前端控制器DispatcherServlet
    2. DispatcherServlet收到请求调用HandlerMapping处理器映射器。
    3. 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
    4. DispatcherServlet通过HandlerAdapter处理器适配器调用处理器
    5. HandlerAdapter执行处理器(handler,也叫后端控制器)。
    6. Controller执行完成返回ModelAndView
    7. HandlerAdapter将handler执行结果ModelAndView返回给DispatcherServlet
    8. DispatcherServlet将ModelAndView传给ViewReslover视图解析器
    9. ViewReslover解析后返回具体View对象
    10. DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。
    11. DispatcherServlet响应用户

    3. 注解映射器和适配器

    1、注解方式的映射器和适配器在3.1版本前后是不一样的,主讲3.1之后。

    2、注解方式的处理器映射器和处理器适配器必须配对使用。

     

    RequestMappingHandlerMapping:注解式处理器映射器,对类中标记@ResquestMapping的方法进行映射,根据ResquestMapping定义的url匹配ResquestMapping标记的方法,匹配成功返回HandlerMethod对象给前端控制器,HandlerMethod对象中封装url对应的方法Method。 

     RequestMappingHandlerAdapter:注解式处理器适配器,对标记@ResquestMapping的方法进行适配。

    springmvc.xml配置文件中使用<mvc:annotation-driven/>标签替代bean标签配置的注解处理器和适配器

     4. 参数绑定

    客户端通过http请求发送的参数,默认是key/value格式(http://XXXXX?id=1&type=301)的字符串

    springmvc的参数绑定组件,就是将请求参数串中的value值进行类型转换,然后将转换后的值赋值给controller类中方法的形参,这个过程就是参数绑定

     默认支持的参数类型:controller方法形参中可以随时添加如下类型的参数,处理适配器会自动识别并进行赋值

    1. HttpServletRequest

    通过request对象获取请求信息

    1. HttpServletResponse

    通过response处理响应信息

    1. HttpSession

    通过session对象得到session中存放的对象

    1. Model/ModelMap

    ModelMap是Model接口的实现类,通过Model或ModelMap向页面传递数据,相当于Request的作用

    在springmvc中,对于java简单类型的参数,推荐的参数绑定方式有两种:

    1. 直接绑定 : 

      如果http请求的key的名称和controller方法的形参名称一致,就能直接绑定成功。

    2. 注解绑定

    如果http请求参数的key和controller方法的形参名称不一致,则需要使用@RequestParam注解才能将请求参数绑定成功。

    @RequestParam(value = "itemid", required = true, defaultValue = "2")

    绑定POJO类型

    如果提交的参数很多,或者提交的表单中的内容很多的时候可以使用pojo接收数据。要求pojo对象中的属性名和表单中input的name属性一致

     

  • 相关阅读:
    springboot内置分页技术
    打印正三角,倒三角,实心棱形,空心棱形
    显示Pl/Sql Developer window list窗口
    Oracle 中使用正则表达式
    前端使用pdf.js预览pdf文件,超级简单
    tomcat8踩坑:url包含|等特殊字符报错400的问题
    使用 Itext 生成PDF字节数组(文件流不落地)
    使用 Itext 生成PDF
    回车提交事件
    python爬虫之re正则表达式库
  • 原文地址:https://www.cnblogs.com/yintingting/p/8910927.html
Copyright © 2020-2023  润新知