Это действительно зависит от вашего веб-фреймворка.
Например, если вы используете Wicket, java-файлы и веб-страницы сосуществуют в одном и том же каталоге, пока
в большинстве других фреймворков - страницы (файлы .jsp или любой другой движок презентации) и
Материал кода (java-файлы) полностью отделен.
Прочтите документацию, прилагаемую к вашей платформе (Spring MVC, Struts, JSF e.t.c).
Еще одно хорошее предложение - использовать архетипы Maven для создания каркаса для вашей конкретной среды. Некоторые веб-фреймворки (например, seam) имеют даже собственный инструмент для генерации кода, который закладывает основы для вашего веб-проекта.
Мое единственное хорошее предложение (которое не упоминается Yoni) для каталога src:
делать пакеты в соответствии с бизнес-целями, а НЕ в соответствии с типом / слоем
Это означает, что пакеты для
- com.mycompany.myproject.customers
- com.mycompany.myproject.departments
- com.mycompany.myproject.billing
- com.mycompany.myproject.reports
- com.mycompany.myproject.admin
и НЕ
- com.mycompany.myproject.entities
- com.mycompany.myproject.tables
- com.mycompany.myproject.graphs
- com.mycompany.myproject.dialogs
- com.mycompany.myproject.servlets
Вторая структура слишком общая, имеет тенденцию разбираться в огромных пакетах с несвязанными вещами и ее трудно поддерживать.