[Web] JSTL(다운로드, 사용법, 정리), EL(정리)
·
Programming/Web
JSTL JSTL의 정식 명칭은 JavaServer Pages Standard Tag Library이고 줄여서 JSTL이라고 부른다. JSTL은 코드의 복잡함을 해결하기 위한 일종의 사용자 정의 태그의 표준이다. →자바코드를 HTML 태그형식으로 간편하게 사용하기 위해 나온 라이브러리 JSTL은 라이브러리이기 때문에 사용하기 전에 core를 header에 추가해주어야 한다. 사용방법은 다음과 같다. JSP는 자신만의 태그를 추가할 수 있는 기능을 제공하고 있다. 과 같은 커스텀 태그처럼 연산이나 조건문이나 반복문인 if문, for문, DB를 편하게 처리할 수 있는것이 JSTL이다. 즉, JSTL은 표준 액션태그로 처리하기 힘든 부분을 담당한다. JSP에서 Java코드가 들어갈 때마다 매번 이 태그를 넣어..
[Web] WebMVC와 RestController 모듈
·
Programming/Web
스프링 프레임워크의 대표적인 적용 분야인 웹 개발에 사용할 수 있는 두 가지 모듈로는 WebMVC와 RestController가 있다. WebMVC는 서블릿과 같이 MVC 패턴 기반의 웹 애플리케이션을 구현할 때 사용하는 모듈이며, RestController는 REST API 구현에 사용된다. 스프링 프레임워크 기반 개발의 가장 기본이 되는 부분이며 스프링을 처음 배울 때에도 가장 쉽게 배울 수 있는 부분이다. WebMVC 스프링 WebMVC는 MVC 기반 웹 애플리케이션 개발과 구조적으로 거의 동일하다. 특히 컨트롤러 부분을 제외하면 모델과 뷰는 기존의 코드를 그대로 사용할 수 있을 만큼 유연한 구조를 가지고 있다. 컨트롤러 스프링을 사용하면 컨트롤러 구조를 직접 구현할 필요 없이 특정 요청에 대한 처..
[Web] IoC(Inversion of Control), DI(Dependency Injection), AOP(Aspect-Oriented Programming)
·
Programming/Web
IoC, DI, AOP는 스프링 프레임워크의 특징이며, 스프링 프레임워크의 구조를 이해하기 위해 반드시 알아야 하는 중요 개념이라고 할 수 있다. IoC IoC(Inversion of Control)란 우리말로 '제어의 역행'이라고 한다. 기존의 프로그램은 main()처럼 프로그램이 시작되는 곳에서 필요한 객체를 생성하고, 생성된 객체의 메서드를 호출하는 흐름을 가진다. 이와 달리 IoC는 작업을 수행하는 쪽에서 객체를 생성하는 일반적인 개념을 뒤집은 것으로, 프로그램 제어를 자신이 아닌 다를 곳에 위임하는 것을 말한다. 즉 컨테이너에 객체 생성과 공급을 위임하는 형태다. IoC의 특징 IoC에서는 객체가 자신이 사용할 객체를 생성하거나 선택하지 않는다. 객체는 자신이 어떻게 생성되고 어떻게 사용되는지 ..
[Web] 스프링 프레임워크와 스프링 부트
·
Programming/Web
스프링 프레임워크 스프링 프레임워크(Spring Framwork)는 자바 기반의 오픈소스 프레임워크로 Java EE에서 요구하는 수준의 복잡한 기능을 Java EE를 사용하지 않고 구현하기 위해 시작되었다. 2002년 로드 존슨(Rod Johnson)의 저서 에서 제시한 코드와 아이디어를 발전시켜 2004년 처음 발표된 이후 현재 가장 대표적인 자바 오픈소스 프레임워크가 되었다. 스프링 프레임워크는 높은 수준의 스프링 기반 애플리케이션을 손쉽게 만들어주는 스프링(spring.io) 프로젝트 중 하나로, 20개 이상의 서로 다른 모듈로 구성된다. 프로젝트 규모와 필요 기능에 따라 스프링 프레임워크를 기본으로 여러 모듈을 조합한 형태로 사용하게 된다. 스프링 프레임워크의 주요 특징 경량 컨테이너: 객체 생성..
[Web] REST 클라이언트
·
Programming/Web
REST 클라이언트는 REST API를 사용하는 프로그램을 의미한다. REST API 자체가 HTTP를 사용하기 때문에 HTTP를 지원하는 모든 프로그램은 REST API 클라이언트가 될 수 있다. 예를 들어 웹 브라우저도 서버와 HTTP로 통신하기 때문에 웹 브라우저로 REST API를 호출하는 것이 가능하다. 물론 웹 브라우저 자체만으로는 GET 이외의 메서드 호출에는 어려움이 있지만 GET 요청을 처리하는 API는 기본적으로 웹 브라우저만으로 호출할 수 있다. 만일 스마트폰 앱을 개발하면서 서버로부터 데이터를 가져오기 위해 REST API를 사용한다면 스마트폰 앱도 REST 클라이언트가 되는 것이다. REST 클라이언트 구현은 언어에 중립적이기 때문에 자바, 자바스크립트, 파이썬, C/C++ 등 거..
[Web] JAX-RS
·
Programming/Web
JAX-RS REST 서비스를 제공하기 위해서는 여러 HTTP Method(GET, POST, PUT 등)를 지원하면서 다양한 URI 요청을 처리할 수 있는 서버 프로그램 구조가 필요하다. 단순히 서블릿만 이용해도 어느 정도 REST 형태의 서비스를 개발할 수 있지만 여러 URI 요청을 구조적으로 손쉽게 처리하려면 규격이 필요하다. 이에 따라 자바에서는 JAX-RS라고 하는 표준 규격을 만들었다. JAX-RS(Java API for RESTful Web Services)는 REST 원칙을 사용하는 개발 메커니즘을 제공하는 자바 표준 API다. 즉 JAX-RS는 서비스 측 REST 애플리케이션 개발을 단순화하는 인터페이스 및 Java 애너테이션의 집합체라고 볼 수 있다. 스프링 프레임워크의 경우 RestC..