Классы в пакете по умолчанию не видны классам, которые находятся внутри пакета.Вы должны помещать класс в пакет всякий раз, когда хотите импортировать его в другой класс, который сам по себе находится внутри пакета.Технически, когда файлы JSP компилируются, контейнер автоматически генерирует файл .class
, который сам по себе находится внутри пакета.Таким образом, вы не можете импортировать классы из пакета по умолчанию в JSP.
Таким образом, когда вы хотите иметь возможность повторно использовать класс где угодно, он должен быть помещен в конкретный пакет, а не в пакет по умолчанию.В качестве упражнения создайте два класса самостоятельно, один из которых находится внутри пакета, а другой - вне пакета.Теперь, внутри одного с пакетом, попробуйте import
и используйте тот без пакета.Вы увидите, что это невозможно, и код не скомпилируется.Контейнер сервлета сталкивается с точно такой же проблемой «под капотами».
См. Также:
Не связано с конкретной проблемой: написание сырого кода Java в файлах JSP - плохая практика .Попробуйте изучить и использовать сервлеты .