서버에서 파일을 그대로 웹 브라우저로 전달 해주는 방식
템플릿 엔진 : jsp, php, 서버에서 프로그래밍 하여 html을 동적으로 바꾸어 전달 해주는 방식
mvc : model, view, controller
json 데이터 포멧으로 클라이언트에 데이터를 전달하는 방식
스프링은 정적 컨텐츠 기능을 기본적으로 제공함
/resources/static/ 에 파일을 넣고 서버주소/파일이름 으로 파일에 접근 가능
내장 톰켓 서버에서
1. 스프링 컨테이너에서 파일이름 관련 컨트롤러를 서치
2. 못찾으면 resources/static/ 에서 파일 서치
3. 파일을 웹브라우저에게 리턴
MVC : Model, View, Controller
예전에는 View만 이용하여 다 처리했음
요즘은 controller와 view를 분리하는 것이 기본
View : 화면을 그리는데 집중
Model, Controller : 비즈니스 로직과 관련이 있거나 내부적인 것을 처리하는데 집중
@GetMapping("hello-mvc")
public String helloMvc(@RequestParam("name") String name, Model model) {
model.addAttribute("name", name);
return "hello-template";
}
@ResponseBody 어노테이션으로 데이터를 응답하도록 설정
객체를 리턴하면 기본적으로 json으로 리턴하도록 설정 되어 있음
@GetMapping("hello-api")
@ResponseBody
public Hello helloApi(@RequestParam("name") String name){
Hello hello = new Hello();
hello.setName(name);
return hello;
}
class의 데이터를 private으로 설정하고
getter, setter를 public 으로 설정하여 데이터에 접근
generate : cmd + n
코드 자동 완성 (귀찮은데? 할때 누르면 마무리 해줌) : cmd + shift + enter