IT 프로그래밍/JSP2014. 2. 1. 16:15

이번에는 page 디렉티브에 대해서 알아보겠습니다.


page 디렉티브는 JSP 페이지에 대한 정보를 입력하기 위해서 사용됩니다. page 디렉티브를 사용하면 JSP 페이지가 어떤 문서를 생성하는지, 어떤 자바 클래스를 사용하는지, 세션에 참여하는지, 출력 버퍼의 존재 여부와 같이 JSP 페이지를 실행하는 데 필요한 정보들을 입력할 수 있습니다. 아래 예제는 보도록 하겠습니다.



<%@ page contentType="text/html; charset=euc-kr" %>

<%@ page import="java.util.Date" %> 


위 코드는 두 개의 page 디렉티브를 보여주고 있으며, 각각 contentType 속성과 import 속성을 사용해서 JSP 페이지에서 필요한 정보를 설정하고 있습니다. PAGE 디렉티브는 이 두 속성외에도 페이지 정보를 설정하는데 필요한 속성을 추가적으로 제공하고 있으며, JSP 2.1 규약에서 정의한 page 디렉티브의 주요 속성은 다음과 같습니다.



속    성 

설    명 

기본값 

  language 

JSP 스크립트 코드에서 사용되는 프로그래밍 언어를 지정합니다. JSP 2.1 버전까지는 스크립트 언어로서 자바만을 지원하고 있습니다. 

  java

  contentType 

JSP가 생성할 문서의 타입을 지정합니다. 

  text/html 

  import 

JSP 페이지에서 사용할 자바 클래스를 지정합니다. 

   

  session 

JSP 페이지가 세션을 사용할지의 여부를 지정합니다. "true"일 경우 세션을 사용하고 "false"일 경우 세션을 사용하지 않습니다. 

  true 

  buffer 

JSP페이지의 출력 버퍼 크기를 지정합니다. "none"일 경우 출력 버퍼를 사용하지 않으며 "8kb"라고 입력한 경우 8킬로바이트 크기의 출력 버퍼를 사용합니다. 

  최소 8kb 

  autoFlush 

출력버퍼가 다 찼을 경우 자동으로 버퍼에 있는 데이터를 출력 스트림에 보내고 비울지의 여부를 나타냅니다. "true"일 경우 버퍼의 내용을 웹 브라우저에 보낸 후 버퍼를 비우며, "false"일 경우 에러를 발생시킵니다. 

  true 

  info 

 JSP 페이지에 대한 설명을 입력합니다. 

 

  errorPage 

JSP 페이지를 실행하는 도중에 에러가 발생할 때 보여줄 페이지를 지정합니다. 

 

  isErrorPage 

현재 페이지가 에러가 발생될 때 보여지는 페이지인지의 여부를 지정합니다. "true"일 경우 에러 페이지이며, "false"일 경우 에러 페이지가 아닙니다. 

  false 

  pageEncoding 

JSP 페이지 자체의 캐릭터 인코딩을 지정합니다. 

 

  isELIgnored 

"true"일 경우 표현 언어를 지원하며, "false"일 경우 표현언어를 지원하지 않습니다. 기본값은 web.xml 파일이 사용하는 JSP 버전 및 설정에 따라 다릅니다. 

 

  deferredSyntaxAllowedAsLiteral 

#{문자가 문자열 값으로 사용되는 것을 허용할지의 여부를 지정합니다. 

  false 

  trimDirectiveWhitespaces 

출력 결과에서 템플릿 텍스트의 공백 문자를 제거할지의 여부를 지정합니다. 

  false 


isELIgnored 속성은 JSP 2.0 버전에 새롭게 추가된 속성이며, deferredSyntaxAllowedAsLiteral 속성과 trimDirectiveWhitespaces 속성은 JSP 2.1에 새롭게 추가된 속성입니다.


위 표에서의 속성중에서 주로 사용되는 속성은 contentType 속성과 import 속성입니다.


contentType, import 속성에 대해서는 다음 포스팅에서 다루도록 하겠습니다.


Posted by 정윤문경아빠
IT 프로그래밍/JSP2014. 2. 1. 15:53


디렉티브는 JSP 페이지에 대한 설정 정보를 지정할 때 사용되며, 다음과 같은 구문을 통해서 디렉티브를 선언할 수 있습니다.



<%@ 디렉티브이름 속성1="값1" 속성2="값2" ... %> 


디렉티브는 '<%@' 으로 시작하고 그 뒤에 디렉티브 이름이 위치합니다. 사용하려는 디렉티브에 따라서 알맞은 속성이 위치하며, '%>'로 디렉티브 선언이 끝나게 됩니다. 간단한 예를 보도록 하겠습니다.



<%@ page contentType = "text/html; charset=euc-kr" %> 


여기서 디렉티브 이름은 'page'가 되고, contentType이라는 속성을 사용했으며, contentType속성의 값은 "text/html; charset=duc-kr"이 됩니다.


현재 JSP가 제공하는 디렉티브는 아래와 같습니다.


 디렉티브

 설    명

 page

 JSP 페이지에 대한 정보를 지정합니다. JSP가 생성하는 문서의 타입, 출력 버퍼의 크기, 에러 페이지 등 JSP 페이지에서 필요로 하는 정보를 입력합니다.

 taglib

 JSP 페이지에서 사용할 태그 라이브러리를 지정합니다.

 include

 JSP 페이지의 특정 영역에 다른 문서를 포함시킵니다.




page, taglib, 디렉티브에 대한 자세한 설명은 다음 포스팅에서 보도록 하겠습니다.

Posted by 정윤문경아빠
IT 프로그래밍/ORACLE2014. 1. 26. 21:54

이번에는 having 에 대해서 알아보겠습니다.

 

글 읽기 전에 손가락 한번 꾸~욱 눌러주시면 감사하겠습니다.^^

 

 

select 절에 조건을 사용하여 결과를 제한할 때는 where 절을 사용하며, 그룹의 결과를 제한할 때는 having절을 사용합니다.

 

부서별로 그룹을 지은 후(group by), 그룹 지어진 부서별 평균 급여가 2000 이상인(having) 부서의 번호와 부서별 평균 급여를 출력하는 경우입니다.

 

select deptno, avg(sal) from emp group by deptno having avg(sal) >= 2000;

 

 

 

 

where절은 테이블에서 데이터를 가져올 때 특정 조건에 부합하는 자료만을 검색할 때 사용하는 절입니다. 반면 having절은 그룹 함수 사용 시 그룹 함수를 적용해서 나온 결과값 중에서 원하는 조건에 부합하는 자료만 산출할 때 사용하는 절입니다. where절에서 조건에 사용되는 컬럼은 단순 컬럼이고, having절에서 그룹 함수를 적용한 컬럼이 조건으로 온다고 생각하면 이해하기 쉬우실겁니다.

 

예제를 하나 더 보겠습니다.

 

select deptno, max(sal), min(sal) from emp group by deptno having max(sal) > 2900;

 

위 예제는 부서의 최대값과 최소값을 구하되 최대 급여가 2900 이상인 부서만 출력하라는 예제입니다. 결과는 아래와 같습니다.

 

 

 

 

이해가 되셨는가요?

 

어려운 부분이 있으시다면 댓글 남겨주세요.^^

Posted by 정윤문경아빠