Может ли кто-нибудь объяснить основные различия между веб-контейнером и контейнером EJB? [Дубликат]

Это тот же ответ, который я дал в связи с этим: Дисплей: встроенный блок. Что это за пространство?

На самом деле есть действительно простой способ удаления пробелов из строки -block, который является простым и семантическим. Он называется настраиваемым шрифтом с пробелами в нулевой ширине, что позволяет сбрасывать пробелы (добавленные браузером для встроенных элементов, когда они находятся на отдельных строках) на уровне шрифта, используя очень маленький шрифт. После того, как вы объявите шрифт, вы просто измените font-family на контейнере и снова на детей, и вуаля. Вот так:

@font-face{ 
    font-family: 'NoSpace';
    src: url('../Fonts/zerowidthspaces.eot');
    src: url('../Fonts/zerowidthspaces.eot?#iefix') format('embedded-opentype'),
         url('../Fonts/zerowidthspaces.woff') format('woff'),
         url('../Fonts/zerowidthspaces.ttf') format('truetype'),
         url('../Fonts/zerowidthspaces.svg#NoSpace') format('svg');
}

body {
    font-face: 'OpenSans', sans-serif;
}

.inline-container {
    font-face: 'NoSpace';
}

.inline-container > * {
    display: inline-block;
    font-face: 'OpenSans', sans-serif;
}

Костюм по вкусу. Вот загрузка шрифта, который я только что приготовил в кузнице шрифтов, и преобразован с помощью генератора web-шрифтов FontSquirrel. Принял меня все 5 минут. Объявление css @font-face включено: затушеванный пробел ширины пробела . Это на Google Диске, поэтому вам нужно нажать «Файл»> «Загрузить», чтобы сохранить его на своем компьютере. Вероятно, вам придется изменить пути шрифтов, если вы скопируете объявление в основной файл css.

39
задан Arjan Tijms 19 June 2013 в 12:42
поделиться

5 ответов

Прежде всего, «J2EE» - это устаревшая аббревиатура, теперь она просто называется «Java Enterprise Edition» или Java EE.

В отличие от контейнера сервлетов (например, Tomcat), «полная» Java Серверы приложений EE также содержат контейнер EJB. EJB являются Enterprise Java Beans, и вы можете много узнать о них, например, здесь (глава IV). EJB теперь находятся в версии 3.2 (Java EE 7 и Java EE 8), предыдущие версии - 3.1 (Java EE 6) и 3.0 (Java EE 5); однако наибольшая разница между v2 и v3.

EJB предназначены для поддержания бизнес-логики вашего приложения. Например, сеансовый компонент без состояния может вычислить что-либо или представлять веб-службу или что-то, что нужно вашему приложению. Компоненты, управляемые сообщениями, могут прослушивать очереди сообщений, поэтому они полезны, если вы хотите асинхронную связь. Синглтон-бобы гарантируют один экземпляр для компонента и т. Д.

Что касается типа файла, EJB упаковывается в файл .jar, веб-приложение в .war-файл и если вы хотите смешать их в одном приложении, это будет файл .ear («корпоративный архив»).

Помимо EJB, «полный» сервер приложений также заботится о транзакциях, безопасности, ресурсах JDBC ... Я бы очень рекомендовал использовать его поверх контейнер с сервлетом, но преимущества приходят со сложностью, поэтому вам придется потратить достаточное количество времени, чтобы научиться справляться с Websphere ( Payara и WildFly намного проще и являются моими любимыми). JBoss и Weblogic также довольно популярны, и если вы знакомы с Tomcat, посмотрите TomEE .

79
ответ дан Rainer Keller 24 August 2018 в 19:02
поделиться

Контейнер java EE представляет собой решение для сервера приложений, которое поддерживает веб-контейнер, EJB 3 и другие API и сервисы Java EE, сервер Oracle WebLogic, сервер GlassFish, сервер приложений IBM WebSphere, сервер приложений JBoss и Caucho Resin являются примерами Java EE ... Надеюсь, что ответ на ваш запрос

0
ответ дан arif khan 24 August 2018 в 19:02
поделиться

Веб-контейнер и EJB-контейнер являются подмножествами контейнеров Java EE. Контейнеры Java EE также охватывают контейнер клиента клиента и applet container .

Вот что говорит doc :

Процесс развертывания устанавливает компоненты приложения Java EE в контейнерах Java EE.

  • Сервер Java EE: часть времени выполнения продукта Java EE. Сервер Java EE предоставляет контейнер EJB [контейнер и контейнер] *.
  • Контейнер Enterprise JavaBeans (EJB): Управляет выполнением корпоративных компонентов для приложений Java EE. Enterprise beans и их контейнер запускаются на сервере Java EE.
  • Веб-контейнер: управляет выполнением страниц JSP и компонентов сервлета для приложений Java EE. Веб-компоненты и их контейнер запускаются на сервере Java EE.
  • Клиентский контейнер приложения: управляет выполнением клиентских компонентов приложения. Клиенты приложений и их контейнер запускаются на клиенте.
  • Контейнер апплета: управляет выполнением апплетов. Состоит из веб-браузера и Java Plug-in, работающих на клиенте вместе.

* В документе они используют многоуровневую форму, но на самом деле у вас есть только один веб-контейнер и один контейнер EJB для Java EE-сервера.

3
ответ дан Leopold Gault 24 August 2018 в 19:02
поделиться

Контейнер Java EE: управляет выполнением запуска EJB, JMS, JTA на сервере Java EE, например. JBoss, Glassfish.

Веб-контейнер: управляет выполнением веб-страниц, сервлетов и некоторых компонентов EJB для приложений Java EE. Веб-компоненты и их контейнер запускаются на веб-сервере, таком как Jetty, tomcat.

27
ответ дан Masudul 24 August 2018 в 19:02
поделиться

Я думаю, что разница между ними - это протоколы, которые они поддерживают.

Например, мы не пытаемся управлять транзакцией в веб-контейнере, например tomcat, мы обычно пытаемся контролировать web-proj, который развернут в tomcat.while сервер веб-приложений, например ejb, принимает обратное.

0
ответ дан spectator 24 August 2018 в 19:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: