자바 웹 프로젝트 에서 웹. xml 에서 load - on - startup 태그 역할 이해

4304 단어 Java
자바 웹 프로젝트 에서 웹. xml 에서 load - on - startup 태그 역할 이해
문제 설명
1. 자바 웹 프로젝트 에서 웹. xml 에 탭 이 있 음 을 발견 합 니 다.
1

이 탭 의 수치 가 1 인 것 을 발 견 했 습 니 다. 왜 1 입 니까?호기심 이 생 겨 서 연 구 를 해 봤 어 요.
2. 코드 참조

        	ServerTwo
        	ServerTwo
        	com.xx.xx.servlet.ServerTwo
                1
        
        
        	ServerTwo
        	/ServerTwo
        

2. 문제 사고
1. 인터넷 에서 찾 아 보 니 load - on - startup 은 시작 할 때 불 러 오 는 것 을 의미 합 니 다. 그러면
1. 시작 할 때 바로 불 러 오기 ("1"대응 boolean 값 true) 로 이해 할 수 있 습 니까?
0: 시작 할 때 불 러 오지 않 고 호출 할 때 불 러 옵 니까?
3. 코드 실험
1. 웹 프로젝트 만 들 기
2. Servlet 두 개 를 만 들 고 init 방법 을 다시 쓰 며 출력 을 추가 합 니 다.
@Override
public void init(ServletConfig config) throws ServletException {
	System.out.println(this.getClass().getName() +" init success.");
}

3. 웹. xml 에 Servlet 를 설정 하면 다음 과 같 습 니 다.

        	ServerOne
        	ServerOne
        	com.xx.study.servlet.ServerOne
        	0
        
        
        	ServerTwo
        	ServerTwo
        	com.xx.study.servlet.ServerTwo
		1
        
        
        	ServerOne
        	/ServerOne
        
        
        	ServerTwo
        	/ServerTwo
        

4. Tomcat 시작, 콘 솔 로그 출력 관찰
com.xx.study.servlet.
ServerOne init success.
com.xx.study.servlet.
ServerTwo init success.
5. 로그 분석
앞의 추측 에 따 르 면 1 = true, 시작 할 때 불 러 오기, 0 = false, 호출 할 때 불 러 오기. 출력 로 그 를 보면 이 추측 은 잘못된 것 입 니 다.
0 优先加载于 1

6. ServerOne 과 ServerTwo 위 치 를 맞 추고 로 딩 순서 와 관련 이 있 는 지 확인 합 니 다.

        	ServerTwo
        	ServerTwo
        	com.xx.study.servlet.ServerTwo
		1
        
         
        	ServerOne
        	ServerOne
        	com.xx.study.servlet.ServerOne
        	0
        
        
        
        	ServerTwo
        	/ServerTwo
        
        
        	ServerOne
        	/ServerOne
        

7. 대조 후 로그 분석
com.xx.study.servlet.
ServerOne init success.
com.xx.study.servlet.
ServerTwo init success.
결론: ServerOne, ServerTwo 위치 와 는 무관 하 다.
4. 계속 테스트 (웹. xml 수정, Tomcat 재 부팅, 콘 솔 로그 출력 관찰)
1. 테스트 1
ServerOne : 0 : 正常日志输出
ServerTwo : -1 :无日志输出

       2. 테스트 2
ServerOne :不配置该标签: 无日志输出
ServerTwo : -11 :无日志输出

3. 테스트 3
ServerOne : 10 :日志输出,在ServerTwo之前
ServerTwo : 20 :日志输出,在ServerOne之后

5. 결론 (총괄)
1. load - on - startup 태그 역할: 용기 가 시 작 될 때 Servlet 를 불 러 올 지 여부 입 니 다.
2. load - on - startup 태그 가 음수 이거 나 설정 되 지 않 을 때 용기 가 시 작 될 때 Servlet 를 불 러 오지 않 습 니 다. (호출 시 불 러 오기)
3. load - on - startup 태그, 정수, 용기 시작 시 Servlet 를 불 러 옵 니 다. 또한 순서 우선 순위: 0 > 1 > 2 >... n
참고 자료:
웹. xml 에서 load - on - startup 태그 의 의미
웹. xml 의 listener, filter, servlet 로드 순서 및 상세 한 설명

좋은 웹페이지 즐겨찾기