Home 成长之路 Leetcode题解 SpringMVC执行原理

SpringMVC执行原理

此处应有图

 

 

 

 

简要分析执行流程

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

我们假设请求的url为:http://localhost:8080/SpringMVC/hello

如上url拆分成三部分:

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

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

hello表示控制器

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

 

2.HandlerMapping为处理器映射;DispatcherServlet调用HandlerMapping,HandlerMapping根据请求url查找Handler;

 

3.HandlerExecution表示具体的Handler,其主要作用是根据url查找控制器, 如上url被查找控制器为:hello

 

4.HandlerEexcution将解析后的信息传递给DispatcherServlet,如解析控制器映射等

 

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

 

6.Handler让具体的Controller执行

我们需要实现封装对象和视图跳转

7.Controller将具体的执行信息返回给HandlerAdapter,如ModelAndView(给前端带一些数据并执行前端页面是哪个)

 

8.HandlerApater将视图逻辑名或模型床底给DispatcherServlet

 

9.DispatcherServlet调用视图解析器(ViewResolver)来解析HanlerAdapter传递的逻辑视图名

<!--    视图解析器:DispatcherServlet给他的ModelAndView
        1.获取了ModelAndView
        2.解析ModelAndView的视图
        3.拼接视图名字,找到对应的视图    /WEB-INF/jsp/hello.jsp
        4.将数据渲染到这个视图上
-->
<!--    添加视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <!--    前缀-->
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <!--    后缀-->
    <property name="suffix" value=".jsp"/>
</bean>

10.视图解析器将解析的逻辑视图名传递给DispatcherServlet

 

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

 

12.最终视图呈现给用户

 

 

程序员所要做的事:

1.Controller层调用业务层

2.设置视图返回的名字

 

SIMILAR ARTICLES

0 104

0 99

发表评论

发表评论