广告
返回顶部
首页 > 资讯 > 后端开发 > Python >SpringMVC post请求的处理
  • 720
分享到

SpringMVC post请求的处理

2024-04-02 19:04:59 720人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一,springMVC解析POST提交的数据–1,需求:解析fORM表单提交的大量数据–2, 准备html页面–3,准备Student类–4,准备RunApp类–5,准备StuC

一,SpringMVC解析POST提交的数据

–1,需求:解析form表单提交的大量数据

在这里插入图片描述

在这里插入图片描述

–2, 准备html页面


<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>通过post提交数据</title>
		<!-- 在HTML中嵌入CSS代码 -->
		<style>
			
			input[type='text']{
				width: 280px;
				height: 30px;
			}
			
			form{
				margin-left:50px ;
			}
		</style>
	</head>
	<body>
		<!-- method属性用来指定数据的提交方式,action属性用来指定数据要提交到哪里,
				name属性用来指定数据提交时的属性名 name=jack
				value属性用来指定要提交的具体值
		 -->
		<form method="post" action="Http://localhost:8080/stu/add">
			<table>
				<tr>
					<td>
						<h2>学生信息管理系统MIS</h2>
					</td>
				</tr>
				<tr>
					<td>姓名:	</td>
				</tr>
				<tr>
					<td>
						<input type="text" placeholder="请输入姓名..." name="name"/>
					</td>
				</tr>
				<tr>
					<td>年龄:	</td>
				</tr>
				<tr>
					<td>
						<input type="text" placeholder="请输入年龄..." name="age"/>
					</td>
				</tr>
				<tr>
					<td>
						性别:(单选框)
						<input type="radio" name="sex" value="1" checked="checked"/>男
						<input type="radio" name="sex" value="0"/>女
					</td>
				</tr>
				<tr>
					<td>
						爱好:(多选)
						<input type="checkbox" name="hobby" value="ppq" checked="checked"/>乒乓球
						<input type="checkbox" name="hobby" value="ps"/>爬山
						<input type="checkbox" name="hobby" value="cg"/>唱歌
					</td>
				</tr>
				<tr>
					<td>
						学历:(下拉框)
						<select name="edu">
							<option value="1">本科</option>
							<option value="2">专科</option>
							<option value="3">研究生</option>
						</select>
					</td>
				</tr>
				<tr>
					<td>
						入学日期:
						<input type="date" name="intime"/>
					</td>
				</tr>
				<tr>
					<td>
						<input type="submit" value="保存" style="color: white;background-color: #0000FF;border-color: #0000FF;"/>
						<input type="reset" value="取消" style="color: white;background-color: palevioletred;border-color: palevioletred;"/>
					</td>
				</tr>
			</table>
		</form>
	</body>
</html>

–3,准备Student类


package cn.tedu.pojo;
import java.util.Arrays;
import java.util.Date;
//充当了MVC的M层,用来封装数据(类里的属性名 要和 页面上name属性的值 一致,不然没法封装)
public class Student {
    private String name;
    private Integer age;
    private Integer sex;
    private String[] hobby;//多选
    private Integer edu;
     //注意:HTML网页上输入的日期是String类型的,无法转成Date类型,HTML上会有400报错,需要用注解进行类型转换
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date intime;
    //get()  set()  toString()
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    public Integer getSex() {
        return sex;
    }
    public void setSex(Integer sex) {
        this.sex = sex;
    }
    public String[] getHobby() {
        return hobby;
    }
    public void setHobby(String[] hobby) {
        this.hobby = hobby;
    }
    public Integer getEdu() {
        return edu;
    }
    public void setEdu(Integer edu) {
        this.edu = edu;
    }
    public Date getIntime() {
        return intime;
    }
    public void setIntime(Date intime) {
        this.intime = intime;
    }
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", sex=" + sex +
                ", hobby=" + Arrays.toString(hobby) +
                ", edu=" + edu +
                ", intime=" + intime +
                '}';
    }
}

–4,准备RunApp类


package cn.tedu;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//注意存放位置:要在所有资源所在的文件夹的外面
@SpringBootApplication
public class RunApp {
    public static void main(String[] args) {
        SpringApplication.run(RunApp.class);
    }
}

–5,准备StuController类


package cn.tedu.controller;
import cn.tedu.pojo.Student;
import org.springframework.WEB.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
//作为MVC的C层,用来接受请求给出响应
@RestController
@RequestMapping("stu")
public class StuController {
    //解析post方式提交的数据
    @RequestMapping("add")
    public void add(Student s){
        System.out.println(s);
    }
}

–6,测试

在这里插入图片描述

