spring boot——请求与参数校验——spring-mvc——通过 HttpServletRequest 获取请求参数
我们可以在控制器方法中设置一个 HttpServletRequest 类型的形参,
Spring MVC 会自动将请求中携带的参数封装到 HttpServletRequest 形参中,
然后我们就可以通过 HttpServletRequest 提供的 getParameter() 方法获取所需的请求参数了。
package org.example.controller.requestparam; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; @RestController public class ForParamController { // http://localhost:8080/getRequestParam?name=C语言中文网&url=c.biancheng.net /** * 通过 HttpServletRequest 获取请求参数 * @param request * @return */ @RequestMapping("/getRequestParam") public String requestParam(HttpServletRequest request) { String name = request.getParameter("name"); String url = request.getParameter("url"); System.out.println("name:" + name); System.out.println("url:" + url); return "cheng_gong"; } }
注意:
通过HttpServletRequest来获取前端页面参数,代码见下图 ,简单来说就是通过调用request的getParameter方法来获取参数
这种方式也可以获取表单参数,一般get和post请求都可以。此处只演示get请求。
无注解下获取参数,需要控制器层参数与HTTP请求栏参数名称一致,这样后台就可以获取到请求栏的参数。
==============================================================================
package org.example.controller.requestparam; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; @RestController public class ForParamController { // http://localhost:8080/getRequestParam?name=C语言中文网&url=c.biancheng.net /** * 通过 HttpServletRequest 获取请求参数 * @param request * @return */ @RequestMapping("/getRequestParam") public String requestParam(HttpServletRequest request) { String name = request.getParameter("name"); String url = request.getParameter("url"); System.out.println("name:" + name); System.out.println("url:" + url); return "cheng_gong"; } // http://localhost:8080/getRequestParam?firstName=C语言中文网&lastName=c.biancheng.net @RequestMapping(value = "/getRequestParam2") public String test2(HttpServletRequest request) { String a = request.getParameter("firstName"); String b = request.getParameter("lastName"); return a + b; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
2020-01-14 postman——集合——执行集合——脚本的执行顺序——验证
2020-01-14 postman——集合——执行集合——脚本的执行顺序
2020-01-14 postman——集合——执行集合——为请求添加脚本
2020-01-14 postman——集合——执行集合——为文件夹添加脚本
2020-01-14 postman——集合——执行集合——为集合添加脚本
2020-01-14 postman——集合——执行集合——脚本简介
2020-01-14 postman——集合——执行集合——调试、诊断集合运行结果