【SpringMVC】获取请求参数的方式
SpringMVC获取请求参数的方式
方式1:ServletAPI
//servletAPI方式获取
@PostMapping(value = "/api/sign/register", produces = "application/json")
@ResponseBody
public String sendPostMessage(HttpServletRequest request){
String usercount = request.getParameter("userCount");
String userpwd = request.getParameter("userPwd");
int result = UserMethods.userAdd(usercount, usercount, userpwd);
return "{\"result\":\""+result+"\"}";
}

方法2:通过控制器方法的形参获取请求参数
@PostMapping(value = "/api/sign/register", produces = "application/json")
@ResponseBody
public String sendPostMessage(String userCount,String userPwd){
int result = UserMethods.userAdd(userCount, userCount, userPwd);
System.out.println(result);
return "{\"result\":\""+result+"\"}";
}

方法3:@RequestParam
@PostMapping(value = "/api/sign/register", produces = "application/json")
@ResponseBody
public String sendPostMessage(@RequestParam("userCount") String usercount,@RequestParam("userPwd") String userpwd){
int result = UserMethods.userAdd(usercount, usercount, userpwd);
System.out.println(result);
return "{\"result\":\""+result+"\"}";
}

可选参数写法如下
@RequestParam(value="userName",required = false,defaultValue = "未命名用户")
方法4:@RequestHeader
作用:将请求头信息和控制器方法形参创建映射关系
属性:value、required、defaultValue
请求头:

Example:
() @PostMapping(value = "/api/sign/register", produces = "application/json")
@ResponseBody
public String sendPostMessage(@RequestParam("userCount") String usercount,@RequestParam("userPwd") String userpwd,@RequestHeader(value="Host",required=false,defaultValue="") String host){
int result = UserMethods.userAdd(usercount, usercount, userpwd);
System.out.println(result);
return "{\"result\":\""+result+"\"}";
}
方法5:@CookieValue
作用:将Cookie数据和控制器方法形参创建映射关系
属性:value、required、defaultValue
用法同
@RequestParam、@RequestHeader
方法5:通过POJO获取请求参数
在控制器方法的形参位置设置一个实体类类型的形参
若浏览器传输的请求参数的参数名 与 实体类中的属性名 一致
那么该参数就会为此属性赋值
解决获取请求参数的乱码问题
可以使用SpringMVC提供的编码过滤器CharacterEncodingFilter(需要在web.xml中注册)
<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>
<init-param>
<param-name>forceResponseEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

记录
1.注册页面路径设置
@RequestMapping("/reg")
public String register(){
return "/sign/register";
}


