Model

  • Controller에서 View로 객체를 전달하는데 사용된다.
  • 명명된 객체들의 집합이라고 할 수 있다.
    • Key-value 형식의 하나의 쌍을 명명된 객체라고 부른다.
    • 또한 이 명명된 객체는 model attribute라고 부른다.
    • 여러 개의 attribute가 모여 Table형식을 이룬다.
  • view에서 attribute의 key 값을 통해 value 값을 사용할 수 있다.
key(name) value
key1 value
key2 value

Model Inplementations

  • Model을 표현하기 위해 여러 자료구조를 사용할 수 있다.
  • Controller 메서드에 input argument로 값을 넣어주면 Spring FrameWork가 자동으로 Model을 만들어주고 해당 Model의 주소값만 넘겨준다.

Controller

@Controller

  • bean으로 등록
  • 해당 클래스가 Controller로 사용됨을 Spring Framework에 알림
  • @Component (구체화) -> @Controller, @Service, @Repository

@RequestMapping

  • value : 해당 url로 요청이 들어오면 이 메서드가 수행된다.
  • method : 요청 method를 명시한다.
  • 즉, 위의 예시에서는 "\home" url로 HTTP GET 요청이 들어오면 home() 메서드가 실행된다.

View

  • View를 생성하는 방법은 여러가지 있다.
    • jsp이외에도 Thymeleaf, Groovy, Freemarker 등 여러 Tempate Engine이 있다.
  • JSP(Java Server Pages)
    • JSP 제한 사항
    • Java EE에 종속적이라는 단점이 있다.
    • SpringBoot에서는 공식적으로 JSP를 지원하지 않는다.
      • SpringBoot의 내장 Tomcat에 하드코딩 패턴 때문에 jar형식으로는 webapp내용을 가져올 수 없다.
      • 따라서 spring boot에서는 war가 아닌 jar로 jsp를 사용할 수 없다.
    • JSTL(JSP Standard Tag Library)
      • 많은 JSP 애플리케이션의 공통적인 핵심 기능을 캡슐화하는 유용한 JSP 태그 모음
      • 즉, JSP 페이지를 작성할 때 유용하게 사용할 수 있는 여러 가지 action과 함수가 포함된 라이브러리

+ Recent posts