web后端
web概述
controller 只是简单的java的一个类
java意义规范的技术 servlet
tomcat也称为servlet容器
请求
1.简单参数(了解即可 繁琐和手动类型转换)
2.SpringBoot方式
Interger age springboot会自动类型转换
post请求参数在请求体body from表单 x-www-form-urlencoded 中携带
2.实体参数
将所有的请求参数都封装在实体类当中
3.数组集合参数
默认是封装到数组,封装到集合要加注解@RequestParam
将多个请求参数值封装到list集合
4.日期参数
5.json参数
json post
6.路径参数
package com.it.controller;
import com.it.pojo.User;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
//@RestController 请求处理类
@RestController
public class HelloController {
// 指定当前方法处理的是什么请求
@RequestMapping("/simpleParam")
public String simpleParam(@RequestParam(name = "name", required = false) String username, Integer age){
System.out.println(username + " " + age);
return "OK";
}
//2.实体参数
@RequestMapping("/simplePojo")
public String sumplePojo(User user){
System.out.println(user);
return "OK";
}
//2.实体参数
@RequestMapping("/complexPojo")
public String complexPojo(User user){
System.out.println(user);
return "OK";
}
//3.数组参数
@RequestMapping("/arrayParam")
public String arrayParam(String[] hobby){
System.out.println(Arrays.toString(hobby));
return "OK";
}
//4.集合参数
@RequestMapping("/listParam")
//将多个请求参数值封装到list集合
public String listParam(@RequestParam List<String> hobby){
System.out.println(hobby);
return "OK";
}
//5.日期参数
@RequestMapping("/dateParam")
//通过一个注解指定格式
public String listParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){
System.out.println(updateTime);
return "OK";
}
//6.json参数
@RequestMapping("/jsonParam")
//通过一个注解指定格式
public String jsonParam(@RequestBody User user){
System.out.println(user );
return "OK";
}
//7.路径参数
@RequestMapping("/path/{id}")
//通过一个注解指定格式 获取路径参数 绑定形参
public String pathParam(@PathVariable Integer id){
System.out.println(id);
return "OK";
}
@RequestMapping("/path/{id}/{name}")
//通过一个注解指定格式 获取路径参数 绑定形参
public String pathParam(@PathVariable Integer id, @PathVariable String name){
System.out.println(id + name);
return "OK";
}
}
设置响应数据
案例
三层架构
分层解耦
内聚:软件中各个功能模块内部的功能联系
耦合:衡量软件中各个层或模块之间的依赖 关联的程度