Я читал много о сервере приложений GlassFish, что он поддерживает целую спецификацию Java EE 6. Но который поддерживает Tomcat?
Я знаю, что Tomcat является контейнером JSP/Servlet, но я вижу статьи в сети о "JSF и Tomcat", "В спящем режиме и Tomcat" и многое другое.
Может кот играть с этими технологиями: EJB, JSF, JPA, В спящем режиме, Spring, и т.д.?
Tomcat, являясь базовым контейнером сервлетов, действительно предоставляет только API JSP , сервлет , EL и WS . Однако вы можете просто предоставить JSF , JSTL , CDI , JPA , Hibernate , Spring и т. Д. Вместе с веб-приложением в виде JAR-файла (ов) в папке / WEB-INF / lib
и некоторых файлов конфигурации, где это необходимо.
EJB - это всего лишь отдельная история, поскольку вы не можете просто добавить «несколько JAR», чтобы заставить это работать, но на самом деле да, вы также можете поместить контейнер EJB поверх Tomcat, если измените сервер основной. Это также в основном то, что сделал TomEE . Вы также можете подумать об этом, если хотите перейти на Java EE.
Tomcat не является контейнером EJB, поэтому вы должны использовать для этого полноценный сервер JavaEE 6 (например, Glassfish, Websphere, Weblogic и т.д.).
Tomcat может использовать Spring/Hibernate, поскольку для этого требуются только соответствующие банки и конфигурации/определения контекста. То же самое относится и к JSF.
JPA - это абстрактная спецификация, а Hibernate (наряду с другими) - это реализация этой спецификации, поэтому ответ "да, она может быть реализована на Tomcat".
Tomcat поддерживает в зависимости от своей версии:
JSTL 1.0 : Servlet 2.3 : JSP 1,2 (tomcat 4)
JSTL 1.1 : Servlet 2.4 : JSP 2.0 (tomcat 5)
JSTL 1.2 : Servlet 2.5 : JSP 2.1 (tomcat 6)
Этот tomcat не предлагает В поддержку EJB по умолчанию уже ответили. EasyBeans покрывает эту проблему.
Чтобы включить JSF 1.2 в tomcat6, существует учебное пособие
РЕДАКТИРОВАТЬ: К сожалению, не существует единой матрицы зависимостей (/ совместимости). JPA - это API, который реализует, например, Спящий режим. Нетрудно выяснить, какие версии совпадают. И да, их можно использовать с Tomcat (помимо) Spring.
Я много читал о сервере приложений GlassFish, что он поддерживает всю спецификацию Java EE 6. Но что поддерживает Tomcat?
Tomcat (который больше не является RI спецификации сервлета со времен Java EE 5) не поддерживает any API Java EE 6 из коробки. В своей последней версии Tomcat 6 поставляется с:
В то время как «веб» часть GlassFish реализует:
Может ли tomcat играть с этими технологиями: EJB, JSF, JPA, Hibernate, Spring и т.д.?
Вы можете использовать некоторые из них, упаковав их в свое приложение (эта статья имеет хорошее резюме):
Но позвольте мне настоять: что бы вы ни добавили в Tomcat, вы не получите эквивалент контейнера Java EE 6, даже если мы просто сравним с реализацией веб-профиля (например, GlassFish v3 Web Profile): нет EJB 3.1 Lite, нет JTA 1.1, нет приложений без дескрипторов и т. Д.
Если у вас есть выбор, я предлагаю использовать веб-профиль GlassFish v3 и использовать Java EE 6.