Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабы гречухин 2 курс / Отчет Лабораторная2 web-программирование docx

.docx
Скачиваний:
0
Добавлен:
01.06.2026
Размер:
256.73 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

отчет

по лабораторной работе 2

по дисциплине «WEB-программирование»

Студентка гр. 3316

Кирейкова С.А.

Преподаватель

Гречухин М.Н.

Санкт-Петербург

2025

  1. Создание 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 сгенерировал иерархию стандартных каталогов:

  1. Сборка 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/ .

Поменяла код и перезапустила:

  1. Разархивация war-файла:

  1. Распечатка 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>

  1. Структура и состав war-файла.

mvnweb1.war

|

|--- META-INF

| |

| |--- MANIFEST.MF

| |--- maven

| | | |--- nic

| |

| |--- mvnweb1

| |

| |--- pom.properties

| |--- pom.xml

|--- WEB-INF

| |

| |---web.xml

|

|--- index.jsp