zoukankan      html  css  js  c++  java
  • 【SpringMVC】用demo了解执行流程(xml配置)

     先看这张图看不懂没有关系。

    我们使用一个小demo来了解一下执行流程。

    (1)DispatcherServlet

    表示前置控制器,是整个SpringMVC的控制中心。用户发出请求,DispatcherServlet接收请求并拦截请求。  

    我们假设请求的url为 :

    http://localhost:8080/SpringMVC/hello

     

    如上url拆分成三部分:

    http://localhost:8080服务器域名

    SpringMVC部署在服务器上的web站点

    hello表示控制器

    通过分析,如上url表示为:请求位于服务器localhost:8080上的SpringMVC站点的hello控制器。

    我们都知道什么servlet都应该去web.xml进行注册。

    在这里,我们不需要手动去写servlet的实体类,使用spring的提供的。

     在下面有两个东西:

    init-param是参数:我们看到了context就可以联想到spring的上下文吧(applicationContext)

    所以这个是引用spring的配置文件的参数。 name是参数名 value是我们项目中的spring配置文件的所在地。

    load-on-starup是启动级别,表示servlet的加载顺序。

    (2)HandleMapping处理器映射器

    DispatcherServlet调用HandlerMapping,HandlerMapping根据请求url查找Handler。

    前面那个http://localhost:8080/SpringMVC/hello的例子

    寻找/hello的handler。然后返回执行链到dipatcherServlet。

    (3)HandlerAdapter处理器适配器

    HandlerAdapter表示处理器适配器,其按照特定的规则去执行Handler。

    (handler不一定是controller。controller一定是handler)

    Controller将具体的执行信息返回给HandlerAdapter,如ModelAndView。

    HandlerAdapter将视图逻辑名或模型传递给DispatcherServlet。

    (4)视图解析器(ViewResolver)

    解析HandlerAdapter传递的逻辑视图名。

    视图解析器将解析的逻辑视图名传给DispatcherServlet。

    DispatcherServlet根据视图解析器解析的视图结果,调用具体的视图。

    最终视图呈现给用户。

    可能会遇到启动tomcat之后网页出现404的情况。

    需要将依赖导入打包war项目中。

  • 相关阅读:
    Day10
    Day9
    Day8
    Day 7
    Day-6
    java中的原子性
    java 原子性
    内存可见性
    JVM 常忘笔记
    JVM 解释执行 编译执行 JIT
  • 原文地址:https://www.cnblogs.com/cckong/p/14393418.html
Copyright © 2011-2022 走看看