2.0、SpringMVC的执行原理

这是SpringMVC的执行原理图,实线的地方是Spring帮我们做的,只有虚线的地方是需要我们自己去完成的。
以下是SpringMVC的执行原理步骤:
· 用户发出请求
· DispatcherServlet拦截并接受处理该请求
· DispatcherServlet会调用spring-mvc.xml文件中HandlerMapping处理器来根据用户请求的url来找到一个Controller控制器,然后返回给DispatcherServlet
· 然后DispatcherServlet会调用HandlerAdapter去根据刚刚HandlerMappering找到的Controller去适配一个确定的Controller然后确保他执行里面的内容
·在Controller中调用业务逻辑层数据,存入ModelAndView中,并设置视图跳转
·视图解析器接收ModelAndView中的数据,并拼接好跳转的url执行跳转,并将数据渲染到该视图页面

强调重点:
/ 和 /* 的区别在哪?
/ :只会去匹配所有的请求,但不会匹配jsp页面
/*: 匹配所有的请求,包括jsp页面
也就是说如果我们配置的时候写的是/*,那么在我们请求例如hello.jsp的时候他也会去匹配到,然后交给视图解析器解析的时候就会出现WEB-INF/jsp/hello.jsp.jsp

在配置第一行和最后一行,我们可以看到配置了一个处理器映射器和一个Controller的bean,这两个其实在实际的开发中是不需要这么写的,在真正的开发过程中我们会通过注解去实现这些繁琐的配置,现在这么写只是因为这样更容易弄清楚原理。
886

被折叠的 条评论
为什么被折叠?



