Spring MVC
Spring MVC 흐름
MVC 패턴 기반 웹 개발 프레임워크
요청 처리 순서
1) DispatcherServlet이 요청을 수신
- 단일 front controller servlet
- 요청을 수신하여 처리를 다른 컴포넌트에 위임
- 어느 컨트롤러에 요청을 전송할 지 결정
2) DispatcherServlet은 HandlerMapping에 어느 컨트롤러를 사용할 것인지 문의
- URL과 매핑
3) DispatcherServlet은 요청을 컨트롤러에게 전송하고 컨트롤러는 요청을 처리한 후 결과 리턴
- 비즈니스 로직 수행 후 결과 정보(Model)가 생성되어 JSP와 같은 뷰에서 사용 됨
4) ModelAndView 오브젝트에 수행결과가 포함되어 DispatcherServlet에 리턴
5) ModelAndView는 실제 JSP정보를 갖고 있지 않으며, ViewResolver가 논리적 이름을 실제 JSP 이름으로 변환
6) View는 결과 정보를 사용하여 화면을 표현함.
Spring MVC 구현 Step
Spring MVC를 이용한 어플리케이션 작성 스텝
1) web.xml에 DispacherServlet 등록 및 Spring설정 파일 등록
2) 설정파일에 HandlerMapping 설정
3) 컨트롤러 구현 및 Spring 설정파일에 등록
4) 컨트롤러와 JSP의 연결 위해 View Resolver 설정
5) JSP 코드 작성
1. STS에서 프로젝트를 만들 때 Spring MVC Project로 생성한다.
2. Spring MVC 프로젝트는 프로젝트명을 별도로 다음과 같은 형식으로 입력해야 한다.
3. Spring MVC 프로젝트의 디렉토리 구조 확인
기본이 되는 디렉토리는 src-main-webapp 이하가 된다.
4. Server 탭을 선택 후 Add and Remove에서 현재 프로젝트를 Add하여 실행시킨다.
실행은 프로젝트 이름이 아니라 패키지 명으로 실행해야 한다. 패키지명의 맨 끝 이름이 브라우저에서 사용된다.
(예:spring.mvc.chap01)
5. 브라우저의 URL 창에 자신의 패키지 명을 로컬호스트 뒤에 써보자.
(예: http://localhost:8095/chap01/)
위와 같이 스프링 MVC에서 제공하는 기본 화면인 Hello world!가 나왔다면 성공이다.
단, 한글이 깨지므로
view/home.jsp 위에
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
를 추가해주자.
web.xml에서도 다음과 같이 필터를 추가해주자.
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern> <!-- 모든 요청에 대하여 -->
</filter-mapping>
다음 톰캣을 리스타트 해주면 된다.
6. 프로젝트에서 자바 및 다이나믹 웹 모듈, 스프링을 최신 버전으로 변경하자.
※ STS에서 아파치 톰캣 서버 연결이 안될 때
Window-Preferences-Server-Runtime Environment-Add-Apache Tomcat v.8.0 선택하고
현재 자바 버전을 선택하고 Apply를 하면 된다.
pom.xml에서도 자바 및 스프링 최신 버전으로 변경하자.
<properties>
<java-version>1.8</java-version>
<org.springframework-version>4.2.5.RELEASE</org.springframework-version>
<org.aspectj-version>1.8.9</org.aspectj-version>
<org.slf4j-version>1.7.12</org.slf4j-version>
</properties>
' Spring Framework' 카테고리의 다른 글
브라우저의 실행 경로 간단하게 변경하기 (0) | 2016.04.07 |
---|---|
Spring MVC 실습 (0) | 2016.04.06 |
Spring JDBC 탬플릿 이용: KBO 구단 조회/추가/수정/삭제 (완성) (0) | 2016.04.05 |
Spring에서 데이터베이스 연동하기: KBO 구단 조회 (0) | 2016.04.04 |
Spring 과 DB (0) | 2016.04.04 |