Java 15

Eclipse + tomcat 을 이용한 프로젝트 환경에서 최소단위의 HotDeploy와 같은 환경을 구성하기 위한 방법

이클립스 + 톰캣을 이용한 개발을 진행할 경우 톰캣서버를 Restart the server in debug mode로 실행해서 개발하시는 분들이 있으신가? 위이미지에서 빨간 색으로 표시한 벌레 아이콘 버튼이다. 디버그 모드는 말그대로 디버그 = 개발을 위한 모드라는 뜻이다. 디버그 모드는 개발자에게 편리한 기능을 제공하는데, 그중 이번에 알아볼 기능은 HotDeploy 기능이다. 물론 하드한 HotDeploy 기능(method 추가 및 삭제시 적용) 까지는 제공되지 않는다. (JRebel 라는 HotDeploy 용 유료 플러그인이 존재하나 그 수준까지 제공하는지 모르겠다.) 그러나 그런 좋은 기능은 톰캣자체 내에서의 class 변경 관제 프로세스로 인한 restart 때문에 제 역활을 하지 못하는데.....

tomcat 2012.12.20

리눅스 자바 설치시 실행 우선순위 수정하기

리눅스에 자바를 설치 할때 리눅스에 기본으로 설치되어 있는 자바가 패스를 아무리 바꿔 줘도 무조건 먼저 실행 되는 경우가 종종 있다 이런 경우 우선 순위를 수정해 줘야 하는데 1. 먼저 현제 우선 순위가 어떤 것인지 확인 한다#update-alternatives --config java 선택 명령-----------------------------------------------* 1 /usr/lib/jvm/jre-1.5.0-gcj/bin/java 이렇게 나온다 ..... 약간씩 다르게 나올수도 있다 2. 새로 설치한 자바를 우선 순위로 등록 한다 #update-alternatives --install "/usr/bin/java" "java" "/home/daims/java/jdk1.5.0_08/bin/..

unix 2012.07.18

getRequestURL jsp / servlet / java 현재 경로 알아내기

Context : ex) http://localhost:8080/board/list.jsp return => /board ( 프로젝트 context path 만 가져온다 ) El(표현언어) 사용시 : ${pageContext.request.contextPath} URL : URI : ex) http://localhost:8080/board/list.jsp return => /board/list.jsp ( 프로젝트 context path와 파일 경로까지 가져온다 ) Path : 전달 파라미터 : 전달 파라미터 Map으로 return : String u = javax.servlet.http.HttpUtils.getRequestURL(request).toString(); javax.servlet.Servlet..

Calendar 객체에서 주, 요일(일~토)를 이용한 날짜 변환

자바에서 자주사용하는 객체가 있다면 그건 java.util.Date 그리고 그 다음이 java.util.Calendar 일 것이다. 그 중에서 날짜를 변환 하기 위해 사용되는 객체는 java.util.Calendar 객체일 것인데, 일반적으로 날짜를 변환 하려 할 경우 년, 월, 일 을 Set 하는 방법으로 변환 하곤 했다. 이 방법은 기초중에 기초 가장 자주사용하고 그렇기 때문에 설명할 필요도 없는 쉬운 방법인데... 모든 프로젝트가 그렇듯이 쉬운것이 없다. 항상 프로젝트는 예상밖에 니즈를 필요로 한다. (그래서 경력이 있는 개발자는 노하우가 쌓여있는 고급인력이 되는것이 겠지만...^^) 스케쥴을 담은 명단을 저장한다고 가정하자, 그런데 문제는 고객은 일반적인 생각을 하는 사람이 아니다. 그 사람은 요..

java.util.regex.Pattern 설명 (Regular Expression > Methods of the Pattern Class)

