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

springMVC---resultful风格

目录

一、创建项目

pom.xml

二、配置文件

1.web.xml

2.spring-mvc.xml

三、图解

四、controller


一、创建项目

pom.xml

<?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.qcby</groupId><artifactId>springMVC14</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!--版本锁定--><spring.version>5.0.2.RELEASE</spring.version></properties><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.0</version><scope>provided</scope></dependency></dependencies></project>

二、配置文件

1.web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!-- 配置过滤器,解决中文乱码的问题 --><filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><!-- 指定字符集 --><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--前端控制器--><servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><!--配置启动加载--><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><!--<url-pattern>*.do</url-pattern>--><url-pattern>/</url-pattern></servlet-mapping>
</web-app>

2.spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!-- 配置spring创建容器时要扫描的包 --><context:component-scan base-package="com.qcby.controller"></context:component-scan><!-- 配置视图解析器 --><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/pages/"></property><property name="suffix" value=".jsp"></property></bean><!-- 配置spring开启注解mvc的支持--><!--    <mvc:annotation-driven></mvc:annotation-driven>-->
</beans>

三、图解

Get对应select(查询)

Post对应insert(添加)

Put对应update(修改)

Delete对应delete(删除)

他们的请求路径一样,是根据不同的请求方式去执行后台的不同方法

四、controller

1.Get和Post请求就是在form表单里设置method="get"/method="post"

2.发起put和delete请求:

(1)有post请求的form标签

(2)在form表单中添加一个额外的隐藏域 _method="put"/_method="delete"

(3)web.xml中配置一个Filter过滤器org.springframework.web.filter.HiddenHttpMethodFilter(注:这个Filter必须要在处理乱码的Filter)

3.web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!-- 配置过滤器,解决中文乱码的问题 --><filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><!-- 指定字符集 --><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--负责把隐藏域中的put..,改为请求的put请求..--><filter><filter-name>HiddenHttpMethodFilter</filter-name><filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class></filter><filter-mapping><filter-name>HiddenHttpMethodFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--前端控制器--><servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><!--配置启动加载--><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><!--<url-pattern>*.do</url-pattern>--><url-pattern>/</url-pattern></servlet-mapping>
</web-app>

 controller

package com.qcby.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;@Controller
public class UserController {// 发送Get查询所有@GetMapping("/user")public String getUserAll(){System.out.println("查询所有用户");return "success";}// 发送Get查询一个@GetMapping("/user/{id}")public String getUserById(@PathVariable(value = "id") Integer id){System.out.println("根据id查询用户信息,id:"+id);return "success";}// 发送Post--添加@PostMapping("/user")public String UserInsert(String username,String password){System.out.println("添加用户,用户名:"+username+",密码:"+password);return "success";}// 发送put--修改@PutMapping("/user/{id}")public String UserUpdate(@PathVariable(value = "id") Integer id,String username,String password){System.out.println("修改id为"+id+"的用户信息,用户名为:"+username+",密码为:"+password);return "success";}// 发送Delete--删除@DeleteMapping(value = "/user/{id}")public String deleteUserById(@PathVariable String id) {System.out.println("删除id为" + id+"的用户信息");return "success";}
}

相关文章:

springMVC---resultful风格

目录 一、创建项目 pom.xml 二、配置文件 1.web.xml 2.spring-mvc.xml 三、图解 四、controller 一、创建项目 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi…...

汽车基础软件AutoSAR自学攻略(三)-AutoSAR CP分层架构(2)

汽车基础软件AutoSAR自学攻略(三)-AutoSAR CP分层架构(2) 下面我们继续来介绍AutoSAR CP分层架构&#xff0c;下面的文字和图来自AutoSAR官网目前最新的标准R24-11的分层架构手册。该手册详细讲解了AutoSAR分层架构的设计&#xff0c;下面让我们来一起学习一下。 Introductio…...

IntelliJ IDEA 主题插件

