Когда теги JSTL не запускаются, либо у вас вообще не установлен JSTL, либо вы используете древнюю версию JSTL 1.0, которая имеет другой URI тега lib. Самый простой способ проверить, запущен ли JSTL или нет, это открыть страницу в браузере, сделать правый клик и Просмотр источника . Если вы видите, что теги JSTL все еще там, значит, он определенно не запущен.
JSTL по умолчанию входит в состав более полноценных серверов приложений, но не в небольшие и простые сервлет-контейнеры, такие как Tomcat, Jetty и т. Д. Вам нужно было бы поместить необходимые файлы JSTL JAR в папку /WEB-INF/lib
веб-приложения или /lib
папка сервера самостоятельно.
Для получения более подробной информации, см. Нашу вики-страницу JSTL .
Кстати, ваш сервлет не расширяется HttpServlet
и вообще не пересылается в JSP, но я буду считать его небрежным упрощением при подготовке кода для вопроса. Если вы действительно не запрашиваете страницу JSP через сервлет, то причина совершенно иная. Решение простое: вызывайте сервлет по URL, а не по JSP. При необходимости спрячьте JSP в /WEB-INF
, чтобы конечный пользователь никогда не мог случайно вызвать его по URL. Смотрите также наша вики страница сервлетов .
Вся эта строка <%@page import="GeneralClasses.FooClass" %>
также не нужна.