Tomcat이 시작되면 콘솔에서 많은 정보가 출력됩니다. 정보에 따르면 Tomcat이 시작되면 많은 프로젝트 구성 파일이 로드되고 프로젝트 초기화 메서드가 호출되지만 어떻게 호출되었는지는 알 수 없습니다. 어디서 불렸나요? Tomcat으로 뭔가를 구성해야 합니까?
PS:javaweb 프로젝트
PHP中文网2017-07-05 10:04:11
포스터에 필요한 것은 시스템이 서블릿의 라이프사이클을 이해하는 것입니다. 서블릿을 구현할 때 웹 애플리케이션이 시작될 때 호출되는 메소드. 이에 대한 기사가 너무 많습니다.
http://www.jianshu.com/p/1d50...
http://www.runoob.com/servlet...
習慣沉默2017-07-05 10:04:11
세 가지 방법이 있습니다:
@treeandgrass가 말했듯이 특정 서블릿init()
,但前提是在web.xml中给load-on-startup设上值(或者加@WebServlet
주석을 다시 작성하세요);
특정 필터에 대한 init()
,配在web.xml中(或者加@WebFilter
주석 구현)
ServletContextListener 인터페이스를 구현하고 contextInitialized()
,配在web.xml中(或者加@WebListener
주석을 구현합니다.
이 세 가지 방법 중 마지막 방법인 ServletContextListener를 가장 자주 사용합니다(저는 주로 웹에서 Spring을 사용할 때만 이 방법을 사용합니다). 왜냐하면 이 방법은 항상 Filter 및 Servlet 실행보다 우선하며 특정 기능을 구현하지 않기 때문입니다. 와 필터가 함께 혼합됩니다.
초기화 작업에는 다음이 포함됩니다:
스레드 풀, 데이터베이스 연결 풀, 네트워크 연결 풀 초기화
IoC 컨테이너 로딩
타이머 시작
초기화가 필요한 기타 개체
위의 초기화 작업은 대부분 웹 서버가 중지되면 닫아야 하며 이러한 작업은 contextDestroyed()
로 작성해야 합니다.