SpringMVC:Controller接收请求参数的常见方式

SpringMVC Controller接收参数总结 在这一篇文章中,总结SprinMVC中Controller接收ajax请求,所能支持的参数。 阅读详情

一、通过实体bean接收请求参数

适用于get和post提交请求方式,需要注意的是,bean的属性名称必须与请求参数名称相同。

例:我们通过在register.jsp页面提交一个表单form,提交的有三项,分别是uname,upass,urepass,即用户姓名,用户密码,用户再次确认的密码。在form里面三个<input/>标签里的name属性里分别写上name="uname",name="upass",name="reupass",在提交表单的时候就会将这三项name提交并跳转到form 的action属性的指定路径页面。

而表单的提交请求会被提交的目的页面路径的控制器Controller捕获,捕获以后怎么获取表单信息呢?

这时候需要写一个UserForm.java,即封装表单信息的实体bean类,将uname,upass,urepass作为这个类的属性(类的属性必须要与提交表单的name值相同,类里写setter() getter()方法,可以加上构造函数),SpringMVC会自动将表单的提交信息赋给实体bean类的属性,在Controller的方法里传入使用即可。

/*UserForm对象user接收注册页面提交的请求参数*/
public String register(UserForm user, Model model){
    if("zhangsan".equals(user.getUname()) && "123456".equals(user.getUpass()))
        return "login";//注册成功,跳转到login.jsp
    else{
        model.addAttribute("uname",user.getUname());//将输入的用户姓名装入model,在注册页可以用EL表达式取出model中的该值。
        return "register";//注册失败,返回注册页面
    }
}

二、通过处理方法的形参接收请求的参数

适用于get和post提交请求方式,通过处理方法的形参接收请求参数,也就是直接把表单参数写在Controller相应方法的形参中,即形参名称和请求参数名称完全相同。

/*通过形参接收请求参数,形参名称与请求参数名称完全相同*/
public String register(String uname,String upass, Model model){
    if("zhangsan".equals(uname) && "123456".equals(upass))
        return "login";//注册成功,跳转到login.jsp
    else{
        model.addAttribute("uname",uname);//将输入的用户姓名装入model,在注册页可以用EL表达式取出model中的该值。
        return "register";//注册失败,返回注册页面
    }
}

三、通过HttpServletRequest接收请求参数

适用于get和post提交请求方式。

/*通过HttpServletRequest接收请求参数*/
public String register(HttpServletRequest request, Model model){
    String uname=request.getParameter("uname");
    String upass=request.getParameter("upass");

    if("zhangsan".equals(uname) && "123456".equals(upass))
        return "login";//注册成功,跳转到login.jsp
    else{
        model.addAttribute("uname",uname);//将输入的用户姓名装入model,在注册页可以用EL表达式取出model中的该值。
        return "register";//注册失败,返回注册页面
    }
}

四、通过@PathVariable接收URL中的请求参数

@RequestMapping(value="/register/{uname}/{upass}",method=RequestMethod.GET)
//必须加method属性
/*通过@PathVariable获取URL中的参数*/
public String register(@PathVariable String uname,@PathVariable String upass,Model model){
    if("zhangsan".equals(uname) && "123456".equals(upass))
        return "login";//注册成功,跳转到login.jsp
    else{
        model.addAttribute("uname",uname);//将输入的用户姓名装入model,在注册页可以用EL表达式取出model中的该值。
        return "register";//注册失败,返回注册页面
    }
}

五、通过@RequestParam接收参数

适用于get和post请求参数。通过@RequestParam接收请求参数与通过处理方法的形参接收请求参数的区别是:当请求参数名与接收参数名不一致时,通过处理方法的形参接收请求参数不会报404错误,而@RequestParam接收请求参数会报404错误。

/*通过@RequestParam获取URL中的参数*/
public String register(@RequestParam String uname,@RequestParam String upass,Model model){
    if("zhangsan".equals(uname) && "123456".equals(upass))
        return "login";//注册成功,跳转到login.jsp
    else{
        model.addAttribute("uname",uname);//将输入的用户姓名装入model,在注册页可以用EL表达式取出model中的该值。
        return "register";//注册失败,返回注册页面
    }
}

六、通过@ModelAttribute接收请求参数

