Это точно правильно, потому что компилятор должен знать, какой тип он предназначен для распределения. Поэтому классы шаблонов, функции, перечисления и т. Д. Должны быть реализованы также в файле заголовка, если он должен быть опубликован или частично из библиотеки (статический или динамический), поскольку файлы заголовков НЕ скомпилированы в отличие от файлов c / cpp, которые находятся. Если компилятор не знает, что тип не может его скомпилировать. В .Net это возможно, потому что все объекты происходят из класса Object. Это не .Net.
Нет, это невозможно. Сервлет пишет HTML (в данном случае) ответ, и ваш стандартный клиент (веб-браузеры) поймет это.
JSP, однако, является динамической страницей и содержит код, который должен скомпилировать контейнер и запустить для получения вывода для ответа HTTP. Написание содержимого JSP на ответ (грубо говоря) отправит Java-код клиенту.
Если вам нужен динамический контент на этом уровне, возможно, вам стоит изучить специальную библиотеку тегов. Документацию можно найти здесь здесь