Information Security
EL(Expression Language) 본문
EL(Expression Language) : 표현 언어
-표현 언어는 스크립트 요소 중의 하나이다. 식을 계산하여 그 결과를 출력하기 위하여 사용한다.
실행
-표현 언어는 표현식보다 간결하고 편리하여 많이 사용된다.
EL의 내장 객체
★1
pageScope : pageContext 기본 객체에 저장된 속성의 <속성, 값> 매핑을 저장한 Map 객체
requsetScope : requset 기본 객체에 저장된 속성의 <속성, 값> 매핑을 저장한 Map 객체
sessionScope : session 기본 객체에 저장된 속성의 <속성, 값> 매핑을 저장한 Map 객체
applicationScope : application 기본 객체에 저장된 속성의 <속성, 값> 매핑을 저장한 Map 객체
실행
★2
param : 요청 파라미터의 <파라미터 이름, 값> 매핑을 저장한 Map 객체이다. 파라미터 값의 타입은 String이며,
request.getParameter(이름)의 결과와 동일하다.
form 태그를 통해 입력된 데이터를 가져올 때 사용한다.
paramValues : 요청 파라미터의 <파라미터 이름, 값 배열> 매핑을 저장한 Map 객체이다. 파라미터 값의 타입은 String[]이며, request.getParameterValues(이름)의 결과와 동일하다.
form 태그를 통하여 똑같은 이름의 데이터를 여러 개 가져올 때 사용한다.
실행
-[전송] 버튼 클릭
★3
header : 요청 정보의 <헤더 이름, 값> 매핑을 저장한 Map 객체이다. request.getHeader(이름)의 결과와 동일하다.
HTTP 요청 메시지에 포함된 HTTP 헤더 값을 가져올 때 사용한다.
*header 객체 이용하여 HTTP 헤더 값 가져오는 두 가지 방법
1. header.HTTP헤더이름
2. header["HTTP헤더이름"] (작은 따옴표도 가능)
-HTTP 헤더 이름은 자바의 식별자 명명 규칙을 따라야 한다.
★4
initParam : 초기화 파라미터의 <이름, 값> 매핑을 저장한 Map 객체이다. application.getInitParameter(이름)의 결과와 동일하다. 웹 어플리케이션의 초기화 파라미터 값을 가져다가 출력할 때 사용한다.
웹 어플리케이션에서 사용할 수 있는 초기화 파라미터는 web.xml 파일에
<context-param> 태그를 사용하여 추가한다.
실행
-EL을 사용하여 초기화 파라미터를 출력하였다.
★5
pageContext : java.servlet.jsp 패키지에 속하는 클래스 이름이다. 이 객체를 이용하면 pageContext가 제공하는 8개의 메서드를 호출할 수 있다.
EL 식을 이용하여 메서드들을 호출할 때는 이름 제일 앞의 "get"을 떼고, 그 다음의 첫 문자를 소문자로 고친 이름을 사용한다.
-getRemoteAddr() : 웹 서버에 연결한 클라이언트의 IP 주소를 구함
-getContextPath() : JSP 페이지가 속한 웹 어플리케이션의 컨텍스트 경로를 구함
-getRequestURI() : 웹 브라우저가 요청한 URL에서 경로를 구함
-getMethod() : 웹 브라우저가 정보를 전송할 때 사용한 방식을 구함
※ getRemoteAddr()을 호출한 결과 IPv6 주소를 리턴하였다. 이를 IPv4로 리턴하고 싶다면 아래의 설정을 해주면 된다.
[Run] -> [Run Confugurations]
[Arguments] -> VM arguments 내용 제일 아래에 -Djava.net.preferIPv4Stack=true 옵션을 추가 해준다.
-> [Apply]
배열/ 리스트/ 맵 EL로 접근하기
실행
자바 객체 EL로 접근하기
-Person 클래스 작성
실행
EL에서 정적 메서드 호출하기
1. 정적(static) 메서드 정의
-자주 사용하는 메서드를 static으로 정의한다.
2. 함수를 정의한 TLD(Tag Library Descriptor) 파일 작성
-TLD 파일은 태그 라이브러리에 대한 설정 정보를 담고 있다.
-WEB-INF/tlds 폴더에 myfunc.tld 파일 생성
<function> : EL에서 사용할 함수 정의
<name> : 함수의 이름 정의
<function-class> : 함수의 기능 제공할 클래스의 full name 지정
<function-signature> : 함수의 기능 실행할 메서드 지정
return type, parameter type은 클래스의 full name 적고, parameter는 타입 이름만 적는다.
3. web.xml 파일에 TLD 내용 추가
-web.xml 파일에 TLD 파일 설정을 추가한다.
<taglib> : 사용할 태그 라이브러리 지정
<taglib-uri> : JSP에서 해당 태그 라이브러리 참조할 때 사용하는 식별자
<taglib-location> : 태그 라이브러리 작성한 TLD 파일의 위치
4. EL에서 함수 사용
실행
'JSP Web Programming' 카테고리의 다른 글
JSTL(JSP Standard Tag Library) (0) | 2017.06.18 |
---|---|
Login test (0) | 2017.05.25 |
Form check (0) | 2017.05.24 |
Bean 사용하기 (0) | 2017.05.22 |
Area test (0) | 2017.05.16 |