서블릿의라이프사이클 뇌를자극하는 JSP & Servlet
|
|
- 동미 강
- 5 years ago
- Views:
Transcription
1 서블릿의라이프사이클 뇌를자극하는 JSP & Servlet
2 Contents v 학습목표 서블릿클래스로부터서블릿객체가만들어지고, 서블릿객체가초기화되어서서블릿이되고, 서블릿이사용되고, 최종적으로소멸되기까지의전과정을서블릿의라이프사이클이라고한다. 이장에서는서브릿의라이프사이클에관련된프로그래밍기술을배워보자. v 내용 서블릿의라이프사이클 서블릿클래스의 init 메서드의 destroy 메서드 JSP 페이지의 jspinit 메서드와 jspdestroy 메서드 서블릿의환경을표현하는 ServletContext 객체 2/39
3 1. 서블릿의라이프사이클 서블릿클래스는웹브라우저에의해바로호출되는것이아니라서블릿클래스로부터 서블릿객체가만들어지고, 그객체가웹컨테이너에의해초기화된다음에호출된다. 웹브라우저의요청을처리할수있는상태의서블릿객체를서블릿이라고한다. [ 그림 6-1] 서블릿의라이프사이클 3/38
4 1. 서블릿의라이프사이클 웹컨테이너는서블릿을언제제거할까? 웹컨테이너는자신이종료되기전이나웹애플리케이션을리로드 (unload) 하기전에그에속하는모든서블릿을제거한다. 서블릿라이프사이클전체에거쳐서한번만실행되어야할코드는서블릿클래스안에 init 메서드와 destroy라는메서드를선언하고그안에써놓으면된다. public class SomeServlet extends HttpServlet { public void init() throws ServletException { 서블릿이초기화될때해야할일을기술하는부분 public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { out.println( <HTML> ); out.println( <HEAD><TITLE>Hello</TITLE></HEAD> ); out.println( <BODY>Hello, Everyone.</BODY> ); out.println( </HTML> ); public void destroy() { 서블릿이제거되기전에해야할일을기술하는부분 [ 그림 6-2] 서블릿클래스의 init 메서드와 destroy 메서드 4/38
5 1. 서블릿의라이프사이클 JSP 기술에서는초기화작업과마무리작업단계에해야할일을 jspinit 와 jspdestroy 메 서드안에써놓으면웹컨테이너에의해자동으로호출된다. <%! public void jspinit() { JSP 페이지로부터변환된서블릿이초기화될때해야할일을기술하는부분 %> <HTML> <HEAD><TITLE>Hello</TITLE></HEAD> <BODY> Hello, Everyone. </BODY> </HTML> <%! public void jspdestroy() { JSP 페이지로부터변환된서블릿이제거되기전에해야할일을기술하는부분 %> [ 그림 6-3] JSP 페이지의 jspinit 메서드와 jspdestroy 메서드 5/38
6 2. 서블릿클래스의 init 메서드와 destroy 메서드 v init 메서드의작성방버 init 메서드는파라미터가없는메서드로선언해야하고, 리턴타입은 void로지정해야하며, public 메서드로선언해야한다. public void init() throws ServletException { 우리가작성할코드가들어가는부분 위의점선으로표시된부분에서블릿클래스의초기화작업중에실행해야할코드를써 놓으면 init 메서드가완성된다. 6/38
7 2. 서블릿클래스의 init 메서드와 destroy 메서드 v init 메서드의작성방법 [ 예제 6-1] 피보나치수열을출력하는서블릿클래스 import javax.servlet.http.*; import javax.servlet.*; import java.io.*; import java.math.biginteger; public class FibonacciServlet extends HttpServlet { private BigInteger arr[]; public void init() { arr = new BigInteger[100]; arr[0] = new BigInteger( 1 ); arr[1] = new BigInteger( 1 ); for (int cnt = 2; cnt < arr.length; cnt++) arr[cnt] = arr[cnt-2].add(arr[cnt-1]); public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { String str = request.getparameter( NUM ); int num = Integer.parseInt(str); if (num > 100) num = 100; response.setcontenttype( text/html;charset=euc-kr ); PrintWriter out = response.getwriter(); out.println( <HTML> ); out.println( <HEAD><TITLE> 피보나치수열 </TITLE></HEAD> ); for (int cnt = 0; cnt < num; cnt++) out.println(arr[cnt] + ); out.println( </BODY> ); out.println( </HTML> ); 7/38
8 2. 서블릿클래스의 init 메서드와 destroy 메서드 v init 메서드의작성방법 톰캣의 webapps 디렉터리아래에 brain06이라는이름의웹애플리케이션디렉터리를만들고, 서블릿클래스를컴파일한결과를다음과같이설치하고등록한다. 2 WEB-INF/classes 서브디렉터리에 [ 예제 6-1] 의컴파일결과를저장하세요 3 WEB-INF 서브디렉터리에다음과같은 web.xml 파일을만들어서저장하세요 1 톰캣의 webapps 디렉터리아래에 brain06/web-inf/classes 서브디렉터리를만드세요 8/38
9 2. 서블릿클래스의 init 메서드와 destroy 메서드 v init 메서드의작성방법 [ 예제 6-1] 을호출하면서출력할항의수를 URL 뒤에쓰세요. [ 그림 6-5] 예제 6-1 의실행결과 웹컨테이너가시작될때서블릿이초기화되도록만드는엘리먼트 [ 그림 6-6] 웹컨테이너가시작될때서블릿이초기화되도록만드는엘리먼트 9/38
10 2. 서블릿클래스의 init 메서드와 destroy 메서드 v destroy 메서드의작성방법 destroy 메서드의작성방법은 init 메서드와비슷하다. 파라미터가없어야하고, 리턴타입은 void여야하고, public 메서드로선언해야한다. 하지만 init 메서드와달리 throws 절을쓸수없다. public void destroy() { 우리가작성할코드가들어가는부분 [ 그림 6-7] 인사말을출력하는웹애플리케이션의화면설계 10/38
11 2. 서블릿클래스의 init 메서드와 destroy 메서드 v destroy 메서드의작성방법 [ 그림 6-7] 의왼쪽화면의 URL [ 예제 6-2] 이름을입력받는 HTML 문서 [ 그림 6-7] 의오른쪽화면의 URL <HTML> <HEAD> <META http-equiv= Content-Type content= text/html;charset=euc-kr > <TITLE> 이름입력 </TITLE> </HEAD> <BODY> <H3> 이름을입력하십시오.</H3> <FORM ACTION=greeting> 이름 : <INPUT TYPE=TEXT NAME=NAME> <INPUT TYPE=SUBMIT VALUE= 확인 > </FORM> </BODY> </HTML> 11/38
12 2. 서블릿클래스의 init 메서드와 destroy 메서드 v destroy 메서드의작성방법 [ 예제 6-3] 인사말을출력하는서블릿클래스 import javax.servlet.http.*; import javax.servlet.*; import java.io.*; import java.util.*; public class GreetingServlet extends HttpServlet { private PrintWriter logfile; public void init() throws ServletException { try { logfile = new PrintWriter(new FileWriter( c:\\data\\log.txt, true)); catch (IOException e) { throw new ServletException(e); public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { String name = request.getparameter( NAME ); String greeting = 안녕하세요, + name + 님. ; if (logfile!= null) { GregorianCalendar now = new GregorianCalendar(); logfile.printf( %TF %TT - %s %n, now, now, name); response.setcontenttype( text/html;charset=euc-kr ); PrintWriter out = response.getwriter(); out.println( <HEAD><TITLE> 인사하기 </TITLE></HEAD> ); out.println( <BODY> ); out.println(greeting); out.println( </BODY> ); out.println( </HTML> ); public void destroy() { if (logfile!= null) logfile.close(); 12/38
13 2. 서블릿클래스의 init 메서드와 destroy 메서드 v destroy 메서드의작성방법 2 [ 예제 6-3] 의컴파일결과를 classes 디렉터리에저장하세요. 3 web.xml 파일을열어서다음과같은두엘리먼트를추가하세요 1 brain06 웹애플리케이션디렉터리의 WEB-INF 서브디렉터리로가세요. 13/38
14 2. 서블릿클래스의 init 메서드와 destroy 메서드 v destroy 메서드의작성방법 [ 그림 6-10] 예제 6-3 이만든로그파일의내용확인하기 출력메시지 14/38
15 2. 서블릿클래스의 init 메서드와 destroy 메서드 v 서블릿의초기화파라미터 서블릿의초기화파라미터란서블릿의초기화작업에필요한데이터의의미한다. <servlet> <servlet-name>agreement-servlet</servlet-name> <servlet-class>agreementservlet</servlet-class> <init-param> <param-name>file_name</param-name> <param-value>agreement.txt</param-value> </init-param> </servlet> 파라미터의이름파마미터의값 하나의서블릿클래스에둘이상의초기화파라미터를넘겨줄수있다. 서블릿클래스안에서초기화파라미터값을가져오려면 getinitparameter 라는메서드를 호출하면된다. 서블릿의초기화파라미터 String filename = getinitparameter( FILE_NAME ); 초기화파라미터의이름 15/38
16 2. 서블릿클래스의 init 메서드와 destroy 메서드 v 서블릿의초기화파라미터 [ 예제 6-4] 인사말을출력하는서블릿클래스 서블릿의초기화파라미터사용 import javax.servlet.http.*; import javax.servlet.*; import java.io.*; import java.util.*; public class GreetingServlet extends HttpServlet { private PrintWriter logfile; public void init() throws ServletException { String filename = getinitparameter( FILE_NAME ); try { logfile = new PrintWriter(new FileWriter(filename, true)); catch (IOException e) { throw new ServletException(e); public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { String name = request.getparameter( NAME ); String greeting = 안녕하세요, + name + 님. ; if (logfile!= null) { GregorianCalendar now = new GregorianCalendar(); logfile.printf( %TF %TT - %s %n, now, now, name); response.setcontenttype( text/html;charset=euc-kr ); PrintWriter out = response.getwriter(); out.println( <HEAD><TITLE> 인사하기 </TITLE></HEAD> ); out.println( <BODY> ); out.println(greeting); out.println( </BODY> ); out.println( </HTML> ); public void destroy() { if (logfile!= null) logfile.close(); 16/38
17 2. 서블릿클래스의 init 메서드와 destroy 메서드 v 서블릿의초기화파라미터 brain06 웹애플리케이션디렉터리의 WEB-INF/web.xml 파일에서블릿을등록할때다음과같이 FILE_NAME 라는이름의초기화파라미터를기재한다. [ 예제 6-4] 를등록하는 <servlet> 엘리먼트안에 <init-param> 서브엘리먼트를추가하세요. [ 그림 6-11] 예제 6-4 의등록방법 [ 그림 6-12] 예제 6-4 가만든로그파일의내용확인하기 17/38
18 2. 서블릿클래스의 init 메서드와 destroy 메서드 v 서블릿의초기화파라미터 [ 예제 6-4] 를등록하는기존의엘리먼트 [ 예제 6-4] 를등록하는새로운엘리먼트 [ 그림 6-13] 하나의서블릿클래스를가지고두개의서블릿을등록하는방법 18/38
19 3. JSP 페이지의 jspinit 메서드와 jspdestroy 메서드 v jspinit 메서드와 jspdestroy 메서드의작성방법 jspinit 메서드의작성방법은서블릿클래스의 init 메서드와비슷하다. 파라미터가없는메서드로만들어야하고, 리턴타입은 void로지정해야하고, public 메서드로선언해야한다. 하지만 throw 절을쓸수없다는점은 init 메서드와다르다. public void jspinit() { 우리가작성할코드가들어가는부분 jspdestroy 메서드의작성규칙은서블릿클래스의 destroy 메서드와비슷하다. 파라미터 가없어야하고, 리턴타입은 void 로지정하며, public 메서드로선언해야한다. public void jspdestroy() { 우리가작성할코드가들어가는부분 19/38
20 3. JSP 페이지의 jspinit 메서드와 jspdestroy 메서드 v jspinit 메서드와 jspdestroy 메서드의작성방법 [ 예제 6-5] jspinit, jspdestroy 메서드의사용예를보여주는 JSP 페이지 <%@page contenttype= text/html; charset=euc-kr import= java.io.*, java.util.* %> <%! private PrintWriter logfile; public void jspinit() { String filename = c:\\data\\datetime_log.txt ; try { logfile = new PrintWriter( new FileWriter(filename, true)); catch (IOException e) { System.out.printf( %TT - %s 파일을열수없습니다. %n, new GregorianCalendar(), filename); %> <HTML> <HEAD><TITLE> 현재의날짜와시각 </TITLE></HEAD> <BODY> <% GregorianCalendar now = new GregorianCalendar(); String date = String.format( 현재날짜 : %TY 년 %Tm 월 %Te 일, now, now, now); String time = String.format( 현재시각 : %TI 시 %Tm 분 %TS 초, now, now, now); out.println(date + <BR> ); out.println(time + <BR> ); if (logfile!= null) logfile.printf( %TF %TT 에호출되었습니다.%n, now, now); %> </BODY> </HTML> <%! public void jspdestroy() { if (logfile!= null) logfile.close(); %> 20/38
21 3. JSP 페이지의 jspinit 메서드와 jspdestroy 메서드 v jspinit 메서드와 jspdestroy 메서드의작성방법 [ 그림 6-14] 예제 6-5 의실행방법 [ 그림 6-15] 예제 6-5 가저장한로그파일의내용확인하기 21/38
22 3. JSP 페이지의 jspinit 메서드와 jspdestroy 메서드 v JSP 페이지의초기화파라미터 JSP 페이지는서블릿클래스와달리 web.xml 파일에등록하지않아도웹브라우저에서호출할수있지만, 초기화파라미터를기재하기위해서는 web.xml 파일에등록해야한다. web.xml 파일의루트엘리먼트인 <web-app> 아래에 <servlet> 과 <servle-mapping> 이라는두개의서브엘리먼트를쓴다. <web-app> <servlet> </servlet> <servlet-mapping> </servlet-mapping> </web-app> JSP 페이지의본래의 URL 경로명이들어갈부분 JSP 페이지를호출할때사용할 URL 경로명이들어갈부분 22/38
23 3. JSP 페이지의 jspinit 메서드와 jspdestroy 메서드 v JSP 페이지의초기화파라미터 <servlet> 엘리먼트안에 <servlet-name> 과 <jsp-file> 이라는서브엘리먼트를쓰고, <servlet-mapping> 엘리먼트안에 <servlet-name> 과 <url-pattern> 이라는서브엘리먼트를쓴다. <jsp-file> 엘리먼트안에는 JSP 페이지의 URL 경로명을써야하는데, 이경로명은웹애플리케이션내에서의경로명이어야하고반드시슬래시 (/) 로시작해야한다. <web-app> <servlet> <servlet-name>winners-jsp</servlet-name> <jsp-file>/winners.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>winners-jsp</servlet-name> <url-pattern>/winners</url-pattern> </servlet-mapping> </web-app> 23/38
24 3. JSP 페이지의 jspinit 메서드와 jspdestroy 메서드 v JSP 페이지의초기화파라미터 JSP 페이지의초기화파라미터를기재하는방법은서블릿클래스의경우와동일하다. <servlet> 엘리먼트안에 <init-param> 이라는서브엘리먼트를쓰고, 그안에다시 <param-name> 과 <param-value> 라는두개의서브엘리먼트를쓴다. <web-app> <servlet> <servlet-name>winners-jsp</servlet-name> <jsp-file>/winners.jsp</jsp-file> <init-param> <param-name>file_name</param-name> <param-value>winner-list.txt</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>winners-jsp</servlet-name> <url-pattern>/winners</url-pattern> </servlet-mapping> </web-app> 초기화파라미터를지정하는엘리먼트 String filename = getinitparameter( FILE_NAME ); 초기화파라미터의이름 24/38
25 3. JSP 페이지의 jspinit 메서드와 jspdestroy 메서드 v JSP 페이지의초기화파라미터 [ 예제 6-6] 초기화파라미터를가져오는 JSP 페이지 <%@page contenttype= text/html; charset=euc-kr %> <HTML> <HEAD><TITLE> 초기화파라미터테스트 </TITLE></HEAD> <BODY> <% String dbname = getinitparameter( DB_NAME ); %> 데이터베이스이름 : <%= dbname %> <BR> </BODY> </HTML> [ 예제 6-6] 을등록하는엘리먼트 JSP 페이지의초기화파라미터 [ 그림 6-17] 예제 6-6 의실행결과 25/38
26 4. 서블릿의환경을표현하는 ServletContext 객체 v 서블릿의환경정보를가져오는방법 서블릿클래스나 JSP 페이지의환경에관련된정보는 javax.servlet 패키지의 ServletContext 인터페이스타입의객체를이용해서얻을수있다. 서블릿클래스에서이타입의객체를구하기위해서는 getservletcontext라는메서드를호출하면된다. ServletContext context = getservletcontext(); ServletContext 객체에대해 getserverinfo 라는메서드를호출하면서블릿이속하는웹서 버종류가리턴된다. ServletContext 객체를리턴하는메서드 String str = context.getserverinfo(); 웹서버의종류를리턴하는메서드 26/38
27 4. 서블릿의환경을표현하는 ServletContext 객체 v 서블릿의환경정보를가져오는방법 ServletContext 객체에대해 getmajorversion 과 getminorversion 이라는메서드를호출하 면웹컨테이너가지원하는서블릿규격서의메이저버전과마이너버전이리턴된다. int num1 = context.getmajorversion(); 서블릿의메이저버전을가져오는메서드 int num2 = context.getminorversion(); 서블릿의마이너버전을가져오는메서드 27/38
28 4. 서블릿의환경을표현하는 ServletContext 객체 v 서블릿의환경정보를가져오는방법 [ 예제 6-7] 웹서버의정보를출력하는 JSP 페이지 import javax.servlet.http.*; import javax.servlet.*; import java.io.*; public class ServerInfoServlet extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { ServletContext context = getservletcontext(); String serverinfo = context.getserverinfo(); int majorversion = context.getmajorversion(); int minorversion = context.getminorversion(); response.setcontenttype( text/html;charset=euc-kr ); PrintWriter out = response.getwriter(); out.println( <HTML> ); out.println( <HEAD><TITLE> 웹서버의정보 </TITLE></HEAD> ); out.println( <BODY> ); out.printf( 웹서버의종류 : %s <BR>, serverinfo); out.printf( 지원하는서블릿버전 : %d.%d <BR>, majorversion, minorversion); out.println( </BODY> ); out.println( </HTML> ); 28/38
29 4. 서블릿의환경을표현하는 ServletContext 객체 v 서블릿의환경정보를가져오는방법 2 [ 예제 6-3] 의컴파일결과를 classes 디렉터리에저장하세요. 3 web.xml 파일을열어서다음과같은두엘리먼트를추가하세요 1 brain06 웹애플리케이션디렉터리의 WEB-INF 서브디렉터리로가세요. 29/38
30 4. 서블릿의환경을표현하는 ServletContext 객체 v 서블릿의환경정보를가져오는방법 [ 예제 6-8] application 내장변수의사용예를보여주는 JSP 페이지 <%@page contenttype= text/html; charset=euc-kr %> <HTML> <HEAD><TITLE> 웹서버의정보 </TITLE></HEAD> <BODY> 웹서버의종류 : <%= application.getserverinfo() %> <BR> 지원하는서블릿버전 : <%= application.getmajorversion() %>.<%= application.getminorversion() %> <BR> </BODY> </HTML> [ 그림 6-17] 예제 6-6 의실행결과 30/38
31 4. 서블릿의환경을표현하는 ServletContext 객체 v 웹애플리케이션의초기화파라미터값을가져오는 getinitparameter 메서드 web.xml 파일에웹애플리케이션전체에속하는초기화파라미터를기재할수도있다. web.xml 파일의루트엘리먼트인 <web-app> 엘리먼트바로아래 <context-param> 이라 는이름의서브엘리먼트를쓰고, 그안에 <param-name> 과 <param-value> 라는서브엘 리먼트를쓰면된다. <web-app... > <context-param> <param-name>db_name</param-name> <param-value>malldb</param-value> </context-param> </web-app> 웹애플리케이션의초기화파라미터 파라미터의이름 파마미터의값 String str = application.getinitparameter( DB_NAME ); 초기화파라미터의이름 31/38
32 4. 서블릿의환경을표현하는 ServletContext 객체 v 웹애플리케이션의초기화파라미터값을가져오는 getinitparameter 메서드 [ 예제 6-9] 웹애플리케이션의초기화파라미터를읽는 JSP 페이지 <%@page contenttype= text/html; charset=euc-kr %> <HTML> <HEAD><TITLE> 웹애플리케이션의초기화파라미터 </TITLE></HEAD> <BODY> 데이터베이스이름 : <%= application.getinitparameter( DB_NAME ) %> <BR> </BODY> </HTML> [ 그림 6-22] 웹애플리케이션의초기화파라미터지정방법 [ 그림 6-23] 예제 6-9 의실행결과 32/38
33 4. 서블릿의환경을표현하는 ServletContext 객체 v 로그메시지를기록하는 log 메서드 ServletContext 인터페이스의 log 메서드를이용하면로그파일에메시지를기록할수있다. log 메서드를호출할때는다음과같이파라미터로로그메시지를넘겨주어야한다. application.log( 인사하기 JSP 페이지가호출되었습니다. ); 로그메시지 log 메서드는파라미터로넘겨준메시지를톰캣의설치디렉터리아래의 logs 라는이름 의서브디렉터리안의 localhost.yyyy-mm-dd.log 라는이름의파일에기록한다. 33/38
34 4. 서블릿의환경을표현하는 ServletContext 객체 v 로그메시지를기록하는 log 메서드 [ 예제 6-10] log 메서드의사용예를보여주는 JSP 페이지 <%@page contenttype= text/html; charset=euc-kr %> <HTML> <HEAD><TITLE> 인사하기 </TITLE></HEAD> <BODY> 안녕하세요, <%= request.getparameter( NAME ) %> 님 <% application.log( [ 인사하기 ] JSP 페이지가호출되었습니다. ); %> </BODY> </HTML> 로그파일에기록을합니다 [ 그림 6-24] 예제 6-10 의실행결과 34/38
35 4. 서블릿의환경을표현하는 ServletContext 객체 v 같은웹애플리케이션에속하는웹컴포넌트들끼리데이터를주고받는방법 ServletContext 인터페이스의 setattribute, getattribute, removeattribute 메서드는같은웹애플리케이션디렉터리에있는웹컴포넌트들끼리데이터를공유할수있도록만드는메서드이다. setattibute 메서드는웹애플리케이션에할당된공유데이터영역에데이터를저장하는기능을한다. setattribute 메서드는그영역에있는데이터를읽어오는기능을한다. removeattribute 메서드는그영역의데이터를삭제하는기능을한다. application.setattribute( ID, lee77 ); 데이터이름 데이터값 String str = (String) application.getattribute( ID ); application.removeattribute( ID ); 데이터이름 35/38
36 4. 서블릿의환경을표현하는 ServletContext 객체 v 같은웹애플리케이션에속하는웹컴포넌트들끼리데이터를주고받는방법 [ 예제 6-11] 웹애플리케이션의데이터영역에데이터를저장하는 JSP 페이지 <%@page contenttype= text/html; charset=euc-kr %> <% String name = request.getparameter( NAME ); application.setattribute( NAME, name); %> <HTML> <HEAD><TITLE> 웹애플리케이션데이터저장하기 </TITLE></HEAD> <BODY> NAME 데이터가저장되었습니다. </BODY> </HTML> [ 예제 6-12] 웹애플리케이션의데이터영역으로부터데이터를읽어오는 JSP 페이지 <%@page contenttype= text/html; charset=euc-kr %> <HTML> <HEAD><TITLE> 웹애플리케이션데이터조회하기 </TITLE></HEAD> <BODY> 이름 : <%= application.getattribute( NAME ) %> </BODY> </HTML> 36/38
37 4. 서블릿의환경을표현하는 ServletContext 객체 v 같은웹애플리케이션에속하는웹컴포넌트들끼리데이터를주고받는방법 [ 예제 6-13] 웹애플리케이션의데이터영역에있는데이터를삭제하는 JSP 페이지 <%@page contenttype= text/html; charset=euc-kr %> <% application.removeattribute( NAME ); %> <HTML> <HEAD><TITLE> 웹애플리케이션데이터삭제하기 </TITLE></HEAD> <BODY> NAME 데이터가삭제되었습니다. </BODY> </HTML> [ 그림 6-26] 예제 6-11, 예제 6-12, 예제 6-13 의실행결과 37/38
38 4. 서블릿의환경을표현하는 ServletContext 객체 v 웹애플리케이션에관련된파일경로명을가져오는메서드 ServletContext 인터페이스에는웹애플리케이션의 URL 경로명을리턴하는 getcontextpath 라는메서드도있다. String apppath = application.getcontextpath(); 웹애플리케이션의 URL 경로명을리턴하는메서드 ServletContext 인터페이스의 getrealpath 메서드는웹애플리케이션디렉터리내의파 일경로명을파일시스템전체에대한절대경로명으로바꾸어서리턴하는메서드이다. String absolutepath = application.getrealpath( /sub1/intro.html ); 웹애플리케이션내에서의파일경로명 38/38
39 뇌를자극하는 JSP & Servlet
뇌를 자극하는 JSP & Servlet 슬라이드
서블릿의라이프사이클 JSP & Servlet 2/39 Contents 학습목표 서블릿클래스로부터서블릿객체가만들어지고, 서블릿객체가초기화되어서서블릿이되고, 서블릿이사용되고, 최종적으로소멸되기까지의전과정을서블릿의라이프사이클이라고한다. 이장에서는서브릿의라이프사이클에관련된프로그래밍기술을배워보자. 내용 서블릿의라이프사이클 서블릿클래스의 init 메서드의 destroy
More information뇌를 자극하는 JSP & Servlet 슬라이드
속성 & 리스너 JSP & Servlet 2/39 Contents 학습목표 클라이언트요청에의해서블릿이실행될때에컨테이너에의해제공되는내장객체의종류와역할, 그리고접근범위특성등을알아본다. 웹컴포넌트사이의데이터전달을위한내장객체에서의속성설정과이에따른이벤트처리방법에대해알아본다. 내용 서블릿의초기화환경을표현하는 ServletConfig 객체 웹애플리케이션의실행환경을표현하는
More information다른 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혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가
혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가웹페이지내에뒤섞여있어서웹페이지의화면설계가점점어려워진다. - 서블릿이먼저등장하였으나, 자바내에
More information뇌를 자극하는 JSP & Servlet 슬라이드
서블릿의기초 Servlet & JSP 2/70 Contents 학습목표 서블릿클래스는자바클래스형태로구현되는웹애플리케이션프로그램이며, 일반적인자바클래스를작성할때보다지켜야할규칙이많다. 이장에서는그규칙들을배워보자. 내용 서블릿이란? 웹컨테이너란? 서블릿클래스의작성, 컴파일, 설치, 등록 톰캣관리자프로그램사용하기 웹브라우저로부터데이터입력받기 3/70 1. 서블릿이란?
More information뇌를 자극하는 JSP & Servlet 슬라이드
쿠키와세션 JSP & Servlet 2/51 Contents 학습목표 셋이상의화면으로구성된웹애플리케이션을작성할때에는 JSP 페이지나서블릿클래스들이서로데이터를주고받도록만들어야할필요가있다. 이장에서는이럴때필요한쿠키와세션기술에대해알아보자. 내용 쿠키와세션 쿠키기술 세션기술 / HttpSession 3/50 1. 쿠키와세션 (1) 세션 (Session) - 정의 클라이언트의연속적인요청또는그요청에대한서비스기간
More information14-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 information2장 변수와 프로시저 작성하기
Chapter. RequestDispatcher 활용 요청재지정이란? RequestDispatcher 활용 요청재지정구현예제 Chapter.9 : RequestDispatcher 활용 1. 요청재지정이란? 클라이언트로부터요청받은 Servlet 프로그램이응답을하지않고다른자원에수행흐름을넘겨다른자원의처리결과를대신응답하는것또는다른자원의수행결과를포함하여응답하는것을요청재지정이라고한다.
More informationJSP 의내장객체 response 객체 - response 객체는 JSP 페이지의실행결과를웹프라우저로돌려줄때사용되는객체이다. - 이객체는주로켄텐츠타입이나문자셋등의데이터의부가정보 ( 헤더정보 ) 나쿠키 ( 다음에설명 ) 등을지정할수있다. - 이객체를사용해서출력의방향을다른
JSP 의내장객체 response 객체 - response 객체는 JSP 페이지의실행결과를웹프라우저로돌려줄때사용되는객체이다. - 이객체는주로켄텐츠타입이나문자셋등의데이터의부가정보 ( 헤더정보 ) 나쿠키 ( 다음에설명 ) 등을지정할수있다. - 이객체를사용해서출력의방향을다른 URL로바꿀수있다. 예 ) response.sendredirect("http://www.paran.com");
More information<param-value> 파라미터의값 </param-value> </init-param> </servlet> <servlet-mapping> <url-pattern>/ 매핑문자열 </url-pattern> </servlet-mapping> - 위의예에서 ServletC
내장객체의정리 헷갈리는내장객체들정리하기 - 컨테이너안에서는수많은객체들이스스로의존재목적에따라서일을한다. - ServletContext, ServletConfig 객체는컨텍스트초기화와서블릿초기화정보를가지고있다. - 이외에도다음의객체들이서블릿과 JSP와 EL에서각각의역할을수행한다. 서블릿의객체 JspWriter HttpServletRequest HttpServletResponse
More information04장
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 informationJavaGeneralProgramming.PDF
, Java General Programming from Yongwoo s Park 1 , Java General Programming from Yongwoo s Park 2 , Java General Programming from Yongwoo s Park 3 < 1> (Java) ( 95/98/NT,, ) API , Java General Programming
More informationData Provisioning Services for mobile clients
3 장. 웹어플리케이션과 JSP 및 Servlet 의이해 제 3 장 1. 웹어플리케이션개념및폴더구조 웹어플리케이션의개념 독립어플리케이션 (Stand-alone Application) 웹어플리케이션 (Web Application) 웹브라우저상에서수행되는어플리케이션 웹어플리케이션이 Tomcat 에서구현될때의규칙 임의의웹어플리케이션은 webapps 폴더하위에하나의폴더로구성
More informationI 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뇌를 자극하는 JSP & Servlet 슬라이드
JSP 의기초 JSP & Servlet 2/92 Contents 학습목표 JSP 기술에서는웹애플리케이션을 JSP 페이지형태로구현한다. JSP 페이지를작성하는데필요한여러가지기초지식을학습. 내용 JSP 페이지란? JSP의기초문법 JSP 페이지의내장변수 파일입출력 다른 JSP 페이지호출하기 3/92 1. JSP 페이지란? JSP 기술에서웹애플리케이션을구현할때작성하는코드
More informationMicrosoft PowerPoint - 7강.pptx
컴퓨터과학과 김희천교수 학습개요 내장객체 pagecontext, application, out과내장객체의사용범위를의미하는 Scope에대해학습한다. pagecontext 객체는 JSP 페이지에대한정보관리기능을제공한다. application 객체를이용하여웹어플리케이션에대한정보를관리할수있으며 out 객체는 JSP 페이지가생성하는결과를출력할때사용되는스트림기능을수행한다.
More information파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter
파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 클래스의사용법은다음과같다. PrintWriter writer = new PrintWriter("output.txt");
More informationJ2EE Concepts
! Introduction to J2EE (1) - J2EE Servlet/JSP/JDBC iseminar.. 1544-3355 ( ) iseminar Chat. 1 Who Are We? Business Solutions Consultant Oracle Application Server 10g Business Solutions Consultant Oracle10g
More information본 강의에 들어가기 전
웹서버프로그래밍 2 JSP 개요 01. JSP 개요 (1) 서블릿 (Servlet) 과 JSP(Java Server Page) 서블릿은자바를이용한서버프로그래밍기술 초기웹프로그래밍기술인 CGI(Common Gateway Interface) 를대체하기위해개발되었으나, 느린처리속도, 많은메모리요구, 불편한화면제어등의한계로 PHP, ASP 등서버스크립트언어등장 JSP
More information뇌를 자극하는 JSP & Servlet 슬라이드
표준액션 JSP & Servlet 2/55 Contents 학습목표 JSP에는액션 (action) 이라는문법이있는데, 이것은 XML 태그형태로코드를기술하는문법이다. 액션은크게표준액션과커스텀액션으로나눌수있는데, 이번장에서는그중하나인표준액션 (standard action) 에대해서배워보자. 내용 표준액션이란? JSP 페이지의모듈화에사용되는표준액션 자바빈의호출에사용되는표준액션
More information<4D F736F F F696E74202D203130C0E52EBFA1B7AF20C3B3B8AE205BC8A3C8AF20B8F0B5E55D>
10 장. 에러처리 1. page 지시문을활용한에러처리 page 지시문의 errorpage 와 iserrorpage 속성 errorpage 속성 이속성이지정된 JSP 페이지내에서 Exception이발생하는경우새롭게실행할페이지를지정하기위하여사용 iserrorpage 속성 iserrorpage 는위와같은방법으로새롭게실행되는페이지에지정할속성으로현재페이지가 Exception
More information12-file.key
11 (String).. java.lang.stringbuffer. s String s = "abcd"; s = s + "e"; a b c d e a b c d e ,., "910359,, " "910359" " " " " (token) (token),, (delimiter). java.util.stringtokenizer String s = "910359,,
More informationData Provisioning Services for mobile clients
4 장. JSP 의구성요소와스크립팅요소 제 4 장 스크립팅요소 (Scripting Element) 1) 지시문 (Directive) 1. JSP 구성요소소개 JSP 엔진및컨테이너, 즉 Tomcat 에게현재의 JSP 페이지처리와관련된정보를전달하는목적으로활용 (6 장 )
More information뇌를 자극하는 JSP & Servlet 슬라이드
커스텀액션 JSP & Servlet 2/94 Contents 학습목표 커스텀액션을직접만들어서사용하는방법과커스텀액션을모아서태 그라이브러리를만들어배포하는방법을배워보자. 내용 커스텀액션작성방법 태그파일을이용한커스텀액션작성방법 태그클래스를이용한커스텀액션작성방법 태그라이브러리작성방법 3/94 1. 커스텀액션구현 커스텀액션구현 커스텀액션구현방법 태그파일 (Tag File)
More information<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 26 장애플릿 이번장에서학습할내용 애플릿소개 애플릿작성및소개 애플릿의생명주기 애플릿에서의그래픽컴포넌트의소개 Applet API의이용 웹브라우저상에서실행되는작은프로그램인애플릿에대하여학습합니다. 애플릿이란? 애플릿은웹페이지같은 HTML 문서안에내장되어실행되는자바프로그램이다. 애플릿을실행시키는두가지방법 1. 웹브라우저를이용하는방법 2. Appletviewer를이용하는방법
More information<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F31C2F7BDC32E >
Chapter 8 데이터베이스응용개발 목차 사용자인터페이스와도구들 웹인터페이스와데이터베이스 웹기초 Servlet 과 JSP 대규모웹응용개발 ASP.Net 8 장. 데이터베이스응용개발 (Page 1) 1. 사용자인터페이스와도구들 대부분의데이터베이스사용자들은 SQL을사용하지않음 응용프로그램 : 사용자와데이터베이스를연결 데이터베이스응용의구조 Front-end Middle
More information뇌를 자극하는 JSP & Servlet 슬라이드
JSP 와서블릿 Servlet & JSP 2/78 Contents 학습목표 JSP 기술과서블릿기술의기초를배워본다. 내용 JSP와서블릿에대하여 JDK 설치하기 톰캣설치하기 간단한 JSP 페이지작성하기 3/78 1. JSP 와서블릿에대하여 웹브라우저의요청을받아해당하는웹페이지를찾아서보내주는일을하는컴퓨터 ( 일 을하는소프트웨어 ) 를웹서버라고한다. 웹브라우저와웹서버
More informationKYO_SCCD.PDF
1. Servlets. 5 1 Servlet Model. 5 1.1 Http Method : HttpServlet abstract class. 5 1.2 Http Method. 5 1.3 Parameter, Header. 5 1.4 Response 6 1.5 Redirect 6 1.6 Three Web Scopes : Request, Session, Context
More informationMicrosoft PowerPoint - aj-lecture7.ppt [호환 모드]
Servlet 이해하기 웹 MVC 524730-1 2019 년봄학기 4/29/2019 박경신 Servlet 자바플랫폼에서컴포넌트기반의웹애플리케이션개발기술 JSP는서블릿기술에기반함 Servlet의프리젠테이션문제를해결하기위해 JSP가등장 이로인해웹애플리케이션의유지보수어려움심각. JSP 모델2가주목받으며다시서블릿에대한중요성부각 Servlet 변천 1 서블릿문제점대두
More information제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호
제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법
More informationData Provisioning Services for mobile clients
11 장. 세션과쿠키 세션의원리 세션의기본개념 1. 세션의활용 접속중인웹브라우저각각에대응하여서로다른세션이생성되고활용 2/35 1. 세션의활용 세션의원리 세션의생성시점과종료시점 session 생성시기임의의웹브라우저부터의첫번째요청을처리할때 session이생성되고관련타이머가동작한다. session 소멸시기 1) 세션타이머가만료 2) 코드상에서명시적으로세션소멸 한명의브라우저사용자에대해지속적으로관리해야하는데이터저장장소로서세션을활용
More informationMicrosoft PowerPoint - 4강.pptx
컴퓨터과학과 김희천교수 학습개요 동적인컨텐츠를생성하는일에는 어떻게컨텐츠를생성할것인지 를지시해주기위한프로그래밍이어떤형태로든필요하다. JSP 기술은동적으로컨텐츠를생성하기위해, 프로그래밍코드가담긴스크립트를포함할수있게하고또한 HTML 태그를통해어려운자바코딩없이도자바객체를사용할수있게하고있다. JSP는 Java Server Pages의약자로최신버전은 2.1이며자바기반스크립트언어이며또한
More informationrmi_박준용_final.PDF
(RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:
More informationPowerPoint 프레젠테이션
실습문제 Chapter 05 데이터베이스시스템... 오라클로배우는데이터베이스개론과실습 1. 실습문제 1 (5 장심화문제 : 각 3 점 ) 6. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (2) 7. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (5)
More informationMicrosoft 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 informationMicrosoft PowerPoint - aj-lecture1.ppt [호환 모드]
인터넷과웹서비스 개발환경구성, JSP 기본구조 인터넷과 WWW(World Wide Web) 인터넷은 TCP/IP 기반의네트워크가전세계적으로확대되어하나로연결된 네트워크의네트워크 WWW(World Wide Web) 는인터넷기반의서비스중하나 이름프로토콜포트기능 WWW http 80 웹서비스 524730-1 2019 년봄학기 3/11/2019 박경신 Email SMTP/POP3/IMAP
More information뇌를 자극하는 JSP & Servlet 슬라이드
데이터베이스사용하기 JSP & Servlet Contents 학습목표 데이터베이스를이용하면파일보다훨씬더체계적이고구조적인방법으로데이터를저장하고관리할수있다. 그래서웹프로그래밍에서도데이터베이스를사용해야할경우가많이있는데이번장에서는그방법을배워보자. 내용 데이터베이스개론 MySQL 설치하기 Connector/J 설치하기 웹컴포넌트에서데이터베이스를사용하는방법 데이터베이스커넥션풀의설치와사용
More informationAPI 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@ p a g e c o n te n tt y p e = " te x t/ h tm l;c h a rs e t= u tf- 8 " fo r (in t i= 0 ; i< = 1 0 ; i+ + ) { o u t.p rin tln (" H e llo W o rld " + i + " < b r/> " ); = re s u lt + re s u lts u m ()
More information중간고사
중간고사 담당교수 : 단국대학교응용컴퓨터공학박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 답안지에학과, 학번, 이름외에본인의암호 (4자리숫자 ) 를기입하면성적공고시학번대신암호를사용할것임. 1. JSP 란무엇인가? 간단히설명하라.
More informationPowerPoint 프레젠테이션
Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi
More informationPowerPoint Presentation
Oracle9i Application Server Enterprise Portal Senior Consultant Application Server Technology Enterprise Portal? ERP Mail Communi ty Starting Point CRM EP BSC HR KMS E- Procurem ent ? Page Assembly Portal
More informationTCP/IP Model
Servlet HTTP Connection & Tomcat Server 숙명여자대학교 _ 멀티미디어과학과 2012 년여름학기 윤용익 yiyoon@sm.ac.kr 2012 Web Program Language Web page 작성용언어 CGI 와서블릿 CGI(Common Gateway Interface) 웹사이트에서방명록, 게시판을작성하기위해서는 HTML 문서와함께방명록이나게시판을위한프로그램도작성해야하는데이프로그램은
More information2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.
10 차시파일처리 1 학습목표 내장메모리의파일을처리하는방법을배운다. SD 카드의파일을처리하는방법을배운다. 2 확인해볼까? 3 내장메모리파일처리 1) 학습하기 [ 그림 10-1] 내장메모리를사용한파일처리 2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1
More informationPowerPoint 프레젠테이션
배효철 th1g@nate.com 1 목차 표준입출력 파일입출력 2 표준입출력 표준입력은키보드로입력하는것, 주로 Scanner 클래스를사용. 표준출력은화면에출력하는메소드를사용하는데대표적으로 System.out.printf( ) 를사용 3 표준입출력 표준출력 : System.out.printlf() 4 표준입출력 Example 01 public static void
More informationJAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각
JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.
More information작성자 : 김성박\(삼성 SDS 멀티캠퍼스 전임강사\)
Session 을이용한현재로그인한사용자의 숫자구하기 작성자 : 김성박 ( 삼성 SDS 멀티캠퍼스전임강사 ) email : urstory@nownuri.net homepage : http://sunny.sarang.net - 본문서는http://sunny.sarang.net JAVA강좌란 혹은 http://www.javastudy.co.kr 의 칼럼 란에서만배포합니다.
More informationMicrosoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]
- Socket Programming in Java - 목차 소켓소개 자바에서의 TCP 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 Q/A 에코프로그램 - EchoServer 에코프로그램 - EchoClient TCP Programming 1 소켓소개 IP, Port, and Socket 포트 (Port): 전송계층에서통신을수행하는응용프로그램을찾기위한주소
More informationResearch & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W
Research & Technique Apache Tomcat RCE 취약점 (CVE-2019-0232) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE-2019-0232 취약점은 Windows 시스템의 Apache Tomcat 서버에서 enablecmdlinearguments
More informationC++ 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슬라이드 1
NeoDeveloper 설치가이드 차례 1. 환경 3 2. 설치 3 2.1 웹서버설치 3 Tomcat 7 3 JDK 1.6 3 2.2 NeoDeveloper 설치 3 Neo Developer 서버구성 3 Demo용 User Application 구성 4 Neo Developer 서버 Data File 4 Client 개발 Tool 설치 4 3. 설정 5 3.1
More informationPowerPoint 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<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 24 장입출력 이번장에서학습할내용 스트림이란? 스트림의분류 바이트스트림 문자스트림 형식입출력 명령어행에서입출력 파일입출력 스트림을이용한입출력에대하여살펴봅시다. 스트림 (stream) 스트림 (stream) 은 순서가있는데이터의연속적인흐름 이다. 스트림은입출력을물의흐름처럼간주하는것이다. 스트림들은연결될수있다. 중간점검문제 1. 자바에서는입출력을무엇이라고추상화하는가?
More information웹 개발자를 위한 서블릿/JSP
2. HTTP 와서블릿 2.1 HTTP 이해하기 2.1.1 HTTP 동작방식 HTTP(Hypertext Transfer Protocol) 는웹서버와웹클라이언트웹브라우저간에통신하 ( ) 기위한프로토콜( 약속) 이다. CGI나서블릿프로그래밍을하기위해서는 HTTP 프로토콜을어느정도이해할필요성이있다. 이곳에서는간단하게 HTTP 프로토콜에대해알아보자. 웹브라우저는 HTTP
More information신림프로그래머_클린코드.key
CLEAN CODE 6 11st Front Dev. Team 6 1. 2. 3. checked exception 4. 5. 6. 11 : 2 4 : java (50%), javascript (35%), SQL/PL-SQL (15%) : Spring, ibatis, Oracle, jquery ? , (, ) ( ) 클린코드를 무시한다면 . 6 1. ,,,!
More informationMicrosoft PowerPoint - 03-TCP Programming.ppt
Chapter 3. - Socket in Java - 목차 소켓소개 자바에서의 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 에코프로그램 - EchoServer 에코프로그램 - EchoClient Q/A 1 1 소켓소개 IP,, and Socket 포트 (): 전송계층에서통신을수행하는응용프로그램을찾기위한주소 소켓 (Socket):
More information쉽게 풀어쓴 C 프로그래밊
Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.
More informationPowerPoint Presentation
객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리
More informationPowerPoint Presentation
객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리
More informationDesign Issues
11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance
More informationmytalk
한국정보보호학회소프트웨어보안연구회 총괄책임자 취약점분석팀 안준선 ( 항공대 ) 도경구 ( 한양대 ) 도구개발팀도경구 ( 한양대 ) 시큐어코딩팀 오세만 ( 동국대 ) 전체적인 그림 IL Rules Flowgraph Generator Flowgraph Analyzer 흐름그래프 생성기 흐름그래프 분석기 O parser 중간언어 O 파서 RDL
More informationMicrosoft PowerPoint - 웹프로그래밍_ ppt [호환 모드]
목차 웹프로그래밍 내장객체의개요 내장객체의종류 11 주차 7 장 JSP 페이지의내장객체와영역 2 내장객체 (Implicit Object) JSP 페이지에서제공하는특수한레퍼런스타입의변수사용하고자하는변수와메소드에접근선언과객체생성없이사용할수있음 내장객체 내장객체 request response out session application pagecontext page
More information뇌를 자극하는 JSP & Servlet 슬라이드
JSTL 사용하기 JSP & Servlet 2/65 Contents 학습목표 JSTL이란 JSP 페이지를작성할때유용하게사용할수있는여러가지커스텀액션과함수가포함되어있는라이브러리이다. 이라이브러리는인터넷에서무상으로다운로드받을수있는데이장에서는라이브러리를다운로드받아서설치하고사용하는방법을알아보자. 내용 JSTL이란? JSTL 설치하기 코어라이브러리사용하기 포매팅라이브러리사용하기
More information제8장 자바 GUI 프로그래밍 II
제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로
More informationJUNIT 실습및발표
JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected
More information[ 마이크로프로세서 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 informationMicrosoft PowerPoint - CSharp-10-예외처리
10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.
More informationPowerPoint Presentation
객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean
More informationq 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2
객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가
More informationMicrosoft PowerPoint - Chap6_cmpl
Chap. 6 보충 bioagent2004@daum.net JSP 내장객체 JSP 에서선언하지않고사용할수있는객체 컨테이너에의해미리선언된자바클래스의참조변수 스크립트릿이나표현식에서사용할수있음 주요활용 HTML 폼에서입력한값을가지고올때. 세션관련작업을처리할때. 스크립트릿에서브라우저출력이필요할때. 사용자요청을다른페이지로전달할때. 현재 JSP 에대한각종정보를알고자할때.
More information<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.
More informationMicrosoft 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 informationPowerPoint 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 informationJAVA PROGRAMMING 실습 09. 예외처리
2015 학년도 2 학기 예외? 프로그램실행중에발생하는예기치않은사건 예외가발생하는경우 정수를 0으로나누는경우 배열의크기보다큰인덱스로배열의원소를접근하는경우 파일의마지막부분에서데이터를읽으려고하는경우 예외처리 프로그램에문제를발생시키지않고프로그램을실행할수있게적절한조치를취하는것 자바는예외처리기를이용하여예외처리를할수있는기법제공 자바는예외를객체로취급!! 나뉨수를입력하시오
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More information<4D F736F F D20C0DAB9D9C0A5BDBAC5B8C6AE2E646F63>
작성자 : 김성박 ( 삼성멀티캠퍼스전임강사 ) e-mail : urstory@nownuri.net homepage : http:// 본문서의배포처 : http://, http://www.javastudy.co.kr 작성일 : 2001년 10월 17일수요일. - 해당문서는김성박 (urstory@nownuri.net) 의동의없이수정, 복사, 삭제등을할수없으며,
More informationMicrosoft PowerPoint - 04-UDP Programming.ppt
Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여
More informationNetwork Programming
Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI
More informationPowerPoint 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 informationPowerPoint 프레젠테이션
실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3
More informationMicrosoft 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 information2장 변수와 프로시저 작성하기
Chapter. JSP 의스크립트기반구현 스크립트기반구현의개요주석문 (Comment) 지시문 (Directive) 표현문, 수행문, 선언문 Chapter.11 : JSP 의스크립트기반구현 1. 스크립트기반구현의개요모든기능을 JSP 안에 Java 소스코드를포함하여구현하는방식으로서프리젠테이션, 컨트롤, 비즈니스로직등이모두 JSP 페이지안에구현된다. 즉, JSP
More information어댑터뷰
04 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adatper View) 란? u 어댑터뷰의항목하나는단순한문자열이나이미지뿐만아니라, 임의의뷰가될수 있음 이미지뷰 u 커스텀어댑터뷰설정절차 1 2 항목을위한 XML 레이아웃정의 어댑터정의 3 어댑터를생성하고어댑터뷰객체에연결
More informationMicrosoft PowerPoint - GUI _DB연동.ppt [호환 모드]
GUI 설계 6 주차 DB 연동김문정 tops@yd.ac.kr 강의순서강의전환경 JDK 설치및환경설정톰캣설치및환경설정이클립스 (JEE) 설치및환경설정 MySQL( 드라이버 ) 설치및커넥터드라이브연결 DB 생성 - 계정생성이클립스에서 DB에연결서버생성 - 프로젝트생성 DB연결테이블생성및등록 2 MySQL 설치확인 mysql - u root -p MySQL 에데이터베이스추가
More informationCluster management software
자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 기본예제 예외클래스를정의하고사용하는예제 class NewException extends Exception { public class ExceptionTest { static void methoda() throws NewException { System.out.println("NewException
More informationA Hierarchical Approach to Interactive Motion Editing for Human-like Figures
단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct
More informationMicrosoft PowerPoint - JasperReports 개발자 매뉴얼.ppt
JasperReport-1.1.0 개발자매뉴얼 작성자 : 김기대작성일 : 2006.04.10 E-mail : kdkim@eznetsoft.co.kr 1 목차 1. Background Knowledge 2. 개발환경구축 3. 개발 - PDF 형식으로보고서제공하기 - Applet Viewer로보고서를 Embedded 해제공하기 4. 참고 2 Background
More informationPowerPoint 프레젠테이션
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 informationfundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f…
Command JSTORM http://www.jstorm.pe.kr Command Issued by: < > Revision: Document Information Document title: Command Document file name: Revision number: Issued by: Issue
More informationJAVA Bean & Session - Cookie
JAVA Bean & Session - Cookie [ 우주최강미남 ] 발표내용소개 자바빈 (Java Bean) 자바빈의개요 자바빈의설계규약 JSP 에서자바빈사용하기 자바빈의영역 세션과쿠키 (Session & Cookie) 쿠키의개요 쿠키설정 (HTTP 서블릿 API) 세션의개요 JSP 에서의세션관리 Java Bean Q. 웹사이트를개발한다는것과자바빈?? 웹사이트라는것은크게디자이너와프로그래머가함께개발합니다.
More informationJAVA PROGRAMMING 실습 08.다형성
2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스
More informationvar answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");
자바스크립트 (JavaScript) - HTML 은사용자에게인터페이스 (interface) 를제공하는언어 - 자바스크립트는서버로데이터를전송하지않고서할수있는데이터처리를수행한다. - 자바스크립트는 HTML 나 JSP 에서작성할수있고 ( 내부스크립트 ), 별도의파일로도작성이가능하다 ( 외 부스크립트 ). - 내부스크립트 - 외부스크립트
More information쉽게 풀어쓴 C 프로그래밍
CHAPTER 14. HTML5 웹스토리지, 파일 API, 웹소켓 웹스토리지 웹스토리지 (web storage) 는클라이언트컴퓨터에데이터를저장하는메카니즘 웹스토리지는쿠키보다안전하고속도도빠르다. 약 5MB 정도까지저장이가능하다. 데이터는키 / 값 (key/value) 의쌍으로저장 localstorage 와 sessionstorage localstorage 객체
More information자바-11장N'1-502
C h a p t e r 11 java.net.,,., (TCP/IP) (UDP/IP).,. 1 ISO OSI 7 1977 (ISO, International Standards Organization) (OSI, Open Systems Interconnection). 6 1983 X.200. OSI 7 [ 11-1] 7. 1 (Physical Layer),
More informationPowerPoint Template
JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것
More information<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 19 장배치관리자 이번장에서학습할내용 배치관리자의개요 배치관리자의사용 FlowLayout BorderLayout GridLayout BoxLayout CardLayout 절대위치로배치 컨테이너안에서컴포넌트를배치하는방법에대하여살펴봅시다. 배치관리자 (layout manager) 컨테이너안의각컴포넌트의위치와크기를결정하는작업 [3/70] 상당히다르게보인다.
More informationEclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일
Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae
More informationWAS 의동작과 WEB, Servlet, JSP 엑셈컨설팅본부 /APM 박종현 웹어플리케이션서버란? 웹어플리케이션서버방식은웹서버가직접어플리케이션프로그램을처리하는것이아니라웹어플리케이션서버에게처리를넘겨주고어플리케이션서버가어플리케이션프로그램을처리한다. 여러명의사용자가동일한페
WAS 의동작과 WEB, Servlet, JSP 엑셈컨설팅본부 /APM 박종현 웹어플리케이션서버란? 웹어플리케이션서버방식은웹서버가직접어플리케이션프로그램을처리하는것이아니라웹어플리케이션서버에게처리를넘겨주고어플리케이션서버가어플리케이션프로그램을처리한다. 여러명의사용자가동일한페이지를요청하여여러어플리케이션프로그램을처리할때오직한개의프로세스만을할당하고사용자의요청을 thread
More informationMasoJava4_Dongbin.PDF
JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: MasoJava4_Dongbindoc Revision number: Issued by: < > SI, dbin@handysoftcokr
More information2009년 상반기 사업계획
웹 (WWW) 쉽게배우는데이터통신과컴퓨터네트워크 학습목표 웹서비스를위한클라이언트 - 서버구조를살펴본다. 웹서비스를지원하는 APM(Apache, PHP, MySQL) 의연동방식을이해한다. HTML 이지원하는기본태그명령어와프레임구조를이해한다. HTTP 의요청 / 응답메시지의구조와동작원리를이해한다. CGI 의원리를이해하고 FORM 태그로사용자입력을처리하는방식을알아본다.
More information