在 IntelliJ IDEA 中&#xff0c;有很多优秀的主题插件可以帮助你改变 IDE 的外观和配色方案&#xff0c;使得开发过程更加愉悦和高效。以下是一些非常受欢迎和实用的 主题插件&#xff0c;以及如何安装和使用它们的步骤&#xff1a; &#x1f31f; 流行主题插件推荐 1️⃣ Ma…...

2025最新JAVA面试八股文【基础篇】

1、面向对象和面向过程的区别 2、标识符的命名规则 3、Java自动装箱与拆箱 4、 方法重载和方法重写的区别 5、 equals与 的区别 6、 Hashcode的作用 7、 String、StringBuffer 和 StringBuilder 的区别是什么? 8、ArrayList和linkedList的区别 9、 HashMap和HashTabl…...

element plus 使用 el-tree 组件设置默认选中和获取所有选中节点id

1. 设置默认选中&#xff1a; 使用 default-checked-keys 属性&#xff0c;设置默认要选中的节点&#xff0c;以数组形式&#xff0c;如下&#xff1a; <el-treeref"treeRef":data"data"show-checkboxnode-key"id":props"defaultProps…...

高级java每日一道面试题-2025年01月09日-数据库篇-视图是什么?

如果有遗漏,评论区告诉我进行补充 面试官: 视图是什么? 我回答: 在Java高级面试中&#xff0c;当讨论到数据库中的视图&#xff08;View&#xff09;时&#xff0c;通常指的是一种虚拟表或逻辑表。视图并不存储实际数据&#xff0c;而是基于SQL查询定义的一种数据表示形式。…...

python学习整理

在cmd界面里 安装python notebook 1.pip install notebook -i https://pypi.tuna.tsinghua.edu.cn/simple 打开 notebook jupyter notebook 更改默认路径 找到配置文件路径&#xff1a; jupyter notebook --generate-config 搜索’notebook_dir 内容进行修改路径&#x…...

Qt 5.14.2 学习记录 —— 십이 QLineEdit、QTextEdit

文章目录 1、QLineEdit1、写程序2、正则表达式检查电话号码3、验证两次输入的密码是否一致4、切换显示密码状态 2、TextEdit1、多行编写2、信号 1、QLineEdit text在代码上改变或者界面上直接改动都会修改这个属性。 clearButtonEnabled&#xff0c;输入框为空&#xff0c;没有…...

【LC】2270. 分割数组的方案数

题目描述&#xff1a; 给你一个下标从 0 开始长度为 n 的整数数组 nums 。 如果以下描述为真&#xff0c;那么 nums 在下标 i 处有一个 合法的分割 &#xff1a; 前 i 1 个元素的和 大于等于 剩下的 n - i - 1 个元素的和。下标 i 的右边 至少有一个 元素&#xff0c;也就是…...

【办公类-99-01】20250103用“课题阶段资料模版“批量制作“7个课题档案袋“

背景需求 本学期的课题有4个大课题&#xff0c;3个小课题通过&#xff0c;需要做阶段资料。 一、初步设计 我很早以前就做好了Python代码&#xff08;只有上学期&#xff09;&#xff0c;批量制作每个课题的阶段资料模版。因为小课题的编号没有出来&#xff0c;就一直没有发给…...

Objective-C语言的面向对象编程

Objective-C语言的面向对象编程探讨 引言 随着计算机科学的发展&#xff0c;编程语言也在不断演变。面向对象编程&#xff08;OOP&#xff09;作为一种重要的编程范式&#xff0c;已被广泛应用于软件开发中。Objective-C是一种基于C语言的面向对象编程语言&#xff0c;主要用…...

有限元分析学习——Anasys Workbanch第一阶段笔记(11)横梁中点挠度仿真结果与计算结果对比

目录 0 序言 1 求解横梁中点挠度案例 2 仿真计算求解 2.1 模型简化 2.2 前处理 2.3 计算结果 2 数值计算 3 结果对比 0 序言 本章主要介绍求解横梁的中点挠度的1/4对称算法和数值计算结果对比 有限元分析基本操作流程 1 求解横梁中点挠度案例 分析方案&#xff1a;压…...

GO语言实现KMP算法

