본문 바로가기

반응형

전체 글

Tomcat 5 JNDI DataSource를 통한 DB 커넥션 풀 사용 Tomcat 5 JNDI DataSource를 통한 DB 커넥션 풀 사용 이미 눈치 채셨겠지만, 요즘 내가 RDBMS 배우기에 열을 올리고 있다. 지금까지는 JSP/Servlet에서 직접 커넥션을 맺거나, 웹 컨텍스트내에 커넥션 풀 라이브러리를 두고 호출에서 사용했는데, 좀 바꿔야겠다. JNDI를 통한 커넥션 풀 사용은 J2EE 표준이고, 현존하는 거의 모든 웹 컨테이너가 지원한다고 한다. JNDI를 서버에 설정하는 방법은 각 WAS 별로 다르지만, 사용하는 것은 모두 동일하므로 호환성에 문제도 없다. 이 글은 Jakarta의 DBCP 커넥션 풀과 Tomcat JNDI 설정을 통해 데이터베이스 커넥션 풀을 사용하는 방법이다. JNDI와 커넥션 풀에 관한 자세한 설명이 JavaServer Pages 3rd.. 더보기
tomcat - 한글 처리 톰캣 한글 처리 SetCharacterEncodingFilter.javaSetCharacterEncodingFilter.class 1. post 방식 설정 %TOMCAT_HOME/conf/web.xml를 수정할경우, %TOMCAT_HOME/common/classes/filters/SetCharacterEncodingFilter.class 가 필요함. context_root/WEB-INF/web.xml를 수정할경우, context_root/WEB-INF/classes/filters/SetCharacterEncodingFilter.class 가 있어야함. Set Character Encoding filters.SetCharacterEncodingFilter encoding EUC_KR Set Characte.. 더보기
tomcat - 사용시 힙메모리영역 늘리기 메모리가 부족하다는 메시지가 tomcat 을 사용할때 번번히발생하면 heap 영역을 크게 잡아 주는 것이 좋습니다. 이때 jakarta-tomcat/bin/tomcat.bat 의 내용을 아래와 같이 약간수정하여 주면 됩니다. ---- tomcat.bat 의 원래 내용 ---------------------------:startServerecho Starting Tomcat in new windowif "%2" == "-security" goto startSecure%_STARTJAVA% %TOMCAT_OPTS% -Dtomcat.home="%TOMCAT_HOME%" org.apache.tomcat.startup.Tomcat %2 %3 %4 %5 %6 %7 %8 %9goto cleanup ---- tomca.. 더보기
tomcat - 데이타베이스 커넥션 풀이 새는 것을 막는 방법 데이타베이스 커넥션 풀이 새는 것을 막는 방법 데이타베이스 커넥션 풀은 데이타베스의 커넥션들의 풀을 만들고 관리합니다. 이미 있는 커넥션을 재생하여 재사용하는 것은 새 커넥션을 가져오는 것보다 효율적입니다. 커넥션 풀링에는 한가지 문제가 있습니다. 웹 애플리케이션은 명시적으로 ResultSet, Statement, Connection을 닫아야 합니다. 웹 애플리케이션에서 이들 자원들을 닫지 못하게 되면 다시 재사용할 수가 없으며 데이타베이스 커넥션 풀 "구멍"이 생깁니다. 이것은 결국 웹 애플리케이션에서 더 이상 쓸 수 있는 데이타베이스 커넥션이 없을 때 커넥션 에러를 내게 될 것입니다. 이에 대한 해결책이 있습니다. Jakarta-Commons DBCP는 이렇게 버려진 커넥션을 추척하고 복구하도록 설정.. 더보기
php 기본 자료 3 1. 제어구조 PHP의 구문을 보면 대입문, 조건문, 반복문, 함수호출 등 여러가지의 형태가 있습니다. - 조건문 if문은 조건문으로서 조건을 만족하면 명령을 실행시키고, 만족하지 않으면 그냥 빠져나옵니다. 일반적인 if문은 이렇게 쓰여집니다. $a = 7; $b = 5; if($a > $b) /* 참이면 echo를 실행하고, 거짓이면 실행하지 않는다. 이것은 참이므로 echo를 실행한다. */ echo "참일 경우 글자를 출력합니다."; $c = 2; $d = 5; if($c > $d) // 이것은 거짓이므로 echo를 실행하지 않는다. echo "거짓일 경우 글자를 출력하지 않습니다."; ?> else는 if문이 거짓일 경우에 실행하는 것입니다. $a = 2; $b = 5; if($a > $b) { .. 더보기
php 기본 자료 2 1. 배열2. 연산자 1. 배열 - 일차원 배열list()나 array() 함수를 이용하여 배열을 만들거나, 각원소에 값을 정해주어 배열을 만드는 방법이 있습니다. 이렇게 직접 각원소마다 저장될 위치와 값을 대입하여 배열을 만들거나, 또는 저장될 위치는 자동으로 입력되므로 아래와 같이 쓸 수도 있습니다. 이렇게 사용하여도 위의 식과 같은 결과가 나옵니다. 저장위치는 [0]번째부터 차례로 하나씩 증가됩니다. * asort(), arsort(), ksort(), rsort(), sort(), uasort(), usort(), uksort() 함수 ; 배열을 순서대로 정렬* count() 함수 ; 배열의 원소 갯수를 셀 때* next()와 prev() 함수 또는 each() 함수 ; 배열의 내용 탐색 위에 사.. 더보기
php 기본 자료 1 1. 기본문법 2. 변수 1. 기본문법 - PHP code mode echo "PHP를 배워보자\n"; ?> echo "PHP를 배워보자\n"; ?> PHP의 시작과 종료태그로는 을 사용하며, ; (세미콜론)으로 각 문장을 종료합니다. echo는 ASP의 response.write와 같이 글자를 화면에 출력하기 위해 사용되는 것입니다. echo 대신 print라고 쓸 수도 있습니다. - 주석문의 사용 echo "PHP를 배워보자\n"; // 한줄의 주석문 echo "PHP를 배워보자\n"; # 한줄의 주석문 /* 여러줄의 주석문 여러줄의 주석문에 이용*/ echo "PHP를 배워보자\n"; ?> 한줄의 주석문은 // 또는 # 표시이후 주석을 달면되며, 여러줄의 주석문은 /* 시작하여 */ 로 끝을 맺으면.. 더보기
php -xml parser $p = new XMLParser('test.xml');print_r($p->data); class XMLParser {   var $filename;   var $xml;   var $data;   function XMLParser($xml_file)   {       $this->filename = $xml_file;       $this->xml = xml_parser_create();       xml_set_object($this->xml, $this);       xml_set_element_handler($this->xml, 'startHandler', 'endHandler');       xml_set_character_data_handler($this->xml, 'dataHandler').. 더보기
php - 이메일 존재여부 검색 프로그램 /* =======================================================================    눈이오면의 메일 체크 함수 SnowCheckMail ($Email,$Debug=false) $Email : 체크하기 위한 메일 주소 $Debug : 디버깅을 위한 변수, true로 하면 각 과정의 진행상황이 출력된다. * 함수명을 바꾸시지 않고 사용하시면 누구나 사용하실수 있습니다. 참고 : O'REILLY - Internet Email Programming ========================================================================= */ function SnowCheckMail($Email,$Debug=fals.. 더보기
php - 소켓 통신 자료(socket fd 에서 eof 인식문제) socket fd 에서 eof 인식문제 지금, 제가 부딪힌 문제는 socket에서 eof 인식하는 것입니다. 처음에는 fsockopen()으로 socket을 열고, fputs()로 data를 보내고, fgets()로 data를 받았습니다. 근데, fgets()는 더이상 받을 게 없으면 return한다고 읽었는데.. (어디선가, fread()와의 가장 큰 차이점이 그거라고 적혀있더라구요..) 제 소스에서는 return 하질 않으네요. 현재 test중인 packet data가 딱 184 bytes인데요.. fgets의 인자중 size값은 184 보다 작은 값을 주면.. 고만큼만 읽어서 return하는데, 문제는 185 이상의 값을 주면.. 무한정 대기한다는 겁니다. $obuffer = fgets($fd, 1.. 더보기

반응형