현재 시작시 특정 검사를 수행하는 Java 웹 응용 프로그램을 작성하고 있습니다. 예 : 구성 파일이 있는지 확인하고 필요한 모든 설정 변수를 정의합니다. Java 웹 응용 프로그램 시작 오류 처리를위한 올바른 방법
는 I는ServletContextListener
클래스의 하위 클래스 내부 검사 코드를 배치하여 web.xml의 내부 ServletContextListener 하위 등록 다음 재정의 contextInitialized에서
<listener>
<listener-class>com.bloxware.lls3.MainContextListener</listener-class>
</listener>
() I 코드 작성에있어서, 상기 구성 파일을 점검 유효한 값이 들어 있습니다.
시작시 오류가 발생하면이 오류를 기록하고 웹 사용자에게 알리고 자합니다.
여기에서 앞으로 이동하는 방법에 대한 도움이 필요:
내가합니다 (ServletContextListener.contextInitialized (..) 메소드 내에서) 올바른 위치에 구성 파일 매개 변수를 읽는 건가요?
일단 이것이 발생하면 사용자에게 오류 페이지 표시를 처리하는 방법 (예 : 전역 플래그를 확인하기 위해 각 서블릿 및 JSP 페이지에 코드를 추가해야합니까? 아니면 더 똑똑한 방법으로 코드를 추가 할 수 있습니까? ServletRequestListener.requestInitialized (..))?
사용자가 구성 파일을 수정하는 경우 페이지를 새로 고치는 것으로 충분하므로 웹 응용 프로그램을 다시 시작할 필요가 없습니다.
관리자가 구성 파일을 변경하고 데이터베이스 암호, 데이터베이스 사용자 이름 또는 기타 구성 매개 변수를 잘못 입력하면 어떻게됩니까? 이 사건이 발생하면, 웹 애플리케이션이 JSP 페이지와 서블릿에 대한 액세스를 허용하지 않고 "적어도 오류가 발생했습니다. 관리자에게 문의하십시오"라는 오류 페이지로 넘어 가고 싶습니다. 이 시점에서 관리자는 연락을 취할 수 있으며 로그 파일을 쉽게 확인할 수 있습니다. –
당신은 말했다 : "웹 응용 프로그램은 작동 할 수 없다는 것을 알고 시작하면 안된다." 질문 : 어떻게 응용 프로그램을 시작할 수 없습니다. 어떤 방법을 써야 시작되지 않는지, 즉 serlvets와 JSP는 더 이상 액세스 할 수 없게됩니다. 현재 오류가 발생하지만 페이지에 액세스 할 수 있으므로이 동작이 마음에 들지 않습니다. –
"구성 파일이 제 위치에 있고 필요한 모든 설정을 포함하고 있는지 확인하는 것은 응용 프로그램 시작 시간이 아닌 테스트에서 수행해야하는 작업입니다." -> 제품을 빌드 할 때 구성 파일은 사용자 입력의 일부이며 검증되어야합니다. 관리자가 구성 파일에 잘못된 값을 입력하면 사용자 인터페이스의 표시와 함께 정상적으로 실패해야합니다. 나는 그것에 대한 단위 테스트에 의지 할 수 없다. –