지금까지 우리는 test harness를 이용하여 패턴 객체를 생성하고 그들의 기본 폼을 이용하였다. 이번 섹션에서는 좀더 향상된 기술로 플래그와 함깨 패턴을 생성하거나 포함된 플래그 표현들을 이용할 것이다. 우리가 아직 논의하지 않은 몇가지 유용한 추가적인 내용들에 대해서 논의할 것이다.Creating a Pattern with FlagsPattern 클래스는 플래그를 제공하는 새로운 compile 메소드를 가지고 있다. 플래그 파라미터는 비트 마스크 처리가 되며 다음과 같이 public static field들로 구성되어 잇다.Pattern.CANON_EQ 규칙에 의해서 같은지 검사하도록 한다. 이 플래그가 지정되면 2개의 캐릭터는 매치를 수행할때 전체가 규칙에 의해서 분해를 수행한 것이 매칭이 되..

java의 synchronized 분석

요즘 jsr 133 자바 메모리 모델을 보고 있는데, 처음에 lock거는 부분에 대해 나오더군요. 자바에서 lock을 거는 것은 보통 synchronized 구문을 이용하는데, 일반적인 자바 책에서는 "synchronized를 걸면 동시 접속이 안된다." 까지만 나와 있었는데, 보다가 보니 재미있는 부분들이 있어서 정리해볼랍니다. synchronized (anObject){ // code!! } 위와 같은 구문은 anObject를 기준으로 잡습니다. 그렇기 때문에 완전히 다른 객체끼리도 동기화가 가능합니다. 다음은 제가 주로 사용하는 디버깅 코드입니다. synchronized (java.lang.Object.class) { System.out.println("===========디버깅 시작했다~=====..

JDK5.0에서 새로 생긴 부분

1.4버젼에서 5.0버젼으로 올라오면서 새로운 기법(?) 들이 많이 생겨놨다.. 그중엔 c언어에서 볼수있는 문법들도 상당히 많은데 유용한 부분이기 때문에 버젼업하면서 사용할수있게 추가한거같다. 여지껏 5.0으로 개발을 해오면서 추가된 기능을 전부 소화하지 못하고 1.4버젼때의 문법만으로 개발하기 보단 새로운 기능을 빨리 익히고 적응해 나가는 것이 필요하기에 그 기능들을 잘 설명한 문서를 유연히 찾아 올린다. 출처 : http://blog.naver.com/sleepman0408?Redirect=Log&logNo=20022946224

사용자 정의 Exception Class

⊙ 사용자 정의 Exception Class 프로그램을 작성 하다 보면 자바 API에서 제공해주는 Exception Class만을 가지고 예외 처리를 하기 어려운 경우가 있다 그래서 자바에서는 사용자 정의 예외처리 클래스를 만들수 있다. 먼저 API 예외 클래스 중 적당한 것을 상속받아 클래스를 생성하면 된다. 일반적으로 Exception 클래스를 상속받는다. 예제 public class MyException extends Exception{ public MyException(){ // 기본 생성자 } public MyException(String s){ super(“My Exception Class : ” + s); } } public class MyExceptionTest{ // Excep()에서 발..

java jar파일로 exe(실행파일) 만들기

자바도 간단히 exe파일로 실행할 수 있다? 없다? 답은 있다!! 간단한 프로젝트 수행과정에서 실행파일을 exe로 해주세요 라는 요구에 이런저런 자료를 찾다가 드뎌 찾았다. 도움을 주신 승용이형 감솨~! 필요한 파일 : jsmooth (압축파일은 제일 하단에 첨부해 놨으니 모두읽어보신 후에 다운바드세요);; 먼저 C:\Test 폴더에 패키지 및 Class 파일이 있다는 가정하에 진행하겠다. 1. jar 파일을 생성한다. 2. jar 파일에 main 클래스를 지정한다. 3. jsmooth 파일을 이용해서 jar 파일을 exe 파일로 변환한다. 1. jar 파일을 생성한다. jar jar 프로그램의 기본적인 명령 순서는 다음과 같다. jar [명령 프롬프트] C:\Test>jar cvf ImageViewer..