spring(스프링) servlet.PageNotFound

우선 뜬 오류를 말씀드리면

난 분명히

servlet.xml에

/ㅁㅁㅁ/ㅁㅁㅁ.do=메소드명

이렇게 매핑을 잘 해놨다..

다른건 잘되는데 유독 한 메소드만 되지 않았따..

해당메소드는

 public ModelAndView processIdCheck(HttpServletRequest request,
Account account){
  int flag=0;
  account = JoinIdCheck(request);
  if(account==null){
   flag=1;
  }else{
   flag=-1;
  }
  
  request.setAttribute(“id”, request.getParameter(“id”));
  request.setAttribute(“flag”, flag);
  
  return new ModelAndView();
 }

이렇게 정이되었었따.

콘솔로 출력할땐

No request handling method with name ‘test’ in class [com.account.controller.AccountController]
2012-01-08 21:43:50,447 – Null ModelAndView returned to DispatcherServlet with name ‘board’: assuming HandlerAdapter completed request handling

이메세지..와.!!

로그파일로 출력할떄

2012-01-09 16:38:09,629 WARN  [http-8080-1] servlet.PageNotFound (MultiActionController.java:432)     – No request handling method with name ‘processIdCheck’ in class [com.account.controller.AccountController]

메세지가 출력이 되었는데..

진짜 별삽질을 다했다..

혹시 import org.springframework.web.servlet.ModelAndView;

이것이 잘못 되었나 보기도하고..

플젝을 다시 생성해보기도하고..

그러나 원초적인 문제!!

교육받은사람이라면 금방 눈치 챘겟찌만.. 그렇다..

로그를 보면

2012-01-09 16:37:55,856 DEBUG [main] controller.AccountController (MultiActionController.java:319)     – Found action method [public org.springframework.web.servlet.ModelAndView com.account.controller.AccountController.processCheckId(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws java.lang.Exception]

이런식으로 메소드를 찾는다..

즉 processCheckId메소드에 받는 인자는 request,response가 되어있어야 한다는 것이다..

아.. 이걸 진즉에 알앗따면.. ㅠㅠ;;;;

그리하여 public ModelAndView processIdCheck(HttpServletRequest request,
HttpServletResponse response, Account account){
  int flag=0;
  account = JoinIdCheck(request);
  if(account==null){
   flag=1;
  }else{
   flag=-1;
  }

  request.setAttribute(“id”, request.getParameter(“id”));
  request.setAttribute(“flag”, flag);

  return new ModelAndView();
 }

추가를 해주니.. 아주 잘된다..;;;

잊으면 안되겠따.. ModelAndView는 respnose가 정의 되어 있어야한다는 것을!!

관련 글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다