spring mvc介绍和demo

基本概念

  DispatcherServlet:这个就类似于前端分发器。用于分发前端的请求到具体的Controller。然后获取数据到前端。
  Controller:就是控制层。
  HandlerAdapter:Handler是DispacherServlet使用的,是controller的一个表现形式。我们的DispatcherServlet调用Controller就是以调用Handle来调用的,而HanDlerAdapter则是将不同类型的类适配为我们这个DispacherServlet可以使用的类。
  handleInterceptor:就是拦截器,就是在Handle上加上一些拦截器。
  HandleMapping:顾名思义,Handle是DispacherServlet调用Controller的一个过渡中间对象,那么这个就是前段访问对应那个Controller。以及这个Controller的拦截器。
  HandlerExecutionChain:调用的Controller按照拦截器的模式前置拦截,以及后置拦截器等拦截器的链条。
  ModelAndView:这就是model的显示类型。
  ViewResolve:视图解析器。根据配置找到确切的视图对象告诉DispacherServlet。
  View:界面显示。
aaa
aaa
  请求从浏览器发送经过DispacherServlet的HandleMapping找到对应的Controller以及其拦截器。从而生成一个Handle给DispacherServlet,让其调用,生成一个model就是数据模型,然后DispacherServlet调用ViewResolve找到view,吧数据model注入进去,并且把这个view返回给Response。

配置解析

  web.xml文件解析。
  这个文件是用来加载初始化信息的,当服务容器开始启动时,先加载web.xml文件。里面的元素配置信息加载顺序为:context-param>listener>filter>servlet
  第一步,获取到context-param的值,然后创建这个web项目的上下文,然后创建listener的实例,从而获取到相关信息。最后则是加载filter的实例。
  web.xml文件启动大致分为2个部分。
  ContextLoad而Listener的初始化,实例化话ioc,并且将这个ioc注册到application中。
  DispacherServlet的初始化。
  我们知道Spring容器加载配置文件后,会生成一个上下文,而springmvc加载配置文件后也会生成一个上下文,为什么这样划分呢???这样的,我们的应用可能给不同类型的人分发请求,那么就会有多个DispacherServlet,呢么就有多个上下文,而spring的上下文则是公共的,那么就会少加载初始化一些类。

拦截器

aaa
  这里配置多个拦截器如下所示。
aaa

demo样例

  可以自己下载运行调试。
  点我一下就到了

猜你喜欢

转载自www.cnblogs.com/donghang/p/9233774.html