개발/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 이름
}
}