2.前端使用ajax方式POST提交到Java后端
function loginSubmit() {
var usercount = $("#email").val();
var password = $("#pwd").val();
var password2 = $("#pwdt").val();
var code = $("#code").val();
if (usercount == null | password == null) return false;
if (usercount == 0 | password == 0) return false;
if (password2 != password) {
tips("两次输入的密码不一致");
return false;
}
cookie_code = $.cookie('code');
cookie_email = $.cookie('email');
if (cookie_code == undefined) {
tips("验证码无效,请检查验证码或重新获取");
return false;
}
if (code != cookie_code) {
tips("验证码错误,请检查验证码或重新获取");
return false;
}
if (usercount != cookie_email) {
tips("当前填写邮箱与所验证的邮箱不一致!");
return false;
}
$.ajax({
type: 'POST',
url: '/api/sign/register',
data: {
'userCount':usercount,
'userPwd':password,
},
success: function(text) {
if(text["result"] == "1"){
$(document.body).text('注册成功,用户' +usercount);
}
},
error: function (jqXHR) {
$(document.body).text('Error: ' + jqXHR.status);
}
});
return false;
}
3.后端接收参数并处理
下面的只是其中一种接收方式
@PostMapping(value = "/api/sign/register", produces = "application/json")
@ResponseBody
public String sendPostMessage(@RequestParam("userCount") String usercount,@RequestParam("userPwd") String userpwd){
int result = UserMethods.userAdd(usercount, usercount, userpwd);
System.out.println(result);
return "{\"result\":\""+result+"\"}";
}
【SpringMVC】获取请求参数的方式的更多相关文章
- 入门servlet:request获取请求参数通用方式
一.获取请求参数通用方式 1. String getParameter(String name):根据参数名称获取参数值 例:username=flypig&password=2343 2. ...
- SpringMVC 获取请求参数
1.获取Request response对象 在SpringMVC的注解开发中,可以选择性的接收Request和Response对象来使用 2.获取request对象请求参数 a.通过request对 ...
- SpringMVC获取请求参数-POJO类型参数
1.Controller中的业务方法的POJO参数的属性名与请求参数一致,参数值会自动映射匹配 1.创建POJO类 public class User { private String usernam ...
- SpringMVC获取请求参数-基本类型
1.Controller中的业务方法的参数名称要与请求参数的name一致,参数值会自动映射匹配 (json形式) <dependency> <groupId>com.faste ...
- SpringMVC获取请求参数-集合类型
1.创建User实体类 ```java public class User { private String username; private int age; public String getU ...
- request获取请求参数通用方式
package com.hopetesting.web.request;import javax.servlet.ServletException;import javax.servlet.annot ...
- SpringMVC之请求参数的获取方式
转载出处:https://www.toutiao.com/i6510822190219264516/ SpringMVC之请求参数的获取方式 常见的一个web服务,如何获取请求参数? 一般最常见的请求 ...
- 学习SpringMVC——如何获取请求参数
@RequestParam,你一定见过:@PathVariable,你肯定也知道:@QueryParam,你怎么会不晓得?!还有你熟悉的他(@CookieValue)!她(@ModelAndView) ...
- springMvc源码学习之:spirngMVC获取请求参数的方法2
@RequestParam,你一定见过:@PathVariable,你肯定也知道:@QueryParam,你怎么会不晓得?!还有你熟悉的他 (@CookieValue)!她(@ModelAndView ...
- springMVC(spring)+WebSocket案例(获取请求参数)
开发环境(最低版本):spring 4.0+java7+tomcat7.0.47+sockjs 前端页面要引入: <script src="http://cdn.jsdelivr.ne ...
随机推荐
- Salesforce AI Specialist篇之 Prompt Builder
本篇参考: https://salesforce.vidyard.com/watch/UUAxcUfHYGAxH3D9wV1RxJ https://help.salesforce.com/s/arti ...
- Java日期时间API系列28-----Jdk8中java.time包中的新的日期时间API类,计算节假日和二十四节气。
1.节日信息计算代码 package com.xkzhangsan.time.holiday; import java.time.DayOfWeek; import java.time.LocalDa ...
- MySQL精品学习资源合集 | 含学习教程笔记、运维技巧、图书推荐
MySQL凭借开源.免费.低门槛.稳定等优势,成为了当前最流行的关系型数据库之一.从1998年发行第一版以来,通过不断地更新迭代,MySQL被越来越多的公司使用,已然成为当下潮流. 为了帮助大家更好地 ...
- 宝塔部署java后端项目
1. 安装插件 宝塔面板找到软件商店然后搜索 Java java项目管理安装 安装后点击设置准备安装 tomcat 2. 添加项目
- 1. react项目【前端】+C#【后端】从0到1
1.创建前端基础框架 1.1 前端创建 软件: 1.1.1 npx create-react-app pc ps:pc 是文件名 : 1.1.2 npm start 启动项目 2.创建后端基础框架 软 ...
- 什么是 vite ?
vite 是尤雨溪团队开发的新一代前端构建工具,作者尤雨溪宣传的时候表示 vite 是下一代的构建工具,并表示自己再也不会 webpack 了 : vite 的优点主要有3点 : 第一:开发环境中,无 ...
- 云原生爱好者周刊:KubeSphere 3.3.0 Alpha 版发布
开源项目推荐 Collection of Linux eBPF slides/documents 这个项目收集了各种与 eBPF 相关的资料,非常全面. magic-trace magic-trace ...
- AOT漫谈专题(第七篇): 聊一聊给C#打造的节点依赖图
一:背景 1. 讲故事 上一篇我们聊过AOT编程中可能会遇到的三大件问题,而这三大件问题又是考验你对AOT中节点图的理解,它是一切的原点,接下来我就画几张图以个人的角度来解读下吧,不一定对. 二:理解 ...
- LLM应用实战: AI资讯的自动聚合及报告生成
1.背景 花了整整两天时间,本qiang~开发了一个关于AI新闻资讯的自动聚合及报告生成工具. 本篇记录一下整体的框架和实现原理,并且本着它山之石可以攻玉,本qiang~开放了所有的源码,源码可见如下 ...
- js-xlsx 前段读取excel
JavaScript读取和导出excel示例(基于js-xlsx) 放入参考链接 http://demo.haoji.me/2017/02/08-js-xlsx/ github官网 https://g ...