토비의 스프링 책을 보다 SpEL을 알게 되었고, 이를 샘플 프로젝트에 설정해 보았다.간단하게 끝날 줄 알았던 설정이 1시간 동안의 삽질을 선물해 주었고, 이런 삽질을 다른 분들은 겪지 마시길 바라며 SpEL 설정 시 조심해야 할 사항에 대해서 간략하게 정리해 본다. 기존 프로퍼티 설정은 전용 태그인 를 이용하였는데, 책을 보니 명시적이고, 이해하기 쉬우며 오류도 잘 잡아주는 SpEL 사용을 적극 권장하기에 이를 도입하기로 결정 프로퍼티 설정이 담겨 있는 설정 파일은 다음과 같이 xml 형식으로 되어 있다. (db-config.xml)database configcom.mysql.jdbc.Driverjdbc:mysql://localhost:3306/spring3lng198211111111 자. 이제 SpE..
[*.do에서 /* 로 바꾸게 된 이유]스프링 3.1 샘플 프로젝트의 web.xml(DD) 구성 시 url-pattern을 *.do와 같이 설정하였다. 이유는 단순하다.프로젝트를 진행할 때 항상 *.do를 사용했기 때문이다. 하지만 REST 방식의 웹 어플리케이션을 구성하기 위해서는 다음과 같은 URL 형식을 제공해야 하는데 현재는 *.do와 같이 되어 있기 때문에 pattern을 /* 와 같이 변경해야만 했다.http://localhost:8080/user/list [현상]이제 내가 만들어 놓은 프로젝트는 REST 방식을 지원하는 spring web application이 되었다.허나 controller mapping url을 호출하면 404 에러가 발생하면서 아래와 같은 로그가 찍힌다.No mappi..
@Testpublic void if테스트() {boolean isSuccess = false;isSuccess = userIdCheck(); // 실패 return if (isSuccess = false) {assertThat(isSuccess, is(false));} else {fail("failed test case!!");}} public boolean userIdCheck() {return false;} 위의 테스트 코드는 실패일까? 성공일까?답은 실패이다. userIdCheck() 메소드에서 false를 return 받은 후 if 조건문에서 false라면 assertThat 테스트 코드를 만나야 하지만 fail 코드를 만나게 되어 테스트는 실패하게 된다. 이유가 무엇일까? if (isSucces..
Array 배열에 있는 요소 중 특정 배열의 요소를 삭제하고 싶을 때에는 javascript의 delete 연산자를 사용하면 된다.var numberArr = new Array();numberArr.push("1");numberArr.push("2");numberArr.push("3"); delete numberArr[1]; for (var idx in numberArr) {console.log(numberArr[idx]);} 출력 결과 5년 넘게 개발을 해오면서 delete 연산자 오늘 처음 알게 되었다.javascript를 너무 등한시하다 보니 모르는게 너무 많다는 것을 느낀다.이젠 자바스크립트도 제대로 한번 공부해봐야 겠다. delete 연산자를 사용하게 되면 문제가 있다.alert(numberAr..
오늘의 주제는 properties 에 관한 내용이다.오래 전 겪었던 일이지만 properties 파일을 볼때마다 그때의 악몽이 새삼 떠오른다. 내용인 즉슨, 프로퍼티에 다음의 값이 저장되어 있었다. remote.domain.name=http://test.co.kr http를 이용하여 다른 웹 어플리케이션 서버에 요청을 보낼 때 http://test.co.kr/remote.do?code=1111 와 같이 URI 값을 append하여 전송하는 로직을 개발하였다. 헌데, 테스트를 해보면 상대방의 도메인으로 데이터를 전송하지 못하는 것이었다. 프로퍼티 설정 값이 잘못 되었나?로직을 잘못 만든 건가?파라미터 부분이 잘못 생성되었나? 여러 가지 삽질 끝에 원인은... remote.domain.name에 설정한 값의..
시스템 구성은 다음과 같다.아파치 - 톰켓 ___ test.co.kr 홈페이지 |__ biz.test.co.kr 홈페이지 하나의 톰켓 instance 위에 서비스 되었던 test.co.kr에 추가로 biz.test.co.kr 서비스를 탑재하였다. 헌데 이상한 현상이 발생하였다.biz.test.co.kr 홈페이지 접속하여 로그인 한 후 test.co.kr로 접속하면 세션 공유 현상이 발생하지 않았는데다음과 같은 방법으로 테스트를 해보면 세션 공유 현상이 발생했다.test.co.kr 접속biz.test.co.kr 접속 후 로그인다시 test.co.kr 접속하면 로그인이 되어 있는 현상 위에서 정의된 메인 도메인과 서브 도메인은 서로 다른 서비스를 위해서 구축된 것이기 때문에 세션 공유가 발생하면 안 된다.원..