SpringMvc详解

1、SpringMVC简介

1.1 背景

Servlet属于web层开发技术,技术特点:

  1. 每个请求都需要创建一个Servlet进行处理
  2. 创建Servlet存在重复操作
  3. 代码灵活性低,开发效率低

是否有技术方案可以解决以上问题?

1.2 SpringMVC概述

  • SpringMVC是一种基于Java实现MVC模型的轻量级Web框架
  • 详细介绍见官网:https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc
  • 优点
    • 使用简单、开发便捷(相比于Servlet)
    • 灵活性强

1.3 技术体系定位

  • web程序通过浏览器访问前端页面,发送异步请求到后端服务器
  • 后台服务器采用三层架构进行功能开发
    • 表现层负责接收请求和数据然后将数据转交给业务层
    • 业务层负责调用数据层完成数据库表的增删改查,并将结果返给表现层
    • 表现层将数据转换成json格式返回给前端
  • 前端页面将数据进行解析最终展示给用户。

变现层采用SpringMVC框架,SpringMVC主要负责的内容有:

  • controller如何接收请求和数据
  • 如何将请求和数据转发给业务层
  • 如何将响应数据转换成json发回到前端

2、快速入门

2.1 目的

​ 能基于SpringMvc快速开发一个web应用

2.2 需求

​ 搭建SpringMvc工程,定义UserController.save()方法处理/save请求,返回"{‘module’:‘springmvc’}"。

2.3 步骤

  1. 创建Maven项目,并导入对应的jar包
  2. 创建控制器类
  3. 创建配置类
  4. 创建Tomcat的Servlet容器配置类

2.4、代码实操

  1. 创建Maven项目,并导入对应的jar包

打开IDEA,创建一个新的maven项目

添加SpringMVC需要的依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.itheima</groupId>
  <artifactId>springmvc_01_quickstart</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>
  <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
   </properties>
   <!--1. 导入SpringMVC与servlet的坐标--> 
  <dependencies>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.2.10.RELEASE</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.1</version>
        <configuration>
          <port>8080</port>
          <path>/</path>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

**说明:**servlet的坐标为什么需要添加<scope>provided</scope>?

  • scope是maven中jar包依赖作用范围的描述,
  • 如果不设置默认是compile在在编译、运行、测试时均有效
  • 如果运行有效的话就会和tomcat中的servlet-api包发生冲突,导致启动报错
  • provided代表的是该包只在编译和测试的时候用,运行的时候无效直接使用tomcat中的,就避免冲突
  1. 创建控制器类
//2.制作控制器类,等同于Servlet
//2.1必须是一个spring管理的bean
//2.2定义具体处理请求的方法
//2.3设置当前方法的访问路径
//2.4设置响应结果为String类型数据
@Controller
public class UserController {
    
    @RequestMapping("/save")
    @ResponseBody
    public String save(){
        System.out.println("user save ...");
        return "springmvc";
    }
}

  1. 创建配置类
//3.定义配置类加载Controller对应的bean
@Configuration
@ComponentScan("com.itheima.controller")
public class SpringMvcConfig {
}
  1. 创建Tomcat的Servlet容器配置类
//4.定义servlet容器的配置类
public class ServletContainersInitConfig extends AbstractDispatcherServletInitializer {
    //加载springMVC配置
    protected WebApplicationContext createServletApplicationContext() {
        //初始化WebApplicationContext对象
        AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
        //加载指定配置类
        ctx.register(SpringMvcConfig.class);
        return ctx;
    }

    //设置Tomcat接收的请求哪些归SpringMVC处理
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }

    //设置spring相关配置
    protected WebApplicationContext createRootApplicationContext() {
        return null;
    }
}
  1. 配置Tomcat环境

  2. 启动运行项目

  3. 浏览器访问

浏览器输入http://localhost/save进行访问,可以看得如下内容

至此SpringMVC的入门案例就已经完成。

2.5、测试工具

2.5.1 PostMan简介

代码编写完后,我们要想测试,只需要打开浏览器直接输入地址发送请求即可。但是我们如果我们发送的是GET请求可以直接使用浏览器,但是如果要发送的是POST请求呢?

如果要求发送的是post请求,我们就得准备页面在页面上准备form表单,测试起来比较麻烦。所以我们就需要借助一些第三方工具,如PostMan.

  • PostMan是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。
  • 作用:常用于进行接口测试
  • 特征
    • 简单
    • 实用
    • 美观
    • 大方

2.5.2 PostMan安装

双击资料\Postman-win64-8.3.1-Setup.exe即可自动安装,

安装完成后,如果需要注册,可以按照提示进行注册,如果底部有跳过测试的链接也可以点击跳过注册

看到如下界面,就说明已经安装成功。

2.5.3 PostMan使用

  • 创建WorkSpace工作空间

  • 发送请求

  • 保存当前请求

**注意:**第一次请求需要创建一个新的目录,后面就不需要创建新目录,直接保存到已经创建好的目录即可。

2.6 知识点总结

  1. @Controller
名称@Controller
类型类注解
位置SpringMVC控制器类定义上方
作用设定SpringMVC的核心控制器bean
  1. @RequestMapping
名称@RequestMapping
类型类注解或方法注解
位置SpringMVC控制器类或方法定义上方
作用设置当前控制器方法请求访问路径
相关属性value(默认),请求访问路径
  1. @ResponseBody
名称@ResponseBody
类型类注解或方法注解
位置SpringMVC控制器类或方法定义上方
作用设置当前控制器方法响应内容为当前返回值,无需解析
  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

攒了一袋星辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值