webapp에 struts2 프레임 워크를 사용하고 있습니다. 맞춤 404 오류 페이지를 만들려고 시도하면서 Struts2가 의도 한대로 더 많은 작업을 수행하고 있음을 발견했습니다.Struts2 사용자 정의 404 오류 페이지가 표시되지 않습니다.
저는 struts.xml과 web.xml 파일 만 사용합니다. web-xml 파일에 다음 코드를 추가했습니다.
이제 웹 응용 프로그램을 시작할 때 평상시처럼 홈페이지로 이동합니다.
http://localhost:8080/MyWebApp/fhgfhfhfhgfhgfhfhfh
http://localhost:8080/MyWebApp/fhgfhfhfhgfhgfhfhfh.action
스트럿츠는 요청을 처리하는 인터셉터를 실행하고 자동으로 기본 페이지로 리디렉션됩니다
:이 유형의 URL을 (존재하지 않는 모든 URL)를하려고하면. 이 페이지에 404 오류 페이지가 표시 될 것으로 예상됩니다. Struts.xml에서이 줄을 제거하기는했지만 여전히 경로를 변경합니다!<default-action-ref name="index" />
나는 다음과 같은 URL을 사용하는 경우 :
이http://localhost:8080/MyWebApp/fhgfhfhfhgfhgfhfhfh.jsp
스트럿츠 그냥 빈 화면을 보여줍니다 더 요청이 procesed되고 있지 (아무 인터셉터, 아니 리디렉션을 ...). 나는이 요청에 대해 무효 한 것을 보지 못하기 때문에이 이상한 것을 발견한다. (존재하지 않는 .jsp 파일을 제외하고)
그래서 나는 struts.xml을 수정해야 기본값을 재정의 할 수있다. 리디렉션 동작 (404 오류가 홈페이지로 이동하는 것을 원하지 않음) 및 내 web.xml 또한 애매한 요청을 처리합니다 (따라서 사용자가 입력 한 모든 URL은 실제로
추신 : 내가 자바 예외/오류에 대해서 말하고있는 것이 아니라 http 오류에 대해서만 이야기합니다 .Harva 예외는 적절하게 처리되어 원하는대로 처리됩니다. 행동하십시오.
오류에 대한 필터 매핑을 추가하는이 흥미로운 특징을 알아 채고 문서화합니다. –