二,改造成Ajax提交post请求的数据

–1,修改网页的 保存按钮


<input type="button" value="保存" onclick="fun();" style="color: white;background-color: #0000FF;border-color: #0000FF;"/>

–2,修改网页的 form标签


<form method="post" action="#" id="f1">

–3,通过ajax提交数据


<!--1. 使用Jquery提供的ajax,导入jQuery提供的函数库 -->
<script src="jquery-1.8.3.min.js"></script>
<!--2. 开始写ajax的代码 -->
<script>
	function fun(){
		$.ajax({
			url: "http://localhost:8080/stu/add" , //指定要请求的路径 
			data: $("#f1").serialize()  , //请求时要携带的参数
			success: function(data){ //成功时会回调的函数
				alert(data);
			}
		});
	}
</script>

–4,修改Controller的代码,添加了返回值和跨域问题的注解


package cn.tedu.controller;
import cn.tedu.pojo.Student;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.Arrays;
//作为MVC的C层,用来接受请求给出响应
@RestController
@RequestMapping("stu")
**@CrossOrigin//放行所有的请求,解决跨域问题**
public class StuController {
    //解析post方式提交的数据
    @RequestMapping("add")
    public Student add(Student s) throws Exception {
        System.out.println(s);
        **return s;**
    }
}

–5,测试

在这里插入图片描述

三,总结SpringMVC

–1,原理

–2,常用的注解

@RestController:接受用户的请求,并响应json数据 @RequestMapping: 和请求路径匹配 @PathVariable:获取restful里的参数值 @CrossOrigin: 解决跨域问题(IP不同或者端口不同)

–3,解析参数

SpringMVC 可以处理一个参数,也可以处理多个参数。如果需要也可以把多个参数,封装成一个java对象。可以用GET方式提交数据,在Controller层直接用方法的 参数列表 匹配解析就可以了可以用Restful方式提交数据,在Controller层,使用@PathVariable注解获取地址栏里的值,直接用方法的 参数列表 匹配解析就可以了可以用POST方式提交数据,在Controller层直接用java对象接受请求参数就可以

–4,返回json串

以前的版本,使用@ResponseBody把数据变成json串,给浏览器返回新的版本,使用@RestController把数据变成json串,给浏览器返回

四,Spring

–1,概念

SpringMVC框架用来,接收请求和做出响应 Spring框架用来管理Bean。核心的组件BeanFactory用来存储Bean。 ApplicationContext是Spring容器。 IOC是控制反转,是指把new的过程交给Spring。 DI是依赖注入是指,spring框架可以把对象间的依赖关系,自动装配。 aop面向切面编程,是一种思想。

–2,Spring IOC

需求:创建一个类,交给spring框架进行ioc(new)

在这里插入图片描述

创建Hello类


package cn.tedu.spring;
public class Hello {
    public void show(){
        System.out.println("hello springioc~");
    }
}

配置类的信息创建spring的核心配置文件:选中resources-右键-new-xml configuration-spring config-起个配置文件的名字-回车


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <!--这个文件是spring框架的核心配置文件,主要用来配置各种bean-->
    <!--使用bean标签,用来指定类的信息
        class属性用来指定类的全路径(包名.类名)
        id属性用来作为bean的唯一标记
        IOC:由spring框架创建Hello的对象
        Map==={"hello",new Hello()}
    -->
    <bean class="cn.tedu.spring.Hello" id="hello"></bean>
</beans>

测试(从spring容器中获取对象)


package cn.tedu.spring;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
//测试 spring框架真的进行ioc ???
public class TestIOC {
    //单元测试::用来测试程序的。@Test + void + 没有参数 + public
    @Test
    public void ioc(){
        //1,加载spring的核心配置文件
        ClassPathXmlApplicationContext spring =
                    new ClassPathXmlApplicationContext(
                            "spring-config.xml");
        //2,从spring容器中获取bean对象--ioc
        Object o = spring.getBean("hello");
        Object o2 = spring.getBean("hello");
        System.out.println(o == o2);//true
    }
}

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: SpringMVC post请求的处理

