2013-09-05 3 views
0

내 모든 http 오류 페이지가 제 웹 사이트 테마를 사용하여 표시되도록 균일하게하고 싶습니다. 상자 수명은 일부 오류를 처리하고 다른 것을 무시하고 잘 알려진 형식 인 tomcat 403으로 표시하기 위해 바람둥이로 남겨 두는 것 같습니다. 이제 404는 예를 들어 평생에 의해 처리됩니다. 그것은 status.jsp에 의해 표시되고 내 사이트의 나머지 부분과 같은 주제가 있습니다. status.jsp는 404와 500 같은 몇 가지 오류 메시지 만 지원하는 것 같습니다.이 문제를 해결하기위한 아이디어는 401,403,405 등과 같이 ROOT/WEB-INF/web.xml에 오류 코드를 추가하는 것입니다. 나는균일 한 http 오류 페이지

<body onload="javascript:location.replace('http://localhost:8080/c/portal/status?err=<%= pageContext.getErrorData().getStatusCode() %>&uri=<%= pageContext.getErrorData().getRequestURI() %>')"> 

내가 status.jsp에 몇 가지 필요한 데이터를 얻을 이런 식으로 뭔가를 수행하는 JSP로 ROOT/오류/error.jsp에 모든이를 가리킬 수 있습니다. 또한 원래의 status.jsp를 대체하는 후크를 사용하여 HTTP 코드 및 URI를 포함하는 메시지를 표시 할 수 있습니다.

이제 유니폼 상태 페이지를 달성하는 합리적인 방법입니까? 더 좋은 방법이 있습니까?

+0

톰캣을 업그레이드하십시오. 보안 오류가 있습니다. –

+0

나는 그 버전을 사용하고 있지 않다. 나는 단지 그것이 의미하는 바를 보여주기 위해 그것을 봤다. – Robzet

답변

0

web.xml에서 오류 페이지를 정의 할 수 있습니다. 준비된 데이터로 JSP에 위임 된 별개의 컨트롤러를 참조하십시오. JSP에서 스크립틀릿을 사용하지 마십시오.

+0

답변 해 주셔서 감사합니다. 내 솔루션이 효과적이기 때문에 왜 이것이 더 나은 솔루션인지 동기를 부여 할 수 있다면 좋을 것입니다. – Robzet

+0

Yor 솔루션은 모든 것을 갖추고 있습니다. 위에서 언급 한 패턴을 사용하면 깨끗한 MVC 패턴을 얻을 수 있습니다. –