특이하게 로컬 테스트일 경우 문제가 없었는데 개발서버, 스테이징서버 등의 서버환경에서 문제가 발생해 몇시간을 헤메고 있었다.
예를 들어 아래의 코드는 로컬환경에서 이상없이 작동하였다.
하지만 서버환경으로 Deploy 했을 경우 반응하지 않는 문제를 가지고 있었다. 이상하게도 내가 투입되어 진행했던 코드에만 ... (역시 사람 타는건가...)
우리 팀 PL 님 도움으로 두어가지 해법을 건네 받게 되었는데. 리다이렉트를 뷰단에서 JSTL 로 처리하는 방법, 모델을 넘기지 않고 return 에 리다이렉트 코드를 심어서 던지는 법이었다.
변경된 코드는 아래와 같다.
뷰페이지 상단에 아래처럼 JSTL 리다이렉트 삽입.
또 다른 방법 return 에 url 을 심는 방법은 아래의 방법으로 처리한다.
뒤늦게나마 해결을 해서 마음이 놓이긴 하는데 왜!!! 그럴까...
게다가 로그도 안찍히고 어제 밤은 참으로 불편한 밤이었다.
개발 환경 : jdk 1.5. jeus 5, spring mvc 2.5.6
예를 들어 아래의 코드는 로컬환경에서 이상없이 작동하였다.
/* Controller.java */
@RequestMapping("/home/comment_view.do")
public ModelMap hello_world() ... {
...
productUrl = "/product/product_view.do?" + returnParameter;
response.sendRedirect(productUrl);
return model;
}
@RequestMapping("/home/comment_view.do")
public ModelMap hello_world() ... {
...
productUrl = "/product/product_view.do?" + returnParameter;
response.sendRedirect(productUrl);
return model;
}
하지만 서버환경으로 Deploy 했을 경우 반응하지 않는 문제를 가지고 있었다. 이상하게도 내가 투입되어 진행했던 코드에만 ... (역시 사람 타는건가...)
우리 팀 PL 님 도움으로 두어가지 해법을 건네 받게 되었는데. 리다이렉트를 뷰단에서 JSTL 로 처리하는 방법, 모델을 넘기지 않고 return 에 리다이렉트 코드를 심어서 던지는 법이었다.
변경된 코드는 아래와 같다.
/* Controller.java */
@RequestMapping("/home/comment_view.do")
public ModelMap hello_world() ... {
...
productUrl = "/product/product_view.do?" + returnParameter;
//response.sendRedirect(productUrl);
model.addAttribute("productUrl", productUrl);
return model;
}
@RequestMapping("/home/comment_view.do")
public ModelMap hello_world() ... {
...
productUrl = "/product/product_view.do?" + returnParameter;
//response.sendRedirect(productUrl);
model.addAttribute("productUrl", productUrl);
return model;
}
뷰페이지 상단에 아래처럼 JSTL 리다이렉트 삽입.
/* comment_view.jsp */
<c:if test="${not empty productUrl}">
<c:redirect url="${productUrl}" />
</c:if>
<c:if test="${not empty productUrl}">
<c:redirect url="${productUrl}" />
</c:if>
또 다른 방법 return 에 url 을 심는 방법은 아래의 방법으로 처리한다.
/* Controller.java */
@RequestMapping("/home/comment_view.do")
public ModelMap hello_world() ... {
...
productUrl = "/product/product_view.do?" + returnParameter;
//response.sendRedirect(productUrl);
model.addAttribute("productUrl", productUrl);
return return "redirect:" + productUrl;
}
@RequestMapping("/home/comment_view.do")
public ModelMap hello_world() ... {
...
productUrl = "/product/product_view.do?" + returnParameter;
//response.sendRedirect(productUrl);
model.addAttribute("productUrl", productUrl);
return return "redirect:" + productUrl;
}
뒤늦게나마 해결을 해서 마음이 놓이긴 하는데 왜!!! 그럴까...
게다가 로그도 안찍히고 어제 밤은 참으로 불편한 밤이었다.
개발 환경 : jdk 1.5. jeus 5, spring mvc 2.5.6
'Development' 카테고리의 다른 글
EUC-KR 과 UTF-8 (2) | 2010.09.12 |
---|---|
Selectors API Level 2 (0) | 2010.09.05 |
개인 개발자에게 윈도우모바일 폰이 더 기대되는 이유 (0) | 2010.07.23 |
아키텍트가 하는 일 (0) | 2010.06.10 |
객체지향 개발론과 반복의 과정 (0) | 2010.06.10 |