본문 바로가기

Java

완존 편리한 org.apache.commons.dbutils 한 번 써 봤다. new BeanHandler(UserInfo.class) 생성 없이하는 것의 예 더보기
JSP로 맹글어본 커넥션 급할때는 역시 날코딩이 쵝오!!! 더보기
JDBC 커넥션부문 요즘 보고 있는 책 Core EJB 책을 보다보니 Stream 을 닫는 부분이 잘못 나와있다. (뭐, 이거 빼고는 아직은 읽기에 부담스럽지 않고 만족스럽다..) 어찌 했냐면, try { ... } catch(..) { ... } finally { if (writer != null) writer.close(); if (reader != null) reader.close(); if (socket != null) socket.close(); } 위와 같이 했는데, 이렇게 하면 안된다. 위와 같이하면 첫번째 writer.close() 에서 예외가 발생하면 그 이후의 다른 close() 문들은 전혀 실행되지 않고 빠져나가 버려 리소스 누수가 발생하게 된다. 이것은 스트림이나 소켓 뿐만 아니라 JDBC Connec.. 더보기
상속과 다형성 더보기
JavaScript와 Java를 이용한 웹어플리케이션에서 JSON을 이용한 통신방법을 보겠습니다 JavaScript와 Java를 이용한 웹어플리케이션에서 JSON을 이용한 통신방법을 보겠습니다. Java언어의 JSON 파서 기능을 하는 패키지는 http://www.json.org/ 에서 다운받으실 수 있습니다. 저는 그 중 하나인 json-lib 패키지를 다운받아 사용하였으며, 아래의 예제도 json-lib 패키지를 사용하였습니다. 아래의 그림은 www.json.org 홈페이지의 일부인데, 빨간색으로 표시된 패키지가 제가 다운받아 사용해보려고 애쓴 녀석들입니다. 제가 사용한 패키지는 Json-lib라고 붉은 색으로 표시되어 있습니다. json-lib 패키지를 사용하시기 위해선 json-lib 패키지가 의존하고 있는 몇 개의 다른 패키지를 다운받아 사용하셔야 합니다. 파일 첨부해 두었으니 받아서 사용.. 더보기
자꾸 까먹는 3항 연산자. 3항 연산자 3항 연산자는 if else로 해결할 수 있지만, 이보다 더 간편이 사용할 수 있는 장점이 있기 때문에 가끔 쓰이곤 한다. 만일 int형 변수 a, b가 있고 b가 5보다 클 경우 a에 5를 넣고, 아닐경우 a에 b를 넣고싶다면 a = b > 5 ? 5 : b; 와 같이 넣어주면 된다 할당할 곳 = 비교문? 참일때값 : 거짓일때 값 [출처] 3항 연산자|작성자 김플레 더보기
UTF-8로 개발환경을 도배하자. 개발을 하다보면 캐릭터셋문제로 골머리를 앓는 경우가 많이 있다. 필자는 그래서 신규로 프로젝트를 시작할 경우 아예 모든 환경을 UTF-8로 셋팅해 버린다. 물론 UTF-8까지 필요가 있을까 하는 생각을 할 수도 있지만 나중에 다국어환경을 고려해도 아예 UTF-8로 시작하는게 나쁜 방법은 아닌것 같다. 다음은 UTF-8로 개발환경을 셋팅하는 방법이다. 1. 이클립스의 Content type을 UTF-8로 설정 - 이렇게 설정하면 해당하는 type을 파일로 저장할 때 UTF-8형식으로 저장하게 된다. 2. Workspace의 Text file encoding을 UTF-8로 선택 - 이렇게 설정해야 svn의 소스비교시 캐릭터셋이 깨지는 문제를 막을 수 있다. 3. 데이터베이스 인스턴스를 UTF-8형태로 생성 .. 더보기
파일업로드 실습 -- mkdir.jsp -- index.jsp -- web.xml test saveFolder /bbb index.html index.htm index.jsp default.html default.htm default.jsp 더보기
iBatis 에서 테이블 생성 CREATE TABLE $boardTitle$ ( BOARD_NUM INTEGER NOT NULL, BOARD_NAME VARCHAR2(20 BYTE) NOT NULL, BOARD_PASS VARCHAR2(15 BYTE) NOT NULL, BOARD_EMAIL VARCHAR2(30 BYTE), BOARD_SUBJECT VARCHAR2(50 BYTE) NOT NULL, BOARD_CONTENT VARCHAR2(2000 BYTE) NOT NULL, BOARD_RE_REF INTEGER NOT NULL, BOARD_RE_LEV INTEGER NOT NULL, BOARD_RE_SEQ INTEGER NOT NULL, BOARD_READCOUNT INTEGER NOT NULL, BOARD_DATE DATE NOT .. 더보기
iBatis에서 테이블 생성하기 - 당근 퍼왔죠!! iBatis 홈 페이지에서 찾다가... 못 찾아서... 문서 읽어 보면서 찾은게 있는데... iBatis in Action 책 100 페이지에 나오는 $ 대입자로 인라인 파라미터 사용하기 입니다. SQL 주입 공격을 받을수 있는 여지가 있고, 남용하면 성능상의 문제가 있을수 있으므로 주의해서 사용 하랍니다. 테스트는 성공 했는데 맞는지는 잘 모르겠습니다. 회사에서 보안과 메일 한글 깨지는 문제가 있어서 부득이 블로그에 남깁니다. 혹시 버거가 발생 하시면 알려 주시기 바랍니다. 저의 개발 환경은 struts2,spring2,ibatis, jdk6, tomcat5.5, eclipse3.2 입니다. Junit 태스트한 것을 올려 보겠습니다. 우선 만들고자 하는 테이블은 CREATE TABLE CHEON_IBA.. 더보기