day033

处理请求参数
概述
当客户端打开浏览器要访问服务器时,可能会带着一些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 右键generate

    public 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值