Как создаются объекты ServletConfig и ServletContext

В Servlets у нас есть ServletConfig и ServletContext. Проходя через API, я вижу, что оба являются интерфейсами. Следующее мои сомнения

1.ServletConfig и ServletContext являются интерфейсами, как эти объекты создаются, если они являются интерфейсами?

2. Это классы контейнера реализуют эти интерфейсы и обеспечивают реализацию?

3. Где я могу найти инстанцирующий код ServletConfig и ServletContext?

4. Когда именно создаются ServletConfig и ServletContext.

Также я прочитал, что существует SerlvetContextListener, и у него есть методы context Created() и contextDestroyed(). И эти методы вызываются при запуске сервера. Это как мы можем узнать, что объект ServletContext создан? Просто чтение книги не дает мне четкого представления о ServletConfig и ServletContext. Хотите знать код, как они создаются. Может кто-нибудь объяснить или предоставить ссылки, чтобы я мог пройти и получить ясную картину

1 ответ

1.ServletConfig и ServletContext являются интерфейсами, как эти объекты создаются, если они являются интерфейсами?

Реализация обеспечивается контейнером. Смотрите класс ApplicationContext, используемый в Tomcat

2. Это классы контейнера реализуют эти интерфейсы и обеспечивают реализацию?

Такой же как # 1

3. Где я могу найти инстанцирующий код ServletConfig и ServletContext?

Ищите jar tomcat-core в коде grep, и вы можете найти реализации. Я связал реализацию ServletContext выше.

4. Когда именно создаются ServletConfig и ServletContext.

ServletContext - это объект уровня приложения, а ServletConfig - для каждого сервлета. Оба будут созданы при загрузке вашего приложения.

Также я прочитал, что существует SerlvetContextListener, и у него есть методы context Created() и contextDestroyed(). И эти методы вызываются при запуске сервера. Это то, как мы можем узнать, что объект ServletContext создан?

Создайте пример приложения и добавьте ServletContextListener. Смотрите пример здесь. Вы можете добавить журналы в методе contextInitialized и Destroyed, чтобы увидеть, когда они будут вызваны.

Другие вопросы по тегам