스프링 MVC를 이용하여 웹 어플리케이션을 개발할 때 가장 먼저 해야 할 일!!
스프링 MVC 설정 작성
1. web.xml에 DispatcherServlet 설정
2. web.xml에 캐릭터 인코딩 처리 위한 필터 설정
3. 스프링 MVC 설정
A. HandlerMapping, HandlerAdapter 설정
B. ViewResolver 설정
Thank you for showing my site
스프링 MVC를 이용하여 웹 어플리케이션을 개발할 때 가장 먼저 해야 할 일!!
스프링 MVC 설정 작성
1. web.xml에 DispatcherServlet 설정
2. web.xml에 캐릭터 인코딩 처리 위한 필터 설정
3. 스프링 MVC 설정
A. HandlerMapping, HandlerAdapter 설정
B. ViewResolver 설정
DispatcherServlet : 클라이언트의 요청을 전달받는다. 컨트롤러에게 클라이언트의 요청을 전달하고, 컨트롤러가 리턴한 결과값을 View에 전달하여 알맞은 응답을 생성하도록 한다.
HandlerMapping : 클라이언트의 요청 URL을 어떤 컨트롤러가 처리할지를 결정한다.
HandlerAdapter : DispatcherServlet의 처리 요청을 변환해서 컨트롤러에게 전달하고, 컨트롤러의 응답 결과를 DispatcherServlet이 요구하는 형식으로 변환한다. 웹브라우저 캐시 등의 설정도 담당한다.
Controller : 클라이언트의 요청을 처리한 뒤, 결과를 리턴한다. 응답 결과에서 보여줄 데이터를 모델에 담아 전달한다.
ModelAndView : 컨트롤러가 처리한 결과 정보 및 뷰 선택에 필요한 정보를 담는다.
ViewResolver : 컨트롤러의 처리 결과를 보여줄 뷰를 결정한다.
View : 컨트롤러의 처리 결과 화면을 생성한다. JSP나 Velocity 템플릿 파일 등을 이용해서 클라이언트에 응답 결과를 전송한다.
빨강색 네모가 표시된 부분은 직접 구현해주는 부분이다.
스프링MVC 컨트롤러는 클라이언트(웹 브라우저)의 요청을 처리하는 기능을 제공한다.
@Controller public class HelloController { @RequestMapping(value = "/hello.do", method=RequestMethod.POST) public String hello(Model model){ model.addAttribute("greeting", "안녕하세요"); return "hello"; } }
위 코드의 경우 웹 브라우저가 “/hello.do” URL을 Post방식으로 요청을 하면 hello()메소드를 이용해서 그 요청을 처리한다고 지정했다.
컨트롤러에서 직접 응답결과를 생성할 수도 있지만, 보통은 결과를 보여줄 때 사용할 뷰이름을 리턴한다.
위 코드에서는 “hello”를 리턴했는데, 스프링MVC는 “hello”에 해당하는 뷰 구현을 찾은 뒤, 해당 뷰를 이용해서 응답 결과를 생성한다.
뷰에서 응답 결과를 생성할 때 데이터가 필요할 수도 있는데, 이때에는 모델에 담긴 데이터를 이용해서 알맞은 응답 결과를 생성하게 된다.