서블릿이란 자바 기반의 웹 프로그램 개발을 위해 만들어진 기술이다. 자바 기반이므로 자바 로 작성된 프로그램을 실행할 수 있는 섭버 소프트웨어를 통해 관리된다.즉 서블릿을 실행하기 위해서는 톰켓과 같은 서블릿 컨테이너가 필요하며 이런 서버 소프트웨어를 WAS 라고 부른
앞에서 살펴본 JSP의 구조적 문제를 해결하기 위해 커스텀 태그를 기반으로 하는 JSTL/EL이 도입되었다.이 코드는 아래와 같이 개선할 수 있다.<c:forEach> 태그는 반복문을 제공하는 JSTL 커스텀 태그이다.${...}의 형태는 표현 언어로 Java 객
HTTP와 JSON을 함께 사용하여 Open API를 구현하는 형태로 많이 사용되는 REST에 대해 간략히 살펴본다.REST는 Representational State Transfer의 약어로 네트워크상에서 클라이언트와 서버 사이의 통신을 구현하는 방법 중 하나이며,
자바 웹 개발의 핵심은 자바와 서블릿이라 볼 수 있지만 성능과 안정성, 보안, 다른 서비스와의 연계 등 단순한 기능 외에 고려할 사항이 많다. 이러한 문제를 해결하기 위해 Java EE가 탄생했으나 스펙의 복잡함과 구현의 어려움으로 완전히 정착되지는 못했다.스프링 프레
서블릿을 실행하기 위해서는 톰캣과 같은 서블릿 컨테이너가 필요하며 이러한 서버 소프트웨어는 일반적으로 WAS로 불린다.JSP는 서블릿에서 HTML과 데이터 결합을 손쉽게 처리하기 위해 만들어졌다. 하지만 단순한 HTML 문법만으로는 처리할 수 없기 때문에 자바 코드를
서블릿은 자바로 만들어진 프로그램을 서버에서 실행하기 위해 만들어졌다.서블릿은 특히 웹 서비스 개발에 특화되어 있는데 데이터베이스 연동, 외부 서비스 연동을 통해 정적인 웹에 동적인 정보 제공을 가능하게 한다.서블릿은 순수 자바 코드로 작성되며, 코드 자체만 보면 일반
서블릿 자체는 자바로 구현하지만 서블릿 컨테이너에 해당 클래스가 서블릿임을 알려야 하며 어떤 URL에서 실행해야 하는지 등록하는 과정이 필요하다.서블릿 클래스는 javax.servlet.Servlet 인터페이스를 구현한 추상 클래스인 GenericServlet 클래스와
서블릿은 컨테이너에 의해 동작하므로 객체의 생성 및 종료 과정도 컨테이너 안에서 이루어진다. 이와 같이 객체의 생성에서 종료에 이르는 과정을 생명 주기라고 하며, 개발자는 필요에 따라 해당 생명 주기 안에서 적절한 기능을 구현할 수 있어야 한다.또한 웹의 특성상 비연결
웹 프로그래밍에서 서블릿이 주로 사용되는 영역은 MVC 패턴 중 컨트롤러에 해당한다. 컨트롤러는 사용자의 요청을 받아 데이터베이스와 연동 등의 작업을 처리한 다음 결과에 따라 적절한 페이지로 전환해주는 기능을 담당한다. 이때 페이지 이동과 함께 페이지 간 정보 공유 기
WWW는 비연결형 구조의 HTTP를 사용하기 때문에 페이지 요청과 응답이 완료되면 연결이 유지되지 않는다. 따라서 클라이언트가 다른 페이지를 요청할 때 부가적인 정보가 없다면 서버는 클라이언트의 현재 상태를 알 수 없기 때문에 처음 접속한 것과 마찬가지로 인식할 수밖에
속성 관리 컨테이너는 서블릿 관리를 위해 몇몇 객체를 자동으로 생성하고 유지하는데, 이러한 객체 중 속성 관리 기능을 제공하며 특정 범위 동안 유지되는 객체를 Scope Object 라고 한다. 각각의 객체는 관리 목적에 따라 별도의 메서드로 구현된 기능을 가지고 있
로그인 후 세션을 이용해 사용자 이름을 저장하고 메인 화면으로 이동하는 경우클라이언트가 로그인한다.컨트롤러는 request.getParameter()를 통해 클라이언트의 id와 password를 확인한다.로그인 정보가 맞을 경우 사용자 이름이나 기타 정보를 세션에 저장
@WebServlet 어노테이션현재 클래스가 서블릿 클래스라는 것을 컨테이너에 알리고 URL Mapping을 진행한다.doGet()GET 요청을 처리하는 메서드doPost()POST 요청을 처리하는 메서드GET 요청을 처리하는 메서드로 request, response를
JSP는 서블릿의 화면단 처리의 어려움을 해결하기 위해 등장하였으며, HTML과 데이터를 조합하기 위해 다음과 같은 특징과 구성요소를 가진다.HTML 페이지에 자바 코드를 직접 사용한다.서블릿 컨테이너에 의해 관리되는 내장객체의 생명 주기를 이용하여 페이지 간 속성을
지시어는 JSP 파일의 속성을 기술하는 요소로, JSP 컨테이너에 해당 페이지를 어떻게 처리해야 하는지를 전달하는 내용을 담고 있다. 지시어는 크게 page, include, taglib으로 나눌 수 있으며, 각각의 속성이 다르다.기본 형식은 다음과 같다.page 지시
템플릿 데이터란 JSP의 화면 구성요소를 말한다. 시작 부분의 page 지시어를 제외하면 JSP 파일의 전반적인 구조는 HTML의 문서구조를 따른다. 따라서 일반적인 HTML 파일처럼 CSS, 자바스크립트도 사용할 수 있다.기본적으로 HTML5를 사용하며 문서 구조 중
액션 태그란? 액션 태그란 JSP에서 객체 생성과 공유, 페이지 이동과 전달, 태그 파일 작성 등에 필요한 기능을 제공하는 일종의 커스텀 태그다. 표준 액션이라고도 불리며 커스텀 태그 기반이지만 별도의 taglib 지시어 사용 없이 jsp 접두어를 사용한다. 액션
커스텀 태그란 사용자 정의 태그를 의미한다. 즉 스크립트릿 사용을 줄이고 태그와 같은 형태로 프로그램 코드를 대체하거나 재활용 가능한 구조를 통해 태그 라이브러리로 활용하고자 개발된 규격이다. 외형적인 형태는 XML(HTML) 태그 구조이지만 서블릿 형태로 변환될 때
JSTL은 JSP에서 스크립트릿, 즉 자바 코드 블록을 사용하지 않고 HTML 형식을 유지하면서 조건문, 반복문, 간단한 연산과 몇몇 유용한 기능을 손쉽게 사용할 수 있도록 지원하기 위해 만들어진 표준 커스텀태그 라이브러리다.커스텀 태그에서 살펴본 것처럼 서버에서만 해
프로그래밍을 배우는 입장에서는 단순한 실습 예제 소스로 구성된 프로그램을 만들기 때문에 코드 이외의 부분에 대해서는 고려할 사항이 거의 없다. 그러나 실제 프로젝트에서는 직접 작성해야 할 수십 개의 클래스와 여러 외부 라이브러리로 구성되는 경우가 많다. 또한 프로그램의
백엔드 웹 개발에서 가장 대표적인 MVC 패턴을 제대로 이해하기 위해서는 먼저 소프트웨어 디자인 패턴에 대한 이해가 필요하다. 디자인 패턴이란? 디자인 패턴은 처음에는 건축학적 관점에서 출발한 개념이었으나 1994년 GoF의 Design Patterns: Eleme