MVC() 三层设计架构,
Model —对应组件 javaBean
controller —servlet 层
view(视图)–jsp 和 html
请求流程:
1、用户发送请求到前端控制器(DispatcherServlet)。
2、前端控制器 请求 处理器映射器(HandlerMapping)去查找处理器(Handler)。
handlerMapping 的工作 就是 根据 请求路径 查找处理器
3、找到以后处理器映射器(HandlerMappering)向前端控制器返回执行链(HandlerExecutionChain)。
4、前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行处理器(Handler/Controller)。
5、处理器适配器去执行Handler。
6、处理器执行完给处理器适配器返回ModelAndView。
7、处理器适配器向前端控制器返回ModelAndView。
8、前端控制器请求视图解析器(ViewResolver)去进行视图解析。
//多视图解析器
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="favorParameter" value="true"></property>
<property name="defaultContentType" value="text/html"></property>
<property name="mediaTypes">
<map>
<entry key="html" value="text/html;charset=UTF-8"></entry>
<entry key="json" value="application/json;charset=UTF-8"></entry>
<entry key="xml" value="application/xml;charset=UTF-8"></entry>
</map>
</property>
<property name="viewResolvers">
<list>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
</list>
</property>
</bean>
9、视图解析器向前端控制器返回View。
10、前端控制器对视图进行渲染。
11、前端控制器向用户响应结果。
搭建步骤:
.jar包
.配置文件(web.xml , MVC配置文件)
<servlet>
<servlet-name>spring</servlet-name>
<!-- 前端控制器接收客户端请求 -->
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc_servlet.xml</param-value>
</init-param>
<!-- 加载 web.xml 同时 加载 servlet.xml -->
<load-on-startup>1</load-on-startup>
</servlet>
.mvc 配置视图解析器 InternalResourceViewResolve