栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMVC入门案例

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringMVC入门案例

文章目录
    • SpringMVC配置类
    • Controller
    • Servlet容器初始化的配置类
    • 流程分析

SpringMVC是隶属于Spring框架的一部分,主要是用来进行Web开发,是对Servlet进行了封装。

  
    
      javax.servlet
      javax.servlet-api
      3.1.0
      provided
    

    
      org.springframework
      spring-webmvc
      5.2.10.RELEASE
    
  

SpringMVC配置类
// 配置类
@Configuration
@ComponentScan("controller")
public class SpringMVCConfig {

}
Controller
// 等同于 Sevlet的功能
// 它必须是受 SpringMVC 管理的 bean
@Controller
public class UserController {

    @RequestMapping("/save")    // 设置请求访问路径
    @ResponseBody               // 设置响应内容为当前返回值,无需解析
    public String save(){
        // 处理请求
        System.out.println("user save ...");
        return "{'info':'springmvc'}";
    }
}
Servlet容器初始化的配置类
// Servlet容器初始化的配置类
// 作用: 启动服务器的时候把SpringMVC加载上
public class SevletContainersInitConfig extends AbstractDispatcherServletInitializer {
    @Override
    // 加载 SpringMVC配置 对应的容器对象
    protected WebApplicationContext createServletApplicationContext() {
        // 初始化容器对象
        AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
        ctx.register(SpringMVCConfig.class);    // 将SpringMVC配置类注册到容器中
        return ctx;
    }
    @Override
    // 所有的请求 都归 SpringMVC 处理
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }

    @Override
    // 加载 Spring配置 对应的容器对象
    protected WebApplicationContext createRootApplicationContext() {
        return null;
    }
}
AbstractDispatcherServletInitializer 类是SpringMVC提供的快速初始化 Web 3.0容器的抽象类
createServletApplicationContext()方法,创建 Servlet容器时,加载SpringMVC对应的bean并放入
WebApplicationContext对象范围中,而WebApplicationContext的作用范围为 ServletContext范围,即整个Web容器范围

Tomcat服务器一启动,就会把 createServletApplicationContext() 返回的容器加载到 Tomcat的容器中了
这样就可以在 Tomcat中访问到 SpringMVC 的容器了
流程分析

Tomcat服务器启动以后,首先是加载服务器的配置,在Web3.0的规范中,不用web.xml了,而是使用配置类来做。
执行完 SevletContainersInitConfig 这个类以后,首先初始化了Web容器。
之后 createServletApplicationContext() 这个方法返回了一个SpringMVC容器,即 WebAppplicationContext,具体加载到了Web容器中的
ServletContext里。WebApplicationContext里面加载SpringMVC管理的Bean

Spring容器 SpringMVC容器 web容器的关系
webApplicationContext 与servletContext

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/841521.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号