개발/Spring

[Spring 입문] 정적 페이지 / 동적 페이지

서해쭈꾸미 2024. 5. 13. 23:37
정적 페이지 / 동적 페이지
Controller
페이지 @ResponseBody Return 타입 Return 
정적 페이지 X String "{View name}"
"redirect:/{redirect URL}"
동적 페이지 O String "{Text}"
String 외 Java 객체

 

정적페이지는 html을 반환하기 때문에 @ResponseBody가 없어도 되고, 동적 페이지는 Text와 같은 데이터를 반환하기 때문에 @ResponseBody가 필요하다.

 

 

사용 예시

 

package org.sparta.springmvc.html;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HtmlController {

    private static long visitCount = 0;

    //정적 페이지 예시 1 : 직접 접근 방법 -> /hello.html
    @GetMapping("/static-hello")
    public String hello(){ //return 스트링에 부합하는 페이지의 이름을 찾아서 반환
        return "hello.html";
    }
    
    //정적페이지 예시 2 : 간접 접근 방법 -> /html/redirect
    @GetMapping("/html/redirect")
    public String htmlSatic(){
        return "redirect:/hello.html";
    }


    //동적 페이지 예시 1
    @GetMapping("/html/templates")
    public String templates(){
        return "hello"; //동적페이지는 html 안 붙임
    }


	//동적 페이지 예시 2
    //Controller에서 View로 Model 객체로 넣어주기
    @GetMapping("/html/dynamic")
    public String htmlDaynamic(Model model){
        visitCount++;
        model.addAttribute("visits", visitCount);
        return "hello-visit"; //view 이름
    }
}