
(동작이 없는 html페이지 같은 거)
SpringBoot 서버에 html 파일을 바로 요청하면 해당 html 파일을 static 폴더에서 찾아서 반환해 줍니다.
@GetMapping("/static-hello")
public String hello(){
return "hello.html"; //동적인 페이지라 굳이 Contoller를 들어왔다가 나갈 필요가 없다.
}
//맞는 페이지를 찾아서 리턴
@GetMapping("/html/redirect") // 상황에 따라서 Controller를 한 번 거쳐야 하는 경우
public String htmlStatic() {
return "redirect:/hello.html";
}
//templates에 넣어서 보기
@GetMapping("html/templates")
public String htmlTemplates(){
return "hello"; //.html을 안 붙이고 이름만 반환
}
- 동적 페이지 처리 과정
- Client 의 요청을 Controller에서 Model 로 처리합니다.
- DB 조회가 필요하다면 DB 작업 후 처리한 데이터를 Model에 저장합니다.
- Template engine(Thymeleaf) 에게 View, Model 전달합니다.
- View: 동적 HTML 파일
- Model: View 에 적용할 정보들
- Template engine
- View에 Model을 적용 → 동적 웹페이지 생성
- 예) 로그인 성공 시, "로그인된 사용자의 Nickname"을 페이지에 추가
- Template engine 종류: 타임리프(Thymeleaf), Groovy, FreeMarker, Jade, JSP 등
- Client(브라우저)에게 View(동적 웹 페이지, HTML)를 전달 해줍니다.
@GetMapping("/html/dynamic")
public String htmlDynamic(Model model){ //Front Controller에서 Controller 요청을 할 때 Model을 넣어준다
visitCount++;
model.addAttribute("visits",visitCount);
return "hello-visit";
}