SpringMVC的中心控制器
SpringMVC中心控制器流程解析
处理器映射器、处理器适配器、视图解析器(三者均在springmvc-servlet.xml中配置)
<!--处理映射器-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!--处理器适配器-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!--视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
<!--前缀-->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!--后缀-->
<property name="suffix" value=".jsp"/>
</bean>
中心控制器DispatcherServlet对三者统一调度:
- 用户发送请求
http://localhost:8080/hello
,在项目中web.xml中配置的中心控制器接收请求; - 中心控制器将请求发送给处理器映射器,根据接收到的url路径 “hello”,在文件中找到对应的实体类
如:
将相关信息返回给控制器<bean id="/hello" class="com.yang.Controller.HelloController"/>
- 控制器将信息传递给处理器适配器,处理器适配器调用具体的Controller类进行业务操作,从数据库获取信息,最后返回给中心控制器,返回的信息既有模型Model的数据,又包含指定的视图名称
- 中心控制器将从处理器适配器获得的信息发送给视图解析器,有视图解析器找到对应的视图
- 视图解析器找到视图后将数据在对应视图中渲染,响应用户请求,将页面呈现在用户眼中