2011-05-04 3 views
0

HttpServletResponseWrapper를 사용하여 서블릿 필터의 상태 코드를 캡처하고 있습니다. 잘 작동하는 것 같습니다.HttpServletResponseWrapper 상태 코드 = 0

모든 것이 정상이면 200이라는 상태가됩니다. 그러나 앱 서버가 요청 된 항목을 찾지 못하면 0이 반환되지만 브라우저에서는 404로 표시됩니다.

누군가 설명 할 수 있습니까?

편집 : JAX-RS 웹 앱이므로 응용 프로그램 서버가 상태를 설정하지 않고 반환하는 경로와 일치하지 않으면 웹 서버가 상태 0을 볼 때 404로 바뀝니다 이 말이 맞습니까?

+0

웹 로직이 Servlet 3.0을 지원합니까? – BalusC

+0

weblogic 10.3.3 – Bill

+0

나는 Weblogic에 대해 아무것도 모른다. 그것은 예스 질문이었습니다. 진짜 대답은 그것에 달려 있습니다. 자, 다시 한번 : 웹 로직이 서블릿 3.0을 지원합니까? 예 혹은 아니오? – BalusC

답변

0

나는 늦게 모르지만, 아마 대답은 여전히 ​​유용 다음 HttpServletResponseWrapper 이러한 방법에서

구현해야 : 404 대해 setStatus의 경우에

@Override 
    public void setStatus(int status) { 

     super.setStatus(status);  
     this.status = status; 
    } 

    @Override 
    public void sendError(int status) throws IOException { 

     this.status = status; 
     super.sendError(status); 
    } 

    @Override 
    public void sendError(int status, String msg) throws IOException { 

     this.status = status; 
     super.sendError(status, msg); 
    } 

    @Override 
    public void sendRedirect(String location) throws IOException { 

     this.status = 302; 
     super.sendRedirect(location); 
    } 

가 호출되지

있지만 대해 sendError, 당신은 필요 거기 상태를 잡으려고.

관련 문제