[ 참고 ]
Controller 파트 설계 할 때,
1)
View 에게 전달 해야할 데이터가 있어 ?
그러면 메서드의 리턴타입을 Spring에서 기본 제공 해주는,
ModelAndView 자료형으로 반환 하기.
2)
View 에게 전달 해야할 데이터가 없어 ?
그러면 메서드의 리턴타입을 단순하게
String 자료형으로 반환 하기.
3)
Command 객체 개념을 사용 하기에,
View에서 넘겨주는 VO의 인자의 파라미터명을 고려할 필요가 없다.
Command 객체가 setter 호출 까지 깔끔 하게 다 해주기 때문에 이다.
그래도 CRUD 메서드를 수행 하기 위해,
필요한 데이터를 잘 받아야 하기 때문에,
View에게 이러한 파라미터명으로 데이터 줘 ~ 라고 잘 말해야 한다.
그래야 Command 객체가 setter 을 불러 내서, 데이터를 set 할 수 있다.
4)
@RequestMapping 어노테이션의 속성인 value 속성의 값을 View 와 정하면 된다.
@RequestMapping는 기존의 HandlerMapping의 기능을 하는 어노테이션 이다.
사용자로부터 특정한 요청을 받아서 == value 속성의 값을 보고 매핑 한다.
요청을 받고, 특정 요청에 대한 기능을 메서드 내부에서 수행 하고,
보내야 할 데이터가 있으면 보내고, 없으면 보내지 않고, + 경로 까지 해서 반환 한다.
5)
@RequestMapping 어노테이션의 속성으로 method 속성의 값을 View와 정하면 된다.
예시)
@RequestMapping(value="insertBoard".do", method=RequestMethod.GET)
@RequestMapping(value="insertBoard".do", method=RequestMethod.POST)
사용자로부터 특정한 요청을 받고,
그 요청을 읽는 @RequestMapping 어노테이션의
value 값이 같은 메서드 일 때,
사용자로부터 온 요청 방식이 GET 방식인지, POST 방식인지를 파악 해서,
분기 처리를 해주기 때문에,
View 에서 GET으로 보내줄지 POST로 보내줄지를 정하면 된다.
6)
객체화 해야 하는것이 있으면,
(VO, DAO, .. 등은 Command 객체 개념으로 사용 하고,,)
객체화 해야 하는 대상을 싱글톤 패턴의 개념을 지킬 수 있는지 생각 하면서 설계.
7)
Model의 비즈니스 메서드 수행시, 적절한 메서드를 수행 해야 하기에,
SK 키워드를 잘 확인 하기.
8)
DB에는 없는 칼럼이라 VO의 멤버변수로도 없을 때,
무언가 임시 데이터가 필요해서 View 로부터 받아야 할 때,
View는 Controller 에게 hidden 속성으로 해서 데이터를 보내 준다.
이때, 어떤 파라미터명으로 보낼지를 C와 V가 잘 상의 해야 한다.
그래야지, C가 M한테 VO에 임시변수 만들어 달라고 할 수 있으니까 ~
'Spring 프레임워크 > 메모' 카테고리의 다른 글
MySQL에서 Oracle로 이관 하기 (MySQL to Oracle Migration) (0) | 2023.08.05 |
---|---|
Spring 프레임워크 ModelAndView.java 소스 코드 (0) | 2023.08.04 |
Oracle 로 DBMS 변경 하기 (0) | 2023.08.02 |
스프링 컨테이너 어노테이션 메모 (1) | 2023.08.02 |
에러 테스트 (0) | 2023.08.01 |