레이블이 스프링인 게시물을 표시합니다. 모든 게시물 표시
레이블이 스프링인 게시물을 표시합니다. 모든 게시물 표시

6/03/2011

Spring3에서 @RequestMapping시 URI tempate이 제대로 먹히지 않는 경우

@RequestMapping(value="/owners/{ownerId}", method=RequestMethod.GET)
public String findOwner(@PathVariable String ownerId, Model model) {
  Owner owner = ownerService.findOwner(ownerId);  
  model.addAttribute("owner", owner);  
  return "displayOwner"; 
}
The URI Template "/owners/{ownerId}" specifies the variable name ownerId. When the controller handles this request, the value of ownerId is set to the value in the request URI. For example, when a request comes in for /owners/fred, the value fred is bound to the method parameter String ownerId.

The matching of method parameter names to URI Template variable names can only be done if your code is compiled with debugging enabled. If you do not have debugging enabled, you must specify the name of the URI Template variable name in the @PathVariable annotation in order to bind the resolved value of the variable name to a method parameter.

http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html




요약 : Spring3에서 아래와 같이 작성을 해주면 /owners/1234 와 같이 URL이 GET으로 호출되는 경우 String ownerId 에 1234 라는 값이 자동으로 저장된다. 하지만 이건 debug enabled로 컴파일 되었을 때의 경우이고(디버깅용으로 생성된 정보를 이용해서 매칭해 준다는 거지), 제대로 하려면 @PathVariable("ownerId") 처럼 해줘야 한다는 것. 이 경우 실제 변수명은 꼭 ownerId가 아니어도 상관없다.(당연)  즉, String ownerId 이든 String theOwner이든 앞에 @PathVariable("ownerId") 만 URI tempate의 것과 맞으면 값을 할당됨.

은근히 처음 방법으로 코딩해 놓은 것들을 많이 찾아볼 수 있는데, 항상 디버깅 정보를 넣은 채로 컴파일이 되는 건 아니니까 항상 이름을 명시해주는 방식으로 코딩하자.

-P.S-
그러고보니 이 블로그에 이런 내용을 쓰는건 진짜 백만년만인듯...

5/06/2009

멀쩡하게 잘 돌아가던 Spring기반 어플에서 "SEVER: Error listenerStart"오류 발생할 때

Spring + Tomcat으로 잘 돌리던 어플에서 어느날 갑자기 start를 해보니


“SEVERE: Error listenerStart”…

“SEVERE: Context [/xxxxx] startup failed due to previous errors”,


와 같은 오류가 뜰 때가 있다.

Context[ ]

같은 내용이 뜨면 web.xml 설정을 잘못 해줬거나 TOMCAT_HOME/config/Catalina/localhost/???.xml 의 설정이 잘못된 것이겠지만

위와 같이 나온다면 거의 십중팔구 WEB-INF 밑의 web.xml 내용 중


<context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>xxxxxx.root</param-value>
</context-param>

<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>/WEB-INF/classes/config/log4j.properties</param-value>
</context-param>

<context-param>
    <param-name>log4jRefreshInterval</param-name>
    <param-value>1000</param-value>
</context-param>


쪽 설정의 오류다.

아마도 로컬의 eclipse + wtp에서는 잘 되는데 통합 빌드 서버로 옮긴 다음에 문제가 발생할 가능성이 큰데 그 이유는 많은 경우 local 과 server 간의 log4j 설정등의 차이로 인해

ant build 시 **/log4j.properties 같은 것들을 exclude 시켜버려 web.xml 에서 설정된 log4jConfigLocation 의 위치에 log4j.properties 파일이 없기 때문이다.


실제로 이렇게 되면 화면에 뭐 별다른 오류도 안뜨고 사람 환장할 지경이 되는데… 설정부터 꼼꼼하게 다시 체크해 보시길.

1시간 삽질기 끝 –_-;

3/26/2009

2009년 3월 27일 읽은 책

최근 도서를 아예 읽지 않는건 아닙니디만 포스팅을 뜸하게 하고 있습니다. 도서 중 몇권은 사두고 펴보지 않은 것들도 있네요.

