2011-08-08 4 views
0

XML을 사용하여 데이터 교환을 수행하는 Java의 웹 응용 프로그램이 있습니다. 서블릿을 작성했으며 특정 클라이언트에서 XML 파일을 업로드하기 위해 HTTP Post를 사용합니다. Post 메서드가 성공적으로 완료되면 클라이언트에 200 OK 메시지를 보냅니다 (기본 웹 서버 HTTP 상태 사용). 이제는 업로드에 문제가있을 때 클라이언트가 일부 HTTP 상태 메시지 (예 : 400 잘못된 요청, 502 불량 게이트웨이)를 가져 오도록 내 애플리케이션에 일부 HTTP 상태 코드를 포함해야합니다. 웹 응용 프로그램에 HTTP 상태 코드를 어떻게 추가해야합니까? 제안을 도와주세요. 감사합니다.자바 서버 기반 웹 응용 프로그램의 HTTP 상태 코드

답변

2

HttpServletResponse#setStatus() 또는 HttpServletResponse#sendError()을 사용할 수 있습니다.

@Override 
public void doPost(HttpServletRequest request, HttpServletResponse response) { 

    // handle upload 

    // if error 
    response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); 

    // or 
    response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, 
         "An unknown error occurred"); 
} 

이 메소드는 서블릿 컨테이너의 역할이 다른 점 때문에 상황에 가장 적합한 메소드를 선택하십시오.

  • 이 방법은 오류 코드를 설정하는 데 사용되는 경우

    setStatus()

    는 다음 컨테이너의 오류 페이지 메커니즘은 트리거되지 않습니다.

  • sendError()

    지정된 상태를 이용하여 클라이언트 에러 응답을 전송하고 버퍼를 클리어. 에 대한 응답을 작성하는 서버 기본값

상태 코드 상수의 목록을 지정된 메시지를 포함하는 HTML 형식의 서버 에러 페이지처럼 보이는 것은 Field Summary of the javadoc에서 사용할 수 있습니다. 귀하의 질문에 코드의 경우 : ("필요한 important_parameter"res.SC_BAD_REQUEST)

관련 문제