@Controller
public class HomeController {
//장기 약속
private int a;
//생성자
public HomeController(){
a=-1;
}
@GetMapping("/home/increase")
@ResponseBody
//단기약속
public int showMain(){
a++;
return a;
}
}
쿼리스트링 -쿼리스트링에는 순서가 없다.
@RepuestParam : 개발자가 스프링부트에게 말한다. 생략해도 됨.
@RepuestParam(defaultValue="0") 이렇게 옵션 줄 수 있음
@RepuestParam(defaultValue="0") int a 하면 a값 쿼리스트링에 입력 안해도 0 기본값 들어감
@AllArgsConstructor
이걸로 만들어진 생성자 자동으로 만들어준다.
class 안에 변수 private로 하면 안나옴- public 해야함.public 안할거면 getter 다 만들어줘야함.
=>직접 만들 필요 없고 @Getter
해주면 됨
%d번 사람이 추가되었습니다.
로 return 하게 함.list, map 객체-다보임 / class 객체- 내가 보이고싶은거만 보임 (getter setter 어떻게 다느냐에 따라 특정 요소 숨길 수 있음)
Getter안붙이면 정보를 못가져옴
계속 기억되야함 -> static
removeIf
쓰는 거였음스프링부트는 고객(브라우저)를 구분하지 못한다.
그런데 로그인하고 들어가면 어떻게 사용자마다 다른 화면 보여주나?
=> 쿠키가 있어서 가능. 브라우저에서 가져옴
고객이 가져온 쿠폰에서 쿠폰을 찾고 그 쿠폰의 값을 가져온다.
쿠키= 쿠폰이다.
이건 브라우저나 서버에서 가져올 수 있다.
쿠키만 쓰면 보안에 문제가 있음.그래서 쿠키와 세션 같이 사용