原文地址:http://www.cnblogs.com/xiaoxi/p/5695783.html

1、直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交。

  1. /**
  2. * 1.直接把表单的参数写在Controller相应的方法的形参中
  3. * @param username
  4. * @param password
  5. * @return
  6. */
  7. @RequestMapping("/addUser1")
  8. public String addUser1(String username,String password) {
  9. System.out.println("username is:"+username);
  10. System.out.println("password is:"+password);
  11. return "demo/index";
  12. }

url形式:http://localhost/SSMDemo/demo/addUser1?username=lixiaoxi&password=111111 提交的参数需要和Controller方法中的入参名称一致。

2、通过HttpServletRequest接收,post方式和get方式都可以。

  1. /**
  2. * 2、通过HttpServletRequest接收
  3. * @param request
  4. * @return
  5. */
  6. @RequestMapping("/addUser2")
  7. public String addUser2(HttpServletRequest request) {
  8. String username=request.getParameter("username");
  9. String password=request.getParameter("password");
  10. System.out.println("username is:"+username);
  11. System.out.println("password is:"+password);
  12. return "demo/index";
  13. }

3、通过一个bean来接收,post方式和get方式都可以。
(1)建立一个和表单中参数对应的bean

  1. package demo.model;
  2.  
  3. public class UserModel {
  4.  
  5. private String username;
  6. private String password;
  7. public String getUsername() {
  8. return username;
  9. }
  10. public void setUsername(String username) {
  11. this.username = username;
  12. }
  13. public String getPassword() {
  14. return password;
  15. }
  16. public void setPassword(String password) {
  17. this.password = password;
  18. }
  19.  
  20. }

(2)用这个bean来封装接收的参数

  1. /**
  2. * 3、通过一个bean来接收
  3. * @param user
  4. * @return
  5. */
  6. @RequestMapping("/addUser3")
  7. public String addUser3(UserModel user) {
  8. System.out.println("username is:"+user.getUsername());
  9. System.out.println("password is:"+user.getPassword());
  10. return "demo/index";
  11. }

4、通过@PathVariable获取路径中的参数

  1. /**
  2. * 4、通过@PathVariable获取路径中的参数
  3. * @param username
  4. * @param password
  5. * @return
  6. */
  7. @RequestMapping(value="/addUser4/{username}/{password}",method=RequestMethod.GET)
    public String addUser4(@PathVariable String username,@PathVariable String password) {
  8. System.out.println("username is:"+username);
  9. System.out.println("password is:"+password);
  10. return "demo/index";
  11. }

例如,访问http://localhost/SSMDemo/demo/addUser4/lixiaoxi/111111 路径时,则自动将URL中模板变量{username}和{password}绑定到通过@PathVariable注解的同名参数上,即入参后username=lixiaoxi、password=111111。
5、使用@ModelAttribute注解获取POST请求的FORM表单数据
Jsp表单如下:

  1. <form action ="<%=request.getContextPath()%>/demo/addUser5" method="post">
  2. 用户名:&nbsp;<input type="text" name="username"/><br/>
  3. 密&nbsp;&nbsp;码:&nbsp;<input type="password" name="password"/><br/>
  4. <input type="submit" value="提交"/>
  5. <input type="reset" value="重置"/>
  6. </form>

Java Controller如下:

  1. /**
  2. * 5、使用@ModelAttribute注解获取POST请求的FORM表单数据
  3. * @param user
  4. * @return
  5. */
  6. @RequestMapping(value="/addUser5",method=RequestMethod.POST)
  7. public String addUser5(@ModelAttribute("user") UserModel user) {
  8. System.out.println("username is:"+user.getUsername());
  9. System.out.println("password is:"+user.getPassword());
  10. return "demo/index";
  11. }

6、用注解@RequestParam绑定请求参数到方法入参

当请求参数username不存在时会有异常发生,可以通过设置属性required=false解决,例如: @RequestParam(value="username", required=false)

  1. /**
  2. * 6、用注解@RequestParam绑定请求参数到方法入参
  3. * @param username
  4. * @param password
  5. * @return
  6. */
  7. @RequestMapping(value="/addUser6",method=RequestMethod.GET)
  8. public String addUser6(@RequestParam("username") String username,@RequestParam("password") String password) {
  9. System.out.println("username is:"+username);
  10. System.out.println("password is:"+password);
  11. return "demo/index";
  12. }

