Назад к вопросам
Junior
81
questionbank

Какова структура веб-проекта?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Стандартная структура Maven-проекта:

project-name/
├── src/
│   ├── main/
│   │   ├── java/  // Исходный код Java
│   │   │   └── com/example/project/...
│   │   ├── resources/ // Конфигурационные файлы (XML, properties)
│   │   └── webapp/ // Веб-ресурсы (HTML, JSP, CSS, JS)
│   │       ├── WEB-INF/ // Закрытые ресурсы
│   │       │   ├── classes/ // Классы сервлетов и т.п.
│   │       │   ├── lib/     // JAR-файлы библиотек
│   │       │   └── web.xml  // Дескриптор развертывания
│   │       └── ...           // Статические ресурсы
│   └── test/
│       ├── java/  // Исходный код тестов
│       │   └── com/example/project/test/...
│       └── resources/ // Ресурсы для тестов
└── pom.xml // Файл конфигурации Maven
  • src/main/java: Основной исходный код приложения на Java. Разбит по пакетам.
  • src/main/resources: Не-Java ресурсы приложения, такие как XML-файлы конфигурации, property-файлы, файлы локализации (properties).
  • src/main/webapp: Каталог для веб-ресурсов в случае WAR-архива.
    • WEB-INF: Каталог, доступный только через сервер приложений.
      • classes: Компилированные классы Java-кода из src/main/java.
      • lib: JAR-файлы зависимостей.
      • web.xml: Дескриптор развертывания WAR-архива. Определяет сервлеты, фильтры, слушатели и т.д. (Сейчас часто заменяется аннотациями).
    • Остальное содержимое webapp: статичные HTML-страницы, JSP, CSS, JavaScript-файлы, изображения.
  • src/test/java: Код JUnit/TestNG тестов.
  • src/test/resources: Ресурсы для тестов (например, конфигурационные файлы для тестовой базы данных).
  • pom.xml: Project Object Model файл Maven. Определяет зависимости, плагины, цели сборки.

Структура может варьироваться в зависимости от фреймворка (например, Spring Boot имеет более плоскую структуру для исполняемых JAR-файвов), но базовая логика разделения на исходники, ресурсы и веб-ресурсы сохраняется.