Spring Dispatcher
Section 1. Dispatcher Servlet 라이브러리
1. Repository
- Local Repository - 원격에 존재하는 Dependency(=api=Library)가 로컬에 다운로드 되는 공간
- Global Repository - 원격에 존재하는 Dependency(=api=Library)의 목록(다운로드 받을 수 있도록 참조)이 저장되는 공간
- 라이브러리 다운로드 시 하위 라이브러리까지 자동으로 설치됨
2. Dependency 지정 방법
- 첫 번째 방법
① window -> show view -> other -> maven -> maven repositories
② Rebuild index
③ Global Repository 에 존재하는 index 를 검색하여 다운로드
- 두 번째 방법
① Spring Web MVC 복사 후 pom.xml dependency 추가
② 결과 - Dispatcher Servlet 라이브러리 다운로드 완료
Section 2. Dispatcher-servlet.xml
1. Front Controller 원리
- 톰캣으로 모든 URL을 받도록 함
- Spring Dispatcher-servlet 으로 url 매핑을 구현 (*-servlet.xml 파일)
2. Tomcat 설정 (web.xml)
-
DispatcherServlet.class 경로 복사
-
톰캣으로 들어오는 모든 Requset (모든 url 요청)는 Dispatcher Servlet.class 가 처리하도록 보냄
3. Dispatcher-servlet.xml
- WEB-INF 폴더 내에 dispatcher-servlet.xml 파일 생성
- Spring IoC Container and Beans Metadata 복사
- id = url / class = controller
- controller 객체를 IOC 컨테이너에 담아두고 지정된 url 의 request 발생 시 비지니스 로직 수행
Section 3. Dispatcher 동작
1. Controller 생성 (POJO)
- src/main/java 폴더에 패키지 생성 후 그 안에 .java 파일 생성
- Controller 인터페이스 구현 (DispatcherServlet.class 에 종속)
- handleRequest 메서드 오버라이딩
- ModelAndView 객체 생성- View 와 View 로 넘길 Model 을 다룸
- addObject() 메서드 - View 로 넘길 데이터와 접근할 이름 지정
- setViewName() 메서드 - 어떤 View 로 넘길 것인지 지정
2. View 생성 (JSP)
- Controller 에서 보낸 'data' Model 접근
3. 결과 화면
4. 주의 사항
- setViewName() 메서드는 index.jsp 로 request forward -> 다시 톰캣으로 request 가 보내짐
- 톰캣의 web.xml 이 아래와 같다면 dispatcher-servlet.xml 에 index.jsp 처리 bean 존재 X -> 에러
<url-pattern>/*</url-pattern>
- 직접 접근 가능하도록 아래처럼 변경
<url-pattern>/</url-pattern>
Author And Source
이 문제에 관하여(Spring Dispatcher), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@codren/Spring-Dispatcher저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)