[Spring] 정적 페이지와 동적 페이지

kang·2024년 8월 12일

SPRING

목록 보기
6/22


정적 페이지

(동작이 없는 html페이지 같은 거)

SpringBoot 서버에 html 파일을 바로 요청하면 해당 html 파일을 static 폴더에서 찾아서 반환해 줍니다.

   @GetMapping("/static-hello")
    public String hello(){
        return "hello.html"; //동적인 페이지라 굳이 Contoller를 들어왔다가 나갈 필요가 없다.
    }
    //맞는 페이지를 찾아서 리턴
  • Controller를 거쳐서 html을 반환할 수 있을까?
    @GetMapping("/html/redirect") // 상황에 따라서 Controller를 한 번 거쳐야 하는 경우
    public String htmlStatic() {
        return "redirect:/hello.html";
    }
  • 템플릿 엔진을 적용한 상태에서 static 폴더의 html 파일을 Controller를 통해서 처리하고 싶으면
    //templates에 넣어서 보기
    @GetMapping("html/templates")
    public String htmlTemplates(){
        return "hello"; //.html을 안 붙이고 이름만 반환

    }
  • 동적 페이지 처리 과정
    • 동적 페이지 처리 과정
      1. Client 의 요청을 Controller에서 Model 로 처리합니다.
        1. DB 조회가 필요하다면 DB 작업 후 처리한 데이터를 Model에 저장합니다.
      2. Template engine(Thymeleaf) 에게 View, Model 전달합니다.
        1. View: 동적 HTML 파일
        2. Model: View 에 적용할 정보들
      3. Template engine
        1. ViewModel을 적용 → 동적 웹페이지 생성
          1. 예) 로그인 성공 시, "로그인된 사용자의 Nickname"을 페이지에 추가
          2. Template engine 종류: 타임리프(Thymeleaf), Groovy, FreeMarker, Jade, JSP 등
      4. Client(브라우저)에게 View(동적 웹 페이지, HTML)를 전달 해줍니다.
    @GetMapping("/html/dynamic")
    public String htmlDynamic(Model model){ //Front Controller에서 Controller 요청을 할 때 Model을 넣어준다
        visitCount++;
        model.addAttribute("visits",visitCount);
        return "hello-visit";
    }
profile
뉴비 개발 공부중

0개의 댓글