Java « Как отрисовать jsp из java сервлета и передать данные из сервлета в jsp?

Есть некоторая логика в сервлете, получаю данные из БД и нужно передать переменные в шаблонный jsp файл, который выведется в браузер.
Нужно

  • отрисовать указанный jsp файл.
  • передать переменные из сервлета в jsp.



Прошу не пинать ногами, я писал на яве довольно долго, но не под вэб. Сейчас использую сервлеты(пытаюсь), но имею некоторые трудности перестроиться под вэб.

1 ответов


Что-то я не совсем понял что требуется, но возможно Вам это поможет.

Попробую воспроизвести несколько способов передачи данных из сервлета в jsp:

Через Session

(данные видны из любого сервлета/jsp в данной сессии)
В сервлете:

HttpSession session = request.getSession(true);
session.setAtribute("myData", myValue);
 
В jsp:

<%= session.getAttribute("myData") %>
 
или

<jsp:useBean id="myData" class="anyClass" scope="session">
 

Через Request

В сервлете:

request.setAtribute("myData", myValue);
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("<путь к jsp>")
dispatcher.forward(request, response);
 
В jsp

<%= request.getAttribute("myData") %>
 
или

<jsp:useBean id="myData" class="anyClass" scope="request">
 

Через ServletContext

(при этом данные будут видны всем инстантным приложения)
В сервлете:

getServletContext.setAttribute("myData", myValue);
 
В jsp также, только scope нужно установить в application

А как с помощью этого выполнить метод другого сервлета?