뇌를 자극하는 JSP & Servlet 슬라이드

Size: px
Start display at page:

Download "뇌를 자극하는 JSP & Servlet 슬라이드"

Transcription

1 JSTL 사용하기 JSP & Servlet

2 2/65 Contents 학습목표 JSTL이란 JSP 페이지를작성할때유용하게사용할수있는여러가지커스텀액션과함수가포함되어있는라이브러리이다. 이라이브러리는인터넷에서무상으로다운로드받을수있는데이장에서는라이브러리를다운로드받아서설치하고사용하는방법을알아보자. 내용 JSTL이란? JSTL 설치하기 코어라이브러리사용하기 포매팅라이브러리사용하기 함수라이브러리사용하기

3 1. JSTL 이란? JSTL 이란? JSP 표준태그라이브러리 (JSP Standard Tag Library) 의약어 적용목적 : 간단한프로그램로직의구사 ( 자바의변수선언, if 문, for 문등에해당하는로직 ) 다른 JSP 페이지호출 (<c:redirect>, <c:import>) 날짜, 시간, 숫자의포맷 JSP 페이지하나를가지고여러가지언어의웹페이지생성 데이터베이스로의입력, 수정, 삭제, 조회 XML 문서의처리 문자열을처리하는함수호출 문자열을처리하는함수호출을제외한나머지기능들은모두커스텀액션형태로제공된다. 3/80

4 1. JSTL 이란? JSTL 커스텀액션예 <c:foreach> 커스텀액션은자바의 for 문과비슷한기능을한다. <c:foreach begin= 1 end= 10 > <H5> 안녕하세요, 여러분!</H5> </c:foreach> 시작태그와끝태그사이에있는코드를 10 번반복해서출력합니다. <fmt:formatnumber> 커스텀액션은수치값을포맷하는기능을한다. <fmt:formatnumber value= pattern= #.00 /> 주어진수치를소수점이하 2 자리까지끊어서출력합니다 JSTL 에는커스텀액션만있는게아니라표현식언어에서사용할수있는 EL 함수도지원한다. ${fn:touppercase( Hello )} 이함수는 HELLO 라는문자열을리턴합니다 4/80

5 5/80 1. JSTL 이란? JSTL 구성라이브러리 [ 표 9-1] JSTL 을구성하는작은라이브러리들 라이브러리기능 URI 식별자접두어 코어 포매팅 데이터베이스 일반프로그래밍언어에서제공하는것과유사한변수선언. 실행흐름의제어기능을제공하고, 다른 JSP 페이지로제어를이동하는기능도제공합니다. 숫자, 날짜, 시간을포매팅하는기능과국제화, 다국어지원기능을제공합니다 데이터베이스의데이터를입력 / 수정 / 삭제 / 조회하는기능을제공합니다 XML 처리 XML 문서를처리할때필요한기능을제공합니다 x 함수문자열을처리하는함수를제공합니다. fn c fmt sql

6 6/80 1. JSTL 이란? JSTL 사용 JSP 페이지에서 taglib 지시자를이용해서 JSTL 라이브러리의 URI 식별자와접두어를연결해야한다. taglib 지시자는다른지시자와마찬가지로 으로시작해서 %> 로끝난다. taglib 지시자에는 uri와 prefix라는두개의애트리뷰트를정의 각각 URI 식별자와접두어를값으로주어야한다. prefix= c uri= %> 접두어 라이브러리를식별하는 URI

7 7/80 2. JSTL 설치하기 JSTL 1.1 라이브러리파일 jstl.jar standard.jar 1 9 장의예제를위한 brain09 웹애플리케이션디렉터리를만들고, 그아래에 WEB-INF/lib 서브디렉터리를만드세요 [ 그림 9-1] JSTL 을설치하는간단한방법

8 8/80 2. JSTL 설치하기 3 examples/web-inf/lib 디렉터리에있는 JSTL 파일을 brain09/web-inf/lib 디렉터리로복사하세요 2 examples 웹애플리케이션디렉터리의 WEB-INF/lib 서브디렉터리로가세요.

9 9/80 2. JSTL 설치하기 JSTL 다운로드받기 URL -

10 10/80 2. JSTL 설치하기 JSTL 다운로드받기 왼쪽메뉴에서 Downloads 를선택한다.

11 11/80 2. JSTL 설치하기 JSTL 다운로드받기 앞페이지화면에서 Taglibs 를선택한다.

12 12/80 2. JSTL 설치하기 JSTL 다운로드받기 앞페이지화면에서 Standard 1.1 Taglib 를선택한다.

13 13/80 2. JSTL 설치하기 JSTL 다운로드받기 앞페이지화면에서 zip 파일을선택해서다운로드받는다.

14 14/80 2. JSTL 설치하기 톰캣에 JSTL 설치하기 1 jakarta-taglibs-standard-1.1.2/lib 디렉터리로가보세요 2 jstl.jar 와 standard.jar 파일이있을것입니다

15 2. JSTL 설치하기 톰캣에 JSTL 설치하기 brain09 웹애플리케이션디렉터리와 WEB-INF/lib 서브디렉터리를만들고, 다음과같이 JSTL 을설치한다. 2 압축파일에서꺼낸 JSTL 파일을 brain09/web-inf/lib 디렉터리에설치하세요. 1 brain09 웹애플리케이션디렉터리를만들고, 그아래에 WEB-INF/lib 서브디렉터리를만드세요 15/80

16 3. 코어라이브러리사용하기 <c:set> 커스텀액션 속성변수를선언하고초기값을대입하는커스텀액션 자바프로그램에서변수를선언할때는기본적으로변수의타입과이름을기술하고, 선택적으로초기값을기술한다. int num=100; 변수의타입 변수의이름 초기값 <c:set> 커스텀액션을이용해서속성변수를선언할때는변수의이름과초기 값을설정한다. <c:set var= num value= 100 /> 변수의이름 초기값 value 애트리뷰트값위치에 EL 식을쓸수도있다. <c:set var= sum value= ${num1+num2} /> value 애트리뷰트값으로 EL 식을쓸수도있습니다 16/80

17 17/80 3. 코어라이브러리사용하기 <c:set> 커스텀액션 [ 예제 9-1] <c:set> 커스텀액션의사용예 <%@page contenttype= text/html; charset=euc-kr %> <%@taglib prefix= c uri= %> <c:set var= num1 value= 7 /> <c:set var= num2 value= 9 /> <c:set var= result value= ${num1*num2} /> <HTML> <HEAD><TITLE> 곱셈프로그램 </TITLE></HEAD> <BODY> ${num1} 과 ${num2} 의곱은? ${result} </BODY> </HTML> [ 그림 9-9] 예제 9-1 의실행결과

18 3. 코어라이브러리사용하기 <c:set> 커스텀액션 <c:set> 액션을이용하여선언한변수는기본적으로 page 데이터영역의속성으로바인딩된다. scope 애트리뷰트를이용하여바인딩되는내장객체 ( 생존범위 ) 를지정가능 page, request, session, application 중한값을지정 각각 page, request, session, application 내장객체에속성으로바인딩 <c:set var= PRICE value= scope= request /> 변수가저장될데이터영역 18/80

19 19/80 3. 코어라이브러리사용하기 <c:set> 커스텀액션 [ 예제 9-2] <c:set> 커스텀액션의사용예 <%@page contenttype= text/html; charset=euc-kr %> <%@taglib prefix= c uri= %> <c:set var= CODE value= scope= request /> <c:set var= NAME value= 온습도계 scope= request /> <c:set var= PRICE value= scope= request /> <jsp:forward page= ProductInfoView.jsp /> 호출 request 데이터영역에데이터를저장합니다 <%@page contenttype= text/html; charset=euc-kr %> <HTML> <HEAD><TITLE> 상품정보 </TITLE></HEAD> <BODY> <H3> 상품정보 </H3> 상품코드 : ${CODE} <BR> 상품명 : ${NAME} <BR> 단가 : ${PRICE} 원 <BR> </BODY> </HTML> request 데이터영역에있는데이터값을가져다가출력합니다

20 3. 코어라이브러리사용하기 <c:remove> 커스텀액션 <c:set> 액션으로선언한변수는삭제시에명시적으로삭제하여야함. <c:remove> 커스텀액션은내장객체에바인딩된속성을삭제 <c:remove var= num /> 변수의이름 page, request, session, application 내장객체에저장되어있는 num이라는이름의애트리뷰트를모두찾아서제거한다. 특정영역의속성만제거하려면 scope 애트리뷰트를사용하면된다. <c:remove var= code scope= request /> request 데이터영역에있는변수를제거합니다 20/80

21 3. 코어라이브러리사용하기 <c:if> 커스텀액션 <c:if> 커스텀액션은자바프로그램의 if 문과비슷한역할을한다. 자바프로그램에서 if 문을작성하는방법은다음과같다. 조건식 if (num1 > num2) { System.out.println( num1 이더큽니다. ); } 조건식의결과가 true 일때만실행되는명령문 <c:if> 커스텀액션에서는조건식을괄호안에쓰는것은아니라, test 라는이름 의애트리뷰트값으로지정해야한다. 조건식 <c:if test= ${num1 > num2} > num1 이더큽니다. </c:if> 조건식의결과가 true 일때만출력되는코드 21/80

