【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项目中。

 

posted @ 2021-02-09 16:41  枫叶像思念  阅读(96)  评论(0编辑  收藏  举报