Spring에서 컨트롤러를 지정해주기 위한 어노테이션은 @Controller와 @RestController가 있습니다. 전통적인 Spring MVC의 컨트롤러인 @Controller와 Restuful 웹서비스의 컨트롤러인 @RestController의 주요한 차이점은 HTTP Response Body가 생성되는 방식입니다. 이번에는 2가지 어노테이션의 차이와 사용법에 대해 알아보도록 하겠습니다. 1. @Controller 이해하기[ Controller로 View 반환하기 ]전통적인 Spring MVC의 컨트롤러인 @Controller는 주로 View를 반환하기 위해 사용합니다. 아래와 같은 과정을 통해 Spring MVC Container는 Client의 요청으로부터 View를 반환합니다. Clien..
DB에서 데이터를 조회하기 위해서는 이전의 2가지 설정 단계를 하고 오셔야 가능합니다. 그러므로 이 페이지를 통해서 들어오신 분은 앞의 설정을 마무리하고 오시면 됩니다! 기본적으로는 어떤 패키지명을 사용하던지 상관이 없지만 dispatcher-servlet.xml에서 설정했던 고유의 명칭 방식은 따라야합니다. 저의 경우에는 com.s4c.stg로 시작하는 패키지를 만들겠다고 설정하였기 때문에 com.s4c.stg를 기반으로 db.ctr이라는 이름을 뒤에 더 붙여준 것입니다. 1. DAO 설정하기 DAO란 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트입니다. 저는 데이터베이스에 있는 사용자 데이터를 접근할 것이기에 com.s4c.stg.user.dao라는 패키지를 생성하고 그 안에 UserD..
이번 단계에서는 Mybatis(마이 바티스)와 DataSource(데이터소스)에 대해서 설정해보도록 하겠습니다. Mybatis는 대표적인 Object Mapping 기술 중 하나인데 Object Mapping에 대해서 모르신다면 여기를 참고해서 이해해주시면 될 것 같습니다. 1. Datasource 설정하기 시스템에서 가장 자원을 많이 먹는 작업중의 하나가 I/O입니다. 데이터베이스와 현동할 때 getConnection()을 이용하여 connection객체를 사용하는 작업 역시 I/O(Input, Output)를 필요로 하기에 자원을 많이 잡아먹는데, Connection Pool(커넥션 풀)에서 Connection 객체를 생성해놓고 DB작업 시에 빌린 후 다시 반납하는 효율적인 방법을 만들어냈는데, Da..
이번에는 servlet의 심화 또는 대표주자인 dispatcher-servlet에 대해서 알아보도록 하겠습니다. 1. Dispatcher-Servlet(디스패처 서블릿)의 개념 [ Dispatcher-Servlet(디스패처 서블릿) 이란? ] 디스패처 서블릿의 dispatch는 "보내다"라는 뜻을 가지고 있습니다. 그리고 이러한 단어를 포함하는 디스패처 서블릿은 HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러(Front Controller)라고 정의할 수 있습니다. 이것을 보다 자세히 설명하자면, 클라이언트로부터 어떠한 요청이 오면 Tomcat(톰캣)과 같은 서블릿 컨테이너가 요청을 받게 됩니다. 그리고 이 모든 요청을 프론트 컨트롤러인 디스패처 서블..
우리의 최종 목표는 화면 전환(페이지 이동)을 해보고 DB에서 값을 꺼내 출력을 해보는 것으로 잡겠습니다. 그렇게 하기 위해서 꼭 필요한 단계가 지금하는 내용인데, 이번에는 dispatcher-servlet을 web.xml에 등록하고, pom.xml, web.xml을 수정하는 작업을 해보도록 하겠습니다. 현재 일하는 곳에서 준 템플릿을 바탕으로 그것에 정의된 클래스를 사용하는 관계로 필수적이지만 초보자 수준에서는 불필요한 라이브러리 등이 들어갈 수 있습니다.(물론 저도 초보입니다ㅎㅎ) 1. dispatcher-servlet 설정하기 기본적으로 우리가 만드는 것은 웹페이지이기 때문에, 우리는 화면을 제어할 수 있어야 합니다.그러기 위해서 화면의 제어를 앞장서서 담당하는 dispatcher-servlet에 ..