2015-01-20 5 views
1

사용자 정의 오류 페이지가있는 Spring MVC 응용 프로그램에서 작업 중이며이 페이지는 일반적인 오류 메시지와 스택 추적을 HTML 주석으로 반환합니다. 현재 HTML5의 Appcache를 사용하여이 애플리케이션의 오프라인 funcitonal을 개발 중입니다. 사용자가 서버에 연결할 수없는 경우 이전에 캐시 404 페이지를 제공하도록되어Appcache 및 사용자 정의 오류 페이지

CACHE MANIFEST 
CACHE: 
... my explicit entries (not relevant) ... 

FALLBACK: 
... some fallback entries (not relevant) ... 
<!-- This next line is relevant --!> 
/pageNotFoundOffline.html 

SETTINGS: 
prefer-online 

이 문제는 오류가 발생할 때이 404 페이지를 제공한다는 것입니다 : 내 매니페스트는이 같은 것입니다 따라서 응용 프로그램에 이미 구현 된 사용자 정의 오류 페이지를 완전히 쓸모 없게 만듭니다.

왜 내가 이것을하고 싶습니까? 사용자가 내 응용 프로그램의 페이지에 액세스하려고 시도 할 때마다 요청이 실패하고 404가 실패 할 때마다 (요청한 인터넷 연결이 없거나 서버가 다운 되었기 때문에) 해당 사용자에게 요청이 실패했음을 알리고 싶습니다. 우리의 오프라인 기능으로 리디렉션되고 또한 사용자에게 우리 서버에 성공적으로 도달했지만 사용자 정의 오류 페이지를 통해 내부 오류가 발생한 경우 사용자에게 알리고 자합니다.

이 문제에 대한 workaroud가 있습니까? 수행하고자하는 것은 404 예외가있을 때만 캐시 된 404 페이지가 제공되고 서버가 반환 한 사용자 정의 오류 페이지가있을 때 표시되도록 서버에 의해 반환됩니다. 내부 오류.

답변

0

appcache에서는 불가능하다고 생각합니다. 대체로 모든 서버 오류가 차단됩니다. specification for appcache은 "다른 포리스트를 나타내는 자원 또는 4xx 또는 5xx 상태 코드 또는 이에 상응하는 자원으로 리디렉션하는 경우 또는 네트워크 오류가있는 경우 (사용자가 다운로드를 취소 한 경우는 제외)) 대신 캐시에서 대체 이름 공간 f에 해당하는 대체 항목의 리소스를 가져옵니다. 이러한 단계를 중단하십시오. "

더 현대적인 방식으로 작업 할 수 있다면 Service Workers을 사용하는 것이 좋습니다. 원하는 것을 할 수 있으므로 사용하는 것이 좋습니다.

관련 문제