[SPRING] 게시판만들기 5 [ Spring MVC ]
3255 단어 spring mvcspring mvc
- struts를 비롯한 대부분의 MVC 프레임워크는 비슷한 구조를 가졌다.
- Spring 프레임워크와 구조가 비슷한 MVC프레임워크를 연습했고
- 이번에는 Spring MVC를 적용해보자
- Spring MVC 프레임워크 와 MVC 프레임워크가 다른점은 우리가 직접 DispatcherServlet을 만드느냐 Spring에서 제공하는 DispatcherServlet을 사용하느냐의 차이
이에따라, String return 대신 ModelAndView형 return
또한, viewResolver 와 view 두가지가 존재하는 부분이 차이가 있다.
1. web.xml 수정하기
- Spring MVC에서 가장 중요한 요소가 모든 클라이언트의 요청을 가장 먼저 받아들이는 DispatcherServlet이다.
- Spring MVC 적용에서 가장 먼저 해야할 일은 WEB-INF/web.xml 파일에 등록된 DispatcherServlet 클래스 설정을 스프링 프레임워크에서 제공하는 DispatcherServlet으로 변경하는 것이다.
- DispatcherServlet클래스를 스프링에서 제공하는 DispatcherServlet으로 변경한다.
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
- 사용자의 요청으로 DispatcherServlet 객체가 생성되고 나면 Dispatcher 클래스에 재정의된 init()메서드가 자동으로 실행되어 XmlWebApplicationContext라는 스프링 컨테이너가 구동된다.
- 이때, XmlWebApplicationContext은 DispatcherServlet이 자동생성
- DispatcherServlet은 반드시 handlerMapping, viewResolver, Controller와 상호작용
2. 스프링 설정파일 등록
- DispatcherServlet은 자신이 사용할 객체들을 생성하기 위해서 스프링컨테이너를 구동한다.
- 이때, 스프링 컨테이너를 위한 설정파일의 이름과 위치는 서블릿 이름을 기준으로 자동결정
- 필요에따라 이부분을 설정하기 위해서는 서블릿 초기화 파라미터를 이용한다.
3. 인코딩 설정
- 기존에는 DispatcherServlet파일에 직접적으로 인코딩타입을 UTF-8로 설정했다.
- 하지만 이부분은 스프링에서 제공하는 DispatcherServlet에서는 없다.
- 따라서, web.xml파일에 CharacterEncodingFilter 클래스를 필터로 등록한다.
- 필터는 엘리먼트 이름만 다를 뿐, 서블릿과 거의 비슷한 형태로 동작
- characterEncoding이라는 이름으로 등록한 CharacterEncodingFilter 객체가 생성되고 나면 init-param으로 설정한 encoding 파라미터 정보를 읽어 인코딩 방식으로 설정.
- filter-mapping에서 url-pattern을 "*.do"로 설정해서
확장자가 .do인 모든 파일에서 일괄 한글처리한다.
4. 기존 Controller 정리하기
- 위와같은 4가지 파일을 삭제한다.
- 이후, SpringMVC프레임워크로 대체예정
- 이렇게 springframework에서 Controller로 가져온다.
Author And Source
이 문제에 관하여([SPRING] 게시판만들기 5 [ Spring MVC ]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yseonjin/SPRING-게시판만들기-5-Spring-MVC저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)