JAVA后台Controller/servlet如何获取到从前端传来的参数

JAVA后台Controller/servlet如何获取到从前端传来的参数

前言:

本次内容是对后台如何获取到前端传来的信息的总结;

1.前端传来数据的格式为form表单形式:
1.1 reqeust.getParam(“name”):

最原始的方式:request.getParam("name")其中name为前端form表单传来的数据的name的值来获取对应的值(其实传来的是类似键值对);
如:
前端可以通过form中的action:
在这里插入图片描述
或者js/jQuery里面的location:

在这里插入图片描述
或是a超链接里面的地址:
在这里插入图片描述

还是ajax(默认发送数据的方式ContentType 为form表单形式):
JAVA后台Controller/servlet如何获取到从前端传来的参数_第1张图片
后台就可以通过reqeust.getParam("name”),
request.getParamValues();如果参数出现多次,则可以使用此方法;如复选框;
request.getParamNames();如果你想要得到当前请求中的所有参数的完整列表,则可调用此方法;
来获取值;

1.2.通过封装成对象

原始的为,在接收到参数后封装为对象,或者直接建立一个前端表格形式的pojo实体类,然后通过BeanUtils.populate(实体类,req.getParameterMap())来封装对象;
    而在SpringMVC,SSM中可以直接写成实体对象参数(只需要请求参数和实体的属性同名即可);
java代码:
JAVA后台Controller/servlet如何获取到从前端传来的参数_第2张图片
html代码:
JAVA后台Controller/servlet如何获取到从前端传来的参数_第3张图片
其中前端传来的数据被封装到了实体类中;一一对应,没有的为null值,多了就要另外外接收;
而在SSM中还有下面其他几种方式来获取到请求参数:

1.3. 通过路径参数:

http://localhost:8080/资源地址/12313/123123 前端传来的数据为这种形式的话,就需要使用路径参数的形式:
java代码:

@RequestMapping("/hello/{id}")
// @PathVariable将{id}路径匹配到值赋给id参数
// 路径名和参数名相同则@PathVariable("id")可简写为 @PathVariable
public String testParam5(@PathVariable("id") Integer id){
    System.out.println("id:"+id);            
    return "index";
}

// http://localhost:8989/.../hello/tom   {username}匹配到tom
@RequestMapping("/hello/{username}")
public String testParam6(@PathVariable("username") String name){//将{username}路径匹配到的值赋给name参数
    System.out.println("username:"+name);
    return "index";
}
1.4. 通过多个参数值(可以有数组,基本类型,集合类型德,。。。)

java代码:
JAVA后台Controller/servlet如何获取到从前端传来的参数_第4张图片
html代码:
JAVA后台Controller/servlet如何获取到从前端传来的参数_第5张图片

1.3. 其他
   当然其他的还有,如SSM中新加的Module,ModuleAndView,等,其实原理也是使用的request;
2.前端传来数据的格式为json:
2.1. 原始的
2.1. SSM/SpringMVC中:

可以通过@requestBody注解来接收前端传来的json数据;
java代码:
JAVA后台Controller/servlet如何获取到从前端传来的参数_第6张图片

html代码:
JAVA后台Controller/servlet如何获取到从前端传来的参数_第7张图片

你可能感兴趣的:(#,JAVAWeb,SSM,SpringMVC,java,前端后端获值,前端后端传值)