Что glassfish альтернативна к context.xml

Не слушайте каждый люди, говорящие Вам, что пространства имен являются просто пространствами имен.

Они важны, потому что они, как полагает компилятор, применяют интерфейсный принцип. В основном это может быть объяснено примером:

namespace ns {

class A
{
};

void print(A a)
{
}

}

, Если бы Вы хотели распечатать объект, код был бы этим:

ns::A a;
print(a);

Примечание, что мы явно не упоминали пространство имен при вызывании функции. Это - интерфейсный принцип: C++ рассматривает функцию, берущую тип в качестве аргумента, как являющегося частью интерфейса для того типа, таким образом, никакая потребность определить пространство имен, потому что параметр уже подразумевал пространство имен.

Теперь, почему этот принцип важен? Предположите, что автор класса A не обеспечил печать () функция для этого класса. Необходимо будет обеспечить тот сами. Поскольку Вы - хороший программист, Вы определите эту функцию в своем собственном пространстве имен, или возможно в глобальном пространстве имен.

namespace ns {

class A
{
};

}

void print(A a)
{
}

И Ваш код может начать называть печать (a) функцией везде, где Вы хотите. Теперь предположите, что несколько лет спустя, автор решает обеспечить печать () функция, лучше, чем Ваш, потому что он знает внутренности своего класса и может сделать лучшую версию, чем Ваш.

Тогда авторы C++ решили, что его версия печати () функция должна использоваться вместо той, обеспеченной в другом пространстве имен, для соблюдения интерфейсного принципа. И что это "обновление" печати () функция должна быть максимально легкой, что означает, что Вы не должны будете изменять каждый вызов на печать () функция. Вот почему "функции интерфейса" (функция в том же пространстве имен как класс) можно назвать, не определяя пространство имен в C++.

И вот почему необходимо рассмотреть пространство имен C++ как "интерфейс", когда Вы используете один и имеете в виду интерфейсный принцип.

, Если Вы хотите лучшее объяснение этого поведения, можно отослать к книге Исключительный C++ от Herb Sutter

5
задан corydoras 6 November 2009 в 04:44
поделиться

3 ответа

Оказывается, ответ заключается в том, что альтернативы разделу в tomcats context.xml нет.

Оказывается, что элемент - это специфическая вещь для кота, которая обычно не поддерживается другими серверами приложений, такими как Glassfish.

0
ответ дан 14 December 2019 в 19:17
поделиться

В соответствии со спецификациями Java EE в файле web.xml вашего приложения.

Вот рекламное объявление tomcat о context.xml.

Вы можете настроить именованные значения, которые будет виден в Интернете приложение как контекст сервлета параметры инициализации вложением элементы внутри этого элемент. Например, вы можете создать параметр инициализации, подобный этому:

 <Контекст ...> ... 


Это эквивалентно включению следующего элемента в сети дескриптор развертывания приложения (/WEB-INF/web.xml):

  
  companyName  
  Моя компания, Incorporated 

1
ответ дан 14 December 2019 в 19:17
поделиться

Вместо этого вы можете использовать свойства JNDI. Я считаю, что Glassfish использует файл jndi.properties.

http://docs.sun.com/app/docs/doc/820-4336/gcpge?a=view

0
ответ дан 14 December 2019 в 19:17
поделиться
Другие вопросы по тегам:

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