일단 정리도 할 겸 적어봅니다.


1. 헬로, 안드로이드



헬로, 안드로이드 - 8점
에드 버넷 지음, 한정민 옮김/ITC(아이티씨)

안드로이드 관련문서를 본적은 있지만 매번 튜토리얼 찾아보면서 하기도 귀찮고, 사실 이런식으로 하면 시간이 좀 많이 걸립니다.

할수만 있다면 괜찮은 스승이나 교재를 가지고 처음부터 끝까지 연관성있는 내용으로 쭉 훑어보는게 최고죠.

전체가 10장으로 이루어져 있는 이 서적은 6장까지의 내용이 게임 '스도쿠' 를 만드는 내용으로 채워져 있고 나머지 부분에 SQLite 나 센서사용법, 웹브라우저 써먹기, 쓰레드, OpenGL 의 내용으로 채워져 있습니다.

내용은 정말로 "Hello, Android" 의 수준이며 안드로이드 입문자에게 권장할만합니다.

Java 에 대해 어느정도 익숙하고 Eclipse를 사용하고 있는 독자라면 주말동안 충분히 따라하면서 볼 수 있을겁니다.

번역서라서 그렇겠지만 내용치고는 가격이 좀 높은 것이 단점이라면 단점이겠습니다.


2. 스프링 2.5 프로그래밍


웹 개발자를 위한 스프링 2.5 프로그래밍 - 10점
최범균 지음/가메출판사

구입한지는 좀 되었지만 그나마 최근에 와서야 나름 내용을 다 봤다라는 수준( 책을 쭉 읽어보면 모르는 내용이 거의 없고 업무에도 적용해 본? )이 되어서 정리해봅니다.

Spring 2.5 프레임워크를 다루는 서적이고 국내에서 출간된 서적 중 몇 안되는 스프링 서적 중 하나입니다.

출간된 최근 서적 중 2.5 버전을 다루는 거의 유일한 서적이고, 내용이나 가격면에서 흠잡을만한데가 별로 없는 잘 만들어진 입문서입니다.


3. 빌 게이츠, Nextpage


빌 게이츠, Next Page - 6점
메리 조 폴리 지음, 양승민 옮김/엘도라도


원제가 "Microsoft 2.0: How Microsoft Plans to Stay Relevant in the Post-Gates Era" 인 이 서적은 빌게이츠가 직접 집필한 서적이 아닙니다.('미래로 가는 길' 이나 '생각의 속도'  는 빌게이츠가 저자로 되어 있죠)

현재와 미래의 MS와 제품전략, 비즈니스 모델 등에 대해서 알고 싶은 사람들이라면  읽어볼만한 서적입니다. 사실 전 MS에 대해서는 거의 아는 게 없어서(다른 회사에 대해서도 마찬가지지만) 정보습득을 위해 이 책을 골랐는데 나름 괜찮은 선택이었던 것 같습니다. 윈도우모바일/윈도우/검색/온라인서비스/XBOX/라이센스 정책 등 MS의 서비스에 대한 내용 뿐만 아니라 현 MS의 핵심인재들에 대한 설명도 함께 곁들이면서 누가 포스트 게이츠 시대의 MS를 이끌 것인지에 대한 견해도 함께 밝히고 있습니다. (그 중에 제가 아는 인물은 스티브 발머, 레이 오지 딱 두명이더군요. -_-;;;)

정가는 13,000원으로 분량이나 번역서인 점, 그리고 내용등을 감안하면 비싸다는 생각은 안듭니다. 다만 원제와 비교해 볼때 번역본의 제목인 "빌게이츠, Nextpage" 는 다분히 출판사의 낚시성 떡밥강화의 성격이 강해보이는 점이 불만이라면 불만입니다.

요즘 포스팅을 모두 medium쪽으로 하고 있습니다

안녕하세요? 어쩌다보니 그냥 한번 써보기로 한 medium.com 에다가 죄다 최근 포스팅을 하고 있습니다. 현재 도메인인 potatosoft.com 은 제가 대학때인가 사회 취업한지 얼마 안됐을때부터 유지해 온 도메인이고, 블로그 시스템은 그...