Да, можно, используя тег <%!...%>, который называется "декларацией".
java
Однако, такой подход считается плохой практикой по следующим причинам:
- Низкая читаемость и поддерживаемость: Смешивание логики (Java-код) и представления (HTML, JSP) делает код трудным для понимания и изменения.
- Трудности с тестированием: Код, определенный в декларации JSP, труднее изолировать для модульного тестирования.
- Повторное использование: Класс, определенный в одной JSP, недоступен из других JSP или других частей приложения.
- Нарушение принципов MVC: JSP должен отвечать за представление данных, а не за бизнес-логику или определение классов.
Более предпочтительный подход — определять классы в отдельных .java файлах и использовать их в JSP через import или посредством использования JavaBeans и EL (Expression Language).