1、SpringMVC是什么?
SpringMVC是Spring的一个子框架,有Spring的特性,比如依赖和注入;
MVC指Model、View和Controller相互分离,进行分层工作。
2、MVC的信息流
用户通过http发送请求到服务器,服务器根据url将请求转发到不同的controller,方式都是设法建立url到controller的映射:
方法一:直接将bean name改成url:
<bean name=”/product_input” class="com.ap.ProductInputController" />
直接将/product_input
这个url请求转发到了ProductInputController
类上。(不流行了)
方法二:注解法
取名可以随意
<bean name=”product” class="com".ap.ProductInputController />
注解RequestMapping专门负责映射url:
@RequestMapping(name="product_input")
addProduct()
该操作可以将product_input这个url 映射到addProduct这个方法。
————小结:使用框架时,细节是封装好的,我们只需做两件事。一是确定url,二是找到其对应的类。(这里有两个类,一个是SpringMVC自带的DispatcherServlet,另一个是自己处理业务的类,比如ProductController。)
1、用户发送http请求到DispatchController类,该类根据url转发到具体的xxController;
2、xxController有两个作用,一是组织数据生成model(model即是存放数据的地方),二是选择适当的view。接着将model和view一起返回给DispatchServlet;
3、DispatchServlet将model和view融合,即将view里的变量变成具体的值,然后view就变成了一个HTML页面,返回给用户。
出处:https://blog.youkuaiyun.com/zhaohongyan6/article/details/71078051
前端控制器会将请求传给HandleMapping,由它来分配具体Controller。