Tapestry/Структура проекта
При создании нового приложения с использованием Tapestry, создается типовая иерархия файлов и директорий проекта. Классы Java размещаются в /src/main/java
(Source Packages↓), дополнительные ресурсы находятся в директории /src/main/resources
(Other sources↓), веб страницы в /src/main/webapp
(Web Pages↓).

С физическое местоположение файлов нас мало интересует, далее мы будем рассматривать логическую иерархию файлов в NetBeans.
Любая страница описывается в виде класса, котороый находится в пакете appname.pages, где appname — имя пакета c классами Tapestry. В файле web-pages/WEB-INF/web.xml параметр tapestry.app-package
задаёт этот пакет.
Web PagesПравить
В этом каталоге находятся шаблоны страниц (*.tml) приложения
Файл index.tmlПравить
Шаблон главной (индексной) страницы.
META-INFПравить
WEB-INFПравить
appname.propertiesПравить
Глобальные свойства проекта, такие как, заголовки, сообщения (messages), хранятся в специальнов файле:
web-pages/WEB-INF/appname.properties
Файл web.xmlПравить
Файл основных параметров приложения.
<context-param>
<?-- Путь где tapestry будет искать файлы -->
<param-name>tapestry.app-package</param-name>
<param-value>com.org.quickstart</param-value>
</context-param>
Параметр com.org.quickstart путь по которму Tapestry будет искать файлы приложения. Поэтому директория com.org.quickstart находится в src/main/java.
layoutПравить
Файлы *.css
Source PackagesПравить
appname.componentsПравить
Компоненты
appname.pagesПравить
- Исходные коды *.java для страниц приложения
Файл Index.javaПравить
Контроллер соответствующий шаблону Index.tml
Находится примерно здесь
src/main/webapp/
Но может находиться и в
src/main/resources/[appname]/pages
Это зависит от договоренностей среди разработчиков проекта.
appname.servicesПравить
Сервисы
Файл AppModule.javaПравить
IoC (обращение контроля) - конструктор модулей для приложения. Простыми словами все конфигурационные данные обрабатываются здесь.
Other sourcesПравить
/src/main/resourcesПравить
<default package>Править
appname.componentsПравить
Компоненты
Файл Layout.tmlПравить
Основной шаблон для всех страниц
Project FilesПравить
Файл pom.xmlПравить
Файл настроек Maven, включая jetty плагин, благодаря которому мы можем запускать приложение с помощью команды mvn jetty:run. Jetty - позволяет нам видеть изменения в процессе написания кода без перезагрузки веб-сервера.