当前位置: 首页 > news >正文

Spring MVC 快速入门指南及实战演示

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.wwc</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是maven中jar包依赖作用范围的描述,
  • 如果不设置默认是`compile`在在编译、运行、测试时均有效
  • 如果运行有效的话就会和tomcat中的servlet-api包发生冲突,导致启动报错
  • provided代表的是该包只在编译和测试的时候用,运行的时候无效直接使用tomcat中的,就避免冲突

2 创建控制器类

//2.制作控制器类,等同于Servlet
//2.1必须是一个spring管理的bean
//2.2定义具体处理请求的方法
//2.3设置当前方法的访问路径
//2.4设置响应结果为String类型数据
@Controller
public class UserController {@RequestMapping("/save")@ResponseBodypublic String save(){System.out.println("user save ...");return "springmvc";}
}

3 创建配置类

//3.定义配置类加载Controller对应的bean
@Configuration
@ComponentScan("com.WWC.controller")
public class SpringMvcConfig {
}

4 创建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;}
}

配置Tomcat环境 

浏览器访问 

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

2.5、测试工具 

2.5.1 PostMan简介

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

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

PostMan是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件 

  •  作用:常用于进行接口测试
  • 特征
    • 简单
    • 实用
    • 美观
    •  大方

2.5.2 PostMan安装

登入官网安装即可

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

 

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

2.6 知识点总结

http://www.lryc.cn/news/413919.html

相关文章:

  • 在线测评系统(未完结)
  • Python 爬虫项目实战(一):破解网易云 VIP 免费下载付费歌曲
  • PTA 6-7 统计某类完全平方数
  • PyFilesystem2 - Python 操作文件系统
  • Bug小记:关于servlet后端渲染界面时出现的问题小记1P
  • 智慧水务项目(二)django(drf)+angular 18 创建通用model,并对orm常用字段进行说明
  • <数据集>人员摔倒识别数据集<目标检测>
  • npm install 报错 ‘proxy‘ config is set properly. See: ‘npm help config‘
  • 爬虫问题---ChromeDriver的安装和使用
  • Spring的配置类分为Full和Lite两种模式
  • 探索Perl的代码生成艺术:利用编译器后端释放潜能
  • 21 B端产品经理之技术常识(1)
  • 数据结构基础详解(C语言):单链表_定义_初始化_插入_删除_查找_建立操作_纯c语言代码注释讲解
  • 【智能时代的创新工具】LangChain快速入门指南:轻松掌握语言模型的集成与运用
  • 文献阅读:细胞分辨率全脑图谱的交互式框架
  • YAML基础语言深度解析
  • xcode使用
  • OV2640引脚的定义(OV2640 FPC模组规格书(接口线序))
  • CTFSHOW 萌新 web10 解题思路和方法(passthru执行命令)
  • 深入Java数据库连接和JDBC
  • 灰狼优化算法(GWO)与长短期记忆网络(LSTM)结合的预测模型(GWO-LSTM)及其Python和MATLAB实现
  • 电路板热仿真覆铜率,功率,结温,热阻率信息计算获取方法总结
  • C#中多线程编程中的同步、异步、串行、并行及并发及死锁
  • 【Lampiao靶场渗透】
  • 使用WebSocket实现log日志流的实时展示-从轮询到通知
  • UE5 从零开始制作跟随的大鹅
  • O’Reilly
  • 优盘驱动器未格式化:数据拯救行动指南
  • 4.Handler mappings
  • 《学会 SpringMVC 系列 · 消息转换器 MessageConverters》