22 22/80 3. 코어라이브러리사용하기 <c:if> 커스텀액션 [ 예제 9-3] <c:if> 커스텀액션의사용예 <%@page contenttype= text/html; charset=euc-kr %> <%@taglib prefix= c uri= %> <HTML> <HEAD><TITLE> 최대값구하기 </TITLE></HEAD> <BODY> 최대값 : <c:if test= ${param.num1 - param.num2 >= 0} > ${param.num1} </c:if> <c:if test= ${param.num1 - param.num2 < 0} > ${param.num2} </c:if> </BODY> </HTML> URL 뒤에이런식으로입력데이터값을직접쓰세요 [ 그림 9-11] 예제 9-3 의실행결과

23 3. 코어라이브러리사용하기 <c:choose> 커스텀액션 <c:choose> 커스텀액션은자바프로그램의 switch 문과비슷한역할을한다. <c:when>, <c:otherwise> 커스텀액션과함께사용되며, 두커스텀액션은각각 switch 문의 case, default 절과비슷한역할을한다. 자바프로그램의 switch 문의문법은다음과같다. 비교의기준이되는변수 switch (num) { case 0 : System.out.println( 처음뵙겠습니다. ); break; case 1 : System.out.println( 반갑습니다. ); break; default : System.out.println( 안녕하세요. ); break; } 첫번째조건을만족할때실행되는명령문 두번째조건을만족할때실행되는명령문 아무조건도만족하지않을때실행되는명령문 23/80

24 24/80 3. 코어라이브러리사용하기 <c:choose> 커스텀액션 <c:choose> 커스텀액션의전체적인구조는 switch 문과비슷 조건식을 <c:when> 커스텀액션의 test 애트리뷰트에 EL 식형태로지정 조건식을직접기술합니다. <c:choose> <c:when test= ${num == 0} > 처음뵙겠습니다. <BR> </c:when> <c:when test= ${num == 1} > 반갑습니다. <BR> </c:when> <c:otherwise> 안녕하세요. <BR> </c:otherwise> </c:choose> 첫번째조건을만족할때출력할코드 두번째조건을만족할때출력할코드 아무조건도만족하지않을때출력할코드

25 25/80 3. 코어라이브러리사용하기 <c:choose> 커스텀액션 [ 예제 9-4] <c:choose> 커스텀액션의사용예 <%@page contenttype= text/html; charset=euc-kr %> <%@taglib prefix= c uri= %> <HTML> <HEAD><TITLE> 인사하기 </TITLE></HEAD> <BODY> <c:choose> <c:when test= ${param.num == 0} > 처음뵙겠습니다. <BR> </c:when> <c:when test= ${param.num == 1} > 반갑습니다. <BR> </c:when> <c:otherwise> 안녕하세요. <BR> </c:otherwise> </c:choose> </BODY> </HTML> [ 그림 9-11] 예제 9-3 의실행결과

26 3. 코어라이브러리사용하기 <c:foreach> 커스텀액션 <c:foreach> 커스텀액션은자바프로그램의 for 문에해당하는기능을제공 특정 HTML 코드를지정된횟수만큼반복해서출력하는등에사용 <c:foreach> 액션을사용할때는 begin과 end라는이름의애트리뷰트를쓰고, 거기에각각카운터변수의시작값과끝값을지정하면된다. 카운터의초기값반복종료의기준값카운터를증가시키는식 for (int cnt = 0; cnt < 10; cnt++) { System.out.println( 야호 ); } 반복실행할명령문 시작값 끝값 <c:foreach begin= 1 end= 10 > 야호 <BR> </c:foreach> 반복출력할명령문 26/80

27 3. 코어라이브러리사용하기 <c:foreach> 커스텀액션 반복출력할코드안에서카운터변수의값을사용해야할경우에는 <c:foreach> 태그안에 var라는애트리뷰트를쓰고, 그값으로카운터변수의이름을지정하면된다. 카운터변수 <c:foreach var= cnt begin= 1 end= 10 > ${cnt} <BR> </c:foreach> 카운터변수의값은기본적으로 1 씩증가하지만, 증가값을바꾸려면 <c:foreach> 태그에 step 이라는애트리뷰트를추가하고증가치를지정 증가치 <c:foreach var= cnt begin= 1 end= 10 step= 2 > ${cnt} <BR> </c:foreach> 27/80

28 28/80 3. 코어라이브러리사용하기 <c:foreach> 커스텀액션 [ 예제 9-5] <c:foreach> 커스텀액션의사용예 (1) <%@page contenttype= text/html; charset=euc-kr %> <%@taglib prefix= c uri= %> <HTML> <HEAD><TITLE> 메아리 </TITLE></HEAD> <BODY> <c:foreach var= cnt begin= 1 end= 5 > <FONT size=${cnt} > 야 ~ 호 ~ </FONT> <BR> </c:foreach> </BODY> </HTML> [ 그림 9-13] 예제 9-5 의실행결과

29 3. 코어라이브러리사용하기 <c:foreach> 커스텀액션의사용방법 <c:foreach> 커스텀액션의 items 애트리뷰트를이용하면여러개의항목으로구성된데이터를순서대로출력하는일도할수있다. java 스타일반복문 배열의각항목을저장할변수 배열의이름 <c:foreach var= str items= ${arr} > ${str} <BR> </c:foreach> <c:foreach> 액션의 items 애트리뷰트를이용해서처리할수있는데이터 배열 java.util.collection 객체 java.util.iterator 객체 java.util.enumeration 객체 java.util.map 객체 콤마 (,) 로구분된항목들을포함한문자열 29/80

30 30/80 3. 코어라이브러리사용하기 <c:foreach> 커스텀액션 [ 예제 9-6] <c:foreach> 커스텀액션의사용예 (2) <%@page contenttype= text/html; charset=euc-kr %> <% String arr[] = { 불고기백반, 오므라이스, 콩국수 }; request.setattribute( MENU, arr); %> <jsp:forward page= LunchMenuView.jsp /> 호출 request 데이터영역에배열을저장합니다. <%@page contenttype= text/html; charset=euc-kr %> <%@taglib prefix= c uri= %> <HTML> <HEAD><TITLE> 구내식당 </TITLE></HEAD> <BODY> <H3> 오늘의점심메뉴입니다.</H3> <UL> <c:foreach var= dish items= ${MENU} > <LI>${dish}</LI> </c:foreach> </UL> </BODY> </HTML> 배열항목을순서대로가져다가출력합니다.

31 3. 코어라이브러리사용하기 <c:fortokens> 커스텀액션 <c:fortokens> 커스텀액션은자바의 for 문과 java.util.stringtokenizer 클래스의기능을합친것같은기능을제공한다. items, delims, var라는 3개의애트리뷰트를사용 items에는토큰을포함하는문자열을, delims에는토큰분리에사용할구획문자를, var에는분리된토큰을대입할변수의이름을지정 토큰을대입할변수토큰을포함한문자열구획문자 <c:fortokens var= pet items= 햄스터이구아나소라게 delims= > ${pet} <BR> </c:fortokens> 토큰의구획문자로한종류이상의문자를지정할수도있다. 토큰을대입할변수토큰을포함한문자열구획문자 <c:fortokens var= fruit items= 딸기 * 키위 / 체리 - 참외 delims= */- > ${fruit} <BR> </c:fortokens> 31/80

32 32/80 3. 코어라이브러리사용하기 <c:fortokens> 커스텀액션 [ 예제 9-7] <c:fortokens> 커스텀액션의사용예 <%@page contenttype= text/html; charset=euc-kr %> <%@taglib prefix= c uri= %> <HTML> <HEAD><TITLE> 동물의왕국 </TITLE></HEAD> <BODY> 사자의생일잔치에누가왔을까요? <BR><BR> <c:set var= guests value= 토끼 ^^ 거북이 ~ 사슴 /> <c:fortokens var= animal items= ${guests} delims= ^~ > ${animal} <BR> </c:fortokens> </BODY> </HTML> [ 그림 9-15] 예제 9-7 의실행결과

33 3. 코어라이브러리사용하기 <c:catch> 커스텀액션 <c:catch> 커스텀액션은자바프로그래밍언어의 try문과비슷 <c:catch> 커스텀액션의시작태그와끝태그사이에서에러가발생하면실행의흐름이곧바로 <c:catch> 액션다음에있는코드로넘어간다. 익셉션객체를저장할변수 <c:catch var= e > <% int result = num1 / num2 %> 나눗셈의결과는? <%= result %> </c:catch> 에러가발생할수있는부분 <c:catch> 커스텀액션은자바의 try 블록에해당하는일만하기때문에 catch 블록에해당하는일은별도로코딩해야한다. 33/80

34 34/80 3. 코어라이브러리사용하기 <c:catch> 커스텀액션 var 애트리뷰트에지정된변수 ( 익셉션객체가저장되는변수 ) 는 <c:catch> 액션의범위밖에서도 EL 식을통해사용할수있으므로, 이를이용해서에러처리를하면된다. 익셉션이발생했는지체크하는조건식 <c:if test= ${e!= null} > 에러메시지 : ${e.message} </c:if> 에러메시지를출력하는코드 ${e.message} 라는 EL 식은익셉션객체 e 에대해 getmessage 메서드를호출하는일을 한다.

