список магазинов сервлетов в контексте сервлетов - PullRequest
0 голосов
/ 15 октября 2010

Момент, когда основной сервлет развернут, ему необходимо выполнить расчеты и подготовить список.этот список должен быть доступен для другого сервлета, который вызывается впоследствии.расчет должен выполняться только один раз.Кто-нибудь может объяснить, как это сделать.

спасибо

Ответы [ 2 ]

3 голосов
/ 15 октября 2010

Вы можете использовать ServletContextListener и выполнять вычисления оттуда.


Файл класса:

public final class YourListener implements ServletContextListener {
    @Override
    public void contextInitialized(ServletContextEvent event) {
        ServletContext context = event.getServletContext();
        //Calculation goes here
    }

    @Override
    public void contextDestroyed(ServletContextEvent event) {
        //Nothing to do
    }
}

web.xml:

<web-app>
    <!-- ... -->
    <listener>
        <listener-class>ext.company.project.listener.YourListener</listener-class>
    </listener>
    <!-- ... -->
</wep-app>

Ресурсы:

0 голосов
/ 15 октября 2010

в вашем основном методе инициализации сервлета

public void init(ServletConfig config) throws ServletException {
    super.init(config);

    // do calculations
    ArrayList resultsList = calculate_something();

    // save for other servlets
    config.getServletContext().setAttribute("SAVED_DATA", resultsList);
}

в других сервлетах

// retrieving value from ServletContext
ArrayList list = (ArrayList)getServletContext().getAttribute("SAVED_DATA");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...