JavaEE——spring MVC请求处理

embedded/2024/9/22 19:24:49/

目录

主要目的:

1. Spring web 项目搭建

2. 添加依赖

3. 配置插件

4. 配置设置类

5. 编写controller层类

6. 编写测试的http请求


主要目的:

创建一个spring web项目;

创建控制类;

掌握如何配置MVC;

编写http请求用例,模拟后端读取数据并做处理。

1. Spring web 项目搭建

项目创建好的一个文件结构

2. 添加依赖

依赖添加完成记得刷新maven下载依赖!

<!-- Junit 测试依赖 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!-- Spring MVC 依赖 --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.0</version></dependency><!-- Lombok 依赖,用于减少Java的样板代码 --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.22</version><scope>provided</scope></dependency>
<!-- Jackson JSON处理库的核心依赖 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.13.1</version></dependency><!-- Jackson 数据绑定库 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.13.1</version></dependency><!-- Jackson 注解库 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.13.1</version></dependency>
<!-- Servlet API 依赖 --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency>
<!-- 构建配置 --><build><!-- 插件管理配置 --><pluginManagement><plugins><!-- Tomcat Maven 插件配置 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.1</version><configuration><port>8081</port> <!-- 端口 --><path>/api</path> <!-- 路径 --></configuration></plugin></plugins></pluginManagement></build>

3. 配置插件

4. 配置设置类

① 创建实体类

② 配置MVC:在config包中创建一个名为MvcConfig的类;  @EnableWebMvc 是一个Spring框架的注解,用于在基于Java的Spring应用程序中启用Spring MVC(Model-View-Controller)配置。通常将它应用于带有@Configuration注解的配置类上。

在config包中创建一个名为MvcInit的类,它继承了AbstractAnnotationConfigDispatcherServletInitializer

配置Spring的根容器和Spring MVC子容器

指定DispatcherServlet的URL映射

配置字符编码过滤器,以确保应用程序能够处理UTF-8编码

public class MvcInit extends AbstractAnnotationConfigDispatcherServletInitializer {/*** springmvc容器的父容器spring配置类* 实际工作中我们的项目比较复杂,可以将controller层放在springmvc容器中* 其他层,如service层、dao层放在父容器了,bean管理起来更清晰一些* 也可以没有父容器,将所有bean都放在springmvc容器中*/@Overrideprotected Class<?>[] getRootConfigClasses() {return new Class[0];}// ②:2、设置springmvc容器的spring配置类@Overrideprotected Class<?>[] getServletConfigClasses() {return new Class[]{MvcConfig.class};}// ③:3、配置DispatcherServlet的url-pattern@Overrideprotected String[] getServletMappings() {return new String[]{"/"};}// ④:4、注册拦截器@Overrideprotected Filter[] getServletFilters() { // 配置Servlet过滤器CharacterEncodingFilter filter = new CharacterEncodingFilter();// 创建字符编码过滤器filter.setEncoding("UTF-8"); // 设置字符编码为UTF-8return new Filter[]{filter}; // 返回过滤器数组,确保正确处理字符编码}}

5. 编写controller层类

① 在Controller包下创建控制器类如:xxxIndexController.java

 使用 @RestController 注解将其标记为 Spring MVC 控制器且该控制器方法将直接返回 JSON 格式的数据。

使用 @RequestMapping 注解来定义处理默认请求(根路径‘/’)的方法。

使用 @GetMapping、@PutMapping、@DeleteMapping 注解定义处理用户的登入、注册、根据id批量删除请求。

6. 编写测试的http请求

① 在项目的根目录下创建一个request.http文件用于给后端发送http请求


http://www.ppmy.cn/embedded/16328.html

相关文章

无人机+遥控器:遥控数传链路二合一远距离传输遥控器技术详解

无人机遥控器是无人机飞行控制的重要组成部分&#xff0c;用于向无人机发送控制指令和接收无人机的状态信息。无人机遥控器通常具备多种功能&#xff0c;如开关机、起飞降落、飞行方向控制、摄像头控制等。 无人机遥控器大多数都具备以下基本特点&#xff1a; 无线传输&#x…

多组学+机器学习+膀胱癌+分型+建模

这是一个基于多组学机器学习的分型建模文章&#xff0c;这里我们大概介绍一下&#xff0c;这篇文章做了啥 一、研究背景 1、尿路上皮癌是高度恶性的肿瘤&#xff0c;预后差&#xff0c;死亡率高 2、没有明显有效的治疗方法&#xff0c;多数患者在免疫治疗中无法受益&#xf…

Mockaroo - 在线生成测试用例利器

简介&#xff1a;Mockaroo 是一个无需安装的在线工具&#xff0c;用于生成大量的自定义测试数据。它支持多种数据格式&#xff0c;如JSON、CSV、SQL和Excel&#xff0c;并能模拟复杂的数据结构。 历史攻略&#xff1a; 测试用例&#xff1a;多条件下编写&#xff0c;懒人妙用…

Oracle expdp/impdp 及 exp/imp 命令详解

一、基础环境    操作系统&#xff1a;Windows 或 Linux 数据库版本&#xff1a;Oracle Database 11.2.0.1.0 及以上版本 二、命令简介    我们在使用Oracle 数据库的过程中会经常对数据进行导入导出。Oracle 数据库提供 expdp / impdp &#xff08;Data Pump&#xff0c…

C/C++开发,opencv-ml库学习,支持向量机(SVM)应用

目录 一、OpenCV支持向量机&#xff08;SVM&#xff09;模块 1.1 openCV的机器学习库 1.2 SVM&#xff08;支持向量机&#xff09;模块 1.3 支持向量机&#xff08;SVM&#xff09;应用步骤 二、支持向量机&#xff08;SVM&#xff09;应用示例 2.1 训练及验证数据获取 2…

【Webgl_glslThreejs】搬运分享shader_飘落心形

来源网站 https://www.shadertoy.com/view/4sccWr效果预览 代码演示 将shadertory上的代码转成了threejs可以直接用的代码&#xff0c;引入文件的material&#xff0c;并在创建mesh或已有物体上使用material即可&#xff0c;使用时请注意uv对齐。 import { DoubleSide, Shad…

web server apache tomcat11-20-connectors 连接器

前言 整理这个官方翻译的系列&#xff0c;原因是网上大部分的 tomcat 版本比较旧&#xff0c;此版本为 v11 最新的版本。 开源项目 从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎&#xff0c;轻嗅蔷薇。 系列文章 web server apache tomcat11-01-官方文档入门介绍 web…

ios微信小程序禁用下拉上拉

第一步&#xff1a; page.json配置页面的"navigationStyle":"custom"属性&#xff0c;禁止页面滑动 "navigationStyle":"custom" 第二步&#xff1a; 页面里面使用scroll-view包裹内容&#xff0c;内容可以内部滑动 <view class&…