hanseom 2020. 11. 22. 19:59
반응형

Note) Spring MVC는 Front Controller 방식 사용

  > 기존 모델 2 방식은 각 컨트롤러 사이의 중복적인 코드의 문제와 개발자의 개발 패턴 차이 등의 문제 존재

 

Note) MVC

  > 모델(Model) : 데이터 혹은 데이터를 처리하는 영역

  > 뷰(View) : 결과 화면을 만들어 내는데 사용하는 자원

  > 컨트롤러(Controller) : 웹의 요청(request)을 처리하는 존재, 뷰와 모델 사이의 중간 통신 역할

 

1. servlet-context.xml

  > 경로 : src\main\webapp\WEB-INF\spring\appServlet

  > 스프링 MVC 관련 설정만을 분리하기 위해 만들어진 파일

2. Controller

  > 경로 : src/main/java

  > HelloController.java

  > hello() 메소드의 리턴 값으로 사용된 'hello'는 결과적으로 /WEB-INF/views/hello.jsp 파일 실행

@RequestMapping : URI가 'hello'인 경우 동작하도록 설정, @ModelAttribute는 요청 시 파라미터를 문자열로 처리해 주고, 뷰로 전달

3. View

4. 결과

5. Model

  > Model 클래스는 스프링 MVC에서 기본적으로 제공하는 클래스로, 뷰에 원하는 데이터를 전달하는 일종의 컨테이너나 상자의 역할

  > VO(Value Object)나 DTO(Data Transfer Object) 객체를 사용하여 model 객체 보관 ( addAttribute 메소드 사용 )

  > Model 객체 사용은 이후 글 참고

 

Note) addAttribute()

  > addAttribute("이름", 객체) : 객체에 특별한 이름을 부여해 뷰에서 이름값을 이용하여 객체 처리

  > addAttribute(객체) : 이름을 지정하지 않는 경우, 자동으로 저장되는 객체의 클래스명 앞 글자를 소문자로 처리한 클래스명을 이름으로 간주

반응형