Я не делаю Jython, но в HttpServlet
API нет средств contextInitialized
или contextDestroyed
. Вы, вероятно, ищете интерфейс ServletContextListener
, который обычно должен быть реализован как следующий пример на основе Java:
package com.example;
import javax.servlet.ServletContextListener;
public class MyServletContextListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent event) {
// ...
}
public void contextDestroyed(ServletContextEvent event) {
// ...
}
}
... который должен быть определен как <listener>
в web.xml
следующим образом:
<listener>
<listener-class>com.example.MyServletContextListener</listener-class>
</listener>
Это должно дать вам представление о том, как подобрать его с помощью Jython.
При желании вы также можете разрешить сервлету расширять HttpServlet
и реализовывать ServletContextListener
следующим образом:
public class MyServlet extends HttpServlet implements ServletContextListener {
// ...
}
, чтобы вы могли получить код, который вы разместили (не забудьте импортировать определенный интерфейс и определить свой класс как и servlet
и listener
в web.xml
) , Но это не всегда считается хорошей практикой.
Тем не менее, вы должны помещать классы в пакет, чтобы избежать проблем с переносимостью. Это может работать в некоторых средах, но не в других. Sun также не рекомендует использовать классы без пакетов в средах без прототипов. Обычно они не могут быть импортированы другими классами, которые находятся в пакете.