KEEP GOING

[SRPING] MVC Spring framework 정리 본문

web/spring

[SRPING] MVC Spring framework 정리

jmHan 2021. 6. 28. 17:46
반응형

 

 

 

스프링 프레임워크를 사용하기 위해 STS(Spring Tool Suite)를 설치해야 한다.

STS는 웹 서비스를 구축할 수 있는 스프링 프레임워크 툴이다. 

 

 

프레임워크를 설치하였으면 웹서버를 연동시켜 준다. 아파치 톰캣 서버를 설치하고 프레임워크 위에 올리면 된다. 

해당 방법은 아래에서 참고하길 바란다. 

https://all-record.tistory.com/154

 

스프링 개발을 위한 STS 다운로드 및 설치

스프링 개발을 위해 STS(Spring Tool Suite)를 설치해보자. ※ STS : 스프링 개발을 편하게 하기 위한 개발 툴, 전체적인 모습은 이클립스와 동일하다. STS 다운로드 및 설치 ■ 사이트 : https://spring.io/too.

all-record.tistory.com

 

 

이제 웹 서비스를 구축할 준비는 마쳤다.

톰캣서버를 왜 연동시키는지 잘 이해가 안갈 수 있어 다시 참고 자료를 꺼내 왔다.

 

스프링 작동 방식 : 유튜버 뉴렉처 영상 참고

 

Dispatcher Servlet은 url로 요청된 자료에 매핑되는 컨트롤러를 찾아주는 역할을 한다.

이때 Dispatcher가 어떻게 매핑 정보를 가져오는지 궁금할 것이다.

이 정보는 아파치 톰켓 서버를 연동한 뒤 하위 폴더에 저장되는 web.xml 파일에 있다.

다시 말해 web.xml파일은 사용자가 브라우저에서 요청한 모든 url 정보를 저장하고 있는 파일이다.

 

 

 

 

과거에는 이렇게 아파치 톰캣 서버에 매핑 정보를 담거나

spring framework의 annotation 기능을 이용해 Dispatcher를 설정하였다.

하지만 버전 업된 스프링에서는 방금 말했던 서버의 web.xml이 아닌 Dispatcher에서 url 매핑 정보를 담고 있다.

이러한 정보는 위에 적혀있듯 servlet.xml 파일에 담겨있다.

 

 

 

 

톰캣 서버에서 매핑 정보 파일을 관리하지 않고 굳이 Dispatcher에서 관리하려는 이유는 무엇일까?



 

web.xml 파일로 관리할 때는 서블릿으로 컨트롤러를 구현하여 관리하였다.

하지만 Dispatcher가 매핑 정보를 관리한 후로는 컨트롤러 파일을 자바 소스코드 파일 형식으로 만들어서 관리한다.

이렇게 만들면 서블릿이 컨트롤러를 관리하는 것이 아니라 고유하게 뷰 페이지로 포워딩 하는 기능만을 가질 수 있다. 다시말해 Dispatcher와 Controller의 결합력이 낮아진다.

 

 

 

결합력이 낮아지면 왜 좋은 것일까?




그건 스프링이 mvc 패턴을 사용하는 이유와 비슷한 맥락이다.

역할을 분담할 경우 한쪽 구성 정보가 변경되어도 종속적이지 않게 되어 유지보수성이 높아진다.

톰캣 서버의 버전이 올라가거나 컨트롤러의 내용이 추가되거나 변경되어도 관리가 쉬워진다.

Dispatcher 입장에서는 요청받은 정보를 컨트롤러에게 건넬 때 자바 형식인 String이나 정수형으로 전달할 수 있다.

그리고 Controller 입장에서는 서블릿 라이브러리 없이도 입력 처리가 가능하게 된다. 

(구성할 뷰페이지를 return함)

 

 

 

따라서 이러한 방식으로 spring이 제공하는 ServletDispatcher를 통해 Dispatcher를 구현하고 

Dispatcher는 모든 url 요청을 받아 알맞은 컨트롤러에 배분할 수 있다. 

 

 

 

 

 

참고자료 : 해당 유튜브 내용을 기반으로 작성하였습니다.

https://www.youtube.com/watch?v=9Tmzt6Q9WI8 

 

반응형
Comments