스킬(skills)/자바(Java) 52

log4sql을 이용하여 쿼리 로그를 편하게 확인하는 방법

log4sql 을 이용하면 쿼리문을 로그상에서 값까지 대입되어 편하게 확인 할 수 있다. 1. 해당 라이브러리를 추가한다.(또는 http://sourceforge.net/projects/log4sql/files 에서 다운 받을 수 있다.) 2. 드라이버 클래스 명을 변경 해 준다. 만약 오라클에서 제공하는 드라이버를 변경한다고 하면 다음과 같다.oracle.jdbc.driver.OracleDriver변경 => core.log.jdbc.driver.OracleDriver 3. 적용 후 로그를 확인 해 본다. ※ http://log4sql.sourceforge.net/index_kr.html 로 접속하여 보다 자세한 정보를 참고하기 바란다.

Page directive: illegal to have multiple occurrences of contentType with different values 오류가 날 경우

Page directive: illegal to have multiple occurrences of contentType with different values 오류는jsp 페이지 내에서 include 된 jsp 페이지와 서로 contentType 이 맞지 않아서 생기는 오류이다. 예를들어 A.jsp 에서는 utf-8 을 쓰고include 한 B.jsp 에서는 euc-kr 을 쓰면 오류가 발생한다. 그리고 한가지 더 중요한 건A.jsp 에서 UTF-8을 쓰고 B.jsp 에서 utf-8을 써도 마찬가지로 에러가 난다.대소문도 똑같이 해 줘야 한다.

System.load() 와 System.loadlibrary() 차이점

JNI 를 이용하여 네이티브 메소드를 사용하려면 반드시 System.load() 와 System.loadlibrary() 둘 중 하나를 사용 하여야 한다. 둘의 차이점은 System.load() 의 경우 반드시 절대 경로를 지정 해 주어야 하며 System.load("c:\\temp\\jni_temp"); System.loadlibrary()의 경우 환경변수 path에 지정된 경로에 해당 dll 파일을 카피 해 두고 사용한다. System.loadlibrary("jni_temp"); 둘의 공통점은 확장자명(*.dll, *.so)을 제외 한 해당 파일 이름만 지정해서 사용하면 된다.

자바로 파일 읽기

자바의 파일 내용을 한줄 한줄 읽어들여 버퍼에 저장 후 출력해주는 소스를 구현 해 보았습니다. 필요하신분은 참고 하시기 바랍니다. import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; public class FileContentReadTest { public static void main(String[] args) { // 버퍼 생성 BufferedReader br = null; // Input 스트림 생성 InputStreamRea..

Cannot create JDBC driver of class '' for connect URL 'null'

Cannot create JDBC driver of class '' for connect URL 'null' 위 에러는 JDBC 드라이버 객체를 생성하는 과정에 있어서 URL 부분이 null 이란 뜻이다. 예를 들어 다음과 같은 구성으로 JDBC를 연결 한다고 했을 경우public static Connection getConnection(String url, String user, String password) { Connection conn = null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection(url, user, password); } catch(ClassNotFoundExcept..

mutable 과 immutable 객체

mutable 객체는 객채 내의 특정 요소를 변경 할 수 있는 객체를 mutable 객체라고 한다. List, ArrayList, HashMap 등의 컬렉션들은 대표적인 mutable 객체라고 할 수 있다. 예) map.put("a"); map.put( new Integer(2) ); immutable 객체는 반대로 객체 내의 특정 요소의 값을 변경 할 수 없는 객체들을 말한다. String, Integer, Double, Long 과 같은 객체는 대표적인 immutable 객체이다. String a = "abcd"; a = 'c'; 위와 같은 경우는 타입이 달라 불가능 하므로 immutable 이다. 하지만 다음과 같은 경우는 가능하다. String a = "abcd" + 'c' + 10000; 위의 ..

자바로 외부 프로그램 실행시키기(ProcessBuilder)

자바로 외부 프로그램 실행 시키는 방법중에 ProcessBuilder 에 대해서 간단하게 소개 하려고 한다.자바에서는 외부 프로그램 실행 시 출력 내용을 바로 확인 할 수 없고 버퍼에 저장 후 출력하는 형식으로 확인 하여야 한다. JDK 1.4 버전 이하에서는 exec() 메소드를 이용하여 외부 프로그램을 실행 시킬 수 있고JDK 1.5 버전 이상에서는 ProcessBuilder 객체를 이용하여 외부 프로그램을 실행 시킬 수 있다. Process 객체 생성 후 실행 할 커맨드를 다음과 같이 쪼개어 인자값으로 넣어 주어야 한다.Process process = new ProcessBuilder("cmd", "dir", "/w").start(); 위와같이 표현 한다면 cmd 커맨드 창을 실행 후 dir /w ..