> Hello World !!!

     

@syaku

WAS & Java & JSP 오류 해결

written by Seok Kyun. Choi. 최석균

실무에서 일반적으로 발생하는 오류를 기록하였다.

※ 최초작성 : 2009년 10월 26일

 JSP 헤더 설정 오류

Page directive: illegal to have multiple occurrences of contentType with different values (old: text/html;charset=euc-kr, new: text/html; charset=euc-kr)
include 된 파일들의 헤더 설정 구문이 서로 틀려 발생하는 문제이다. 뛰어쓰기 하나도 틀려서는 안된다.
include 되는 모든 파일들의 헤더를 통일시켜야한다. 그럼 오류가 발생하지 않는 다.

 JSP 코딩 오류

-- 변수 선언 안함.
symbol  : variable
변수 선언을 하지 않을 경우 발생한다.
String 변수명;

-- 글자 (배열)길이에서 원하는 수가 넘었을 경우
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range:
String test = 123456";
test = test.substring(0,10); // 오류발생

-- SQL 구문오류 ORA-00933
ORA-00933 발생한 경우... JSP 에서는 작은 따옴표를 ' -> '' 으로 치환해야한다.

String a = "가나'다라마바'사 ";
a = a.replaceAll("'","''");

 Tomcat 오류

-- 톰캣을 종료할 경우 종료가 되지 않은 문제.

[오류 로그]
2010. 3. 2 오전 10:38:24 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: Failed shutdown of Apache Portable Runtime

2010. 3. 2 오후 12:52:24 org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop: java.net.SocketException: Connection timed out:could be due to invalid address

NT에서는 로그가 생기긴하지만 문제없이 시작과 종료가 된다. 오류를 제거하려면
tomcat-native 설치하면 된다. http://tomcat.apache.org/download-native.cgi
윈도우 버전을 내려받아 톰캣 폴더 아래 bin 폴더에 넣어두면(tcnative-1.dll) 된다.
bin 폴더는 PATH 환경변수에 등록되어 있어야 한다.

유닉스에서는 설치과정이 복잡하여, 직접하기에는 부담이 있어, 아래의 방법으로 해결하였다.

[우연한 해결]

# export CATALINA_PID=$CATALINA_HOME/bin/.tomcat_pid;

# ./startup.sh

# ./shutdown.sh -force

톰캣에 .tomcat_pid 생성하기 위해 startup.sh 를 먼저 실행한 후 종료시키면 된다. 임의적인 경로 임포트보다는 프로파일에 저장해 두자.

** 2010년 3월 17일 내용추가
또 같은 문제가 발생했는 데... 위 처럼하니 이젠 안된다. ㅡ.ㅡ 그냥 프로세스를 죽겨버렸다. kill -9 pid

-- java.lang.OutOfMemoryError 발생할 경우

일정량의 메모리를 늘여주는 것이 좋다.

# export CATALINA_OPTS="-Djava.awt.headless=true"
# export JAVA_OPTS="-Xms512m -Xmx512m"
# ./startup.sh

# ps -efa|grep tomcat

아래와 같이 빨색부분 처럼 출력되어야 한다.

사용자 2629680       1 113  11:29:00  pts/8  0:15 /usr/java5//bin/java -Djava.util.logging.config.file=/home/jucha/tomcat5/conf/logging.properties -Xms512m -Xmx512m -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.awt.headless=true -Djava.endorsed.dirs=/home/jucha/tomcat5/common/endorsed -classpath :/home/jucha/tomcat5/bin/bootstrap.jar:/home/jucha/tomcat5/bin/commons-logging-api.jar -Dcatalina.base=/home/jucha/tomcat5 -Dcatalina.home=/home/jucha/tomcat5 -Djava.io.tmpdir=/home/jucha/tomcat5/temp org.apache.catalina.startup.Bootstrap start


posted syaku blog


 

http://syaku.tistory.com