| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- 유효성검사
- 바인딩변수
- PointCut
- frontController
- 의존주입
- gradle
- 생성자주입
- spring
- springmvc
- @
- 스프링
- Java
- application.properties
- @RequestParam
- Model
- SpringBoot
- AOP
- 서비스레이어
- jointpoint
- 비즈니스레이어
- c:if
- springjdbc
- produces
- after-throwing
- .xml
- @Valid
- @ResponseBody
- MVC
- 어노테이션
- @RequestMapping
- Today
- Total
메모장
Spring 제공 MVC로 바꾸기 (.xml 방식) 본문
[Spring MVC로 변경하기]
1) web.xml 에서 내가만든 클래스 -> 스프링이 제공하는 클래스
org.springframework.web.servlet.DispatcherServlet 스프링이 제공한 프레임워크로 갈아끼운다.
WebApplicationContext 구동할거야
xxx ApplicationContext == 컨테이너를 구동하겠단 뜻
=> 컨테이너를 구동하려면 무조건 .xml이 필요하다는뜻
- 무슨 xml이 필요할까 ?
DispatcherServlet-servlet이름의 resource 가 필요하다는 문구
== [/WEB-INF/DispatcherServlet-servlet.xml]

WEB-INF 안에있는 xml !
WEB-INF xml 이걸 만들어 줘야 한다 !
이 파일이 없으면 DS를 초기화(DI할때 사용되는) .init()이 호출될 수 없음.
WEB-INF 하위에 DispatcherServlet-servlet.xml 파일 생성

이런식으로 web.xml에 등록할 수 있다 서블릿 컨테이너와 관련되어서 서블릿 등록 할 수 있어서
필터 서블릿 등록 가능하다. 인코딩용 필터클래스도 스프링에 있다.
이걸 어디다 맵핑할거니 ? .do 에다가
인코딩을 뭘로 할건지에 대한 값을 넣어줘야 해서 초기값을 넣어줘야한다.
이러면 .do 할때마다 utf-8 애가 자동호출 된다.
스프링에서는 기본 제공하는 필터를 사용한다. jsp 때처럼 필터 클래스를 안만들어도 됨
2) 스프링이 제공하는 클래스로 controller 변경 import 하기
반환이 String 에서 ModelAndView 로 바뀜


.do 요청 했을적에 수행할 컨트롤러까지 준비된 상황
둘을 연결 해주면 됨
둘은 HandlerMapping 이 연결 해준다.
3) 사용자의 xxx.do 요청에 대해 수행할 controller 클래스 까지 구현 완료된 상태
.do 요청에 대해 객체를 반환할 준비를 해야함
HandlerMapping이 요청에 대한 controller 객체 반환을 수행하므로,
이제 HandlerMapping 생성할 차례 !!
HandlerMapping은 DS 에서 DI (의존주입) 되는 클래스 (객체) == 의존 주입이 여기서 되니까
아까 만든 DS Servlet-servlet.xml 에서 설정해야함 !!
(그리고 HM이 POJO 니까 web.xml은 안된다...)

4) ViewResolver 에서 forward를 할지, redirect를 할지 결정

Resolver 류는 id 이름을 써야지만 동작 한다. 필수이다.
ViewResolver 는 setter 주입을 하는 친구

앞부분 : /WEB-INF/views/ 뒷부분 : .jsp ==> 정확한 경로를 지정해준다.
※ DB를 방문해야만 하는 페이지를 WEB-INF 하위에서 관리하는 VIEW 구조 (데이터를 받아와야 하는 페이지)
(이유 : 에러방지 )

※ 이렇게 은닉된 페이지는 오직 View Resolver를 통해서만 갈수 있음 !!!

jsp 페이지로 이동시 (정확한 경로 명시 )

jsp가 아니라 MainController로 이동 하고 싶을때
VR는 디폴트로 forward 속성을 가지고 간다.
★ redirect: 을 붙이면 VR의 설정을 무시하고 보낸다.
WEB-INF 폴더 안 views 폴더 안에 없는 파일들을 redirect 붙여줌으로서 VR 의 경로 설정을 무시하고
"main.do"로 보낸다.
'Spring > 개념정리' 카테고리의 다른 글
| Spring 에 대한 간단 정리 (0) | 2024.06.21 |
|---|---|
| Spring 제공 MVC로 바꾸기 (@ 어노테이션 방식) (0) | 2024.06.21 |
| @ 어노테이션의 종류 (0) | 2024.06.21 |
| Spring MVC 구조 설명 (1) | 2024.06.21 |
| 기존 JSP -> Spring 이관작업 흐름 정리 (0) | 2024.06.21 |