35 35/80 3. 코어라이브러리사용하기 <c:catch> 커스텀액션 [ 예제 9-8] <c:catch> 커스텀액션의사용예 <%@page contenttype= text/html; charset=euc-kr %> <%@taglib prefix= c uri= %> <% String str1 = request.getparameter( NUM1 ); String str2 = request.getparameter( NUM2 ); int num1 = Integer.parseInt(str1); int num2 = Integer.parseInt(str2); %> <HTML> <HEAD><TITLE> 나눗셈프로그램 </TITLE></HEAD> <BODY> <c:catch var= e > <% int result = num1 / num2; %> 나눗셈의결과는? <%= result %> </c:catch> <c:if test= ${e!= null} > 에러메시지 : ${e.message} </c:if> </BODY> </HTML> [ 그림 9-16] 예제 9-8 의실행결과

36 3. 코어라이브러리사용하기 <c:redirect> 커스텀액션의사용방법 <c:redirect> 커스텀액션은 sendredirect 메서드를통해다른웹자원을호출하는일을한다. 호출할웹자원의 URL은 url 애트리뷰트를이용해서지정하면된다. <c:redirect url= /> 호출할웹자원의 URL [ 예제 9-9] <c:redirect> 커스텀액션의사용예 <%@taglib prefix= c uri= %> <c:redirect url= Multiply.jsp > <c:param name= NUM1 value= 5 /> <c:param name= NUM2 value= 25 /> </c:redirect> 36/80

37 3. 코어라이브러리사용하기 <c:import> 커스텀액션 <c:import> 커스텀액션은 <jsp:include> 표준액션과비슷 다른 JSP 페이지뿐만아니라다른종류의웹자원도호출할수있다는점이차이 호출할웹자원의 URL 은 url 애트리뷰트를이용해서지정 <c:import url= /> 호출할웹자원의 URL 호출할웹자원에데이터를넘겨주려면 <c:import> 커스텀액션의시작태그 와끝태그사이에 <c:param> 커스텀액션을쓰면된다. <c:import url= > <c:param name= product value= TV /> <c:param name= ad_index value= 007 /> </c:import> 데이터이름 데이터값 37/80

38 38/80 3. 코어라이브러리사용하기 <c:url> 커스텀액션 <c:url> 커스텀액션은 <c:set> 커스텀액션과마찬가지로변수의선언에사용 URL 을쉽게다룰수있는방법을제공한다는점이차이 <c:url> 의사용방법은 <c:set> 과동일 var 애트리뷰트에변수이름을지정하고, value 애트리뷰트에변수의초기값을지정 <c:url var= myurl value= > 변수이름 변수값 <c:url> 커스텀액션은세션유지를위한 URL 재작성기법을지원 Response.encodeURL( ) <c:url value= >

39 3. 코어라이브러리사용하기 <c:url> 커스텀액션 <c:url> 의시작태그와끝태그사이에 <c:param> 커스텀액션을쓰면, URL 뒤에쿼리스트링형태로덧붙는데이터를지정할수있다. <c:url var= myurl value= > <c:param name= NUM1 value= 999 /> <c:param name= NUM2 value= 1 /> <c:param name= NAME value= Hidden Cursor /> </c:url> 데이터이름 데이터값 <c:param> 커스텀액션은 URL 인코딩도자동으로수행 쿼리스트링에사용할수없는예약문자를다른문자로변경 위의예제에서변경된 URL < 39/80

40 40/80 3. 코어라이브러리사용하기 <c:url> 커스텀액션 [ 예제 9-10] <c:url> 커스텀액션의사용예 <%@taglib prefix= c uri= %> <c:url var= next value= Divide.jsp > <c:param name= NUM1 value= 100 /> <c:param name= NUM2 value= 25 /> </c:url> <c:redirect url= ${next} /> 1 [ 예제 9-10] 의 URL 을입력하고 Enter 키를누르면 2 <c:redirect> 태그의 url 애트리뷰트값에해당하는웹페이지가나타납니다.

41 3. 코어라이브러리사용하기 <c:out> 커스텀액션 <c:out> 커스텀액션은데이터를출력할때사용 웹브라우저에의해특수한문자로해석되는 <, >, &,, 를포함하는데이터를출력할때편리 출력할데이터는 value 애트리뷰트에지정 <c:out value= <INPUT> 은 <FORM> 의서브엘리먼트입니다. /> 이두태그는 HTML 태그로해석되지않고, 웹브라우저상에그대로나타납니다 [ 예제 9-11] <c:out> 커스텀액션의사용예 (1) <%@page contenttype= text/html; charset=euc-kr %> <%@taglib prefix= c uri= %> <HTML> <HEAD><TITLE>HTML 문법설명 </TITLE></HEAD> <BODY> <H3>FONT 태그에대하여 </H3> <c:out value= <FONT size=7> 커다란글씨 </FONT> 는다음과같은출력을합니다. /> <BR><BR> <c:out value= <FONT size=7> 커다란글씨 </FONT> escapexml= false /> </BODY> </HTML> 41/80

42 42/80 3. 코어라이브러리사용하기 <c:out> 커스텀액션 default 애트리뷰트를이용하면출력할데이터의디폴트값을지정할수있다. EL 식의결과를출력할때유용하다. <c:out value= ${str} default= No Data /> 이값이없으면 이값을대신출력합니다 [ 예제 9-12] <c:out> 커스텀액션의사용예 (2) <%@page contenttype= text/html; charset=euc-kr %> <%@taglib prefix= c uri= %> <HTML> <HEAD><TITLE> 간단한인사 </TITLE></HEAD> <BODY> 안녕하세요, <c:out value= ${param.id} default= guest /> 님 </BODY> </HTML>

43 4. 포매팅라이브러리사용하기 <fmt:formatdate> 커스텀액션 날짜와시각데이터를포맷하는커스텀액션 출력할날짜와시각을 java.util.date 클래스타입의객체로넘겨줘야하므로먼저이클래스의객체를만들어야한다. Date date = new Date(); 현재의날짜와시각을포함한 Date 객체를생성합니다. <fmt:formatdate> 커스텀액션의 value 애트리뷰트에 Date 객체를지정하면 그객체가포함하고있는날짜가 YYYY. MM. DD 포맷으로출력된다. <fmt:formatdate value= ${date} /> Date 객체 43/80

44 4. 포매팅라이브러리사용하기 <fmt:formatdate> 커스텀액션 <fmt:formatdate> 커스텀액션은시각을출력하기위한용도로도사용될수 있다. <fmt:formatdate value= ${date} type= time /> 시각을출력하라고지시하는애트리뷰트값 type 애트리뷰트에 date 라는값을지정하면날짜가출력되고, both 라는값을넘 겨주면날짜와시각이모두출력된다. 디폴트값 : date <fmt:formatdate value= ${date} type= both /> 날짜와시각을모두출력하라고지시하는애트리뷰트값 44/80

45 45/80 4. 포매팅라이브러리사용하기 <fmt:formatdate> 커스텀액션 java.util.date 클래스를사용하기위해필요합니다 [ 예제 9-13] <fmt:formatdate> 커스텀액션의사용예 (1) <%@page contenttype= text/html; charset=euc-kr %> <%@page import= java.util.* %> <%@taglib prefix= c uri= %> <%@taglib prefix= fmt uri= %> <c:set var= date value= <%= new Date() %> /> <HTML> <HEAD><TITLE> 현재의시각 </TITLE></HEAD> <BODY> [ 오늘의날짜 ] <fmt:formatdate value= ${date} /> <BR> [ 현재의시각 ] <fmt:formatdate value= ${date} type= time /> </BODY> </HTML> <fmt:formatdate> 액션에서 Date 객체를사용하기위해서는 <c:set> 액션으로선언한변수에저장해야합니다. 날짜와시각을출력합니다. [ 그림 9-21] 예제 9-13 의실행결과

46 4. 포매팅라이브러리사용하기 <fmt:formatdate> 커스텀액션 datestyle 애트리뷰트 full, long, medium, short 중한값을넘겨주면날짜를다른포맷으로출력할수있다. <fmt:formatdate type= date value= ${date} datestylet= long /> timestyle 애트리뷰트에 full, long, medium, short 중한값을넘겨주면시각도 다른포맷으로출력할수있다. 날짜를 2009 년 5 월 5 일 ( 화 ) 포맷으로출력하도록지시합니다 <fmt:formatdate type= time value= ${date} timestyle= full /> 시각을 오후 1 시 31 분 42 초 KST 포맷으로출력하도록지시합니다 type 애트리뷰트에 both 값을지정해서날짜와시각을한꺼번에출력할때는 datestyle 과 timestyle 애트리뷰트를함께쓸수있다. <fmt:formatdate type= both value= ${date} datestyle= long timestyle= short /> 날짜를 2009 년 5 월 5 일 ( 화 ) 포맷으로, 시각을 오후 2:50 포맷으로출력하도록지시합니다. 46/80

47 47/80 4. 포매팅라이브러리사용하기 <fmt:formatdate> 커스텀액션 [ 예제 9-14] <fmt:formatdate> 커스텀액션의사용예 (2) <%@page contenttype= text/html; charset=euc-kr %> <%@page import= java.util.* %> <%@taglib prefix= c uri= %> <%@taglib prefix= fmt uri= %> <c:set var= date value= <%= new Date() %> /> <HTML> <HEAD><TITLE> 현재의시각 </TITLE></HEAD> <BODY> [S] <fmt:formatdate value= ${date} type= both datestyle= short timestyle= short /> <BR> [M] <fmt:formatdate value= ${date} type= both datestyle= medium timestyle= medium /> <BR> [L] <fmt:formatdate value= ${date} type= both datestyle= long timestyle= long /> <BR> [F] <fmt:formatdate value= ${date} type= both datestyle= full timestyle= full /> </BODY> </HTML>

