Что означает WEB-INF в веб-приложении Java EE?

В большинстве мест в Интернете говорится, что это означает WEB INF.

Я скорее сомневаюсь. Папка содержит исполняемые файлы. Информация не подходит для этого названия.


person euphoria83    schedule 28.03.2009    source источник
comment
META-INF/services/ по существу содержит код, хотя и на довольно минималистском специализированном языке.   -  person Tom Hawtin - tackline    schedule 28.03.2009
comment
Дублирующий вопрос, который был задан гораздо лучше: stackoverflow.com/questions/19786142/   -  person BalusC    schedule 18.02.2016


Ответы (5)


Насколько я знаю, "INF" означает "Информация", как вы сказали. Вероятно, он был назван WEB-INF по сходству с каталогом META-INF в файлах JAR. Иногда значение каталога со временем меняется так сильно, что теряет смысл. Например, каталоги bin в Unix/Linux часто содержат небинарные «исполняемые» файлы, такие как сценарии оболочки.

person Andy White    schedule 28.03.2009
comment
Что плохого в том, чтобы придерживаться META-INF? Зачем изобретать WEB-INF, когда META-INF уже служит нужной цели? - person Pacerier; 17.11.2014
comment
@Pacerier: разделение проблем. WEB-INF доступен как веб-ресурс. т.е. ServletContext#getResource()/getResourceAsStream() может получить к нему доступ так же, как и ServletRequest#getRequestDispatcher(). META-INF недоступен как веб-ресурс и не должен быть доступен. т.е. вы не должны помещать туда веб-ресурсы, такие как файлы JSP. - person BalusC; 06.01.2020

Я считаю, что на самом деле он называется WEB-INF, чтобы отразить каталог META-INF в файле jar, который содержит метаинформацию. Я понимаю, что вы имеете в виду, говоря, что это касается как исполняемых файлов, так и «информации», но главное в том, что он не содержит документов приложения.

person Jon Skeet    schedule 28.03.2009
comment
@jon skeet: измени теги, если хочешь - person euphoria83; 28.03.2009
comment
Похоже, это было сделано - сейчас я отредактирую ответ, чтобы он все еще имел смысл :) - person Jon Skeet; 28.03.2009
comment
(Есть ли смысл в том, чтобы иметь этот ответ, а также ответ Энди Уайта? Мне хочется удалить.) - person Jon Skeet; 28.03.2009

Это каталог для хранения частного содержимого приложения. Все, что нужно вашему приложению, но не нужно вашему клиенту, может храниться там. Все, что находится в этом каталоге, не отображается в Интернете.

Источник:

http://tomcat.apache.org/tomcat-7.0-doc/appdev/source.html#Directory_Structure http://docs.oracle.com/cd/E13222_01/wls/docs70/webapp/basics.html#136976

person Churro    schedule 02.07.2013
comment
На самом деле это не отвечает на вопрос, что на самом деле означает WEB-INF. - person Kevin Workman; 28.05.2017

Я думаю, единственно логичным определением является то, что WEB-INF является зеркалом META-INF. Именование действительно важно для новичков, и если оно сбивает с толку, значит, предмет становится все труднее понять.

person Özmen Adıbelli    schedule 21.10.2009

Папка WEB_INF содержит файл web.xml (дескриптор развертывания), классы, внешние библиотеки и т. д., а поскольку файл web.xml содержит информацию об URL-адресах контейнера, файлах и т. д., папка известна как WEB-INF.

person Rachit Mishra    schedule 18.09.2012
comment
На самом деле это не отвечает на вопрос, что на самом деле означает WEB-INF. - person Kevin Workman; 28.05.2017
comment
Был добавлен и принят лучший ответ :) Цитата @andy-white As far as I know, "INF" stands for "Information", as you said. It probably was named WEB-INF for similarity with the META-INF directory in JAR files. - person Rachit Mishra; 30.05.2017