SpringMVC的执行原理

SpringMVC

》SpringMVC是什么
spring的组件,用来对web开发进行封装,使得web开发便捷高效


》使用体验
1.一个普通的类可以接受请求
2.类的方法来处理请求
3.请求参数自动封装
4.方法的返回值可以是页面片段也可以是逻辑视图,普通字符串

》使用回顾
1.通过浏览器发送请求
  http://localhost:8080/toAdminList
2.请求到达web服务器,由springmvc的DispacherServelet接受请求
  它配置在web.xml中,用来接收所有非.jsp的请求
3.DispacherServelet接收请求后,会调用HandlerMapping处理器映射器,去查找相应的处理器
  先找到被注解为Controller的类
  再拿到请求url与类中方法上面的注解@RequestMapping的参数进行比对
  找到url中,把这个处理返回给DispacherServelet
4.DispacherServelet拿到具体的处理器后,会调用处理器适配器执行控制器中具体的方法,处理请求
5.具体的处理器来处理请求
  调用业务逻辑层,
    调用dao层
      操作数据库
6.处理器把处理完的数据返回给DispacherServelet
  数据
    放到Model中
  逻辑视图
    方法的返回值
7.DispacherServelet接收到Model and view
  会调用视图解析器来解析视图view
    在配置文件中自己配置的视图解析器
8.视图解析器拿到逻辑视图view后
  会通过配置的信息,加上前后缀找到具体的视图
  找到视图后返回给DispacherServelet
9.DispacherServelet接收到解析出的视图后
  会拿到Model中的数据去渲染视图
    如果视图是jsp的话,通过el和jstl表达式来把数据显示到页面上
10.DispacherServelet把渲染好的视图响应给浏览器

》与Servlet比较
1.servlet是类级别的请求处理
2.servlet获取参数要手动获取,并要自己对参数的数据类型进行响应的转换
3.springmvc是方法级别的处理方式
4.springmvc可以自动封装各种类型的参数
5.springmvc在使用过程中没有特定的api


原文地址:https://www.cnblogs.com/longmo666/p/13552487.html