'2020/주저리 주저리 타이핑.. 낙서장.'에 해당되는 글 19건

반응형

  스프링 MVC를 이용하는 경우 작성되는 Controller는 다음과 같은 특징이 있습니다.

1. HttpServletRequest, HttpServletResponse를 거의 사용할 필요없이 필요한 기능 구현

2. 다양한 타입의 파라미터 처리, 다양한 타입의 리턴 타입 사용가능

3. GET방식, POST방식 등 전송 방식에 대한 처리를 어노테이션으로 처리가능

4. 상속/인터페이스 방식 대신에 어노테이션만으로도 필요한 설정 가능

 

다른 프레임 워크들과 달리 스프링 MVC는 어노테이션을 중심으로 구성되기 때문에 예제들을 작성할 때에도 각 어노테이션의 의미에 대해서 주의해가며 학습해야 한다.

...중략

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

  Java를 이용하는 웹 어플리케이션을 제작해 본 적이 있다면 Servlet/JSP 기술을 활용해서 제작하는 방식을 먼저 배우게 됩니다. 이후에는 모델 2라는 방식에 대해서 학습하게 되는데, 스프링 MVC의 경우 이러한 부분은 개발자들에게 보여주지 않고, 개발자들은 자신이 필요한 부분만을 집중해서 개발할 수 있는 구조로 만들어져 있습니다.

 

  웹 프로그래밍을 배워보 적이 있다면 가장 익숙한 단어들 중 하나는 Request/Response일 것입니다. Servlet/JSP에서는 HttpServletRequest/HttpServletResponse라는 타입의 객체를 이용해 브라우저에서 전송한 정보를 처리하는 방식입니다. 스프링 MVC의 경우 이 위에 하나의 계층을 더한 형태가 됩니다.

 

  스프링 MVC를 이용하게 되면 개발자들은 직접적으로 HttpServletRequest/HttpServletResponse등과 같이 Servlet/JSP의 API를 사용할 필요성이 현저하게 줄어듭니다. 스프링은 중간에 연결 역할을 하기 때문에 이러한 코드를 작성하지 않고도 원하는 기능을 구현할 수 있게 됩니다.

  개발자의 코드는 스프링 MVC에서 동작하기 때문에 과거에는 스프링 MVC의 특정한 클래스를 상속하거나 인터페이스를 구현하는 형태로 개발할 수 있었지만, 스프링 2.5버전부터 등장한 어노테이션 방식으로 인해 최근 개발에는 어노테이션이나 XML등의 설정만으로 개발이 가능하게 되었습니다.

 

모델 2와 스프링 MVC

 

  스프링 MVC역시 내부적으로는 Servlet API를 활용합니다. 스프링 MVC는 '모델2' 라는 방식으로 처리되는 구조이므로 모델 2방식에 대해서 간단히 살펴볼 필요가 있습니다. 모델 2방식은 쉽게 말해서 '로직과 화면을 분리'하는 스타일의 개발 방식입니다. 모델 2방식은 MVC의 구조를 사용하는데, 이를 그림으로 표현하면 아래와 같습니다.

 

중략....

 

  모델2방식에서 사용자의 Request는 특정한 상황이 아닌 이상 먼저 Controller를 호출하게 됩니다. 이렇게 설계하는 가장 중요한 이유는 나중에 View를 교체하더라도 사용자가 호출하는 URL 자체에 변화가 없게 만들어 주기 때문입니다. 컨트롤러는 데이터를 처리하는 존재를 이용해서 데이터(Model)를 처리하고 Response할 때 필요한 데이터 (Model)를 View쪽으로 전달하게 됩니다. Servlet을 이용하는 경우 개발자들은 Servlet API의 RequestDispatcher등을 이용해서 이를 직접 처리해왔지만 스프링 MVC는 내부에서 이러한 처리를 하고, 개발자들은 스프링 MVC의 API를 이용해서 코드를 작성하게 됩니다.

 

중략..

반응형

'2020 > 주저리 주저리 타이핑.. 낙서장.' 카테고리의 다른 글

@DateTimeFormat  (0) 2020.05.06
@InitBinder  (0) 2020.04.29
낚서장.. 타이핑 연습?  (0) 2020.04.24
스프링 MVC의 Controller  (0) 2020.04.24
스프링 MVC의 기본 구조  (0) 2020.04.23
블로그 이미지

꽃꽂이하는개발자

,
반응형

스프링 MVC를 학습하는데 가장 먼저 기억해야 하는 점은 스프링 MVC가 스프링의 서브 프로젝트라는 것이다.

 

스프링은 하나의 기능을 위해서만 만들어진 프레임워크가 아니라 코어라고 할 수 있는 프레임워ㅡ에 여러 서브 프로젝트를 결합해서 다양한 상황에 대처할 수 있또록 개발되었다. 서브 프로젝트라는 의미를 개발자의 입장에서 가장 쉽게 이해할 수 있는 방법은 '별도의 설정이 존재할 수 있다'라는 개념이다. Spring Legacy Project로 생성한 예제의 경우에도 servelet-context.xml과 root-context.xml로 설정파일이 분리된 것을 볼 수 있다. 스프링 mvc가 서브 프로젝트 이므로 구성 방식이나 설정 방식 역시 조금 다르다고 볼 수 있다.

 

반응형
블로그 이미지

꽃꽂이하는개발자

,