48 48/80 4. 포매팅라이브러리사용하기 <fmt:formatdate> 커스텀액션 시각의포맷도 pattern 애트리뷰트를이용해서지정할수있다. <fmt:formatdate value= ${date} type= time pattern= (a) hh:mm:ss /> 시각을 ( 오후 ) 5:52:03 포맷으로출력하도록지시합니다 [ 예제 9-15] <fmt:formatdate> 커스텀액션의사용예 (3) <%@page contenttype= text/html; charset=euc-kr %> <%@page import= java.util.* %> <%@taglib prefix= c uri= %> <%@taglib prefix= fmt uri= %> <c:set var= date value= <%= new Date() %> /> <HTML> <HEAD><TITLE> 현재의시각 </TITLE></HEAD> <BODY> [ 오늘의날짜 ] <fmt:formatdate value= ${date} type= date pattern= yyyy/mm/dd (E) /> <BR> [ 현재의시각 ] <fmt:formatdate value= ${date} type= time pattern= (a) hh:mm:ss /> </BODY> </HTML>

49 49/80 4. 포매팅라이브러리사용하기 <fmt:formatnumber> 커스텀액션 출력할수치값은 <fmt:formatnumber> 의 vaule 애트리뷰트에지정 <fmt:formatnumber value= /> 출력할수치데이터 세자리마다쉼표를찍은포맷으로출력하려면 groupingused라는애트리뷰트를추가하고, 그값으로 true를지정 <fmt:formatnumber value= groupingused= true /> 주어진값을 1,234,500 포맷으로출력하도록지시합니다 pattern 애트리뷰트를사용하면소수점아래의숫자를원하는만큼끊거나늘려서표시할수있다. <fmt:formatnumber value= pattern= #.## /> 주어진값을소수점아래 2 자리까지끊어서출력하도록지시합니다.

50 4. 포매팅라이브러리사용하기 <fmt:formatnumber> 커스텀액션 pattern 애트리뷰트의값에서 0 이라고쓴위치는표시할유효숫자가없으면 0 으로채워진다. <fmt:formatnumber value= 10.5 pattern= #.00 /> 주어진값을소수점아래 2 자리까지끊어서출력하도록지시합니다 [ 예제 9-16] <fmt:formatnumber> 커스텀액션의사용예 (1) <%@page contenttype= text/html; charset=euc-kr %> <%@taglib prefix= fmt uri= %> <HTML> <HEAD><TITLE> 숫자포맷 </TITLE></HEAD> <BODY> 첫번째수 : <fmt:formatnumber value= groupingused= true /> <BR> 두번째수 : <fmt:formatnumber value= pattern= #.## /> <BR> 세번째수 : <fmt:formatnumber value= 10.5 pattern= #.00 /> </BODY> </HTML> 50/80

51 51/80 4. 포매팅라이브러리사용하기 <fmt:formatnumber> 커스텀액션 type 애트리뷰트에 percent 라는값을지정하면주어진수치를퍼센트단위로 표시 <fmt:formatnumber value= 0.5 type= percent /> type 애트리뷰트에 currency 라는값을지정하면주어진수치가금액에적합한 포맷으로변환하여출력 주어진수치를퍼센트단위로포맷하여출력하도록지시합니다 <fmt:formatnumber value= type= currency /> 주어진수치를금액으로표시하여출력하도록지시합니다 화폐단위를표시하기위해서는 currencysymbol 이라는애트리뷰트를이용 <fmt:formatnumber value= type= currency currencysymbol= /> 금액앞에붙는화폐단위표시

52 52/80 4. 포매팅라이브러리사용하기 <fmt:formatnumber> 커스텀액션 [ 예제 9-17] <fmt:formatnumber> 커스텀액션의사용예 (2) <%@page contenttype= text/html; charset=euc-kr %> <%@taglib prefix= fmt uri= %> <HTML> <HEAD><TITLE> 숫자포맷 </TITLE></HEAD> <BODY> 금액 : <fmt:formatnumber value= type= currency currencysymbol= /> <BR> 퍼센트 : <fmt:formatnumber value= 0.99 type= percent /> </BODY> </HTML> [ 그림 9-25] 예제 9-17 의실행결과

53 53/80 4. 포매팅라이브러리사용하기 <fmt:setlocale> 커스텀액션 출력할데이터의포맷을특정지역에맞게설정하고자할때사용 특정지역을설정하기위해서는 value 애트리뷰트에언어코드또는국가코드 _ 언어코드를지정 <fmt:setlocale value= en /> 언어코드 <fmt:setlocale value= us_en /> 국가코드및언어코드 위의액션이실행되고나면날짜와시각이영어권에맞게포맷되고, <fmt:formatnumber> 액션을이용해서출력되는모든금액앞에는달러를의미하는 $ 기호가자동으로붙어서표시된다.

54 54/80 4. 포매팅라이브러리사용하기 <fmt:setlocale> 커스텀액션 [ 예제 9-18] <fmt:setlocale> 커스텀액션의사용예 <%@page contenttype= text/html; charset=euc-kr %> <%@page import= java.util.* %> <%@taglib prefix= c uri= %> <%@taglib prefix= fmt uri= %> <c:set var= date value= <%= new Date() %> /> <HTML> <HEAD><TITLE> 나라마다다른포맷 </TITLE></HEAD> <BODY> <H3> 우리나라의포맷 </H3> <fmt:setlocale value= ko_kr /> 금액 : <fmt:formatnumber value= type= currency /> <BR> 일시 : <fmt:formatdate value= ${date} type= both datestyle= full timestyle= full /> <BR> <H3> 미국의포맷 </H3> <fmt:setlocale value= en_us /> 금액 : <fmt:formatnumber value= type= currency /> <BR> 일시 : <fmt:formatdate value= ${date} type= both datestyle= full timestyle= full /> <BR> <H3> 일본의포맷 </H3> <fmt:setlocale value= ja_jp /> 금액 : <fmt:formatnumber value= type= currency /> <BR> 일시 : <fmt:formatdate value= ${date} type= both datestyle= full timestyle= full /> <BR> </BODY> </HTML>

55 55/80 4. 포매팅라이브러리사용하기 <fmt:timezone> 커스텀액션 시간대마다다른날짜와시각을자동으로계산해서표시 시작태그의 value 애트리뷰트에특정시간대에해당하는지역이름을지정하면, 이액션의시작태그와끝태그사이에서출력되는날짜와시각은그시간대에맞게표시된다. <fmt:timezone value= America/New_York > 날짜 : <fmt:formatdate value= ${date} type= date /> 시각 : <fmt:formatdate value= ${date} type= time /> </fmt:timezone>

56 56/80 4. 포매팅라이브러리사용하기 <fmt:timezone> 커스텀액션 [ 예제 9-19] <fmt:timezone> 의커스텀액션의사용예 <%@page contenttype= text/html; charset=euc-kr %> <%@page import= java.util.* %> <%@taglib prefix= c uri= %> <%@taglib prefix= fmt uri= %> <c:set var= date value= <%= new Date() %> /> <HTML> <HEAD><TITLE> 세계시프로그램 </TITLE></HEAD> <BODY> 서울 : <fmt:formatdate value= ${date} type= both /> <BR> <fmt:timezone value= Asia/Hong_Kong > 홍콩 : <fmt:formatdate value= ${date} type= both /> <BR> </fmt:timezone> <fmt:timezone value= Europe/London > 런던 : <fmt:formatdate value= ${date} type= both /> <BR> </fmt:timezone> <fmt:timezone value= America/New_York > 뉴욕 : <fmt:formatdate value= ${date} type= both /> <BR> </fmt:timezone> </BODY> </HTML>

57 4. 포매팅라이브러리사용하기 <fmt:settimezone> 커스텀액션 <fmt:timezone> 처럼시간대를설정하는기능수행 시작태그와끝태그사이에만영향을미치는것이아니라, 이액션다음의모든코드에영향을미친다. <fmt:settimezone value= Europe/London /> 시간대의기준이되는지역이름 [ 예제 9-20] <fmt:settimezone> 커스텀액션의사용예 <%@page contenttype= text/html; charset=euc-kr %> <%@page import= java.util.* %> <%@taglib prefix= c uri= %> <%@taglib prefix= fmt uri= %> <c:set var= date value= <%= new Date() %> /> <HTML> <HEAD><TITLE> 세계시프로그램 </TITLE></HEAD> <BODY> 서울 : <fmt:formatdate value= ${date} type= both /> <BR> <fmt:settimezone value= Asia/Hong_Kong /> 홍콩 : <fmt:formatdate value= ${date} type= both /> <BR> <fmt:settimezone value= Europe/London /> 런던 : <fmt:formatdate value= ${date} type= both /> <BR> <fmt:settimezone value= America/New_York /> 뉴욕 : <fmt:formatdate value= ${date} type= both /> <BR> </BODY> </HTML> 57/80

