【SpringMVC]获取参数的六种方式

【SpringMVC]获取参数的六种方式

目录

1.通过ServletAPI获取

2.通过控制器方法的形参获取

3.@RequestParam:将请求参数和控制器方法的形参绑定

4.@RequestHeader:将请求头信息与控制器方法的形参的值进行绑定

5. CookieValue:将cookie数据和控制器方法的形参绑定

Cookie:

​编辑

6.通过控制器方法的实体类类型的形参获取请求参数

对应的index.html页面:

SpringMVC的处理流程:(用户请求-》Controller-》Model-》Controller-》View-》响应给用户)

用户通过视图层(View)发送请求到服务器,在服务器中请求被Controller接收,Controller调用相应的Model层处理请求,处理完毕将结果返回到Controller,Controller再根据请求处理的结果找到相应的View视图,渲染数据后最终响应给浏览器。

1.通过ServletAPI获取

只需要在控制器的方法的形参位置设置HTTPRequest request 类型的形参就i可以在控制器方法种使用request对象获取请求参数

@RequestMapping("/param/servletAPI")

public String getParamServletAPI(HttpServletRequest request){

HttpSession session = request.getSession();

String username = request.getParameter("username");

String password = request.getParameter("password");

System.out.println("username = " + username + "," + "password = " + password);

return "success";

}

2.通过控制器方法的形参获取

只需要在控制器方法的形参位置设置一个形参,形参的名字和请求参数的名字保持一致即可

@RequestMapping("/param")

public String getParam(String username, String password){

System.out.println("username = " + username + "," + "password = " + password);

return "success";

}

3.@RequestParam:将请求参数和控制器方法的形参绑定

@RequestParam注解的三个属性:value,require,defaultValue

value:设置和形参绑定的请求参数的名字

required:设置是否必须传输value所对应得求情参数默认值为true,表示value所对应得请求参数必须传输,否则页面报错 ,或设置为false,则表示value所对应得请求参数不是必须传输,若为传输,则形参值为null

defaultValue:设置当没有传输value所对应得请求参数时,为形参设置得默认值,此时和required属性无关

@RequestMapping("/param")

public String getParam(@RequestParam(value = "userName",required = true,defaultValue = "hello")String username, String password,){

System.out.println("username = " + username + "," + "password = " + password);

return "success";

}

4.@RequestHeader:将请求头信息与控制器方法的形参的值进行绑定

@RequestMapping("/param")

public String getParam(String username, String password,

@RequestHeader("referer") String referer){

System.out.println("username = " + username + "," + "password = " + password);

System.out.println("referer = " + referer);

return "success";

}

5. CookieValue:将cookie数据和控制器方法的形参绑定

@RequestMapping("/param")

public String getParam(String username, String password,

@CookieValue("JSESSIONID") String jsessionId){

System.out.println("username = " + username + "," + "password = " + password);

System.out.println("jsessionId = " + jsessionId);

return "success";

}

Cookie:

6.通过控制器方法的实体类类型的形参获取请求参数

注意:需要在控制器方法的形参位置设置实体类类型的形参,要保证实体类的属性的属性名和请求参数的名字保持一致,可以通过实体类类型的形参获取请求参数

@RequestMapping("/param/pojo")

public String getParamByPojo(User user){

System.out.println(user);

return "success";

}

对应的index.html页面:

前五种方式实现:

用户名:

密码:

pojo实现:

用户名:

密码:

跳转页面:

成功

success.html

相关任务

www.bet3365.com 每一步都算数!你的运动步数可以兑换奖品啦
365bet取款 制作电子表格:推荐几款高效软件工具
365bet开户送20 海盗来了章鱼怎么打

海盗来了章鱼怎么打

📅 09-17 👁️ 1676