용어 | 해설 |
웹 애플리케이션 | 웹상에서 실행되는 응용 프로그램. 대개 클라이언트로 웹 브라우저를 사용한다. 애플리케이션의 실행 위치에 따라 '클라이언트 측/서버 측'으로 나눌 수 있고 수행 방식에 따라 '컴파일 방식/비컴파일 방식'으로 나눌 수 있다. 또한 동적인 웹 페이지를 만들어 주는 프레젠테이션 중심 애플리케이션과 비즈니스로직을 처리하는 서비스 중심 애플리케이션으로 구분할 수 도 있다. |
웹 애플리케이션 서버 | 웹 애플리케이션이 실행될 수 있는 환경을 제공하는 프레임워크 또는 플랫폼이다. 개발자를 위한 API나 개발 툴도 포함한다. |
웹 컨테이너 | 서블릿이나 JSP 페이지와 같은 웹 컴포넌트에 대한 요청을 처리하는 프로그램. 웹 컴포넌트를 저장하고 있으며, 요청을 처리할 때 컴포넌트의 생명주기를 관리한다. |
서블릿(servlet) | 서버 측 애플리케이션을 구현하기 위한 자바(java) 기술로서 자바 언어로 작성되는 클래스. 이 기술을 이용하여 HTML코드를 동적으로 생성할 수 있다. 서블릿 클래스는 컴파일되어 서버 측에 저장된 후 이용될 수 있다. |
HTTP | 웹 서버와 웹브라우저 간에 HTML 문서의 요청과 응답을 전송하기 위한 프로토콜. 응용 계층의 프로토콜이며 전송 계층에서는 TCP 프로토콜을 이용한다. |
요청과 응답 | 클라이언트가 웹 서버에 콘텐츠를 제공할 것을 요청한다. 요청을 위해 클라이언트는 HTTP 요청 메시지를 보낸다. 콘텐츠는 정적인 텍스트나 멀티미디어 또는 특별한 기능의 수행을 말한다. 웹 서버는 HTTP응답 메시지를 통해 클라이언트에 콘텐츠를 제공한다. |
이클립스(Eclipse) | 오픈 소스 소프트웨어로 다양한 언어를 지원하는 통합 개발 환경. 이클립스 기능의 확장은 플러그인 형태로 지원한다. |
톰캣(Tomcat) | Apache Software Foundation에서 개발한 서블릿/JSP 컨테이너이다. 정확한 이름은 Apache Tocat이며 기본적인 HTTP웹 서버를 내장하고 있다. |
WAR 파일 | Web Application aRchive의 약자이며, JAR 파일 형태로 웹 모듈을 배포하기 위해 필요한 파일들을 묶은 것이다. 이것은 웹 컨테이너에 배포되며, 내용과 목적이 JAR파일과 다르므로 WAR 파일의 확장자는 '.war'이다. |
JSP | 동적으로 웹 페이지를 생성하는 애플리케이션을 만들기 위한 기술이다. Java EE 기술의 하나이며 서블릿 기술에 기초한다. |
JSTL | 자주 사용되는 커스텀 태그들을 모아 표준화한 태그 라이브러리. JSTL을 지원하는 JSP 컨테이너만 있으면 단일의 표준 태그 집합을 효율적으로 사용할 수 있다. 이러한 표준 태그 집합은 반복이나 조건문과 같은 흐름 제어, XML문서의 처리, 국제화, SQL을 이용한 데이터베이스 사용, 자주 사용되는 함수로 분류된다. |
표현 언어(EL) | 자바빈 컴포넌트를 쉽게 다룰 수 있게 한 스크립트 언어. 기존의 표현식보다 사용하기 쉬우며 ${expr}의 형태로 수식을 표현. 스크립트 요소 밖에서 사용되며, 액션 태그의 속성 값을 지정할 때 사용하거나 템플릿 데이터 내부에서 값을 출력할 때 사용된다. |
JSP페이지 | JSP페이지는 텍스트 문서, HTML로 표현된 정적인 데이터와 JSP요소를 포함한다. JSP요소로는 지시어, 스크립트 요소, 액션 태그의 세 가지 유형이 있다. |
내장 객체 | JSP페이지에서 묵시적으로 선언된 변수로 스크립트릿이나 표현식에서 사용할 수 있으며 request와 response객체가 대표적이다. 대부분 자바 서블릿 API패키지 (javax.servlet 또는 그것의 서브 패키지)에 정의된 클래스나 인터페이스 유형이다. |
출력 버퍼 | 기본적으로 JSP페이지의 실행 결과는 곧바로 클라이언트에 전송되지 않고 버퍼링된다. 이때 임시 저장소로 사용되는 것을 출력 버퍼라 한다. 버퍼링이란 입출력 성능을 향상시키기 위해 어느 정도의 데이터를 모았다가 한꺼번에 처리하는 입출력 방식을 말한다. |
page 지시어 | JSP 컨테이너가 응답 페이지를 작성할 때 필요한 JSP 페이지의 속성을 명시하기 위해 page지시어가 사용된다. 그리고 페이지 실행 과정에서 버퍼링 여부나 오류 페이지 여부를 정할 때도 사용된다. |
응답 | 웹 서버가 클라이언트에 전달하는 데이터이다. 웹 컨테이너는 응답을 만들기 위해 내장 객체 response를 서블릿에 제공한다. response 객체는 HttpservletResponse인터페이스를 구현한 객체이다. ServletResponse인터테이스는 출력 스트림을 제공하는 메서드, 콘텐츠 타입과 버퍼 크기를 정하는 메서드를 제공하고, HTTP응답을 위한 HttpServletResponse인터페이스는 응답 헤더와 관련된 필드와 메서드를 포함하고 있다. |
서블릿 | 클라이언트의 요청을 처리하여 응답을 만들어 주기 위한 웹 서버 측 애플리케이션이다. 이것은 자바 언어로 작성된 클래스이며 주로 HTTP 요청을 처리하기 위해 사용된다. javax.servlet과 javax.servlet.http패키지가 서블릿 작성을 위한 인터페이스와 클래스를 제공한다. |
request 내장 객체 | 서블릿 컨테이너가 클라이언트의 요청을 받아 서블릿을 실행시킬 때 전달하는 객체. doGet( ) 또는 doPost( ) 와 같은 서비스 메서드에 인자로 전달된다. 내장 객체의 하나로 JSP 페이지에서는 선언 없이 사용할 수 있으며 클라이언트에서 전달하는 파라미터, 요청 헤더, URI와 같은 정보를 지니고 있다. |
response 내장 객체 | request 내장 객체와 마찬가지로 서블릿 컨테이너가 클라이언트의 요청을 받아 서블릿을 실행시킬 때 전달하는 객체이다. 서비스 메서드에 인자로 전달된다. JSP 페이지에서 선언 없이 사용할 수 있는 내장 객체의 하나이며 응답 헤더와 응답 몸체를 만들기 위해 사용된다. |
요청 헤더 | 클라이언트에서 서버에 보내는 요청 메시지는 요청 라인, 요청 헤더, 그리고 요청 몸체로 구성된다. 요청헤더는 라인당 하나의 "필드이름:값"으로 구성되며 요청에 관한 부가 정보와 클라이언트 자체에 관한 정보를 전달하기 위한 부분이다. 요청 URI는 요청 라인에 표현된다. |
응답 헤더 | 웹 서버는 요청 메시지를 받아 해석한 후 응답 메시지를 보내야 한다. 응답 메시지는 상태 코드를 나타내는 시작 라인, 응답 헤더, 응답 몸체로 구성된다. 웹 서버는 응답 헤더를 통해 응답에 관한 부가 정보를 보낼 수 있는데 웹서버에 관한 정보나 리소스 접근 방법에 관한 정보 등을 포함한다. |
GET과 POST 요청 방식 | HTTP 요청 방식은 아홉 가지가 있으며 요청 대상에 대한 처리 방식을 의미하는 것으로 GET과 POST가 가장 많이 사용된다. GET방식은 지정된 리소스에 대한 정보를 얻고자 할 때 사용된느 기본 방식이다. URI에 전송할 데이터를 붙여 전달 할 때도 사용된다. POST방식은 HTML폼을 이용해 요청 몸체에 데이터를 담아 전달하는 방식이다. POST방식은 GET방식에 비해 정보에 대한 노출이 없고 데이터 크기에 제한이 없다. |
내장 객체(implicit object) | JSP의 내장 객체는 웹 컨테이너가 만들어 제공하는 객체로, JSP 페이지 안에서 선언을 하지 않고 사용할 수 있는 객체이다. 스크립트릿, 표현식, 표현 언어에서 사용된다. |
영역(scope) | JSP 페이지에서 사용되는 객체들은 내장 객체이든 아니면 페이지 내에서 만들어졌든 간에, 모두 정해진 영역 안에서만 사용 가능하다. 4개의 영역이 있는데, page 영역은 같은 페이지 내부, request영역은 같은 요청을 처리하는 페이지들, session영역은 같은 세션을 공유하는 페이지들, application영역은 같은 웹 애플리케이션에 속하는 페이지들을 의미한다. |
속성 | 같은 영역에 속하는 페이지들은 작업을 위해 데이터를 공유할 필요가 있다. 이러한 데이터는 영역을 표현하는 개첵인 request,session,application에 속성으로 저장된다. 속성은 <속성이름, 값>의 형태를 가진다. 예를 들어 request.setAttribute("username","Smith")와 같이 속성을 저장할 수 있다. |
모듈화 | 여러 JSP페이지가 공통으로 사용되는 부분이 있는 경우, 이것을 별도의 페이지로 만드는 것을 모듈화라고 한다. 이렇게 자주 사용되는 페이지는 include 지시어 또는 액션 태그<jsp:include>를 통해 재사용된다. 한편 커스텀 태그를 정의한 태그 파일을 이용하는 것도 모듈화의 일종으로 볼 수 있다. |
액션 태그 | 액션 태그는 JSP 페이지의 구성 요소로, JSP 페이지의 실행 중에 특별한 기능을 수행하기 위한 것이다. "<jsp:"로 시작되는 태그이며 JSP의 표준 액션을 수행한다. 예를 들어 자바빈 객체를 만들거나 빈 객체의 속성 값 사용하기, 다른 페이지로 포워딩하기, 그리고 외부 리소스를 포함하기 등이 있다. |
지시어 | 지시어는 JSP페이지의 구성 요소로, JSP 컨테이너에 JSP 페이지에 대한 정보를 제공하기 위한 것이다. 이 정보는 변환과 실행 과정에서 사용된다. 지시어는 <%@지시어이름 속성1 = "값1" 속성2="값2"..%>의 형태를 가진다. |
쿠키(cookie) | 웹 서버가 만들어서 웹 브라우저에 보내는 작은 크기의 텍스트 데이터이다. 크기는 클라이언트 컴퓨터에 저장되고 차후 같은 서버에 요청을 할 때 전송된다. 쿠키는 하나의 이름과 값을 가지며 유효시간, 경로 및 도메인 등과 같은 추가 정보를 가질 수 있다. 사용자 인증, 세션 식별, 사용자 선호, 쇼핑 카트의 목록 관리 등을 위해 사용되는 상태 관리 기법이다. |
stateless | HTTP 프로토콜의 특성. HTTP 프로토콜을 사용한 요청은 모든 요청이 서로 무관하게 독립적으로 처리된다. 클라이언트가 연속적인 요청을 보내도 서버는 클라이언트의 상태 정보를 보관하지 않는다. 따라서 사용자 인식이나 이전 작업의 정보를 유지하려면 쿠키나 세션을 이용해야 한다. |
쿠키의 유효시간 | 클라리언트에서 쿠키가 저장되어 보관되는 기간이다. 유효시간이 지난 쿠키는 웹 브라우저에 의해 삭제된다. 유효시간이 0인 쿠키는 바로 삭제되며 , 유효시간이 정해지지 않았거나 유효시간이 음수인 쿠키는 웹 브라우저가 종료될 때 삭제된다. |
쿠키의 도메인 | 기본적으로 쿠키는 그것을 보낸 서버에 요청할 때만 클라이언트로부터 전송된다. 쿠키의 도메인 설정을 통해 같은 도메인상에 있는 다른 서버가 쿠키를 공유할 수 도 있다. |
쿠키의 경로 | 클라이언트가 서버에 요청할 때, 쿠키에 설정된 경로와 그것의 하위 경로에 있는 페이지를 요청할 때만 쿠키가 전송된다. 쿠키에 경로가 설정되어 있지 않으면 쿠키를 받았을 때의 경로와 그 하위 경로에 쿠키가 전송될 수 있다. |
세션(session) | |
세션의 유효시간 | |
session 내장 객체 | |
HttpSession인터페이스 | |
자바빈(JavaBeans) | |
프레젠테이션 로직 | |
비즈니스 로직 | |
데이터베이스 | |
데이터베이스 관리 시스템 (DBMS) |
|
테이블 | |
MariaDB | |
SQL | |
JDBC API | |
DAO | 데이터 소스에 연결하거나 SQL 구문의 실행 기능을 제공하는 자바 클래스이다. |
DTO | 다루어야 하는 데이터, 즉 레코드를 표현한 자바빈 클래스로서 필드 값을 저장하거나 조회하는 메서드를 제공한다. |
표현 언어 | |
EL 수식 | |
표현 언어의 내장 객체 | |
태그 | |
표준 태그 | |
커스텀 태그 | |
JSTL | |
회원관리 시스템 | 회원의 가입과 탈퇴, 가입된 회원들의 정보를 관리해 주는 프로그램으로 대개 DBMS를 이용한다. |
[프로그래밍 언어론] 1~15강 정리하기 모음 (0) | 2023.12.07 |
---|---|
[JSP프로그래밍] 게시물 생성 (0) | 2023.12.05 |
JSP프로그래밍 개발 환경 설정하기(JDK, 톰캣,이클립스) (0) | 2023.12.03 |
[컴파일러구성]정규표현을 유한오토마토로 변환하는 법 익히기 (0) | 2023.09.16 |
이산수학 (0) | 2023.03.08 |