Нужно ли JSF (или любой другой инфраструктуре java EE) свой собственный тип серверов, или если сервер может размещать jsp / servlets, может ли размещать приложения JSF?
ЕслиСервер может запускать JSP / сервлеты, он может запускать JSF (JSf скрытно использует сервлеты).Вам просто нужно связать библиотеку реализации jsf (пример: файл jar Mojarra) с вашим веб-приложением.
Работают ли приложения, разработанные с использованием Glassfish, на серверах TomCat, JBOSS или любых других?
Tomcat - это контейнер сервлетов, это не стандартный сервер приложений Java EE.Другими словами, у Tomcat нет EJB-контейнера или CDI (Context and Dependency Injection).Поэтому, если вы использовали какие-либо EJB или CDI в своем приложении, разработанном с использованием JBoss или Glassfish, это не сработало бы для Tomcat.
Glassfish и Jboss полностью поддерживают приложения Java EE.Таким образом, все, что разработано с использованием Glassfish, технически может работать на JBoss.Возможно, вам придется сделать небольшие изменения, такие как предварительное ожидание имен JNDI и т. Д.
Надеюсь, это поможет.