서블릿 : JSP 이전 세대의 동적 웹페이지 생성 언어
(Server + Applet의 합성어)
브라우저에서 호출하면 WAS에서 웹 페이지를 동적으로 생성
WAS : 서버 단에서 애플리케이션이 동작할 수 있도록 지원하는
컨테이너가 포함된 서버 (ex -> 톰캣)
디렉티브
jsp페이지에 대한 설정 정보를 지정
<%@ page 속성="속성값"%>
contentType - jsp가 생성하는 문서의 타입과 인코딩을 지정
include - jsp페이지에 다른 문서를 포함시킴
스크립트
표현식
<%=val%>
선언문
<%!
메소드
%>
스크립트릿
<%
자바코드
%>
스크립트 요소 : JSP 프로그래밍에서 사용되는 문법의 형태
스크립트 요소 종류
선언문, 스크립트릿, 표현식, 주석
1. 선언문 : JSP에서 사용될 변수나 메소드를 선언할 수 있는 영역들의 요소
JSP 페이지 내에서 변수 및 메소드 선언 후 변수나 메소드를 이용하여
동적으로 필요한 HTML코드 생성하는데 사용
멤버 변수(클래스 변수) : 선언문에 선언된 변수
선언문에서 선언된 변수로 호칭하는 것은 자바에서
변수의 종류가 여러가지 있다는 의미
선언문에서 선언된 변수는 JSP 페이지가 서블릿 코드로
변환되면 서블릿 클래스의 멤버 변수로 변환됨
선언문에서 선언된 메소드는
JSP 페이지 내에서는 일반적인 형태의 메소드로 선언됨
2. 스크립트릿 : JSP 페이지가 서블릿으로 변환, 요청될 때
_jspService 메소드 안에 선언되는 요소
스크립트릿은 선언문과 달리 선언된 변수는
지역 변수(로컬변수)로 선언되고 메소드 선언은 할 수 없음
-> 만약 선언한다면 메소드 안에 메소드를 선언한 것이 되기 때문에 만들 수 없음
3. 표현식 : 동적인 JSP 페이지를 브라우저로 표현하기 위한 요소
변수를 출력하거나 메소드의 결과 값을 브라우저에 출력할 수 있음
스크립트릿 코드 내에서 out이라는 내장객체를 통해
브라우저에 출력 가능함
스크립트릿과 달리 변수나 메소드를 출력할 때 세미콜론 표기하지 않음
(서블릿 코드로 변환될 때 자동으로 세미콜론 붙여짐)
4. 주석 : 프로그램에 직접적인 영향을 미치진 않지만 개발자들의
소스 분석 내용 및 파일 설명 처리를 위해서는 꼭 필요한 요소
request 기본객체
웹 브라우저의 요청을 담당
- 서버와 관련된 정보 읽기
- 클라이언트가 전송한 요청 데이터 읽기
- 클라이언트 관련된 정보 읽기
- 속성 처리 기능
클라이언트 및 서버 정보 관련 메소드
getRemoteAdd() String 웹 서버에 연결한 클라이언트 ip주소를 반환
getContentLength() long 클라이언트가 전송한 요청 정보의 길이를 구함
getCharacterEncoding() String 클라이언트가 요청 정보를 전송할 때 사용한
캐릭터의 인코딩을 리턴
getContentType() String 클라이언트가 요청 정보를 전송할 때 사용한
컨텐츠의 인코딩을 리턴
getMethod() String 정보를 전송할 때 사용한 방식을 리턴