서론개발이 Client, Server로 나눠지면서 Server에서는 동적페이지를 Client에 제공하는 것이 아니라 Client에서 사용할 데이터를 제공해주는 형식으로 진행되면서 Server에서는 JSON 형태의 결과값을 응답결과로 전달하게 된다. Spring의 경우 ResponseEntity와 Response관련 어노테이션을 사용해서 손쉽게 JSON형태의 응답결과를 전송할 수 있다. 이번 포스팅에서는 Play를 사용할 시 어떻게 JSON형태의 응답 결과를 Client로 전달할 수 있는지에 대해서 알아보자.사용한 Play Version은 2.4.2, Scala version은 2.11이다. play.api.libs.json.Json의 사용Play 또한 Spring과 마찬가지로 JSON형태의 응답결과를 전..
서론스프링에서는 들어오는 요청에 대해 사전에 제어 할 수 있는 Filter와 Interceptor가 존재한다. 스프링의 Filter와 Interceptor는 요청에 대해 사전 처리, 후처리를 할 수 있는 기능이다. 기능은 똑같지만 서로 다른 차이가 있다. 간단하게 설명하자면 Filter와 Interceptor는 처리 시점이 다르다 Filter의 경우 Servlet으로 호출이 들어가기 전 해당 호출을 처리하며 Interceptor의 경우 Servlet을 통과해온 요청이 Controller로 들어가기 전에 대한 호출을 처리하는 것의 차이를 들 수 있다. Play에서도 Filter를 지원하는데 어떻게 사용하는지에 대해서 알아보자. 이 포스팅을 작성하면서 사용한 Play Version은 2.4.2, Scala ..
맨 처음 Spring을 접했을 때 자동으로 만들어지는 프로젝트 구조에 대해서 분석하고 Spring을 시작을 했었듯이 이번에도 기본으로 만들어지는 Play의 프로젝트 구조를 파악한 다음 어떻게 아래와 같은 화면이 나타나게 되었는지에 대해서 알아본다. 1. 프로젝트 분석 맨 처음 프로젝트를 생성하게 되면 위와 같은 형태의 프로젝트 골격을 가지게 된다. 우선 추후에 계속 설명하게 될 폴더는 열어 놓은 상태이며 하나씩 설명하면 다음과 같다. PostingProject -> .idea는 inteliJ에서 만들어놓는 폴더 구조이며 PostingProject -> app은 Scala 혹은 Java소스와 ViewTemplate인 *.scala.html 파일들을 생성하게 되는 곳이다.PostingProject -> co..
1. Play란Spring이라는 웹개발 프레임워크가 있는데 Play도 웹개발 프레임워크 중에 하나이다. Play는 1.0버전에서는 자바로 구현이 되었다가 2.0부터는 대부분이 스칼라로 구현되어 있다. 그럼 Spring과 차별성을 가지는 부분은 무엇일까?? 스프링은 Blocking I/O 이지만 Play는 Non-Blocking I/O를 기반으로 동작한다. 또한 기능 변경에 의해 소스가 수정되었을 경우 스프링의 경우 WebServer를 재기동하여야 하지만 Play는 재기동이 필요없이 바로 적용된다. 스프링을 주로 쓰고 있는 현재로서 Play의 정확한 기능은 다 모르지만 재기동 없이 바로 적용되는 부분에서는 우와~였다. 2. Play설치 그럼 Play를 설치를 해봐야지?? Play를 설치 하기 위해서는 아래..