Просто используйте метод сервлета doGet()
и вместо этого вызовите URL сервлета.
Е.Г.
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<User> users = userDAO.list();
request.setAttribute("users", users);
request.getRequestDispatcher("/WEB-INF/users.jsp").forward(request, response);
}
Отобразить этот сервлет в web.xml
следующим образом:
<servlet>
<servlet-name>users</servlet-name>
<servlet-class>com.example.UsersServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>users</servlet-name>
<url-pattern>/users</url-pattern>
</servlet-mapping>
Теперь сервлет доступен по http://example.com/context/users.
В файле /WEB-INF/users.jsp
используйте JSTL c:forEach
для отображения пользователей в таблице.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
...
<table>
<c:forEach items="${users}" var="user">
<tr>
<td>${user.name}</td>
<td>${user.email}</td>
<td>${user.age}</td>
</tr>
</c:forEach>
</table>
Файл JSP должен быть помещен в папку /WEB-INF
, чтобы он не был доступен без предварительного вызова сервлета.
Смотри также:
Обновление : для установки JSTL выполните следующие действия:
- Скачать jstl-1.2.jar .
- Перетащите его в папку
/WEB-INF/lib
. НЕ извлекайте это! НЕ меняйте web.xml
! Некоторые плохие онлайн-учебники предложат это. Они все не правы.
Объявите интересную метку в верхней части страницы JSP в соответствии с документацией TLD Например, JSTL core :
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>