티스토리 뷰
Spring MVC
Spring MVC 구성 주요 컴포넌트
DispatcherServlet
- Front Controller
모든 요청을 최초로 받아들이는 역할
Controller
- 클라이언트 요청 처리를 수행하는 Controller
요청을 실제로 처리하는 역할
HandlerMapping
- 클라이언트의 요청을 처리할 Controller를 찾는 작업 처리
어떤 요청을 어떤컨트롤러가 처리할지를 결정
View
- 응답하는 로직을 처리
ViewReslover
-응답할 View를 찾는 작업을 처리
ModelAndView
- 응답할 View와 View에게 전달할 값을 저장하는 용도의 객체
응답에 사용할 데이터와 페이지 정보의 집합
MVC 흐름
요청 처리 순서
①DispatcherServlet이 요청을 수신
- 단일 Front controller servlet
- 요청을 수신하여 처리를 다른 컴포넌트에 위임
- 어느 컨트롤러에 요청을 전송할지 결정
②DispatcherServlet은 HandlerMapping에 어느 컨트롤러를 사용할 것인지 문의
③DispatcherServlet은 요청을 컨트롤러에게 전송하고 컨트롤러는 요청을 처리한 후 결과 리턴
- 비즈니스 로직 수행 후 결과 정보(Model)가 생성되어JSP와 같은 뷰에서 사용됨
④ModelAndView를 생성하여 DispatcherServlet에 리턴
⑤ModelAndView 정보를 바탕으로 바탕으로 ViewResolver 에게 View를 요청
⑥View는 결과정보를 사용하여 화면을 표현함.
Spring MVC 구현
①web.xml에 DispacherServlet 등록 및 Spring설정파일 등록
②Spring 설정파일에 HandlerMapping 설정
③컨트롤러 구현 및 Spring 설정파일에 등록
④컨트롤러와 JSP의 연결 위해 View Resolver Spring설정 파일에 등록
⑤JSP 코드 작성(View)
프로젝트 작성
1. Dynamic Web Project -> maven 셋팅
2. pom.xml 설정 - dependency(Spring-core, context, web, webmvc)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <dependencies> <!-- https://mvnrepository.com/artifact/org.springframework/spring-core --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.1.6.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.1.6.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-web --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.1.6.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.1.6.RELEASE</version> </dependency> </dependencies> | cs |
1 2 3 4 5 6 7 8 9 10 | <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> | cs |
viewResolver 사용하기
dispatcher-servlet.xml에 추가
1 2 3 4 5 | <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="jsp/"></property> <property name="suffix" value=".jsp"></property> </bean> | cs |
<예제>
ModelAndView mav = new ModelAndView();
mav.addObject("msg", "hihihihihi");
mav.setViewName("hello");
루트 컨테이너 등록하기
중간 빠진부분들은 전에 쓴 글 참고 dao 만들기랑 mapper 만들기
'언어 > SPRING' 카테고리의 다른 글
[SPRING] Controller에서 redirect하기 (0) | 2016.11.17 |
---|---|
[SPRING] mvc컨트롤러 - 반환 유형 종류 (0) | 2016.11.17 |
[SPRING] Mybatis-Transaction Management (0) | 2016.11.15 |
[SPRING] AOP(Aspect Oriented Programming) 정리 (0) | 2016.11.14 |
[SPRING] mapper의 sql 태그 (0) | 2016.11.11 |
- Total
- Today
- Yesterday
- mysql
- jdbc
- Server
- iNT
- 스프링
- 연결
- 클래스
- synchronized
- 하기
- 음식
- Delete
- 라이브러리
- Class
- jsp
- nsis
- spring
- Android
- Default
- Create
- UTF-8
- 사용
- Controller
- 어노테이션
- java
- 안드로이드
- 생성
- mybatis
- 종류
- js
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |