2013-04-06 4 views

ответ

3

Спецификация сервлета говорит, что дескриптор развертывания - WEB-INF/web.xml. Это то, к чему все инструменты и все серверы/серверы сервлетов согласованы и знают, чтобы справиться.

Почему бы вам не сделать это?

В некоторых случаях вам не нужен один на всех - смотрите раздел А.6.6 о servlet spec 3.0

Веб-приложение не требуется содержать web.xml, если он не содержать любые компоненты Servlet, Filter или Listener. Другими словами, приложение , содержащее только статические файлы или страницы JSP, не требует наличия web.xml.

Edit: Ответ на ваш комментарий, если вы хотите иметь две разные версии для двух различных appservers, вы должны либо настроить оба appservers по-разному (например, путем предоставления различных параметров - читать о JNDI, например, и использовать его для подключения к вашей базе данных), посредством изменений времени сборки, например настроить ant или maven для создания двух версий вашего webapp или во время развертывания - например, развертывание сценария и обновление файла WAR через скрипт во время шагов развертывания.

Я пропустил один ответ раньше: Tomcat (а также JBoss) является открытым исходным кодом. Поэтому технически вы можете перекомпилировать его с помощью другого кода, чтобы прочитать дескриптор развертывания. Но a) вы потеряете всю поддержку инструмента, потому что никакая среда IDE не ожидает, что эта конфигурация будет иметь какой-либо эффект, например, в web.xml (подумайте о чтении taglib и указав на проблемные JSP), и b) вы создадите кошмар для обслуживания, как вы должны делать это для каждой новой версии tomcat и никто, но вы ожидаете такого поведения любого уважающего себя веб-сервера

+0

У меня есть приложение, которое я хочу развернуть на два разных сервера (tomcat 7 и jboss as). Поэтому я подумал, может быть, я смогу настроить его по-другому на tomcat с другим файлом. См. Здесь http://stackoverflow.com/questions/15794577/testing-spring-openshift-application-locally – lunr