лабы гречухин 2 курс / Отчет Лабораторная2 web-программирование docx
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
отчет
по лабораторной работе 2
по дисциплине «WEB-программирование»
Студентка гр. 3316 |
|
Кирейкова С.А. |
Преподаватель |
|
Гречухин М.Н. |
Санкт-Петербург
2025
Создание Maven проекта с архетипом maven-archetype-webapp 1
Для создания Maven проекта в Eclipse выбраkf пункты меню File→NEW→Project и в появившемся окне раскрыла секцию Maven, в которой выделила пункт Maven Project. Затем нажала кнопку Next в текущем и следующем окне. Появилось окно выбора архетипа. Выбрала архетип maven-archetype-webapp 1.5 и нажала кнопку Next. В раскрывшемся окне задала параметры: Group Id (NIC), Artifact Id (mvnweb1) и Version (номер версии проекта, по умолчанию 0.0.1-SNAPSHOT). После заполнения указанных полей нажала кнопку Finish. По этому архетипу Maven сгенерировал иерархию стандартных каталогов:
Сборка Web-приложения с помощью команды Maven Install.
Для создания сборки необходимо нажать правую кнопку мыши на имени проекта и в появившемся окне выбрать пункт Run As и вариант работы с про-ектом. Из предложенных вариантов выбрала Maven Install. После выполнения команды Maven install, в каталоге target появился файл с расширением war.
Копирую в каталог (webapps) веб-сервера Tomcat: File → Export → Web → WAR file. После нажатия кнопки «Next» появилось окно. В этом окне задала имя проекта и место размещения war-архива(C:\Users\UCHEBA\Desktop\apache-tomcat-10.1.47\webapps\ mvnweb1.war), затем нажала кнопку «Finish», после чего в каталоге webapps появился файл mvnweb1.war:
Запустила веб-приложение можно в браузере, используя URL-адрес: http://localhost:8888/mvnweb1/ .
Поменяла код и
перезапустила:
Разархивация war-файла:
Распечатка pom.xml файла проекта, в которую вставлены комментарии, описывающие зависимости и задачи плагинов
Зависимости - это библиотеки кода, которые хранятся в репозиториях и необходимы для выполнения приложения и его тестирования. Репозиторий представляет из себя набор папок, где у каждой зависимости есть адрес хранения.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>nic</groupId>
<artifactId>mvnweb1</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>mvnweb1 Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<!-- описание зависимости для использования библиотеки Junit.:
Идентификатор прозоизводителя : junit
Имя библиотеки: junit
Номер версии: 4.13.1
область действия библиотеки: test (эта зависимость будет использована maven при выполнении компиляции той части проекта, которая содержит тесты, а также при запуске тестов на выполнение и построении отчета с результатами тестирования кода.)-->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>mvnweb1</finalName>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<!-- Плагин maven-clean-plugin используется, когда надо удалить файлы, созданные во время сборки. У плагина только одна команда clean.
-->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.4.0</version>
</plugin>
<!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
<!-- Плагин копирования ресурсов maven-resources-plugin имеет команду copy-resources, которая позволяет все ресурсы (файлы изображений, файлы .properties) скопировать в директорию target.-->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.3.1</version>
</plugin>
<!-- maven-compiler-plugin компиляция исходников, по умолчанию связана с фазой compile -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
</plugin>
<!-- команда test. По умолчанию на тестирование запускаются все java-файлы, наименование которых начинается с «Test» и заканчивается «Test» или «TestCase» Результаты тестирования в виде отчетов в форматах .txt и .xml сохраняются в директории /target/surefire-reports.-->
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.3.0</version>
</plugin>
<!-- Плагин maven-war-plugin: сбор всех зависимостей артефактов, классов и ресурсов веб-приложения и их упаковка в архив веб-приложения. По умолчанию он запускается с командой war, которая создает файл war. В нем содержаться в формате JAR компоненты web-приложения.
-->
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.4.0</version>
</plugin>
<!-- Плагин maven-install-plugin: добавление артифактов в локальный репозиторий. Основной командой этого плагина является install, которая по умолчанию привязана к этапу установки.
-->
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>3.1.2</version>
</plugin>
<!-- Плагин maven-deploy-plugin используется для отправки артефактов проекта в удалённый репозиторий Maven.
Основная команда "deploy " добавляет артефакт в локальный репозиторий.
В нашем случае для локального запуска web-приложения его настраивать не нужно-->
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.1.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
Структура и состав war-файла.
mvnweb1.war
|
|---
META-INF
| |
| |--- MANIFEST.MF
| |--- maven
| | | |--- nic
| |
| |--- mvnweb1
| |
| |--- pom.properties
| |--- pom.xml
|--- WEB-INF
| |
| |---web.xml
|
|--- index.jsp
