1.对⽐问号传参与路径传参:
问号传参,需要使⽤问号来拼接参数,在接受⽅,使⽤request.getParameter("key")来获取问号所传递过来的值,如果数据类型不为String,还需要⼿动转换。可以传递多个值,如果使⽤多个值,使⽤&来拼接,不会改变路径级别路径传参,使⽤路径符号来传递参数,优点,可以不⽤做类型转换来直接获取其值。
路径传参也可以使⽤统配规则,如果同时统配和具体的url都满⾜,则以最具体的url来处理该请求。
2.注解Controller,RequestMapping,GetMapping, PostMapping,PathVariable
1. Controller,代表当前类是⼀个控制器类,通过查看源码,我们发现该类也是⼀个Component,所以刚刚的配置包扫描可以直接扫描到当前 类,并将其作为⼀个组件来使⽤
2. RequestMapping,请求映射,⽬的是将某⼀个请求,映射到具体⽅法之上。该注解可以使⽤在类之上,也可以使⽤在⽅法之上。如果类和 ⽅法都有该配置,那么访问该⽅法的时候,需要同时拼接类之上的路径和⽅法之上的路径才能够访问该具体的⽅法。该注解可以使⽤method 来区分不同的请求,method = RequestMethod.POST,或者GET可以分别来处理post和get请求
3. PostMapping和GetMapping也代表请求映射,使⽤起来会更直观,分别代表处理post和get的请求⽅式,但是这俩属性只能⽤于spring 4.3之 后的版本。
4. PathVariable:路径变量,可以⽤来做路径传参功能,该功能相对于问号传参更加⽅便,可以直接指定变量的数据类型,⽽⽆需再做数据类 型的转换,也可以实现传⼊多个参数,