메서드의 입력 처리 출력을 분리시킨다
입력 - HttpServletRequest request,HttpServletResponse response
얘네는 공통적으로 들어가는 입력 코드이다.그렇기에 이걸 분리시킨다.
String year,String month,Strign day 이렇게 직접 각각의 데이터들을 직접 매개변수로 받을수 있게 한다.
출력 - view의 jsp 파일이 html을 출력할수 있게 해준다.컨트롤러에서는 jsp 파일 이름만 return 해준다. 컨트롤러에서는 필요한 데이터를 model에 담아서 view에 전달할수 있다.
일반적으로 컨트롤러 메서드의 반환 타입을 String으로 지정해주고 view 파일 이름을 return 해준다.하지만 다양한 변형이 존재한다.
반환 타입을 void로 해줄시 매핑된 url을 view 파일 이름으로 인식한다.
반환 타입을 ModelAndView로 하고 이걸 반환할수도 있다.
mv.addObject()로 값들을 맵 형태로 저장하고
mv.setViewName()로 view 파일 이름을 지정하다
mv를 리턴한다.
dispatcherServlet이 가운데에서 중간단계 역활을 해준다.앞에서 입력 처리를 해서 처리를 처리하는 컨트롤러에게 전달해준다.모델 또한 dispatcherServlet에서 만들어서 넘겨준다.
servlet-context.xml 파일에 view의 경로를 지정하는 설정 코드가 존재한다.여기서 접미사 접두사를 바꾸면 view의 파일 형식이나 폴더 위치를 수정할수 있다.