前言 本文结合朱战立教授编著的《数据结构—使用c语言&#xff08;第五版&#xff09;》&#xff08;以下简称为《数据结构&#xff08;第五版&#xff09;朱站立》&#xff09;中4.4.2章节内容编写&#xff0c;KMP的相关概念可参考此书4.4.2章节内容。原文中代码是C语言&…...

【2024年华为OD机试】(A卷,100分)- 打印机队列(Java JS PythonC/C++)

一、问题描述 题目描述 有5台打印机打印文件&#xff0c;每台打印机有自己的待打印队列。 因为打印的文件内容有轻重缓急之分&#xff0c;所以队列中的文件有1~10不同的代先级&#xff0c;其中数字越大优先级越高。 打印机会从自己的待打印队列中选择优先级最高的文件来打印…...

SQL语言的面向对象编程

SQL语言的面向对象编程 引言 随着数据库技术的发展&#xff0c;SQL&#xff08;结构化查询语言&#xff09;逐渐成为数据管理和处理的标准语言。从最初的查询语言演变为更复杂的系统&#xff0c;SQL 现在不仅帮助开发者执行基本的查询&#xff0c;还支持了许多高级功能&#…...

android分区和root

线刷包内容&#xff1a; 线刷包是一个完整的android镜像&#xff0c;不但包括android、linux和用户数据&#xff0c;还包括recovery等。当然此图中没有recovery,但是我们可以自己刷入一个。 主要分区 system.img 系统分区&#xff0c;包括linux下主要的二进制程序。 boot.img…...

WebScoket-服务器客户端双向通信

文章目录 1. 消息推送常用方式介绍2. WebSocket2.1 介绍2.2 客户端API2.3 服务端API 3. 总结 1. 消息推送常用方式介绍 轮询 浏览器以指定的时间间隔向服务器发出HTTP请求&#xff0c;服务器实时返回数据给浏览器。 长轮询 浏览器发出ajax请求&#xff0c;服务器端接收到请求…...

如何在QT中保证线程是安全的?

在Qt中保证线程安全是一个重要的问题&#xff0c;尤其是在涉及多线程编程时。以下是一些保证线程安全的方法和策略&#xff1a; 1. 使用信号和槽机制 Qt的信号和槽机制本身提供了线程间的安全通信方式。当信号从一个线程发射到另一个线程时&#xff0c;槽函数会在接收信号的线…...

Lock接口

java.util.concurrent.locks.Lock 接口是Java并发包中的一部分&#xff0c;它提供了比内置锁&#xff08;即 synchronized 关键字&#xff09;更灵活和强大的锁机制。通过使用 Lock 接口及其相关实现类&#xff0c;开发者可以获得更多的功能选项来控制线程间的同步行为&#xf…...

02——变量

变量 1、变量的概念 用于存储数据 2、创建变量 变量名 变量值 变量必须先定义再使用 两边要留一个空格 3、变量的修改 创建变量后&#xff0c;可以在代码中重新赋值。 #不同类型变量也可以直接修改 money 十元 money 10 print(money)结果&#xff1a;10 4、变量的…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...

Bean 作用域有哪些?如何答出技术深度?

导语&#xff1a; Spring 面试绕不开 Bean 的作用域问题&#xff0c;这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开&#xff0c;结合典型面试题及实战场景&#xff0c;帮你厘清重点&#xff0c;打破模板式回答&#xff0c…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号&#xff0c;此时&#xff0c;我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...

OCR MLLM Evaluation

为什么需要评测体系&#xff1f;——背景与矛盾 ​​ 能干的事&#xff1a;​​ 看清楚发票、身份证上的字&#xff08;准确率>90%&#xff09;&#xff0c;速度飞快&#xff08;眨眼间完成&#xff09;。​​干不了的事&#xff1a;​​ 碰到复杂表格&#xff08;合并单元…...

倒装芯片凸点成型工艺

UBM&#xff08;Under Bump Metallization&#xff09;与Bump&#xff08;焊球&#xff09;形成工艺流程。我们可以将整张流程图分为三大阶段来理解&#xff1a; &#x1f527; 一、UBM&#xff08;Under Bump Metallization&#xff09;工艺流程&#xff08;黄色区域&#xff…...