문제

다양한 유형의 예외에 대한 응답으로 다양한 오류 페이지를 표시하기 위해 Tomcat의 오류 페이지 지시문을 사용하고 싶습니다.그러나 오류가 발생한 원래 요청 URL에 따라 표시되는 오류 페이지의 스타일과 내용이 다르기를 원합니다.

특히 웹 애플리케이션의 관리 부분과 사용자 부분이 있습니다.오류 페이지는 스타일과 메뉴 측면에서 모두 달라야 합니다.특정 페이지가 어느 부분에 있는지 구별하는 가장 신뢰할 수 있는 방법은 URL에서 문자열을 찾는 것입니다.Tomcat 오류 페이지를 예를 들어 URL을 구문 분석하고 적절한 스타일의 오류 페이지로 리디렉션하는 서블릿을 가리키고 싶습니다.

1) 오류 페이지나 다른 메커니즘을 사용하여 오류를 JSP가 아닌 서블릿으로 리디렉션하는 것이 가능합니까?(그렇지 않다면 JSP 내에서 상상하는 대로 할 수 있을까요?)

2) 일단 내 서블릿에 들어가면 오류를 발생시킨 요청 URL을 확인할 수 있습니까(request.requestURI가 작동하지 않는 것 같습니다. 오류 JSP 자체의 위치를 ​​가리킵니다).

도움이 되었습니까?

해결책

원본 요청URI는 다음에서 얻을 수 있습니다.

pageContext.errorData.requestURI

다음을 통해 등록한 오류 jsp에서 <error-page> 당신의 web.xml

보다 http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/jsp/ErrorData.html 자세한 내용은.

서블릿을 사용하는 경우 아마도 다음을 사용할 수 있습니다. <jsp:forward> 오류 jsp 내부에서 선택한 서블릿으로 전달합니다.

다른 팁

Tomcat의 오류 페이지는 응용 프로그램 오류를 표시하기 위한 최후의 수단입니다(오류 페이지가 실제로 실패하는 경우에 대비). 일반적으로 비기술적인 보기에서 오류를 표시할 수 있는 오류 페이지를 직접 작성해야 합니다(기본적으로 권장합니다). ) 및 기술적 관점(사용자가 원하는 경우)을 사용자에게 적합한 방식으로 제공합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top