SpringMVC有几个核心概念
1. ContextLoaderLister
主要完成加载配置的工作。会读取web.xml中contextConfigLocation参数,去加载配置文件。默认的找applicationContext.xml
2. DispatcherServlet
springMVC的心脏,负责HTTP截获请求,并将请求分配给SpringMVC的各组件(如Controller)。
3. HandlerMapping
完成寻找Controller的工作。HandlerMapping中将Controller信息以<key,value>的形式存到Map中,key就是url的信息。DispatcherServlet从HaddlerMapping中寻找controller
4. Controller
通过@Controller注解的类,可以处理HTTP请求。使用@Controller注解,spring会自动创建对应的bean。controller返回的是ModelAndView。
5. ModelAndView
Model是模型,用于存放数据,数据以key-value的形式存放
View是视图,就是展示给用户的页面。
ModelAndView包含了一个ModelMap和一个视图View
ModelMap执行视图的渲染,如视图是jsp, Model中存放的数据会通过request.setAttribute放到request中,在渲染视图的时候就会通过request.getAttribute(key)获取数据。