本文链接: https://www.lsjlt.com/news/130303.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringMVC post请求的处理
    目录一,SpringMVC解析POST提交的数据–1,需求:解析form表单提交的大量数据–2, 准备html页面–3,准备Student类–4,准备RunApp类–5,准备StuC...
    99+
    2022-11-12
  • SpringMVC解析post请求参数详解
    目录SpringMVC一,概述二、原理:1.创建form表单css代码 2.准备Student类3.创建启动类4,创建数据库,表使用JDBC把得到的数据入库5.创建StudentCo...
    99+
    2022-11-12
  • SpringMVC中怎么发送GET、POST请求
    SpringMVC中怎么发送GET、POST请求,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我们知道发起 GET 请求和 POST 请求,只需要在表单的 form 标签中,设...
    99+
    2023-06-02
  • springmvc处理请求的流程是什么
    Spring MVC处理请求的流程如下:1. 客户端发送请求到DispatcherServlet,DispatcherServlet...
    99+
    2023-08-18
    springmvc
  • SpringMVC处理multipart请求的示例代码
    一、简述multipart格式的数据会将一个表单拆分为多个部分(part),每个部分对应一个输入域。在一般的表单输入域中,它所对应的部分中会放置文本型数据,但是如果上传文件的话,它所对应的部分可以是二进制。类似这样:二、 配置 multip...
    99+
    2023-05-30
  • vue处理get/post的http请求的实例
    目录一、使用Vue.http/this.$http1.GET请求2.POST请求二、使用Vue.resource/this.$resourceGET请求POST请求intecepto...
    99+
    2022-11-13
  • Node.js中怎么处理POST请求并获取请求参数
    本篇内容介绍了“Node.js中怎么处理POST请求并获取请求参数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!接收POST请求在Node....
    99+
    2023-07-05
  • php处理post请求的方法是什么
    在PHP中处理POST请求的方法是使用$_POST超全局变量来获取POST请求的数据。$_POST是一个关联数组,它包含了所有的PO...
    99+
    2023-10-10
    PHP
  • golang接收post和get请求参数处理
    目录1、golang中获取请求接口中数据(GET)方式一: API参数 ctx.Param(name string)或者ctx.Params.ByName(name string)方...
    99+
    2023-03-08
    golang post和get请求 golang post get
  • SpringBoot常见get/post请求参数处理的方法
    这篇文章主要介绍了SpringBoot常见get/post请求参数处理的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot常见get/post请求参数处理的方法文章都会有所收获,下面我们一起...
    99+
    2023-06-29
  • SpringMVC的数据请求
    5.SpringMVC的数据请求 5.1-SpringMVC的请求-获得请求参数-请求参数类型(理解) 客户端请求参数的格式是:name=value&name=value…… 服务器端要获得请求的参数...
    99+
    2023-08-31
    java jvm servlet
  • axios发送post请求springMVC接收不到参数怎么办
    小编给大家分享一下axios发送post请求springMVC接收不到参数怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!axios发送post请求时,出现了参数后台接收不到的情况,分...
    99+
    2022-10-19
  • java如何获取post请求的请求体
    在Java中,可以使用Servlet或Spring框架来获取POST请求的请求体。1. 使用Servlet:- 在Servlet中重...
    99+
    2023-09-14
    java
  • postman模拟post请求的四种请求体
    目录1.application/x-www-form-urlencoded2.multipart/form-data3. raw4.binary1.application/x-www...
    99+
    2022-11-12
  • Java中的HTTP POST请求
    Java中的HTTP POST请求 在Java中,我们经常需要使用HTTP协议进行网络通信。其中,POST请求是一种常用的方式,它允许我们向服务器发送数据并获取响应。本文将介绍如何在Java中发送HT...
    99+
    2023-10-28
    java http python Java
  • golang接收post和get请求参数如何处理
    这篇文章主要讲解了“golang接收post和get请求参数如何处理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“golang接收post和get请求参数如何处理”吧!1、golang中获取...
    99+
    2023-07-05
  • 轻松创建nodejs服务器(10):处理POST请求
    目前为止,我们做的服务器没有实际的用处,接下来我们开始实现一些实际有用的功能。 我们要做的是:用户选择一个文件,上传该文件,然后在浏览器中看到上传的文件。 首先我们需要一个文本区(textarea)供用户输...
    99+
    2022-06-04
    轻松 服务器 POST
  • nodejs处理http请求实例详解之get和post
    目录前言:http 请求概述Q: 从浏览器输入 url 到页面显示的整个过程?nodejs 处理 get 请求简单的 demo测试一下nodejs 处理 post 请求简单的demo...
    99+
    2023-01-28
    nodejs处理http请求 node get请求 node post请求
  • get请求和 post请求的区别是什么
    GET请求和POST请求是HTTP协议中常用的两种请求方法,它们的区别如下:1. 参数传递方式:- GET请求:参数通过URL的查询...
    99+
    2023-09-22
    get
  • SpringMvc请求处理参数 和 响应数据处理的示例详解
    目录1、请求处理参数1.1 请求参数 @RequestParam1.1.1 不使用 @RequestParam 注解1.1.3 使用 @RequestParam 注解1.2 请求头参...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作