Category Archives: Lang

프로그래밍 언어

[책펌] 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 소켓프로그램 예제

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 »

[펌글] 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 »

[펌글] FRAMESET, FRAME, iFRAME 태그의 속성

By | 8월 22, 2008

<FRAMESET> </FRAMESET> ★ 속성  border=”픽셀”    경계선의 두께 설정  bordercolor=”색이름/RGB값”  경계선의 색상 설정  cols/rows=”픽셀/%”  프레임셋 내의 프레임들을 열/행으로 나눌 때  frameborder=”1/0″    프레임 경계선의 표시 유무 설정(1=yes/0=no)  framespacing=”픽셀”  프레임셋 내에서 프레임간의 간격                    <FRAME> ★ 속성  src=”url”  연결될 페이지  border=”픽셀”      경계선의 두께 설정  bordercolor=”색이름/RGB값”  경계선의… Read More »

[펌글] referer(레퍼러)가 없는 경우 해결 방법

By | 8월 20, 2008

– 출처 : http://blog.paran.com/minugi/2924082 – referer : 어떤 링크를 클릭해서 들어왔는지 경로를 알 수 있는 내장 변수, 자바스크립트나 플래쉬 링크를 통해 들어온 경우는 referer를 알 수가 없다.   <?         if ($_SERVER[HTTP_REFERER] != “”) $ref = “?ref=$_SERVER[HTTP_REFERER]”;         else $ref = “”; ?> 또는 <Script language=”JavaScript”> document.write(“<img src=’http://www.paran.com?id=alsdnr96&url=”+document.referrer+”‘ width=0 height=0>”); </SCRIPT>   ** 해결방법 ** 1. 들어오는 링크에서… Read More »

[펌글] INPUT 태그의 속성

By | 8월 17, 2008

# <INPUT> * name : 필드의 이름 * type : 필드의 종류 (text,password,submit,reset,file,image,radio,checkbox,hidden) * value : 필드의 기본값 지정 (text,submit,radio.checkbox,hidden) * size : 필드의 크기 지정 (text,password) * maxlength : 입력할 수 있는 최대범위 (text,password) * checked : radio,checkbox에서 특정 항목을 기본값으로 체크해둘때 사용 * readonly : 보기만 가능하게 지정 (입력, 수정 불가능) * disable… Read More »

[펌글] Swing에서의 Thread 핸들링

By | 8월 15, 2008

효율성을 늘리고 복잡성을 줄이기 위해서 모든 Swing 컴포넌트는 thread-safe하지 않게 디자인되었다. 이는 간단하게 Swing 컴포넌트로의 모든 접근이 단일 쓰레드에서만 이루어져야한다는 의미이다. 이 쓰레드는 event-dispatch thread라고 불리며, 사용자가 직접 생성시키는 것은 아니다. 실행되고 있는 코드가 event-dispatch thread에 있는지 확실하지 않다면, EventQueue의 정적 isDispatchThread() 메소드를 통해 조사할 수 있다. 또는, SwingUtilities 클래스의 정적 isEventDispatchThread() 메소드를 통해서 조사할… Read More »

[펌글] Java Thread Programming

By | 8월 15, 2008

5.7 Java Thread Programming   Java는 언어 차원에서 스레드를 지원하고, API 또한 비교적 간단하여 기반 시스템에 구애받지 않고 비교적 쉽게 간단한 멀티 스레드 프로그래밍을 경험해볼 수 있다. 하지만 언제나 그렇듯이 멀티 스레드 프로그래밍은 결코 만만한 작업이 아니다.   이 글은 멀티 스레드 프로그래밍 시 마주치게 될 여러 문제점들에 대한 소개 수준에서 마무리 지을 것이다. 구제적인… Read More »

자바스크립트에서 JAVA와 JSP문법을 섞어서 쓸 때…

By | 8월 14, 2008

믿을 수 없지만 다음과 같은 경우가 동작한다 -.-!! <script>location.replace(“<%=rtn_url%>?sso_p=<%=URLEncoder.encode(ssoAG.sso_p, “UTF-8″)%>”);<script> 결론은… 1. 스크립트내에서는 JSP표현식과 String 사이에는 + 가 붙지 않는다.2. 스크립트 내에서 JAVA 문법상 쌍따옴표가 필요할 경우에는 그냥 쓰면 된다.3. 마지막으로 전체 문장의 앞뒤를 쌍따옴표로 묶어서 마무리 해 준다.

특정 문자열이 특정 문자열에 포함되어 있는지 알아내기

By | 8월 13, 2008

JDK 1.5 에서는 String의 contains() 라는 메서드를 통해서 이를 해결할 수 있었지만, JDK 1.4 이하에서는 API 에 없어서 사용할 수가 없었다. 그래서 생각한 꽁수가, 긴 문자열A 에 B가 포함된다고 가정했을 때, 문자열 A의 길이만큼 루프를 돌리면서 그 안에 문자열B와 같은형태의 연속된 캐릭터배열의 형태가 있는지, 있으면 그 시작점 i 가 몇인지 알아보는 방식이었다. 결과는 성공이었지만 왠지… Read More »