处理请求参数
概述
当客户端打开浏览器要访问服务器时,可能会带着一些http请求参数过来.
这时,服务器需要获取http参数进行业务处理,如何处理http请求并获取参数呢?
总共有8种,重点时两种方式:GET方式和POST方式.
GET方式
向特定的资源发出请求,并返回实体.有固定的写法.而且数据有最大长度,超出就不行
例如:
http://localhost:8080/car/insert?id=1&name=张三&age=18
POST方式
向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
RESTFul方式(推荐)
为了简化GET请求的写法,可以使用RESTFul方式,用法:
1、需要使用注解@PathVariable来获取请求路径中的参数值,@PathVariable用来绑定值
2、通过{???}获取路径中传递来的值
3、以前GET的访问方式即将被简化成:
http://localhost:8080/car/insert/1/张三/18
http://127.0.0.1:8848/cgb2107/test_form.html?user=234&pwd=234
服务器:获取用户从游览器输入的数据
1.切割字符串split(?),切出来一个数组a.里面有两个字符串
2.只用切第二个字符串
3.继续切,用&切,split(&),切出来一个数组b,里面有好多数据user=jack
4.继续切,用=切,split(=),切出来一个数组c,
里面数据格式[user,jack],只取=后面的数据c[1]
@Test
public void CeShi(){
String a=“http:localhost:8080/car/add2?id=10&name=jack”;
String a1[]=a.split("\?");
System.out.println(Arrays.toString(a1));
String a2[]=a1[a1.length-1].split("&");
System.out.println(Arrays.toString(a2));
String a3[] = a2[0].split("=");
String a4[] = a2[1].split("=");
System.out.println(Arrays.toString(a3));
System.out.println(Arrays.toString(a4));
System.out.println(a3[0]+"的值为"+a3[1]);
System.out.println(a4[0]+"的值为"+a4[1]);
}
处理器映射器:
根据url里的字段 找到对应的类,方法
mapping映射
Requestmapping请求映射–>拿到游览器地址栏的信息映射到程序里
/*总结:
- 1.SpringMVC可以接收请求,并解析请求参数
- 只要在方法的参数列表中声明就可以:public void add(int id,String name)
- 2.为了避免400或者500的异常,最好把参数列表的参数类型改为引用类型
- 改后:public void add(Integer id ,String name)
- 3.参数列表可以提供一个对象,框架可以解析参数,并且把参数直接设置给对象属性赋值
- public void save2(Car c)*/
/*
-
3注意点:
-
1-注解紧跟
-
2-字段名和字段值不要写混了*/
//练习4:http://8080/car/save2?id=1&color=red&price=100&pinpai=BMW&type=X7
//框架的作用:1.解析了解请求参数 2.把解析到的参数调用c.setXxx()设置值
@RequestMapping(“save2”)
public void save2(Car c){
System.out.println©;
}//这个类用来存Springmvc框架的参数
public class Car {
private Integer id;
private String color;
private Integer price;
private String pinpai;
private String type;
//get set toString 右键generatepublic Integer getId() {
return id;
}public void setId(Integer id) {
this.id = id;
}public String getColor() {
return color;
}public void setColor(String color) {
this.color = color;
}public Integer getPrice() {
return price;
}public void setPrice(Integer price) {
this.price = price;
}public String getPinpai() {
return pinpai;
}public void setPinpai(String pinpai) {
this.pinpai = pinpai;
}public String getType() {
return type;
}public void setType(String type) {
this.type = type;
}@Override
public String toString() {
return “Car{” +
“id=” + id +
“, color=’” + color + ‘’’ +
“, price=” + price +
“, pinpai=’” + pinpai + ‘’’ +
“, type=’” + type + ‘’’ +
‘}’;
}
}
SpringMVC框架:
https://blog.csdn.net/u012932876/article/details/120279964