IT 세상 239

EUC-KR로 표현할 수 없는 한글 처리

EUC-KR로 표현할 수 없는 한글 처리2008/09/21 02:03 - dev.log/etc 일반적인 웹애플리케이션의 한글 입력 및 출력 절차는 다음과 같습니다. 1. 웹브라우저가 입력 웹페이지(html or jsp)를 연다. 2. 을 이용해서 한글데이타를 WAS에 전송한다 3. WAS에서는 2번단계에서 웹브라우저가 사용한 것과 동일한 캐릭터셋을 사용하여 데이타를 인코딩한다 4. 필요시 DB서버등의 backend 시스템과 데이타를 주고 받는다 1번 단계에서 웹브라우저가 여는 입력 페이지의 캐릭터셋이 바로, 2번 단계에서 request encoding에 사용되는 캐릭터셋이 됩니다. 즉, 입력 페이지의 캐릭터셋이 EUC-KR이라면, 웹브라우저가 한글데이타를 WAS로 전송할 때도 EUC-KR을 사용하여 보내..

IT 세상 2009.12.09

결함많다던 YF 후배차 시승기

1. 아래 글을 보면 .. --------------------------------------------------------------------- 오늘 자기차 결함많다고 투덜거리는 후배가 점심때 찾아왔습니다. 인천에서 일산까지 와이엡 끌고.. 간단하게 사무실 앞에서 점심먹으려했는데 아는데 있다고 굳이 행주산성을 가자네요. 그러면서 자기 차 운전해보랍니다. 처음엔 좀 거절하는척 하다가 저도 제차 말고 다른 와이엡은 몰아본적이 없어서 못이기는 척 운전석에 올랐죠. 참고로 후배는 매우 까탈스럽고 심하게 지랄같은 성격의 소유자. 작년인가 1년정도 쓴 PDP를 교환받았다는 소문에 이어 올여름엔 에어컨을 환불받았다는 풍문까지 전해지고 있는 전설적인 인물입니다. 차 외관부터 단차떄문에 불만이 많더군요. 여기저기..

IT 세상 2009.12.04

jsp 한글 변수 깨짐 문제 해결[펌]

한글이 깨진다는건 우선 해야할깨 서버의 인코딩 설정입니다. 서버가 톰캣 기본설치시에는 utf-8이며 따로 설정시에는 euc-kr ,is0-88591 등등 여러가지 선택이 가능합니다. 한글이 깨지는 이유는 매우간단합니다. 서버의 통신은 기본적으로 바이트 단위입니다. 1바이트씩 읽죠 허나 한글은 2바이트가..한글자 입니다. 그러니.. 한글이 깨지는겁니다. 아래보이시는것처럼 8859_1 를이용하여 변환하신후에 그값을 다시 KSC5601 변환하시길바랍니다. JSP 상단에 를 선언해주시고 request.setCharacterEncoding("euc-kr"); 빼시구요.. ///////////////////////////////////////////////////////////// public String conv..

tomcat context ROOT 변경하기

--------------------------- 5.5 이전 버전의 경우 --------------------------- 톰캣은 기본적으로 server.xml 에서 항목의 webapp 설정을 기본으로 한다. 즉, 다음과 같은 설정에서 이것은 상대경로 이므로 [Tomcat 설치디렉토리]/webapps 를 기본 어플리케이션 베이스디렉토리가 된다. appBase 디렉토리가 설정되면 URL 상의 기본웹루트는 [appBase]/ROOT/ 에서 부터 시작한다. 즉, http://localhost/test.jsp 를 호출하면 이것은 "[appBase]/ROOT/test.jsp" 를 출력하게 된다는 뜻이다. 만일 에서 path 는 URL상의 주소가 되고 docBase 는 어플리케이션의 서버상 위치가 된다. 만일 d..

IT 세상 2009.11.17

JNDI를 이용한 db 프로그래밍(java) 완변 샘플

1. META-INF 아래에 context.xml 을 아래와같이 둔다( db정보) 2. 바로 코딩 들어간다. PreparedStatement pstmt = null; String strQuery = ""; ResultSet rs = null; Connection conn = null; int nRSTotCount = 0; int nRSVewCount = 0; List results = new ArrayList(); try { Context initContext = new InitialContext(); Context envContext = (Context) initContext .lookup("java:/comp/env"); DataSource ds = (DataSource) envContext.look..

java properties ResourceBundle 사용하기

1. package com.lgdisplay.search에 server.properties 를 둔다 내용 server.ip=172.19.70.143 server.port=8083 2. 아래와 같이 코딩하여 가져온다. String CONF_PATH="com.lgdisplay.search.server"; ResourceBundle rb = ResourceBundle.getBundle(CONF_PATH); Enumeration keys = rb.getKeys(); HashMap h = new HashMap(); while (keys.hasMoreElements()){ String key = (String)keys.nextElement(); String value = rb.getString(key); h.put..

DBCP 를 이용한 db프로그래밍

누군가가 동일한 책을 보고 아래와 같이 책내용을 그래로 쳐놨길래 스크랩 했다. [커넥션 풀 기법] 커넥션 풀 기법에서는 위 그림과 같이 풀 속에 데이터베이스와 연결된 커넥션을 미리생성해놓고 있는다. 데이터베이스 커넥션이 필요할 경우, 커넥션을 새로 생성하는 것이 아니라 풀 속에 미리 생성되어 있는 커넥션을 가져다가 사용하게 된다. 다 사용한 커넥션은 다시 풀에 반환한다. 풀에 반환된 커넥션은 다음에 다시 사용된다. 커넥션 풀의 특징은 다음과 같다. 풀 속에 미리 커넥션이 생성되어 있기 때문에 커넥션을 생성하는 데 드는 연결 시간이 소비되지 않는다. 커넥션을 계속해서 재사용하기 때문에 생성되는 커넥션 수가 많지 않다. 커넥션을 생성하고 닫는 데 필요한 시간이 소모되지 않기 때문에 그 만큼 어플리케이션의 실..

jndi

데이터베이스를 접근하는데 있어, 직접 커넥션 자원을 관리하는 커넥션 풀을 직접 구현할수도 있지만, 어느정도 검증된 라이브러리를 이용하는게 효율과 안정성 측면에서 더 뛰어나다는게 개인적인 생각이다. 그러므로 여기서는 DBCP API 를 이용한 커넥션 풀을 이용하는 방법에 대해 알아본다. 우선 작업 순서를 나열하면, 아래와 같다. ================================================================ 1. DBCP 관련 JAR 파일 및 JDBC드라이버 JAR파일 설치하기 2. 커넥션 풀 관련 설정 파일 초기화하기 3. 커넥션 풀 관련 드라이버 로딩하기 4. 커넥션 풀로부터 커넥션 사용하기 ==========================================..