适用于get和post提交请求方式。@ModelAttribute注解放在处理方法的形参上时,用于将多个请求参数封装到一个实体对象,从而简化数据绑定流程,而且自动暴露为模型数据,于视图页面展示时使用。而上述第一个方法只是将多个请求参数封装到一个实体对象,并不能暴露为模型数据(需要使用model.addAttribute()语句才能暴露为模型数据)。

public String register(@ModelAttribute("user") UserForm user, Model model){
    if("zhangsan".equals(user.getUname()) && "123456".equals(user.getUpass()))
        return "login";//注册成功,跳转到login.jsp
    else{
        //使用@ModelAttribute("user")与model.addAttribute("user",user)功能相同
        //将输入的用户姓名装入model,在注册页可以用EL表达式取出model中的该值。
        return "register";//注册失败,返回注册页面
    }
}

 

C语言--第三大的数 第三大的数 给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数. 示例1: 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 1. 示例2: 输入: [1, 2] 输出: 2 解释: 第三大的数不存在, 所以返回最大的数 2 . ... 阅读详情

相关推荐

PLC模拟量输入电路设计:±10V与±20mA信号调理全解析

在工业自动化和数据采集系统中,模拟量输入是连接物理世界与数字控制的核心桥梁。无论是变送器输出的4-20mA电流环,还是伺服驱动与信号发生器提供的±10V电压信号,PLC和采集模块都需要在复杂现场环境下稳定、精准地完成信号采集。理解信号体制的原理——电流环抗长线干扰、电压环响应快——是设计模拟输入前端的基础。通过精密电阻网络实现分压与采样,利用运放完成双极性到单极性的电平搬移,配合TVS与滤波电路保障可靠性,并经过ADC量化与校准流程,最终构建出兼顾精度、成本和工业级鲁棒性的完整信号链路。本文面向硬件工程师与

weixin_29163797的博客 301

SpringMVC中Controller接收请求参数的常见方式

