Author Archives: itpsolver

[책펌] Protocol 설계를 이용한 로그인 인증예제 (소켓, 프로토콜, 바이트스트림)

By | 10월 22, 2008

1. 개요 – 서버, 클라이언트가 공유하는 ‘요청의 종류와 내용에 관한 프로토콜’을 만들어 로그인예제에 적용한다. 2. 로그인 예제 프로그램의 흐름 (1) 서버가 클라이언트에 로그인 요청을 한다. (2) 클라이언트는 아이디와 패스워드를 서버에게 전송한다. (3) 아이디와 패스워드가 정확히 맞았다는 메시지를 전송한다. (3) 패스워드가 틀린 경우의 메시지를 전송한다. (3) 아이디가 틀린 경우의 메시지를 전송한다. (4) 클라이언트는 서버에게 종료 메시지를 전송한다.… Read More »

[책펌] Multicast(1:N 소켓스레드)프로그램 예제

By | 10월 22, 2008

* 개요 – Multicast 란? : 하나의 서버에서 모든 클라이언트에 동시 전송하는 개념, 서버를 통하여 모든 클라이언트가 실시간으로 상호 전송가능 (이 예제에서는 클라이언트를 선별하여 메세지를 날릴 수 없다. 그러기 위해서는 적당한 프로토콜을 만들어서 적용해야 한다.) * 구성 - MultiServer.java : 모든 클라이언트의 TCP요청을 받아 소켓 객체를 생성한다. 소켓을 유지하기 위한 스레드를 생성하고, 이 스레드를 저장할 Collection(ArrayList)을 생성하는 클래스다. – MultiServerThread.java : 각각의… Read More »

[책펌] Unicast (1:1 소켓 스레드) 프로그램 예제

By | 10월 21, 2008

* 개요 – Unicast 란? : 클라이언트와 서버간에 지속적으로 일대일로 통신하는 개념 * 구성 – UnicastServer.java – UnicastServerThread.java – UnicastClient.java * Unicast 프로그램 예제 흐름  (1) 서버를 실행시키면 TCP서버소켓을 생성하게 된다. (2) TCP서버소켓으로 accept()를 통해서 클라이언트의 통신을 기다린다. (3) 클라이언트가 TCP소켓을 생성한다. (4) 클라이언트의 TCP소켓이 생성되면 TCP서버소켓과 연결을 시도한다. (5) TCP서버소켓이 클라이언트와 TCP연결이 이루어졌다면… Read More »

[책펌] UDP 소켓 프로그램 예제

By | 10월 21, 2008

