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

SpringMVC入门案例

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

SpringMVC入门案例

SpringMVC入门案例 概述

SpringMVC是基于Spring技术的一款MVC框架,所谓MVC是web开发的一种经典设计模式,c指的是Controller(控制器),m是model(模型)及是通常我们所建的那些类,v(视图层)就是那些前端所能看见的页面 。主要是用来进行Web开发,是对Servlet进行了封装。

特点:

  • 轻量级,简单易学
  • 高效 , 基于请求响应的MVC框架
  • 与Spring兼容性好,无缝结合
  • 约定优于配置
  • 功能强大:RESTful、数据验证、格式化、本地化、主题等
  • 简洁灵活

以下是SpringMVC流程图。


SpringMVC入门案例(全注解)
  • SpringMVC的制作过程和Servlet开发流程几乎是一致的,具体的实现流程是如下:

    1.创建web工程(Maven结构)

    2.设置tomcat服务器,加载web工程(tomcat插件)

    3.导入坐标(SpringMVC+Servlet)

    4.定义处理请求的功能类(UserController)

    5.设置请求映射(配置映射关系)

    6.将SpringMVC设定加载到Tomcat容器中

  • 创建一个Maven工程后,在.pom文件中添加相应的依赖坐标

 
    
      javax.servlet
      javax.servlet-api
      3.1.0
      provided
    
    
      org.springframework
      spring-webmvc
      5.2.10.RELEASE
    
  

  
    
      
        org.apache.tomcat.maven
        tomcat7-maven-plugin
        2.1
        
          8095
          /
        
      
    
  

  • 创建配置类

    @Configuration
    @ComponentScan("com.itheima.controller")
    public class SpringmvcConfig {
    }
    

    @Configuration代表此类是个配置类,代替了配置文件中的SpringMVC的下xml文件。

    @ComponentScan代表此配置类作用在哪个包结构下。

  • 创建Controller类

    @Controller
    public class UserController {
        
        @RequestMapping("/save")
        @ResponseBody
        public void save(){
            System.out.println("user save ...");
          return "{'info':'springmvc'}";
        }
    }
    

    @Controller代表此类是在控制层,被Spring容器控制的类。

    @RequestMapping代表前端访问此注解中的地址时就执行该方法,这里的sava方法就是打印了一句话。

    @ResponseBody代表此方法返回的数据格式为json格式。

  • 使用配置类代替Web项目中的web.xml文件。

    将原来的web.xml文件删除,创建一个配置类ServletContainersInitConfig(类名可以随意取);

    public class ServletContainersInitConfig extends AbstractDispatcherServletInitializer {
        @Override//加载Springmvc配置类
        protected WebApplicationContext createServletApplicationContext() {
            AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
            //加载指定配置类
            ctx.register(SpringmvcConfig.class);
            return ctx;
        }
    
        @Override//设置由springmvc控制器处理的请求映射路径
        protected String[] getServletMappings() {
            return new String[]{"/"};
        }
    
        @Override//加载Spring配置
        protected WebApplicationContext createRootApplicationContext() {
           return null;
    
        }
    }
    

    这里主要是继承AbstractDispatcherServletInitializer再重写它三个方法,入门案例没有Spring配置类,所以主要是加载Springmvc配置类和设置有springmvc控制器处理的请求映射路径方法需要有返回值。

  • 配置Tomcat环境

  • 启动项目

    • 访问路径进入浏览器在路径后加上“/save”访问。
      浏览器页面:

      控制台打印:user save …

    此次SpringMVC全注解开发案例就完成了,可以看出代码量不多,只需要设置两个配置类加一个Contorller类。再加上相对应的注解和请求路径就好。

    注意事项:

    • 案例中的端口是8095;

    • SpringMVC是基于Spring的,在pom.xml只导入了spring-webmvcjar包的原因是它会自动依赖spring相关坐标

    • AbstractDispatcherServletInitializer类是SpringMVC提供的快速初始化Web3.0容器的抽象类

    • AbstractDispatcherServletInitializer提供了三个接口方法供用户实现

      • createServletApplicationContext方法,创建Servlet容器时,加载SpringMVC对应的bean并放入WebApplicationContext对象范围中,而WebApplicationContext的作用范围为ServletContext范围,即整个web容器范围
      • getServletMappings方法,设定SpringMVC对应的请求映射路径,即SpringMVC拦截哪些请求
      • createRootApplicationContext方法,如果创建Servlet容器时需要加载非SpringMVC对应的bean,使用当前方法进行,使用方式和createServletApplicationContext相同。
      • createServletApplicationContext用来加载SpringMVC环境
      • createRootApplicationContext用来加载Spring环境
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/851796.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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