[0] Element
web-app 태그내의 Element들의 순서를 무시하면 다음과 같은 로그를 만나게 된다.
- filter는 filter들끼리...
filter-mapping은 filter-mapping끼리... 순서대로 배열해야 한다.
하지만 설정된 기능이 동작하는되는 별 문제가 없는듯....
- 다음은 톰캣 시작시 발생했던 로그....
심각: Parse Error at line 70 column 11:
The content of element type "web-app" must match
"(icon?,display-name?,description?,distributable?,context-param*
,filter*
,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?
,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-env-ref*
,resource-ref*,security-constraint*,login-config?,security-role*
,env-entry*,ejb-ref*,ejb-local-ref*)".
org.xml.sax.SAXParseException:
The content of element type "web-app" must match
"(icon?,display-name?,description?,distributable?,context-param*,filter*
,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?
,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-env-ref*
,resource-ref*,security-constraint*,login-config?,security-role*
,env-entry*,ejb-ref*,ejb-local-ref*)".
[1] 서블릿 맵핑(Servlet Mapping) 설정
web.xml 파일을 오픈해서 보면....
중략...
helloclass
HelloWorldServlet
helloclass
/Hello
중략 ...
Hello가 url-pattenrn 으로 servlet-class인 HelloWorldServlet 으로 작동 되는 것임
[2] 서블릿 미리 로딩하기 : load-on-startup
log4j-init
com.kdhc.ets.log.Log4jInit
log4j-init-file
WEB-INF/classes/log4j.properties
1
load-on-startup의 값 : 컨텍스트 시작시 지정된 서블릿의 시작순서...
- 음의 정수 : 해당서블릿에 액세스 할 경우
- 0 혹은 양의 정수 : 서블릿이 배치(deploy) 될 때(컨텍스트가 인식될 때)
1 이상인 경우는 서블릿의 init()가 호출되는 순서....