当用户向服务器发送请求时。
在servlet阶段,用户发送请求后,servlet端会接收用户端传来的数据,并通过service层进行业务的处理,再将处理后的结果,通过请求转发或者重定向的方式,反馈给用户。
1 |
|
在整个过程中,我们需要再web.xml文件中配置相应的Servlet。当用户发送不同的请求,我们就需要创建不同的Servlet程序,并且在xml文件中进行配置。
1 | <servlet> |
但是,在实际的开发过程中,一个web工程有很多不同的功能,如果这样,用户发送不一样的请求,就要新建一个servlet,就要配置一个servlet,这样会让代码冗余,而且工作量也十分大。那么怎么解决这个问题呢? SpringMVC很好的解决了这个问题。
在SpringMVC中,你不需要编写servlet程序,因此也不需要在 web.xml中对其进行配置。springMVC对其进行了分离,当用户发送请求时,SpringMVC会通过前端控制器(DispatcherServlet)对用户的请求进行拦截和过滤,分别通过处理器映射、处理器适配、视图解析器处理之后,将结果渲染到视图上。而在此过程中,在处理器适配完成之后,会找到相应的控制器(Controller),进行业务的执行。整个springMVC的执行看下图:
根据上图可以得出具体的执行原理:
1.用户发送请求之后,请求由前端控制器(DispatcherServlet)接收,前端控制器是整个SpringMVC框架的核心。