Какие технологии поддерживает Tomcat?

java tomcat java-ee

11061 просмотра

5 ответа

Я много читал о сервере приложений GlassFish, который поддерживает всю спецификацию Java EE 6. Но что поддерживает Tomcat?

Я знаю, что Tomcat - это контейнер JSP / Servlet, но я вижу в Интернете статьи о «JSF и Tomcat», «Hibernate и Tomcat» и многих других.

Может ли Tomcat играть с этими технологиями: EJB, JSF, JPA, Hibernate, Spring и т. Д.?

Автор: mehdi shahdoost Источник Размещён: 12.11.2019 09:09

Ответы (5)


17 плюса

Решение

Tomcat, являясь базовым контейнером сервлетов , действительно предоставляет только API-интерфейсы JSP , Servlet , EL и WS . Однако вы можете просто предоставить JSF , JSTL , CDI , JPA , Hibernate , Spring и т. Д. Вместе с веб-приложением в виде файлов JAR в /WEB-INF/libпапке и некоторых файлов конфигурации, где это необходимо.

EJB - это всего лишь отдельная история, поскольку вы не можете просто добавить «несколько JAR-файлов», чтобы заставить это работать, но на самом деле да, вы можете поместить контейнер EJB поверх Tomcat, если вы измените ядро ​​сервера. Это также в основном то, что сделал TomEE . С тем же успехом вы можете подумать об этом, если вы намерены перейти на Java EE.

Смотрите также:

Автор: BalusC Размещён: 18.05.2010 12:27

6 плюса

Я много читал о сервере приложений GlassFish, который поддерживает всю спецификацию Java EE 6. Но что поддерживает Tomcat?

Tomcat (который больше не является RI спецификации Servlet со времен Java EE 5) не поддерживает ни один из API Java EE 6 из коробки. В последней версии Tomcat 6 поставляется с:

  • Сервлет 2.5
  • JSP 2.1 / EL 2.1

В то время как «веб» часть GlassFish реализует:

  • Java Servlet 3.0
  • JavaServer Faces 2.0
  • JavaServer Pages 2.2 / Expression Language 2.2
  • Стандартная библиотека тегов для страниц JavaServer (JSTL) 1.2

Может ли Tomcat играть с этими технологиями: EJB, JSF, JPA, Hibernate, Spring и т. Д.?

Вы можете использовать некоторые из них, упаковав их в свое приложение ( эта статья содержит краткое резюме):

  • EJB 3.1: нет, на момент написания этой статьи не было отдельного контейнера EJB 3.1 (и если вы планируете использовать EJB, используйте настоящий сервер Java EE, Tomcat с автономным контейнером EJB не является эквивалентом, особенно с точки зрения диспетчера транзакций). зрения).
  • JSF 2.0 и EL 2.2: да, возможно с некоторой болью
  • CDI 1.0: да, возможно
  • Проверка бина 1.0: да возможно с JSF 2.0 и JPA
  • JPA 2.0: да, возможно, но вам придется самостоятельно приобрести EntityManager и самостоятельно управлять транзакцией (или использовать сторонний контейнер, такой как Spring).

Но позвольте мне настаивать: что бы вы ни добавили в Tomcat, вы не получите эквивалент контейнера Java EE 6, даже если мы просто сравним его с реализацией веб-профиля (например, GlassFish v3 Web Profile ): нет EJB 3.1 Lite, нет JTA 1.1, нет дескрипторных приложений и т. д.

Если у вас есть выбор, я бы предложил использовать GlassFish v3 Web Profile и использовать Java EE 6.

Автор: Pascal Thivent Размещён: 19.05.2010 05:13

2 плюса

Tomcat не является EJB-контейнером, поэтому вы должны использовать для этого полноценный сервер JavaEE 6 (например, Glassfish, Websphere, Weblogic и т. Д.).

Tomcat может использовать Spring / Hibernate, так как для этого требуются только соответствующие jar-файлы и определения конфигурации / контекста. То же самое относится и к JSF.

JPA является абстрактной спецификацией, а Hibernate (наряду с другими) является реализацией этой спецификации, поэтому ответ «да, она может быть реализована на Tomcat».

Автор: mindas Размещён: 18.05.2010 12:25

2 плюса

Я нашел таблицу на странице кота полезной. Страница: http://tomcat.apache.org/whichversion.html

Автор: sonara Размещён: 14.12.2017 10:17

1 плюс

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, который реализован ig Hibernate. Не должно быть трудно узнать, какие версии соответствуют. И да, они могут быть использованы с Tomcat (помимо) Spring.

Автор: stacker Размещён: 18.05.2010 12:51
Вопросы из категории :
32x32