Controller Layer(계층)의 역할

  1. 사용자가 입력한 정보를 파라미터 형태로 전달받아 전달받은 값을 검증하거나 가공
  2. Service의 메소드 호출
  3. 수행 결과를 반환 받아 사용자에게 보여줄 뷰 결정
  4. 뷰에 필요한 데이터를 전달

< MVC2 Model 예제 >

public class OrderController {
	private OrderService orderService = new OrderService();

	public List<CategoryDTO> selectAllCategory() {
		List<CategoryDTO> categoryList = orderService.selectAllCategory();
		return categoryList;
	}

	public List<MenuDTO> selectMenuBy(String inputCategory, List<CategoryDTO> categoryList) {
		
		int categoryCode = 0;
		for(int i = 0; i < categoryList.size(); i++) {
			CategoryDTO category = categoryList.get(i);
			if(category.getName().equals(inputCategory)) {
				categoryCode = category.getCode();
				break;
			}
		}
		return orderService.selectMenuBy(categoryCode);
	}
  1. Service 계층의 메소드를 불러오기 위해 인스턴스를 생성
  2. View 계층으로 부터 받은 리스트를 가공
  3. Service로 부터 받은 반환 값을 View에게 전달