본문 바로가기

Java Programming/Java

사업자번호 유효성검사_xml 전문 통신 및 xml 파싱(국세청 api 호출) package test1; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.StringReader; import java.net.HttpURLConnection; import java.net.URL; import java.security.cert.X509Certificate; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; import jav.. 더보기
[이클립스]java Socket 관련 오류 WAS, DBMS 서버 등과 연결되는 Socket 관련 프로그램에서 다음과 같은 오류 메세지가 자주 발생한다. Connection reset by peer, Connection reset, Broken Pipe 이런 에러가 발생해도 정상적으로 잘 서비스되기 때문에 별로 관심을 안가졌는데 직접 데몬 서비를 만들고 관련 클라이언트를 만들다 보니 어떤 경우에 이런 에러가 발생하는지 알아야지만 대처가 가능할 것 같아서 찾아 보았다. - java.net.SocketException: Connection reset by peer: socket write error 원인: write 시 상대방 socket close 된 경우 - java.net.SocketException: Connection reset 원인: re.. 더보기
자바/Java 자바 HashMap 이란? 자바/Java 자바 HashMap 이란? 자바를 사용하면서 HashMap이란 용어를 한번쯤을 들어 보셨을 텐데요. 그 HashMap에 대해서 알아보는 시간을 가져 보겠습니다. HashMap이란 Map인터페이스의 한종류로써 Key와 Value 값으로 데이터를 저장하는 형태를 가지고 있습니다. 그러면 가만, Map이란 녀석을 무엇일까요? Map이란 놈은 키(Key) , 값(Value) 을 하나의 쌍으로 묶어서 저장하는 컬렉션 클래스들을 구현하는 데 사용 되는 녀석 입니다. 쉽게 말해 key, value 값으로 저장하는 List 형태의 조상이라고 생각 하시면 됩니다. Map에 종류에는 Hashtable, HashMap, LinkedHashMap, SortedMap, TreeMap 등이 있습니다. 역시 이들 객.. 더보기
Java / XML 파싱(parsing) , DocumentBuilderFactory, DocumentBuilder 이용하기 아래 XML 파일에서 tmx tag의 데이터를 추출해보도록하겠습니다! package Dom; import java.io.BufferedReader;import java.io.ByteArrayInputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.ArrayList;import java.util.List; import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Documen.. 더보기
StringUtils 문자열 관련 클래스 매소드 정리 StringUtils □ 정의- org.apache.commons.lang.StringUtils.- 자바의 String 클래스가 제공하는 문자열 관련 기능을 강화한 클래스. □ 특징- StringUtils 클래스만으로 거의 대부분의 문자열 처리를 수행.- 파라미터 값으로 null을 주더라도 절대 NullPointException을 발생시키지 않음. (null이 입력되는 경우, 메소드에 따라 알맞은 결과를 리턴.) □ API- http://commons.apache.org/proper/commons-lang/javadocs/api-release/index.html □ 예제- 주요 method 테스트. /* StringUtilsTest.java */ package com.chocolleto.board.use.. 더보기
JAXBContext로 xml을 오브젝트로, 오브젝트를 xml로 변환하기 xml을 보다 편리하게 컨트롤할수 있는 방법을 엊그제 알았습니다. ㅜㅜJava6부터(?? )기본 기능으로 들어가 있더군요.요즘 xml을 사용하게 되어서 이것저것 알아보다 찾았습니다. JAXBContext을 사용하면 정말 편하더군요.xml을 읽어서 오브젝트로 바로 변환해주고 또한, 오브젝트에 있는 내용을 그대로 xml로 변환도 됩니다.xml파서로 읽어서 오브젝트에 설정하는(set메소드에 일일이 저장하는)작업이 없어집니다. 여기저기 샘플을 찾아보면 많은데.... 대부분 단순한 샘플들 밖에 없더군요.솔직히 복잡해지면 설명두 어렵구 소스도 늘어나서 그런것 같습니다.저두 해보니 xml이 복잡해지면 소스가 막 늘어납니다.설명하기도 힘들구요.이걸 올릴까 말까 망설이기도 했습니다.왜냐면 설명하기가 힘들어서요.^^;; .. 더보기
Template Method 패턴 템플릿이란 무엇인가?템플릿이란 문자 모양으로 구멍이 뚫려있는 얇은 플라스틱 판을 말합니다.그 구멍을 따라 펜으로 그리면 손으로도 반듯한 문자를 쓸 수 있습니다.템플릿의 구멍을 보면 어떤 모양의 문자인지는 알 수 있지만, 실제로 어떤 문자가 될지는 필기구에 의해 결정됩니다.펜을 사용하면 펜으로 쓴 문자가 되고, 연필을 사용하면 연필로 쓴 문자가 됩니다.그러나 어떤 필기구를 사용해도 쓰여진 문자는 템플릿 구멍의 형태와 동일합니다. Template Method 패턴이란이번 장에서 배울 Template Method 패턴은 템플릿의 기능을 가진 패턴입니다.상위 클래스쪽에 템플릿에 해당하는 메소드가 정의되어 있고, 그 메소드의 정의 안에는 추상 메소드가 사용되고 있습니다.따라서 상위 클래스의 프로그램만 보면 추상 .. 더보기
Synchronous vs Asynchronous (Synchronous vs Asynchronous)(Blocking vs. Non-blocking)동기 : 요청하고 결과를 계속 기다린다.비동기 : 완료되면 알려달라고 요청하고 다른일 한다. 동기 (Synchronous) 코드Blocking call// 동기 방식void greeting(Context ctx) { String req = ctx.readLine(); ctx.write("안녕, " + req); System.out.println("완료");} 비동기 (Asynchronous) 코드Non-blocking call// 비동기 방식void greeting(Context ctx) { ctx.readLine().done(line -> { ctx.write("안녕, " + req); }); Syste.. 더보기
[Java] 소켓통신(Socket) 소켓통신이란? Socket : 프로세스간의 통신을 담당하며, InputStream과 OutputSteam을 가지고 있습니다. 이 두 스트림을 통해 프로세스간의 통신(입출력)이 이루어집니다. ServerSocket : 포트와 연결(bind)되어 외부의 연결요청을 기다리다 연결요청이 들어오면, Socket을 생성해서 소켓과 소켓간의 통신이 이루어지도록 한다. 한 포트에 하나의 ServerSocket만 연결할 수 있습니다.(프로토콜이 다르면 같은 포트를 공유할 수 있습니다.) ex)1. Serverpackage insu.iims.batch;import java.net.*;import java.io.*; public class EchoServer { public static void main(String[] a.. 더보기
[JAVA] 소켓 프로그래밍[펌] [펌]http://gangzzang.tistory.com/85 API : http://docs.oracle.com/javase/7/docs/api/java/net/package-summary.html 1. 소켓 프로그래밍 - 소켓을 이용한 통신 프로그래밍을 뜻한다. - 소켓(Socket) : 프로세스 간의 통신에 사용되는 양쪽 끝단을 의미한다. - java.net 패키지를 통해 소켓프로그래밍을 지원한다. TCP와 UDP를 이용한 소켓프로그래밍이 대표적이다. 2. TCP, UDP - TCP/IP 프로토콜에 포함된 프로토콜, OSI 7계층에 전송계층에 해당한다. - TCP : 전화에 비유, 데이터를 전송하기 전에 먼저 상대편과 연결을 한 후에 데이터를 전송하고 전송되었는지 확인한 다. 실패했다면 재전송한다... 더보기