58 4. 포매팅라이브러리사용하기 <fmt:setbundle> 과 <fmt:bundle> 커스텀액션 <fmt:setbundle>, <fmt:bundle>, <fmt:message> 커스텀액션을사용하면하나의 JSP 페이지만가지고서로다른언어로기술된두개이상의웹페이지를생성할수있다. 우선웹페이지마다서로다른언어로기술되어야할부분을추출해서프로퍼티파일 (property file) 로만들어놓아야한다. < 한글데이터가저장된프로퍼티파일 > < 영문데이터가저장된프로퍼티파일 > TITLE= 회사소개 GREETING= 이사이트를방문해주셔서감사합니다. BODY= 당사는소프트웨어개발을주업무로하는회사입니다. COMPANY_NAME=( 주 ) 듀크소프트웨어 TITLE=About Us GREETING=Thank you for visiting this site. BODY=We are a dedicated software development company. COMPANY_NAME=Duke Software Inc. 프로퍼티파일은 대표명 _ISO 언어코드.properties 라는이름으로만들어서 WB-INF/classes 디렉터리에저장해야한다. 58/80

59 59/80 4. 포매팅라이브러리사용하기 <fmt:setbundle> 과 <fmt:bundle> 커스텀액션 영문프로퍼티파일은일반텍스트에디터를이용해서만들어저장하면된다. 2) 영문프로퍼티파일을만들어서저장하십시오. 1) brain09 웹애플리케이션의 WEB-INF/ classes 서브디렉터리로가십시오. [ 그림 9-30] 영문프로퍼티파일을만드는방법

60 4. 포매팅라이브러리사용하기 <fmt:setbundle> 과 <fmt:bundle> 커스텀액션 한글프로퍼티파일은일반텍스트에디터를이용해서만들어저장한다음에 ascii2native.exe 프로그램을이용하여변환해야한다. 2) 한글프로퍼티파일을만들어서저장하십시오. 1) brain09 웹애플리케이션의 WEB-INF/ classes 서브디렉터리로가십시오. [ 그림 9-31] 한글프로퍼티파일을만드는방법 (1) 60/80

61 61/80 4. 포매팅라이브러리사용하기 <fmt:setbundle> 과 <fmt:bundle> 커스텀액션 1) 명령프롬프트창을여세요. 2) Intro_ko.properties.org 파일이있는디렉터리로가세요. 3) native2ascii.exe 프로그램을실행하면 Intro_ko.properties 파일이생성됩니다. [ 그림 9-32] 한글프로퍼티파일을만드는방법 (2)

62 4. 포매팅라이브러리사용하기 <fmt:setbundle> 과 <fmt:bundle> 커스텀액션 <fmt:setbundle> 액션은프로퍼티파일의대표명을지정하는역할을한다. <fmt:setbundle basename= Intro /> 프로퍼티파일의대표명 <fmt:message> 커스텀액션은프로퍼티파일에있는데이터를가져다가출력 하는역할을한다. <fmt:message key= TITLE /> 프로퍼티파일에있는데이터의키 62/80

63 63/80 4. 포매팅라이브러리사용하기 <fmt:setbundle> 과 <fmt:bundle> 커스텀액션 [ 예제 9-21] <fmt:setbundle> 커스텀액션의사용예 (1) <%@page contenttype= text/html; charset=euc-kr %> <%@taglib prefix= fmt uri= %> <fmt:setbundle basename= Intro /> <HTML> <HEAD><TITLE><fmt:message key= TITLE /></TITLE></HEAD> <BODY> <H3><fmt:message key= TITLE /></H3> <fmt:message key= GREETING /> <BR><BR> <fmt:message key= BODY /> <BR><BR> <FONT size=2><fmt:message key= COMPANY_NAME /></FONT> </BODY> </HTML> [ 그림 9-33] 예제 9-21 의실행결과 (1)

64 64/80 4. 포매팅라이브러리사용하기 <fmt:setbundle> 과 <fmt:bundle> 커스텀액션 1) 웹브라우저의메뉴에서도구 인터넷옵션을선택하면인터넷옵션창이나타납니다. 2) 언어버튼을누르면언어기본설정창이나타납니다. [ 그림 9-34] 웹브라우저의언어기본설정을영문으로바꾸는방법 3) 추가버튼을누르면언어추가창이나타납니다.

65 65/80 4. 포매팅라이브러리사용하기 <fmt:setbundle> 과 <fmt:bundle> 커스텀액션 4) 영어 ( 미국 ) 을찾아서선택한다음에확인버튼을누르면이창은사라집니다. 5) 영어 ( 미국 ) 을선택하고위로이동버튼을누르십시오. 6) 영어 ( 미국 ) 항목이제일위에위치하면모든설정이끝난것입니다.

66 66/80 4. 포매팅라이브러리사용하기 <fmt:setbundle> 과 <fmt:bundle> 커스텀액션 [ 그림 9-35] 예제 9-21 의실행결과 (2)

67 4. 포매팅라이브러리사용하기 <fmt:setbundle> 과 <fmt:bundle> 커스텀액션 <fmt:message> 커스텀액션에 var 애트리뷰트를사용하면프로퍼티파일의데 이터가출력되는것이아니라변수에저장된다. <fmt:message var= title key= TITLE /> 변수이름 [ 예제 9-22] <fmt:setbundle> 커스텀액션의사용예 (2) <%@page contenttype= text/html; charset=euc-kr %> <%@taglib prefix= fmt uri= %> <fmt:setbundle basename= Intro /> <fmt:message var= title key= TITLE /> <fmt:message var= greeting key= GREETING /> <fmt:message var= body key= BODY /> <fmt:message var= companyname key= COMPANY_NAME /> <HTML> <HEAD><TITLE>${title}</TITLE></HEAD> <BODY> <H3>${title}</H3> ${greeting} <BR><BR> ${body} <BR><BR> <FONT size=2>${companyname}</font> </BODY> </HTML> 67/80

68 4. 포매팅라이브러리사용하기 <fmt:setbundle> 과 <fmt:bundle> 커스텀액션 <fmt:bundle> 커스텀액션도 <fmt:setbundle> 처럼프로퍼티파일의대표명지 정에사용되지만, 시작태그와끝태그사이에있는코드만영향을미친다는 점이다르다. <fmt:bundle basename= Intro > <fmt:message var= title key= TITLE /> <fmt:message var= greeting key= GREETING /> <fmt:message var= body key= BODY /> <fmt:message var= companyname key= COMPANY_NAME /> </fmt:bundle> <fmt:bundle> 커스텀액션은프로퍼티파일이적용되는코드의범위를한눈 에알아볼수있게만들기때문에코드의가독성을높여주는효과가있다. 68/80

69 4. 포매팅라이브러리사용하기 <fmt:setbundle> 과 <fmt:bundle> 커스텀액션 프로퍼티파일에도변수를사용할수있다. 단, 이때는영문으로된변수이름 이아니라숫자로된인덱스값으로변수를표시해야한다. GREETING= 안녕하세요, {0} 님 {1} 번째방문하셨군요. 아이디가들어갈부분 방문횟수가들어갈부분 변수에값을대입하는일은 JSP 페이지안에서해야한다. <fmt:message> 액 션의시작태그와끝태그사이에 <fmt:param> 액션을사용하여값을지정 <fmt:message var="greeting" key="greeting" > <fmt:param>spiderman</fmt:param> {0} 위치에들어갈변수값을지정합니다. <fmt:param>3</fmt:param> {1} 위치에들어갈변수값을지정합니다. </fmt:message> 69/80

70 4. 포매팅라이브러리사용하기 <fmt:setbundle> 과 <fmt:bundle> 커스텀액션 변수를포함하는프로퍼티파일을사용하는예제를작성하기위해다음과같 은두개의프로퍼티파일을만든다 < 한글데이터가저장된프로퍼티파일 > < 영문데이터가저장된프로퍼티파일 > TITLE= 환영인사 GREETING= 안녕하세요, {0} 님. {1} 번째방문이시군요. BODY= 새로운게임이추가되었습니다. \ 즐거운시간보내시기바랍니다. COMPANY_NAME=( 주 ) 듀크게임 TITLE=WELCOME GREETING=Hi, {0}. You have visited this site {1} times. BODY=New games are added. Have a good time. COMPANY_NAME=Duke Games Inc. 70/80

71 71/80 4. 포매팅라이브러리사용하기 <fmt:setbundle> 과 <fmt:bundle> 커스텀액션 [ 예제 9-23] 프로퍼티데이터에변경가능한값을대입해서출력하는예 <%@page contenttype= text/html; charset=euc-kr %> <% request.setattribute( ID, Spiderman ); request.setattribute( VNUM, new Integer(3)); %> <jsp:forward page= WelcomeView.jsp /> request 데이터영역에아이디와방문횟수를저장합니다 호출 <%@page contenttype= text/html; charset=euc-kr %> <%@taglib prefix= fmt uri= %> <fmt:bundle basename= Welcome > <fmt:message var= title key= TITLE /> <fmt:message var= greeting key= GREETING > <fmt:param>${id}</fmt:param> <fmt:param>${vnum}</fmt:param> </fmt:message> <fmt:message var= body key= BODY /> <fmt:message var= companyname key= COMPANY_NAME /> </fmt:bundle> <HTML> <HEAD><TITLE>${title}</TITLE></HEAD> <BODY> {greeting} <BR><BR> ${body} <BR><BR> <FONT size=2>${companyname}</font> </BODY> </HTML> 아이디와방문횟수를포함한인사말을만듭니다 인사말을출력합니다.

72 72/80 4. 포매팅라이브러리사용하기 <fmt:setbundle> 과 <fmt:bundle> 커스텀액션 웹브라우저가기본적으로한글을사용하도록설정되어있을때 웹브라우저가기본적으로영문을사용하도록설정되어있을때 [ 그림 9-38] 예제 9-23 의실행결과

