大家对于springmvc都不会陌生,那么具体的来说,springmvc的工作原理又是怎样的呢?一起来了解一下springmvc的具体原理吧!
SpringMVC工作流程简述:
一、客户端向web服务器(如tomcat)发送一个http请求,web服务器对http请求进行解析,解析之后的URL地址假如匹配了DispatcherServlet的映射路径(通过web.xml中的servlet-mapping配置),web容器就将请求交给DispatcherServlet处理。
二、DispatcherServlet接收到这个请求之后,再对URL进行解析,得到请求资源标识符(URI)。
之后调用相应方法得到的HandlerMapping对象,再依据URI,调用这个对象的相应方法获得Handler对象以及它对应的拦截器。(在这里只是获得了Handler对象,并不会操作它,在SpringMVC中,是通过HandlerAdapter对Handler进行调用、控制的)
三、DispatcherServlet依据得到的Handler对象,选择一个合适的HandlerAdapter,创建其实例对象,执行拦截器中的preHandler()方法。
四、在拦截器方法当中,提取请求中的数据模型,填充Handler入参,所有的准备工作都已经做好了,开始执行Handler(我们所写的controller代码不是可以被直接执行的,一定要有刚才的那些操作,才可以转变成Handler被执行)。
五、Handler执行完毕之后,返回一个ModelAndView对象给DispatcherServlet。
六、这个ModleAndView只是一个逻辑视图,并不是真正的视图,DispatcherServlet通过ViewResolver视图解析器将逻辑视图转化为真正的视图。
七、DispatcherServlet通过Model将ModelAndView中得到的处数据解析后用于渲染视图。
最后,将得到的最终视图通过http响应返回客户端。
以上就是关于springmvc的工作原理的介绍了,大家都了解了吗?更多关于springmvc内容,可以继续的来本站了解哦。