Как вызвать servet при открытии файла .jsp - PullRequest
0 голосов
/ 22 августа 2011

Я создал слайд-шоу с помощью jQuery. Это связано с базой данных с сервлетом. Итак, мне нужно вызвать сервлет, чтобы запустить слайд-шоу. Я попытался вызвать сервлет из index.jsp с помощью include, но он не нашел сервлетов SlideShow. Я пытался использовать Ajax для вызова сервлета, но он не может показывать слайд-шоу. Пожалуйста, как позвонить?

1 Ответ

2 голосов
/ 22 августа 2011

Просто вызовите сервлет напрямую по URL-адресу вместо файла JSP, выполните работу в методе doGet() и, наконец, позвольте сервлету переслать запрос в JSP, чтобы он мог сгенерировать и отправить HTML-материал.

@WebServlet(urlPatterns={"/index"})
public class IndexServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // Do your job here.
        // ...
        request.getRequestDispatcher("/WEB-INF/index.jsp").forward(request, response);
    }

}

Вызовите это с помощью http://example.com/contextname/index вместо http://example.com/contextname/index.jsp и поместите JSP в папку /WEB-INF, чтобы предотвратить ее открытие без вмешательства сервлета.

Youможет выполнить предварительную обработку в методе doGet() и сохранить данные как атрибут запроса.Например,

List<Data> data = dataService.list();
request.setAttribute("data", data); // It'll be available by ${data} in JSP.

Что касается истории Ajax, возможно, вы просто неправильно ее реализуете.Вы можете найти здесь несколько примеров: Как использовать сервлеты и Ajax?

См. Также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...