浏览器get请求
一、请求与响应
1.简单参数接受
@RequestParam(name=“name”,required = false) String username :代表参数不是必须传递,且将传递过来的name参数映射成username
2.实体参数
1.复杂请求封装(按照层次结构创建类)
3.数组集合组件
例如:复选框
(1).数组
@RequestMapping("/ArrayParam")
public String ArrayParam(String[] hobby, HttpServletRequest request){
System.out.println("hobby:"+Arrays.toString(hobby));
return "OK";
}
(2).集合
需要加注解@RequestParam,因为默认是用数组
@RequestMapping("/ListParam")
public String ListParam(@RequestParam List<String> hobby, HttpServletRequest request){
System.out.println(hobby);
return "OK";
}
4.日期参数传递
5.json参数传递
1.需要用post,
2,原理:json请求时是放在请求体中携带到服务端——————raw——json
一般是用实体对象。
6.路径参数传递
动态设置请求路径
第二个是多个路径参数,用/和大括号指定第二个参数
二、.响应
1.返回的类型不同
第一个返回的是字符串
第二个,第三个返回的是json
2.返回的是统一结果
示例代码:
@RequestMapping("/listAddr")
public Result listAddr(){
ArrayList<Adress> list = new ArrayList<>();
Adress adress = new Adress();
Adress adress1 = new Adress();
adress.setCity("jiangxi");
adress.setProvince("chinese");
adress1.setCity("hubei");
adress1.setProvince("wuhan");
list.add(adress);
list.add(adress1);
return Result.success(200,"success",list);
}
返回结果:(返回的类型统一转为Result类)
返回值是
1.实体,集合————转为json对象
三、.案例
emp.xml进行解析————>emp对象————>封装成emplistt再封装为Result————>通过json返回给前端————>vue进行渲染
四、.分层解耦
1.三层架构
高内聚:员工的所有东西都放在员工类
低耦合:降低各个层之间的模块依赖,关联的程度
降低耦合:提供容器,不用手动new,从容器中拿对象
五、控制反转和依赖注入
@ComponetScan() :可以指定组件扫描范围,默认扫描范围是当前包及其子包
选择哪个依赖进行注入