73 73/80 4. 포매팅라이브러리사용하기 <fmt:requestencoding> 커스텀액션 POST 메서드로전송된한글입력데이터를입력받기 [ 예제 9-24] 프로퍼티데이터에변수값을첨가해서편집하는예 아이디를입력받는 HTML 문서 <HTML> <HEAD> <META http-equiv= Content-Type content= text/html;charset=euc-kr > <TITLE> 한글로인사하기 </TITLE> </HEAD> <BODY> <FORM ACTION=HelloResult.jsp METHOD=POST> 한글아이디를입력하세요. <BR> <INPUT TYPE=TEXT NAME=ID> <BR><BR> <INPUT TYPE=SUBMIT VALUE= 확인 > </FORM> </BODY> </HTML> POST 메서드를이용해서아이디를입력받습니다 입력받은아이디를가지고인사말을출력하는 JSP 페이지 <%@page contenttype= text/html; charset=euc-kr %> <HTML> <HEAD><TITLE> 인사하기 </TITLE></HEAD> <BODY> 안녕하세요, ${param.id} 님 </BODY> </HTML> 익스프레션언어를이용해서아이디를포함한인사말을출력합니다.

74 74/80 4. 포매팅라이브러리사용하기 <fmt:requestencoding> 커스텀액션 POST 메서드로전송된한글입력데이터를입력받기 한글아이디를입력하고 확인 버튼을누르면한글이깨져서출력될것입니다. [ 그림 9-39] 예제 9-24 의실행결과

75 4. 포매팅라이브러리사용하기 <fmt:requestencoding> 커스텀액션 POST 메서드로전송된한글입력데이터를입력받기 POST 메서드로전송된한글입력데이터를올바르게가져오기위해서는 setcharacterencoding 메서드를호출해야한다. <fmt:requestencoding> 커스텀액션은내부적으로 setcharacterencoding 메서드를호출한다. <fmt:requestencoding value= enc-kr /> 한글코드이름 [ 예제 9-25] <fmt:requestencoding> 커스텀액션의사용예 입력받은아이디를가지고인사말을출력하는 JSP 페이지 <%@page contenttype= text/html; charset=euc-kr %> <%@taglib prefix= fmt uri= %> <fmt:requestencoding value= euc-kr /> <HTML> <HEAD><TITLE> 인사하기 </TITLE></HEAD> <BODY> 안녕하세요, ${param.id} 님 </BODY> </HTML> <fmt:requestencoding> 액션을사용하기위해필요합니다. 한글데이터를입력받을수있도록만듭니다 75/80

76 76/80 4. 포매팅라이브러리사용하기 <fmt:requestencoding> 커스텀액션 한글아이디를입력하고 확인 버튼을누르면한글이올바르게출력될것입니다. [ 그림 9-39] 예제 9-24 의실행결과

77 5. 함수라이브러리사용하기 JSTL 함수라이브러리 표현식언어의 EL 식안에서사용할수있는 EL 함수들의라이브러리 touppercase라는함수는문자열에포함된모든영문소문자를영문대문자로바꾸는함수 ${fn:touppercase( Hello. )} 이함수는 HELLO. 를리턴합니다. substring 이라는함수는문자열의부문자열을가져오는함수 ${fn:substring( 도레미파솔라시도, 3, 6)} 이함수는 파솔라 를리턴합니다 77/80

78 78/80 5. 함수라이브러리사용하기 JSTL 함수라이브러리함수

79 79/80 5. 함수라이브러리사용하기 [ 예제 9-26] 함수라이브러리의사용예 <%@page contenttype= text/html; charset=euc-kr %> <%@page import= java.util.* %> <%@taglib prefix= c uri= %> <%@taglib prefix= fn uri= %> <c:set var= greeting value= How Are You? /> <HTML> <HEAD><TITLE> 여러가지인사말 </TITLE></HEAD> <BODY> 본래의문자열 : ${greeting} <BR> 모두대문자로 : ${fn:touppercase(greeting)} <BR> 모두소문자로 : ${fn:tolowercase(greeting)} <BR> Are 의위치는? ${fn:indexof(greeting, Are )} <BR> Are 를 Were 로바꾸면? ${fn:replace(greeting, Are, Were )} <BR> 문자열의길이는? ${fn:length(greeting)} <BR> </BODY> </HTML> [ 그림 9-41] 예제 9-26 의실행결과

80 JSP & Servlet

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

계속되는 JSTL 의활약 <c:foreach> 액션의 items에사용할수있는자료의형태 - <c:foreach var="dish" items="${???}"> - 즉, 위의??? 부분에사용할수있는자료의형태는다음과같다. 배열, 컬렉션프레임워크,, 로구분된항목들을포함한문자열

계속되는 JSTL 의활약 <c:foreach> 액션의 items에사용할수있는자료의형태 - <c:foreach var=dish items=${???}> - 즉, 위의??? 부분에사용할수있는자료의형태는다음과같다. 배열, 컬렉션프레임워크,, 로구분된항목들을포함한문자열 계속되는 JSTL 의활약 액션의 items에사용할수있는자료의형태 - - 즉, 위의??? 부분에사용할수있는자료의형태는다음과같다. 배열, 컬렉션프레임워크,, 로구분된항목들을포함한문자열 - 위의로또번호생성페이지에서생성된로또번호가 TreeSet에저장되어있을경우, TreeSet에저장된로또번호를그대로위의

More information

- 다음은 대한민국, 미국, 일본 의화폐문자출력과날짜, 시간을출력하는 JSP(WorldFormat.jsp) contenttype="text/html; charset=euc-kr"%> import="java.util.*"%>

- 다음은 대한민국, 미국, 일본 의화폐문자출력과날짜, 시간을출력하는 JSP(WorldFormat.jsp) contenttype=text/html; charset=euc-kr%> import=java.util.*%> 국제적으로노는 JSTL 지역별로다른기능을사용할수있도록설정하는 커스텀액션 - 날짜와시간, 통화기호들은사용하는언어와국가에따라서달라진다. - 액션태그는이런차이를반영해서특정지역에맞도록데이터의형태를설정할때사용한다. - 다음은영어권지역으로설정하는예 - 위의예에서

More information

Microsoft PowerPoint - aj-lecture8.ppt [호환 모드]

Microsoft PowerPoint - aj-lecture8.ppt [호환 모드] JSTL JSTL 524730-1 2019 년봄학기 5/13/2019 박경신 JSTL (JSP Standard Tag Library) JCP(Java Community Process, 자바표준화단체 ) 에서정한표준 JSP 페이지에서스크립트요소로인한코드의복잡함을해결하기위한일종의사용자정의태그 널리사용되는사용자정의태그를표준으로만든라이브러리 JSP 페이지의로직을담당하는부분인

More information

서블릿의라이프사이클 뇌를자극하는 JSP & Servlet

서블릿의라이프사이클 뇌를자극하는 JSP & Servlet 서블릿의라이프사이클 뇌를자극하는 JSP & Servlet Contents v 학습목표 서블릿클래스로부터서블릿객체가만들어지고, 서블릿객체가초기화되어서서블릿이되고, 서블릿이사용되고, 최종적으로소멸되기까지의전과정을서블릿의라이프사이클이라고한다. 이장에서는서브릿의라이프사이클에관련된프로그래밍기술을배워보자. v 내용 서블릿의라이프사이클 서블릿클래스의 init 메서드의 destroy

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

윈도우즈프로그래밍(1)

윈도우즈프로그래밍(1) 제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가 혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가웹페이지내에뒤섞여있어서웹페이지의화면설계가점점어려워진다. - 서블릿이먼저등장하였으나, 자바내에

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

뇌를 자극하는 JSP & Servlet 슬라이드

뇌를 자극하는 JSP & Servlet 슬라이드 커스텀액션 JSP & Servlet 2/94 Contents 학습목표 커스텀액션을직접만들어서사용하는방법과커스텀액션을모아서태 그라이브러리를만들어배포하는방법을배워보자. 내용 커스텀액션작성방법 태그파일을이용한커스텀액션작성방법 태그클래스를이용한커스텀액션작성방법 태그라이브러리작성방법 3/94 1. 커스텀액션구현 커스텀액션구현 커스텀액션구현방법 태그파일 (Tag File)

More information

TP_jsp7.PDF

TP_jsp7.PDF (1) /WEB_INF.tld /WEB_INF/lib (2) /WEB_INF/web.xml (3) http://{tag library }/taglibs/{library} /web_inf/{

More information

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint 웹 연동 기술.pptx 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우

More information

JSP 의내장객체 response 객체 - response 객체는 JSP 페이지의실행결과를웹프라우저로돌려줄때사용되는객체이다. - 이객체는주로켄텐츠타입이나문자셋등의데이터의부가정보 ( 헤더정보 ) 나쿠키 ( 다음에설명 ) 등을지정할수있다. - 이객체를사용해서출력의방향을다른

JSP 의내장객체 response 객체 - response 객체는 JSP 페이지의실행결과를웹프라우저로돌려줄때사용되는객체이다. - 이객체는주로켄텐츠타입이나문자셋등의데이터의부가정보 ( 헤더정보 ) 나쿠키 ( 다음에설명 ) 등을지정할수있다. - 이객체를사용해서출력의방향을다른 JSP 의내장객체 response 객체 - response 객체는 JSP 페이지의실행결과를웹프라우저로돌려줄때사용되는객체이다. - 이객체는주로켄텐츠타입이나문자셋등의데이터의부가정보 ( 헤더정보 ) 나쿠키 ( 다음에설명 ) 등을지정할수있다. - 이객체를사용해서출력의방향을다른 URL로바꿀수있다. 예 ) response.sendredirect("http://www.paran.com");

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

