SpringMVC的运行原理(自理解)

StringMVC有一个核心控制器DispatcherServlet,当我们项目启动的时候,首先会加载我们项目的web.xml配置文件,我们就
在这个里面配置核心控制器,核心控制器的本质是一个Servlet,我们会在web.xml里配置一个servlet-mapping标签,再在这个
标签里配置url-partter标签,这个标签决定哪些请求会被核心控制器所拦截,一般来说配置*.do或者/*。那么请求被核心控制器
拦截之后,核心控制器会通过HandlerMapping去解析用户的请求路径,因为我们Controller类里和类中的方法上都加了
@RequestMapping注解,HandlerMapping就会根据注解和请求路径找到用户想要调用的类和类中的方法,在进方法之前,
SpringMVC还会根据方法的参数列表封装请求中的参数。
如果我们想要在参数里加入一个日期类型的参数,那么类里设置String类型的不会出错,如果是Date类型的话需要在类中的次
参数上加上@DateTimeFormat(pattern=“yyyy-MM-dd”)注解。在进入方法之前会率先执行请求数据的封装,封装请求错误
是进不去方法的。封装成功才能进入方法。进入方法之后,可以调用Service层处理业务逻辑,处理完成以后,我们需要将数据
返回给页面,SpringMVC为我们提供了一个对象叫ModelAndView,我们可以吧数据封装到Model中,然后存入师徒名称。
然后把ModelAndView,就会被视图解析器接受,视图解析器中我们配置了一个前缀和后缀,视图解析器会用前缀拼接上视图
名称再拼接后缀主城页面的完整路径,将Model中的数据转发到对应的页面中。

猜你喜欢

转载自blog.csdn.net/qq_43149841/article/details/86663507