SpringMVC中Controller接收请求参数的常见方式 Controller接收请求参数的方式有很多种,有的适合get请求方式,有的适合post请求方式,有的两者都适合,开发者可以根据自己的需求选择适合的接收方式。 1-通过实体Bean接收请求参数 @Controller @RequestMapping("/user") public class UserController { @RequestMapping("/login") public String login(UserFo

nuist_NJUPT的博客 4227

视觉语言模型在三维导航中的应用:JanusVLN项目解析与实战

视觉语言模型(VLM)作为多模态人工智能的核心技术,通过融合视觉感知与自然语言理解能力,实现了对开放世界场景的语义化解析。其原理在于利用预训练的视觉编码器和大型语言模型,将图像信息映射到与文本对齐的语义空间,从而完成跨模态的推理与生成。这一技术为机器人自主交互、智能家居控制等场景提供了基础能力支撑,尤其在需要理解复杂指令并执行序列决策的任务中展现出巨大价值。本文聚焦于视觉语言导航(VLN)这一具体应用,探讨如何通过架构创新与高效微调策略,将通用VLM适配到三维仿真环境中的导航任务,并以JanusVLN项目为

weixin_30240349的博客 671

Controller层接收前端参数总结

Controller层接收前端参数总结

m0_47743175的博客 4116

华为OD机试2025C卷 - CPU调度策略 (C++ & Python & JAVA & JS & GO)

华为OD机试 2025C卷 CPU调度策略,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 1297

Natural Language Processing

作者:禅与计算机程序设计艺术 1.简介 自然语言处理(NLP)是研究如何使计算机理解和处理自然语言的理论和方法,目的是让电脑更好的理解、获取、生成、存储和沟通人类语言。20世纪80年代末,IBM的三位博士陈天奇、周博磊和王力雄在贝尔实验室创建了首个自然语言处理系统——“布莱克多·艾森豪威尔”(Bletc

AI天才研究院 724

Controller层接收前端页面传参种类及实现

使用Controller层处理前端请求时,接收前端页面参数是非常重要的一步,页面的参数该如何接收,常常会让人混淆,本文希望可以帮助大家更好地理解和掌握这些方法

CJPSR的博客 6723

QNX系统中的密码哈希格式——数据安全深度分析

综上所述,QNX系统中的Shadowed密码哈希格式提供了一种有效的数据安全机制,能够保护用户密码的安全性。通过将用户密码的哈希值存储在系统文件中,并结合哈希算法和盐值的使用,可以有效地防止明文密码泄露和密码破解。密码哈希是一种常用的安全技术,用于将用户密码转换为不可逆的哈希值,以保护用户的敏感信息。在QNX操作系统中,存在一种称为Shadowed密码哈希格式的机制,用于存储用户密码的安全散列值。当用户登录系统时,系统会将用户输入的密码与保存的哈希值进行比对,以验证密码的正确性。在上述代码中,首先使用。

UneDatabase的博客 253

SpringMVC(3)——Controller接收请求参数的几种方式

目录 实例 Controller接收请求参数的常见方式 通过实体bean接收请求参数 通过处理方法的形参接收请求参数 通过HttpServletRequest接收请求参数 通过@PathVariable接收URL中的请求参数 通过@RequestParam接收请求参数 通过@ModelAttribute接收请求参数 实例 创建一个spring mvc项目并按照下图创建文件夹及文...

二木成林 1万+

apollo自动驾驶进阶学习之:如何实现施工路段限速绕行及其参数调试

首先需要理解Planning模块是基于Scenario、Stage、Task这样的层次来进行的,即场景->步骤->具体的决策方法。Apollo可以应对自动驾驶所面临的不同道路场景,都是通过Scenario统一注册与管理。Scenario通过一个有限状态机来判断选择当前行车场景,每个Scenario下又有多个Stage,指当前场景下需要执行的粗略步骤。.........

qq_41593516的博客 6598

【深度学习新浪潮】OpenClaw跟机器人行业有哪些很好的研究结合点?

OpenClaw正通过"AI大脑+机器人肢体"的深度融合,重新定义机器人与人类的交互方式和自主操作能力。近期ROSClaw框架发布、人形机器人集成和空间计算试验等进展,标志着OpenClaw已从概念验证阶段进入实际应用落地期,为机器人行业带来了自然语言控制普及化具身智能平民化和跨平台开发标准化三大变革机遇。

专注:太空算力、AI infra、异构调度、大模型成本工程 229

关键词卡首屏接口、关键词卡首屏原理讲解、关键词卡首屏提高权重

一、什么是关键词卡首屏 卖家做补单活动时,买手搜索关键词很难找到指定的宝贝,特别是新品或销量低的店铺,一般都不会出现在手淘搜索页面,而直接发链接给她们点击进入的话,系统不会给予搜索权重,甚至还会判为虚假交易。卡首屏它是通过特定的技术代码,可以把卖家的宝贝转换成一个淘口令,买家复制后打开手机淘宝,我们的宝贝就会出现在首页,这样点击进入,系统会认定为自然搜索入店,生意参谋验证显示手淘搜索入店来源,有权重。 二、接口调用条件 只需提供宝贝标题中包含的关键词、宝贝的链接或宝贝ID即可 三、接口详情 接口地址: ht

juzi109101的博客 5074

AI Agent开发第84课-paddleocr-vl全网唯一最全本地化布署教程

本文详解 PaddleOCR-VL 本地化布署全过程,指出为何在真实生产环境中 PaddleOCR-VL 更稳定、更易部署、更贴近工程落地。同时还会详细比较与 DeepSeek-OCR 的核心差异,为全网独家介绍paddleocr-vl的本地部署实战指南。

打造全国最全的AI Agent开发知识领域的博客 5968

【SpringMVC】Controller注解及请求参数详解

本文目录Controller注解Controller 注解用法Controller 接收请求参数通过形参接收请求参数通过实体Bean 接收参数通过HttpServletRequst接收请求参数通过RequestParam注解接收请求参数PathVariable注解接收请求参数 Controller注解 在Spring中 Controller注解用于指示Spring类的实例是一个控制器,相对于实现Controller接口变得更加简单。而且实现Controller接口只能处理一个单一的请求,而是用@Contro

lucashu的博客 2万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

SpringMVC 框架中 Controller 控制器的参数接收方式详解

在实际的 SpringMVC 项目开发中,选择合适的 Controller 参数接收方式至关重要。HttpServletRequest接收方式适合需要获取请求的所有信息且对灵活性要求较高的场景,但代码较为繁琐;方法形参接收方式简洁高效,适用于简单参数的接收,但对于复杂参数结构不太友好;实体类型接收方式则将参数封装在实体类中,提高了代码的可读性和维护性,适用于参数较多且结构复杂的场景。开发者应根据具体的业务需求和参数特点,合理选择参数接收方式,以提高项目的开发效率和代码质量。

LYH2771994122的博客 1517

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

springmvc Controller接收前端参数的几种方式总结

(1) 普通方式-请求参数名和Controller方法的参数一致 @Controller @RequestMapping("/param") public class TestParamController { private static final Logger logger = LoggerFactory.getLogger(TestParamController.class);...

beidaol的专栏 2059

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Spring MVC 的Controller以及接收请求参数的方式

Spring MVC 的Controller一、基于注解的控制器@Controller注解@RequestMapping注解处理方法的参数类型以及返回值类型二、Controller接收请求参数的常见方式通过实体Bean接收请求参数通过处理方法的形参接收请求参数通过HttpServletRequest接收请求参数通过@PathVariable接收URL中的请求参数通过@RequestParam接收请...

qq_41193133的博客 999

SpringMVC接收参数方式,Controller接收参数,常见不规范的传参和错误传参

SpringMVC接收参数方式,Controller接收参数,以及可能导致错误的传参方式

质量不太好的博客 2622

SpringMVC中的Controller如何获取请求中的参数

可以从 HTTPServletRequest,简单类型参数,pojo 类型参数,包装类,集合类型的参数中获取请求中的参数,当然,还可以通过 json 格式的字符串来获取

. 3万+

【SpringMVC+RestFul】springmvc Controller接收前端参数的方式总结

【SpringMVC+RestFul】Controller接收前端参数的方式总结 参考博客:https://www.cnblogs.com/mjs154/p/11667796.html 1普通方式-请求参数名和Controller方法的参数一致 @Controller @RequestMapping("/param") public class TestParamController { private static final Logger logger = LoggerFactor.

南方有乔木的博客 539

Springmvc Controller接收前端参数的几种方式(转发,有改动)

(1) 普通方式-请求参数名和Controller方法的参数名字一致 @Controller @RequestMapping("/param") public class TestParamController { private static final Logger logger = LoggerFactory.getLogger(TestParamController.class);...

俊墨客 2002

SpringMVC第四阶段:Controller中如何接收请求参数

Controller中如何接收请求参数

DKPT的博客 2715

SpringMVC接收请求参数

1.@RequestBody的作用 @RequestBody接的参数是一个string化的json,前天JS可以直接使用JSON.stringify(json)这个方法来转化. 注解用于将Controller的方法参数,根据HTTP Request Header的content-Type的内容,通过适当的HttpMessageConverter转换为JAVA类.所以后台无需手动进行json与实体的...

不积跬步无以至千里 5384

SpringMVC Controller接收请求参数(详解)

一、接收请求参数: 1、【不推荐】通过HttpServletRequest 在处理请求的方法中,添加HttpServletRequest对象作为参数,在方法体中,直接调用对象的getParameter()或类似功能的方法,即可获取请求参数。 例:比如我们通过页面上传username、password、age…等几个参数,然后我们使用HttpServletRequest对象进行获取。 @Reques...

单枪匹码 1632

SpringBoot Controller接收参数常用方式

接受Map<String, String> @RequestBody @PostMapping(path = "/demo1") public void demo1(@RequestBody Map<String, String> person) { System.out.println(person.get("name")); } 表单名与controller参...

FenG·的博客 2153

SpringMVC的controller提供了PUT和DELETE的请求方式

在Restful风格中,现有规定如下: GET(SELECT):从服务器查询,可以在服务器通过请求的参数区分查询的方式。   POST(CREATE):在服务器新建一个资源,调用insert操作。   PUT(UPDATE):在服务器更新资源,调用update操作。   DELETE(DELETE):从服务器删除资源,调用delete语句 了解这个风格定义以后,我们举个例

jaryle的专栏 1万+
上一篇: 第二个activity
下一篇: SpringMVC:数据验证
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值