04장

04장 20..29 1: PM ` 199 ntech4 C9600 2400DPI 175LPI T CHAPTER 4 20..29 1: PM ` 200 ntech4 C9600 2400DPI 175LPI T CHAPTER 4.1 JSP (Comment) HTML JSP 3 home index jsp HTML JSP 15 16 17 18 19 20

More information

뇌를 자극하는 JSP & Servlet 슬라이드

뇌를 자극하는 JSP & Servlet 슬라이드 서블릿의기초 Servlet & JSP 2/70 Contents 학습목표 서블릿클래스는자바클래스형태로구현되는웹애플리케이션프로그램이며, 일반적인자바클래스를작성할때보다지켜야할규칙이많다. 이장에서는그규칙들을배워보자. 내용 서블릿이란? 웹컨테이너란? 서블릿클래스의작성, 컴파일, 설치, 등록 톰캣관리자프로그램사용하기 웹브라우저로부터데이터입력받기 3/70 1. 서블릿이란?

More information

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

More information

뇌를 자극하는 JSP & Servlet 슬라이드

뇌를 자극하는 JSP & Servlet 슬라이드 JSP 와서블릿 Servlet & JSP 2/78 Contents 학습목표 JSP 기술과서블릿기술의기초를배워본다. 내용 JSP와서블릿에대하여 JDK 설치하기 톰캣설치하기 간단한 JSP 페이지작성하기 3/78 1. JSP 와서블릿에대하여 웹브라우저의요청을받아해당하는웹페이지를찾아서보내주는일을하는컴퓨터 ( 일 을하는소프트웨어 ) 를웹서버라고한다. 웹브라우저와웹서버

More information

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r Jakarta is a Project of the Apache

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

뇌를 자극하는 JSP & Servlet 슬라이드

뇌를 자극하는 JSP & Servlet 슬라이드 표준액션 JSP & Servlet 2/55 Contents 학습목표 JSP에는액션 (action) 이라는문법이있는데, 이것은 XML 태그형태로코드를기술하는문법이다. 액션은크게표준액션과커스텀액션으로나눌수있는데, 이번장에서는그중하나인표준액션 (standard action) 에대해서배워보자. 내용 표준액션이란? JSP 페이지의모듈화에사용되는표준액션 자바빈의호출에사용되는표준액션

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lecture 02 프로그램구조및문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018 자바프로그램기본구조 Hello 프로그램구조 sec01/hello.java 2/40 자바프로그램기본구조 Hello 프로그램구조

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

<4D F736F F F696E74202D203130C0E52EBFA1B7AF20C3B3B8AE205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D203130C0E52EBFA1B7AF20C3B3B8AE205BC8A3C8AF20B8F0B5E55D> 10 장. 에러처리 1. page 지시문을활용한에러처리 page 지시문의 errorpage 와 iserrorpage 속성 errorpage 속성 이속성이지정된 JSP 페이지내에서 Exception이발생하는경우새롭게실행할페이지를지정하기위하여사용 iserrorpage 속성 iserrorpage 는위와같은방법으로새롭게실행되는페이지에지정할속성으로현재페이지가 Exception

More information

뇌를 자극하는 JSP & Servlet 슬라이드

뇌를 자극하는 JSP & Servlet 슬라이드 쿠키와세션 JSP & Servlet 2/51 Contents 학습목표 셋이상의화면으로구성된웹애플리케이션을작성할때에는 JSP 페이지나서블릿클래스들이서로데이터를주고받도록만들어야할필요가있다. 이장에서는이럴때필요한쿠키와세션기술에대해알아보자. 내용 쿠키와세션 쿠키기술 세션기술 / HttpSession 3/50 1. 쿠키와세션 (1) 세션 (Session) - 정의 클라이언트의연속적인요청또는그요청에대한서비스기간

More information

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

