Вы находитесь на странице: 1из 16

Web компоненты JEE.

Web компонент и Web контейнер


Web контейнер
• Web-контейнер – стандартизованный
компонент, который занимается системной
поддержкой Web-компонентов и обеспечивает их
жизненный цикл в соответствии с правилами,
определенными в спецификациях

Функции Web-контейнера:
• Управление жизненным циклом компонентов
• Перенаправление запросов
• Управление конкурентным доступом
• Управление безопасностью
Web компонент
Согласно спецификации JEE Web компонентами являются:

• Сервлеты (Servlets);
• JSP страницы (JSP);
• Фильтры (Filters);
• Слушатели (Listeners).

Управление работой web-компонентов возлагается на Web-


контейнер
Структура JEE Web приложения
http://tomcat.apache.org/
Web контейнер Tomcat
Версия Томката

http://tomcat.apache.org/whichversion.html
Структура Tomcat

<Context path=""
docBase="D:\devstudy.net\workspace\ishop\src\main\webapp"
reloadable="true"/>
Загрузчики классов
• Bootstrap – базовые классы Java,
предоставляемые виртуальной машиной
• System – дополнитеьные классы, объявленные в
переменной CLASSPATH. В случае с Томкатом
используется:
$CATALINA_HOME/bin/bootstrap.jar
$CATALINA_HOME/bin/tomcat-juli.jar
$CATALINA_HOME/bin/commons-daemon.jar
• Common – классы, которые видны как
внутренним классам Томката, так и web-
приложениям.
$CATALINA_HOME/lib (jar + .class)
• WebappX – классы данного web-приложения
/WEB-INF/classes (lib)

https://tomcat.apache.org/tomcat-8.5-doc/class-loader-howto.html
Поиск классов
При обращении к классам web-приложения их поиск будет осуществлять в
следующем порядке:
1)По умолчанию:

Bootstrap classes of your JVM


/WEB-INF/classes of your web application
/WEB-INF/lib/*.jar of your web application
System class loader classes
Common class loader classes

2) Если <Loader delegate="true"/>:

Bootstrap classes of your JVM


System class loader classes
Common class loader classes
/WEB-INF/classes of your web application
/WEB-INF/lib/*.jar of your web application
Отладочный режим Tomcat

debug.cmd:

bin\catalina.bat jpda start


Найти приложение в сети
https://ru.wikipedia.org/wiki/IPv4
https://tools.ietf.org/html/rfc6890
1) Доменное имя: google.com;
2) IP адреса:
10.*.*.*; 192.168.*.*; 172.16.*.* - локальная сеть;
127.*.*.* (localhost) – данный компьютер;
Несколько зарезервированных адресов;
(https://ru.wikipedia.org/wiki/IPv4 Назначения подсетей)
Глобальные IP адреса;
(статический IP адрес)
3) Порт приложения на компьютере;
4) Path для web-приложения;
5) Относительный ресурс web-приложения;
Создание maven проекта

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"


xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-
app_3_1.xsd"
version="3.1">

</web-app>
Servlet и JSP dependencies
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
Настройки Eclipse
Домашнее задание

1) Скачать и настроить Tomcat;


2) Настроить режим отладки для Tomcat;
3) Запустить Tomcat – рассмотреть HTTP трафик;
4) Рассмотреть структуры web-приложений для
Tomcat;
5) Запустить web-приложения на Tomcat;