主要内容

  • Spring 与 Web 环境集成
  • SpringMVC简介
  • SpringMVC组件解析


Spring 与 Web 环境集成

首先,之前学的上下文对象,是使用Spring框架的一个重要对象。我们通过相关配置文件引入。但是,每次需要从容器拿Bean时,都要重复获取这个对象很麻烦。
在Web项目中,可以使用ServletContextListener监听Web应用的启动,我们可以在Web应用启动时,就加载Spring的配置文件,创建应用上下文对象ApplicationContext,在将其存储到最大的域servletContext域中,这样就可以在任意位置从域中获得应用上下文ApplicationContext对象了

上面分析不需要手动实现(当然可以手动减掉实现)
只需做以下事情:

  • ①在web.xml中配置ContextLoaderListener监听器(导入spring-web坐标)
  • ①使用WebApplicationContextUtils获得应用上下文对象ApplicationContext
  • image.png
  • image.png
  • image.png

SpringMVC简介

SpringMVC是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架
它通过一套注解,让一个简单的 Java 类(应该指 DispatchServlet)成为处理请求的控制器,而无须实现任何接口。同时它还支持 RESTful编程风格的请求。

  • 快速入门
    • ①导入SpringMVC相关坐标
    • ②配置SpringMVC核心控制器DispathcerServlet
    • ③创建Controller类和视图页面
    • ④使用注解配置Controller类中业务方法的映射地址
    • ⑤配置SpringMVC核心文件 spring-mvc.xml
      • 配置组件扫描
        • SpringMVC基于Spring容器,所以在进行SpringMVC操作时,需要将Controller存储到Spring容器中,如果使用@Controller注解标注的话,就需要使用<context:component-scanbase-package=“com.itheima.controller”/>进行组件扫描。
      • 前后缀设置等等
    • ⑥客户端发起请求测试
  • SpringMVC流程图
    • image.png

SpringMVC组件解析

  • 执行流程
    • image.png
    • 关键3个对象
      • DispatcherServlet
      • HandlerMapping-执行链
      • HandlerAdaptor-寻找执行的Controller(具体执行的Servlet)
      • Handler-具体执行的Servlet
      • 返回,解析并显示
    • 详细说明
      • image.png
    • 前端控制器:DispatcherServlet
    • 处理器映射器:HandlerMapping
    • 处理器适配器:HandlerAdapter
    • 处理器:Handler
    • 视图解析器:View Resolver
    • 视图:View


  • 注解说明
    • @RequestMapping
    • image.png