var answer = confirm( 확인이나취소를누르세요.); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write( 확인을눌렀습니다.); else { document.write( 취소를눌렀습니다.); 자바스크립트 (JavaScript) - HTML 은사용자에게인터페이스 (interface) 를제공하는언어 - 자바스크립트는서버로데이터를전송하지않고서할수있는데이터처리를수행한다. - 자바스크립트는 HTML 나 JSP 에서작성할수있고 ( 내부스크립트 ), 별도의파일로도작성이가능하다 ( 외 부스크립트 ). - 내부스크립트 - 외부스크립트

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

게시판 스팸 실시간 차단 시스템

게시판 스팸 실시간 차단 시스템 오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

Java ...

Java ... 컴퓨터언어 1 Java 제어문 조성일 조건문 : if, switch 어떠한조건을조사하여각기다른명령을실행 if 문, switch 문 if 문 if - else 문형식 if 문형식 if ( 조건식 ) { 명령문 1; 명령문 2;... if ( 조건식 ) { 명령문 1; 명령문 2;... else { 명령문 a; 명령문 b;... 예제 1 정수를입력받아짝수와홀수를판별하는프로그램을작성하시오.

More information

Microsoft PowerPoint 세션.ppt

Microsoft PowerPoint 세션.ppt 웹프로그래밍 () 2006 년봄학기 문양세강원대학교컴퓨터과학과 세션변수 (Session Variable) (1/2) 쇼핑몰장바구니 장바구니에서는사용자가페이지를이동하더라도장바구니의구매물품리스트의내용을유지하고있어야함 PHP 에서사용하는일반적인변수는스크립트의수행이끝나면모두없어지기때문에페이지이동시변수의값을유지할수없음 이러한문제점을해결하기위해서 PHP 에서는세션 (session)

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

Microsoft PowerPoint - e pptx

Microsoft PowerPoint - e pptx Import/Export Data Using VBA Objectives Referencing Excel Cells in VBA Importing Data from Excel to VBA Using VBA to Modify Contents of Cells 새서브프로시저작성하기 프로시저실행하고결과확인하기 VBA 코드이해하기 Referencing Excel Cells

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

뇌를 자극하는 JSP & Servlet 슬라이드

뇌를 자극하는 JSP & Servlet 슬라이드 서블릿의라이프사이클 JSP & Servlet 2/39 Contents 학습목표 서블릿클래스로부터서블릿객체가만들어지고, 서블릿객체가초기화되어서서블릿이되고, 서블릿이사용되고, 최종적으로소멸되기까지의전과정을서블릿의라이프사이클이라고한다. 이장에서는서브릿의라이프사이클에관련된프로그래밍기술을배워보자. 내용 서블릿의라이프사이클 서블릿클래스의 init 메서드의 destroy

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

PowerPoint Presentation

PowerPoint Presentation 자바프로그래밍 1 배열 손시운 ssw5176@kangwon.ac.kr 배열이필요한이유 예를들어서학생이 10 명이있고성적의평균을계산한다고가정하자. 학생 이 10 명이므로 10 개의변수가필요하다. int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; 하지만만약학생이 100 명이라면어떻게해야하는가? int s0, s1, s2, s3, s4,

More information

Microsoft PowerPoint - 4강.pptx

Microsoft PowerPoint - 4강.pptx 컴퓨터과학과 김희천교수 학습개요 동적인컨텐츠를생성하는일에는 어떻게컨텐츠를생성할것인지 를지시해주기위한프로그래밍이어떤형태로든필요하다. JSP 기술은동적으로컨텐츠를생성하기위해, 프로그래밍코드가담긴스크립트를포함할수있게하고또한 HTML 태그를통해어려운자바코딩없이도자바객체를사용할수있게하고있다. JSP는 Java Server Pages의약자로최신버전은 2.1이며자바기반스크립트언어이며또한

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 3 장함수와문자열 1. 함수의기본적인개념을이해한다. 2. 인수와매개변수의개념을이해한다. 3. 함수의인수전달방법 2가지를이해한다 4. 중복함수를이해한다. 5. 디폴트매개변수를이해한다. 6. 문자열의구성을이해한다. 7. string 클래스의사용법을익힌다. 이번장에서만들어볼프로그램 함수란? 함수선언 함수호출 예제 #include using

More information

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

More information

Data Provisioning Services for mobile clients

Data Provisioning Services for mobile clients 4 장. JSP 의구성요소와스크립팅요소 제 4 장 스크립팅요소 (Scripting Element) 1) 지시문 (Directive) 1. JSP 구성요소소개 JSP 엔진및컨테이너, 즉 Tomcat 에게현재의 JSP 페이지처리와관련된정보를전달하는목적으로활용 (6 장 )

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

Tcl의 문법

Tcl의 문법 월, 01/28/2008-20:50 admin 은 상당히 단순하고, 커맨드의 인자를 스페이스(공백)로 단락을 짓고 나열하는 정도입니다. command arg1 arg2 arg3... 한행에 여러개의 커맨드를 나열할때는, 세미콜론( ; )으로 구분을 짓습니다. command arg1 arg2 arg3... ; command arg1 arg2 arg3... 한행이

More information

뇌를 자극하는 JSP & Servlet 슬라이드

뇌를 자극하는 JSP & Servlet 슬라이드 JSP 의기초 JSP & Servlet 2/92 Contents 학습목표 JSP 기술에서는웹애플리케이션을 JSP 페이지형태로구현한다. JSP 페이지를작성하는데필요한여러가지기초지식을학습. 내용 JSP 페이지란? JSP의기초문법 JSP 페이지의내장변수 파일입출력 다른 JSP 페이지호출하기 3/92 1. JSP 페이지란? JSP 기술에서웹애플리케이션을구현할때작성하는코드

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

More information

Data Provisioning Services for mobile clients

Data Provisioning Services for mobile clients 9 장. 요청흐름제어와모듈화 1. 액션태그를이용한흐름제어 액션태그 하나의 JSP 페이지에서다른 JSP 페이지로요청처리를전달할때사용 중요사항 from.jsp 가아닌 to.jsp 가생성한응답결과가웹브라우저에전달된다. from.jsp 에서사용한 request, response 기본객체가 to.jsp 에그대로전달된다.

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date

More information

중간고사

중간고사 중간고사 담당교수 : 단국대학교응용컴퓨터공학박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 답안지에학과, 학번, 이름외에본인의암호 (4자리숫자 ) 를기입하면성적공고시학번대신암호를사용할것임. 1. JSP 란무엇인가? 간단히설명하라.

More information

14-Servlet

14-Servlet JAVA Programming Language Servlet (GenericServlet) HTTP (HttpServlet) 2 (1)? CGI 3 (2) http://jakarta.apache.org JSDK(Java Servlet Development Kit) 4 (3) CGI CGI(Common Gateway Interface) /,,, Client Server

More information

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - chap13-입출력라이브러리.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,

More information

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다 10 강. 쉘스크립트 쉘스크립트 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다른운영체제로이식되지않음 -스크립트언어를사용하면컴파일과정이없고인터프리터가소스파일에서명령문을판독하여각각의명령을수행

More information

뇌를 자극하는 JSP & Servlet 슬라이드

뇌를 자극하는 JSP & Servlet 슬라이드 데이터베이스사용하기 JSP & Servlet Contents 학습목표 데이터베이스를이용하면파일보다훨씬더체계적이고구조적인방법으로데이터를저장하고관리할수있다. 그래서웹프로그래밍에서도데이터베이스를사용해야할경우가많이있는데이번장에서는그방법을배워보자. 내용 데이터베이스개론 MySQL 설치하기 Connector/J 설치하기 웹컴포넌트에서데이터베이스를사용하는방법 데이터베이스커넥션풀의설치와사용

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습문제 Chapter 05 데이터베이스시스템... 오라클로배우는데이터베이스개론과실습 1. 실습문제 1 (5 장심화문제 : 각 3 점 ) 6. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (2) 7. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (5)

More information

슬라이드 1

슬라이드 1 UNIT 08 조건문과반복문 로봇 SW 교육원 2 기 학습목표 2 조건문을사용핛수있다. 반복문을사용핛수있다. 조건문 3 조건식의연산결과에따라프로그램의실행흐름을변경 조건문의구성 조건식 실행될문장 조건문의종류 if switch? : ( 삼항연산자 ) if 조건문 4 if 문의구성 조건식 true 또는 false(boolean 형 ) 의결과값을갖는수식 실행될문장

More information

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 클래스의사용법은다음과같다. PrintWriter writer = new PrintWriter("output.txt");

More information

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

뇌를 자극하는 JSP & Servlet 슬라이드

뇌를 자극하는 JSP & Servlet 슬라이드 속성 & 리스너 JSP & Servlet 2/39 Contents 학습목표 클라이언트요청에의해서블릿이실행될때에컨테이너에의해제공되는내장객체의종류와역할, 그리고접근범위특성등을알아본다. 웹컴포넌트사이의데이터전달을위한내장객체에서의속성설정과이에따른이벤트처리방법에대해알아본다. 내용 서블릿의초기화환경을표현하는 ServletConfig 객체 웹애플리케이션의실행환경을표현하는

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 자바의기본구조? class HelloJava{ public static void main(string argv[]){ system.out.println( hello,java ~ ){ } } # 하나하나뜯어살펴봅시다! public class HelloJava{ 클래스정의 public static void main(string[] args){ System.out.println(

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070> 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include "QuickSort.h" 7 using namespace std; 8 9 10 Node* Queue[100]; // 추가입력된데이터를저장하기위한 Queue

More information

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

Microsoft PowerPoint - chap-03.pptx

Microsoft PowerPoint - chap-03.pptx 쉽게풀어쓴 C 언어 Express 제 3 장 C 프로그램구성요소 컴퓨터프로그래밍기초 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산 이번장에서는 C프로그램을이루는구성요소들을살펴봅니다. 컴퓨터프로그래밍기초 2 일반적인프로그램의형태 데이터를받아서 ( 입력단계 ), 데이터를처리한후에

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 20 장패키지 이번장에서학습할내용 패키지의개념 패키지로묶는방법 패키지사용 기본패키지 유틸리티패키지 패키지는연관된클래스들을묶는기법입니다. 패키지란? 패키지 (package) : 클래스들을묶은것 자바라이브러리도패키지로구성 ( 예 ) java.net 패키지 네트워크관련라이브러리 그림 20-1. 패키지의개념 예제 패키지생성하기 Q: 만약패키지문을사용하지않은경우에는어떻게되는가?

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2> 쉽게풀어쓴 C 언어 Express 제 3 장 C 프로그램구성요소 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산 이번장에서는 C 프로그램을이루는구성요소들을살펴봅니다. 일반적인프로그램의형태 데이터를받아서 ( 입력단계 ), 데이터를처리한후에 ( 처리단계 ), 결과를화면에출력

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 HTML5 웹프로그래밍입문 부록. 웹서버구축하기 1 목차 A.1 웹서버시스템 A.2 PHP 사용하기 A.3 데이터베이스연결하기 2 A.1 웹서버시스템 3 웹서버의구축 웹서버컴퓨터구축 웹서버소프트웨어설치및실행 아파치 (Apache) 웹서버가대표적 서버실행프로그램 HTML5 폼을전달받아처리 PHP, JSP, Python 등 데이터베이스시스템 서버측에데이터를저장및효율적관리

More information

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 : HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 : ios 3.0 이상 - 콘텐츠형식 : MP4 (H264,AAC ), MP3 * 디바이스별해상도,

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

More information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap10-함수의활용.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.

More information

2장 변수와 프로시저 작성하기

2장  변수와 프로시저 작성하기 Chapter. RequestDispatcher 활용 요청재지정이란? RequestDispatcher 활용 요청재지정구현예제 Chapter.9 : RequestDispatcher 활용 1. 요청재지정이란? 클라이언트로부터요청받은 Servlet 프로그램이응답을하지않고다른자원에수행흐름을넘겨다른자원의처리결과를대신응답하는것또는다른자원의수행결과를포함하여응답하는것을요청재지정이라고한다.

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Ruby Programming 8 Web Crawling 한국어정보의전산처리 2017. 5. 24. Web Crawling 의요소기술 웹에접속하여웹문서읽어오기 open-uri 나 net/http 라이브러리이용. 웹문서분석 xml/html parser 라이브러리 ( 예 : nokogiri) 를이용할수도있으나 간단한분석일때는 scan 등의함수로정규표현을검색하여처리할수도있음.

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 08 함수 01 함수의개요 02 함수사용하기 03 함수와배열 04 재귀함수 함수의필요성을인식한다. 함수를정의, 선언, 호출하는방법을알아본다. 배열을함수의인자로전달하는방법과사용시장점을알아본다. 재귀호출로해결할수있는문제의특징과해결방법을알아본다. 1.1 함수의정의와기능 함수 (function) 특별한기능을수행하는것 여러가지함수의예 Page 4 1.2

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 05 장 CSS3 선택자 1. 선택자개요 2. 기본선택자 3. 속성선택자 4. 후손선택자와자손선택자 5. 반응 / 상태 / 구조선택자 CSS 블록을생성할수있다. 선택자를이해하고적절한선택자를활용할수있다. 1 선택자개요 CSS3 선택자 특정한 HTML 태그를선택할때사용하는기능 선택한태그에원하는스타일이나스크립트적용가능 그림 5-1 CSS 블록 CSS 블록 style

More information

The C++ Programming Language 5 장포인터, 배열, 구조체 5.9 연습문제 다음의선언문을순서대로작성해보자. 문자에대한포인터, 10개정수의배열, 10개정수의배열의참조자, 문자열의배열에대한포인터, 문자에대한포인터에대한포인터, 상수정수, 상수

The C++ Programming Language 5 장포인터, 배열, 구조체 5.9 연습문제 다음의선언문을순서대로작성해보자. 문자에대한포인터, 10개정수의배열, 10개정수의배열의참조자, 문자열의배열에대한포인터, 문자에대한포인터에대한포인터, 상수정수, 상수 The C++ Programming Language 5 장포인터, 배열, 구조체 5.9 연습문제 5.9.1 다음의선언문을순서대로작성해보자. 문자에대한포인터, 10개정수의배열, 10개정수의배열의참조자, 문자열의배열에대한포인터, 문자에대한포인터에대한포인터, 상수정수, 상수정수에대한포인터, 정수에대한상수포인터. 그리고각각의객체를초기화하자. Ex 문자에대한포인터 char

More information

Microsoft PowerPoint - Lesson2.pptx

Microsoft PowerPoint - Lesson2.pptx Computer Engineering g Programming g 2 제 3 장 C 프로그래밍구성요소 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() *

More information

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information