динамический контент во время загрузки на странице jsp с использованием сервлета

это мой вопрос: я хочу получать динамическую информацию на странице jsp, когда я перенаправляю на нее, но не использую скриптлет, используя сервлет, поэтому в конечном итоге я хочу вызвать сервлет, когда моя страница jsp загружается, поэтому без каких-либо действий формы я должен это сделать

заранее спасибо.


person jay    schedule 17.11.2010    source источник


Ответы (2)


Вместо этого просто вызовите сервлет и позвольте сервлету перенаправить запрос в JSP после предварительной обработки.

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // Do your preprocessing job here. E.g. retrieving list of products to display in JSP.
    List<Product> products = productDAO.list();
    request.setAttribute("products", products); // It'll be available as ${products} in JSP.

    // Finally forward request to JSP.
    request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
}

Сопоставьте этот сервлет с url-pattern, например, /page, и вызовите его с помощью http://example.com/context/page< /а>. Размещение JSP в папке /WEB-INF эффективно скрывает его от прямого доступа, так что ensuder не может открыть его без сервлета.

Смотрите также

person BalusC    schedule 17.11.2010

Вам нужно подумать о том, где код выполняется в разное время. Ваш JSP является сервлетом, он работает на сервере и отправляет HTML в браузер. После того, как браузер отобразил HTML-страницу, ваш JSP больше не работает, вы просто получили HTML в браузере.

На этой странице могут быть ссылки или кнопки отправки формы, которые будут вызывать новый ресурс, такой как сервлет или JSP, на сервере и возвращать браузеру совершенно новую страницу. Я не совсем понимаю ваш вопрос, я думаю, вы не хотите отправлять форму, но вы можете просто позволить пользователю щелкнуть ссылку.

Однако я подозреваю, что вы хотите обновить часть страницы, не перерисовывая ее целиком. Иногда это называют программированием AJAX. Некоторый JavaScript на вашей HTML-странице запускается, делает вызовы на сервер, а затем изменяет HTML, тем самым отображая новые данные.

AJAX — это обширная тема, требующая навыков работы с JavaScript и получающая большие преимущества от таких фреймворков, как Dojo или JQuery. Я предлагаю вам немного погуглить эти темы, а затем вернуться с конкретными вопросами.

person djna    schedule 17.11.2010