Для webapps, которые я разрабатываю, я обычно использую следующую организацию файлов, так как я считаю, что она соблюдает соглашение:
src
|-- main
|-- resources
| |-- *.properties
| |-- *.xml
| |-- spring
| |-- applicationContext.xml (main application context config file)
|-- webapp
|-- WEB-INF
|-- spring
| |-- spring-mvc.xml (web application context config file, delegated to manage only the web part)
| |-- spring-security-http.xml (web security config)
|-- static
| |-- *.css
| |-- *.js
|-- views
| |-- *.jsp
|-- web.xml (deployment configuration)
Что я хотел бы попробовать, так это организовать мои файлы в соответствии со следующей структурой:
src
|-- main
|-- resources
| |-- *.properties
| |-- *.xml
| |-- web.xml
| |-- spring
| |-- applicationContext.xml
| |-- spring-mvc.xml
| |-- spring-security-http.xml
|-- webapp
|-- WEB-INF
|-- static
| |-- *.css
| |-- *.js
|-- views
|-- *.jsp
Конечно, при упаковке webapp файлы будут перемещены там, где они есть (например, файл web.xml в папке WEB-INF). Причина, по которой я хотел бы реорганизовать мои webapps, как указано выше, заключается в том, что мне удобнее иметь все файлы конфигурации *.xml в одном месте, вместо того, чтобы иметь здесь и некоторые там. Разве это плохая идея, по вашему мнению, нарушить мою первоначальную структуру? Если да, то почему? Почему так важно иметь все файлы веб-конфигурации в папке WEB-INF?
PS: технически я знаю, как хорошо соединить все файлы в пути класса Webapp. Вопрос касается скорее соглашения и отзывов от личного/профессионального опыта.