* 참고 – DatagramPacket : 애플리케이션에서 주고받을 데이터와 관련된 클래스 (생성자로 송신/수신기능 구분) – DatagramSocket : 실제 데이터의 전송을 책임지는 클래스 UDPEchoServer.java package socket.echo.udp; import java.net.*; import java.io.*; public class UDPEchoServer { //생성자  public UDPEchoServer(int port){      try{ //port를 소스로 해서 DatagramSocket 객체를 생성한다.     DatagramSocket ds = new DatagramSocket(port);        while(true){      //UDP의 실제 데이터는… Read More »

TCP와 UDP의 차이점

By | 10월 21, 2008

(1) TCP (Transmission Control Protocol) – 데이터의 신뢰성이 있다 : 전송도중 손상되거나 손실이 되면 데이터를 다시 전송하도록 하여 데이터의 손실을 막아줄 수 있다. – 패킷정렬을 한다 : 패킷의 순서가 무분별하게 도착하면 TCP는 패킷을 제대로 된 순서대로 정리한다. – 데이터 손실방지를 위한 속도조절 : TCP로 전송된 데이터가 빠른 네트워크 속도 때문에 데이터의 혼잡과 손실이 발생할 경우… Read More »

[책펌] TCP 소켓프로그램 예제

By | 10월 21, 2008

1. TCP 소켓 프로그램 예제의 흐름 (1) 서버 소켓 생성 (2) 서버 소켓으로 청취 (3) 클라이언트 소켓 생성 (4) (서버, 클라이언트) 소켓을 이용하여 스트림 생성 (5) 클라이언트 메시지 전송 (6) 서버 메시지 읽음 (7) 서버 메시지 전송 (8) 클라이언트 메시지 읽음 (9) (서버, 클라이언트) 소켓 종료 * 본 예제에서는 클라이언트가 메시지를 한 번만 전송할 수… Read More »

[책펌] java.lang.Cloneable 인터페이스

By | 10월 20, 2008

1. Cloneable 인터페이스의 역할 – Object 클래스의 clone() 메서드를 사용할 수 있게 해 준다. Cloneable 인터페이스 자체에는 추상메서드가 정의되어 있지 않다. 이와 같은 인터페이스를 마크업(markup) 인터페이스 또는 엠티(empty) 인터페이스라 하며, 나머지 과정은 JVM이 처리한다. 2. clone() 메서드의 역할 및 특징 – clone() 메서드는 Object 를 새로 생성하여 리턴하는데, 리턴하기 전에 원본 클래스의 멤버를 사본 클래스의 멤버에… Read More »

수례서식의 자료 – 축의금봉투 한자 등등, 교회 관련

By | 10월 12, 2008

수례서식의 자료   1. 임직식 축임직(祝任職): 목사, 장로, 권사, 안수집사 등의 직분맡음을 축하 축취임(祝就任): 목사, 장로, 권사, 안수집사 등이 맡은 임무에 나아감을 축하 축안수(祝安受): 하나님의 종으로 안수받음을 축하 축위임(祝委任): 담임목사로 위임하심을 축하 축퇴임(祝退任): 하나님의 종으로 수고하다 명예로이 은퇴하심을 축하 축전별(祝餞別): 사임하심에 대한 섭섭함을 잔치로 위로하며 이별할 때 2. 결혼식 – 결혼을 축하할때 축결혼(祝結婚) 축혼인(축婚姻) 축화혼(祝華婚)… Read More »

[펌글] jsp:useBean,jsp:setProperty,jsp:getProperty

By | 8월 28, 2008

=================   Action Tag란   =================   1. 클라이언트 혹은 서버에게 어떤 행동을 하도록 지시   2. JSP의 실행시점 행동과 클라이언트에게 돌려줄 응답에 영행을 미치는 특별한 태그   3. 크게 표준액션과 사용자 정의 액션으로 구분   4. 표준액션은 썬아이크로시스템즈에서 정의한 액션   5. 표준 action tag의 형태      <jsp:…> 내용 </jsp:…>      <jsp:…… Read More »

AJAX에서 eval함수의 역할과 사용법

By | 8월 26, 2008

eval() 함수의 사용 목적은 객체를 만들기 위함이고, joson응답 또한 객체로 만들어 사용합니다.  joson응답을 객체로 만들 때 eval함수에서 발생하는 invalid label error 때문에 괄호가 필요합니다.이유는 eval이 처음 만나는 : ☜ 이거 전까지를 label로 해석하기 때문입니다. label :  statement 이런 구조로 해석하기 때문에 문제가 발생합니다.  그러므로 ( )를 넣어주어 label로 해석되는 문제를 해결할 수 있습니다. var s = eval(“({‘a’:1,… Read More »

java.lang.IllegalStateException 의 체험수기

By | 8월 25, 2008

일단 오류메세지… java.lang.IllegalStateException at org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:433) at org.apache.jsp.kixx_005flinkbug_005ftest.kixx_005flogin_005fif_jsp._jspService(kixx_005flogin_005fif_jsp.java:103) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Unknown Source) 이 오류를 만났을 때는, JSP페이지가 임포트한 자바파일 내에서 response.sendRedirect()를 실행한 때였다.곰곰히 생각해 보니. 임포트 한 자바파일 내에도 response 객체가 있고, JSP내에도 response 내장객체가 있는데, 밖의 JSP가 redirection을 해야 하는데… Read More »

[펌글] class file has wrong version 49.0, should be 48.0

By | 8월 23, 2008

위와 같은 메세지를 볼 기회가 있을 것이다 java 를 프로그래밍하는 사람이라면.. 위의 메세지는 다음과 같은 경우에 발생한다 A 라는 클래스는 jdk 1.5 에 맞쳐져 짜여 있으며, 컴파일시에도 jdk 1.5로 컴파일이 되어 있다. B 라는 클래스에 A 클래스를 객체로 선언해서 사용할 경우를 생각해보자 허나 B 클래스는 jdk 1.4 에 맞쳐져 작성을 하였으며, 컴파일을 할 때도 1.4에… Read More »

[펌글] HttpServletRequest 메소드 정리

By | 8월 23, 2008

출처 : 미니의 XML DeveloperGroup (http://www.word.pe.kr) 클라이언트 IP 등의 정보를 가져오거나, 쿠키, 헤더, GET/POST로 전송한 값을 가져오는데 주로 사용하는 것이 바로 Request입니다. JSP/Servlet에서 사용하는 Request 객체의 메소드를 대략적으로 정리해 봤습니다. 이 Request 객체는 javax.servlet.http 패키지에 속한 HTTPServletRequest 인터페이스로서 javax.servlet.ServletRequest 인터페이스에서 상속을 받았습니다. 그래서 제가 정리하려는 내용은 javadoc의 다음 부분에 아주 자세히 나와 있습니다. 나중에 영어로… Read More »

현재 경로와 컨텍스트(Context)까지 String(문자열)으로 만들기

By | 8월 23, 2008

1. String으로 만들기    “http://”+request.getServerName()+”:”+request.getServerPort()+request.getContextPath() 2. StringBuffer로 만들기 StringBuffer sb = new StringBuffer(“http://”);sb.append(request.getServerName());sb.append(“:”);sb.append(request.getServerPort());sb.append(request.getContextPath()); 만들어진 예) http://localhost:9000/bruce

프레임(Frame), 타겟(Tartget), 윈도우URL처리법

By | 8월 22, 2008

프레임을 쓰실때 생각할 것 세가지 1. frame_name.location = ‘url.php’;    또는 frame_name.location.href = ‘url.php’;    또는 frame_name.location.replace(‘url.php’) 2. parent.frame_name.location = ‘url.php’; 3. opener.parent.frame_name.location = ‘url.php’; 새창을 열게해준 창의 주소를 바꾸고 새창을 끈다. <script>   opener.location.href = ‘url.php’;   self.close(); </script> 새창을 열게해준 창의 주소를 새로고침하고 새창을 끈다 <script>   opener.location.reload();   self.close(); </script> 다른 프래임의… Read More »

[펌글] Window객체의 기본속성 closed, status, length, name, opener, parent, self, top

By | 8월 22, 2008

window 객체의 속성들의 상당수가 네비게이터에서만 지원되는 속성이기 때문에 여기서는 제외 하고 익스플로러와 네비게이터 에서 공통으로 작동하는 속성을 알아보자. closed 속성 open 함수를 이용해서 window 를 열어주었을때 그 윈도우가 닫혔 는지를 알수 있는 속성이다. 이때 open 함수는 레퍼런스를 써서 창을 열어줘야 한다. 레퍼런스가 뭐냐거?? 그냥 하나의 변수라고 이해해두자. 이를테면   var maddog = window.open(‘ http://www.tagmania.net’,’_new’,”); 이런… Read More »