springboot获取URL请求参数的几种方法的更多相关文章

  1. springboot(服务端接口)获取URL请求参数的几种方法

    原文地址:http://www.cnblogs.com/xiaoxi/p/5695783.html 一.下面为7种服务端获取前端传过来的参数的方法  常用的方法为:@RequestParam和@Req ...

  2. springboot获取URL请求参数的多种方式

    1.直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交. /** * 1.直接把表单的参数写在Controller相应的方法的形参中 * @pa ...

  3. SpringBoot获取http请求参数的方法

    SpringBoot获取http请求参数的方法 原文:https://www.cnblogs.com/zhanglijun/p/9403483.html 有七种Java后台获取前端传来参数的方法,稍微 ...

  4. JS获取url请求参数

    JS获取url请求参数,代码如下: // 获取url请求参数 function getQueryParams() { var query = location.search.substring(1) ...

  5. Spring Controller 获取请求参数的几种方法

    1.直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交.若"Content-Type"="application/ ...

  6. Java Spring Controller 获取请求参数的几种方法

    技术交流群:233513714  1.直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交.若"Content-Type"=& ...

  7. JS获取URL中参数值的4种方法

    方法一:正则法 function getQueryString(name) { var reg = new RegExp('(^|&)' + name + '=([^&]*)(& ...

  8. 【Jquery】jQuery获取URL參数的两种方法

    jQuery获取URL參数的关键是获取到URL,然后对URL进行过滤处理,取出參数. location.href是取得URL.location.search是取得URL"?"之后的 ...

  9. ASP.NET MVC中获取URL地址参数的两种写法

    一.url地址传参的第一种写法 1.通过mvc中默认的url地址书写格式:控制器/方法名/参数 2.实例:http://localhost:39270/RequestDemo/Index/88,默认参 ...

随机推荐

  1. centos 源码安装apache 之apr、apr-util

    apr 和 apr-util官网下载地址: http://apr.apache.org/download.cgi 安装顺序是先安装apr然后再安装 apr-util,因为安装apr-util需要apr ...

  2. 可以开发着玩一下的web项目

    博客项目:发布博客,写博客 车辆.车队管理系统 教师评价系统 仓储管理系统 进销存管理系统 客户管理系统 结算系统 医院病历管理系统

  3. Java并发编程(七)线程封闭

    当访问共享的可变数据时,通常需要使用同步.一种避免使用同步的方式就是不共享数据. 如果仅在单线程内访问数据,就不需要同步.这种技术被称为线程封闭(Thread Confinement),它是实现线程安 ...

  4. js获取屏幕的大小等信息

    <html><script>function a(){document.write("屏幕分辨率为:"+screen.width+"*" ...

  5. implode 把数组 组成一个字符串

    $data=array(1,2,3,4,5); implode(",",$data);

  6. Spring MVC文件上传教程

    1- 介绍 这篇教程文章是基于 Spring MVC来实现文件的上传功能,这里主要是实现两个功能:1.上传单个文件并将其移动到对应的上传目录:2.一次上传多个文件并将它们存储在指定文件夹下,接下来我们 ...

  7. bat遍历当前目录下的文件,批量重命名

    @echo off setlocal enabledelayedexpansion for %%x in (*) do ( if not "%%x"=="demo.bat ...

  8. MDL原理理解

    转载自:http://blog.csdn.net/xiaoyu714543065/article/details/8445221 最小描述长度(MDL)        最小描述长度( MDL) 原理是 ...

  9. Gson和Fastjson的使用

    转载自:JSON技术的调研报告 一.Google的Gson包的使用简单介绍. Gson类:解析json的最基础的工具类 JsonParser类:解析器来解析JSON到JsonElements的解析树 ...

  10. 1154 回文串划分(DP+Manacher)

    1154 回文串划分 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 有一个字符串S,求S最少可以被划分为多少个回文串. 例如:abbaabaa,有多种划分方式. ...