○ Servlet
서버에서 웹 페이지 등을 동적으로 생성하거나 데이터 처리를 수행하기 위해 자바로 작성된 프로그램이다
서블릿은 Java 코드 안에 HTML 태그가 삽입되며 자바 언어로 되어있다
웹 프로그래밍에서 클라이언트의 요청을 처리하고 그 결과를 다시 클라이언트에게 전송하는
서블릿 클래스의 구현 규칙을 지킨 자바 프로그래밍 기술
자바 언어를 웹 어플리케이션을 조금 더 개발하기 쉽게 하기 위해 만든 API(라이브러리, 클래스 들)이며,
이 규약에 맞는 라이브러리나 클래스들을 상속 및 구현하여 만든 클래스들을 서블릿이라고 한다
○ JSP
Java 언어를 기반으로 하는 Server Side 스크립트 언어이다
- HTML 코드에 Java 코드를 넣어 동적인 웹 페이지를 생성하는 웹 어플리케이션 도구이다
- JSP를 통해 정적인 HTML과 동적으로 생성된 contents(HTTP 요청 파라미터)를 혼합하여 사용할 수 있다
즉, 사용자가 입력한 contents에 맞게 동적인 웹 페이지를 생성한다
서블릿의 단점을 보안하고자 만든 서블릿 기반의 스크립트 기술이다
서블릿을 이용하게 되면 웹 프로그래밍을 할 수 있지만 자바에 대한 지식이 필요하며
화면 인터페이스 구현에 너무 많은 코드를 필요로 하는 등 비효율적인 측면들이 있다
때문에 서블릿을 작성하지 않고도 간편하게 웹 프로그래밍을 구현하게 만든 기술이 JSP(Java Server Pages)이다
조금 더 알아보자면 JSP(Java Server Pages)는 서블릿 기반의 '서버 스크립트 기술'이다
여기서 스크립트 기술이란 ASP, PHP처럼 미리 약속된 규정에 따라 간단한 키워드를 조합하여 입력하면,
실행 시점에 각각의 키워드에 매핑이 되어 있는 어떤 코드로 변환 후에 실행되는 형태이다
JSP는 Java소스로 사용하여 웹 페이지에 접근하고 페이지 전환을 통하여 웹 브라우저에 전달한다
● Servlet과 JSP의 차이 및 비교
Servlet | JSP |
---|---|
* 자바 코드로 구현하고 컴파일하고 배포함 * HTML 태그로 문자열("")스트림으로 처리해야 함 * 코드가 수정되면 다시 컴파일하고 배포해야 함 |
* 키워드가 태그화되어 서블릿에 비해 배우기 쉬움 * 자바 코드를 <% %> 태그 안에 처리해 주어야 함 * HTML처럼 태그를 사용하여 자바 코드로 사용이 가능 |
○ JSP 문법의 기본
● 태그의 이용
JSP는 태그를 이용하여 고유한 문법을 기술하는 서버 프로그래밍 방식이다
JSP의 태그 방식은 Script Tag와 Action Tag, Custom Tag로 나뉜다
● Script Tag
Java 코드를 넣는 태그이다
종류 | 태그 형식 | 사용 용도 |
---|---|---|
Directives(지시자) | <%@ ~ %> | JSP 페이지의 속성을 지정 |
Declaration(선언) | <%! ~ %> | 소속 변수 선언과 메소드 정의 |
Expression(표현식) | <%= ~ %> | 변수, 계산식, 함수 호출 결과를 문자열 형태로 출력 |
Scriptlet(스크립트릿) | <% ~ %> | 자바 코드를 기술 |
Comments(주석) | <%-- ~ --%> | JSP 페이지의 설명을 추가 |
● Action Tag
XML 스타일의 태그로 기술한 동작 기능을 수행하는 방식의 태그이다
JSP에서 Java 코드를 대신하기 위한 태그
태그 형식 | 사용 용도 |
---|---|
<jsp.include page="test.jsp"/> | 현재 JSP 페이지에서 다른 페이지를 포함 |
<jsp:forward page="test.jsp"/> | 현재 JSP 페이지의 제어를 다른 페이지에 전달 |
<jsp:plugin type="applet" code="test"/> | 자바 애플릿과 같은 다른 구성 요소를 플러그인 |
<jsp:useBead id="login" class = "LoginBean"/> | 자바 Bean 오브젝트를 작성 및 찾기 |
<jsp:setProperty name="login" property="pass"/> | 자바 Bean의 속성을 지정하는 메소드 호출 |
<jsp:getProperty name="login" property="pass"/> | 자바 Bean의 속성을 반환하는 메소드 호출 |
● Custom Tag
새로운 태그를 정의하여 이용하는 방식의 태그이다
스크립트 코드와 EL을 혼합해서 사용하는 대신 또 다른 태그를 만들어서 사용할 수 있도록 지원한다
<tag:printData dbname="mybv" table="member"/> | 사용자가 직접 정의한 태그를 이용한다 |
'JSP' 카테고리의 다른 글
forward 액션 태그와 include 액션 태그 (0) | 2020.06.30 |
---|---|
JSP의 Action Tag (0) | 2020.06.29 |
JSP의 request와 response (0) | 2020.06.28 |
JSP의 내장 객체 (0) | 2020.06.28 |
JSP의 Script Tag (0) | 2020.06.24 |