[Spring] Spring MVC를 만들어보자
- Web/Spring
- 2020. 10. 23.
1. 프로젝트 생성 NEW - ORTHER
2. Spring Legacy Project 생성
3. Project명 생성, Spring MVC Project 선택
4. 필수적으로 3개의 경로를 통해 도달하도록 설정
(kr.co.spring , com.co.spring 등)
4. MVC가 정상적으로 만들어졌는지 확인한다.
Controller 위치와 src 안의 view 위치를 파악해둔다.
Spring MVC 구조도
Client를 통해 DispatcherServlet으로 가는 것을 확인한다.
DispatcherServlet이 모든 것을 관리, 실행하므로 매우 중요함을 알 수 있다.
Client
의 위치에 속한다.
jsp를 실행하게 되면 가장 먼저 실행하는 경로, 위치에 속한다.
그래서 들어가보면 자동으로 만들어진 Mapping을 확인 할 수 있다.
먼저 JSP를 보았다면, 대충 파악이 가능하다.
/ 의 경로 입력을 받게 된다면
Mapping이 실행된다.
Servlet-class의 경로의 DispatcherServlet가 실행되도록 설정 되어 있는 것을 확인 할 수 있다.
그러나 그 아래 param-value가 설정이 되있으므로
다시 한번 저 경로의 XML이 실행되는 것으로 해석해야 한다.
Dispatcher
Dispatcher의 위치의 xml 코드이다.
여기서 3가지의 경로를 확인 할 수 있다.
resource : 이미지, 동영상, 파일 등 기존 Dynamic Web Project에서는 실제 경로에다가 담아야하지만, Spring에서는 자동으로 경로 지정이 되어 있다.
bean : 경로를 지정해준다. 일종 "절대경로"에 근접하도록 만들어지는 매우 편안한 기능이다.
/WEB-ING/views/ + 뷰 이름 + .jsp 로 지정이 되기 때문에 가능하다.
context : 실제적으로 사용되는 위치이다. Dispatcher이 실행되면 해당 메소드, 클레스등 위치를 파악하기 위한 검색 범위 설정이라고 생각하면 된다.
Controller
JSP의 Controller하고 좀 다르게 경로 이동이 되어서 약깐 헷갈릴 수 있다.
위의 Disptacher의 context의 스캔 범위 내에 설정 된
제일 위의 @RequestMapping(value="/", method = RequestMethod.GET)의 어노테이션을 통해
위치를 파악해 Controller.java에 접속 되었다.
get 방식의 키값 = "/"에 일치 된 어노테이션이 실행 된 모습이다.
따라서 키 값 = "/"이 일치되면 return home이 실행되는 코드이다.
이제 저것을 풀게 된다면 아래 위치의 JSP가 실행된다.
이제 다시 Dispatcher이 작동되어서 WEB-INF/views/home.jsp 가 실행된다.
실행 모습
home.jsp를 실행하면 다음과 같다.
그러나 어노테이션 "/" 작동하게 만들어야 하므로 뒤의 경로를 모두 지운다.
프로젝트명 다음에 "/"만 들어갔으므로 위의 경로대로 XML이 정상적으로 실행 되었다.
따라서 어노테이션 "/"도 실행되었으므로 정상적으로 home.jsp를 불러오는 것을 확인 할 수 있다.
'Web > Spring' 카테고리의 다른 글
[Spring] MVC 이해하기3 (0) | 2020.10.26 |
---|---|
[Spring] MVC 패턴 이해하기2 (0) | 2020.10.26 |
[Spring] AOP 사용하기(Java) (0) | 2020.10.22 |
[Spring] 선택해서 해당 xml 실행하게 만들기 (0) | 2020.10.22 |
[Spring] AOP 사용하기 (0) | 2020.10.22 |