4

## 4.4_(3.4) Использование классов Java в JSP

Страницы JSP могут включать некоторый код на Java. Таким образом, мы можем определять прямо в JSP переменные, методы, в общем случае некоторую логику. Однако если программной логики на Java довольно много, то лучше выносить ее в отдельные классы. Однако в данном случае может возникнуть вопрос, как организовать взаимодействие классов на Java и JSP. Рассмотрим этот вопрос.

В данном случае используем Eclipse. Создадим новый проект по типу Dynamic Web Project (как описано в прошлой теме) или возьмем уже имеющийся.

Допустим, в этом случае проект называется hellojsp. Перейдем в структуре проекта к узлу Java Resources и его под узлу src. Это тот узел, который хранит в проекте все классы на языке Java, которые мы хотим использовать в своем приложении.

Вначале добавим в папку src новый пакет, где будут располагаться классы. Поэтому нажмем на узел src правой кнопкой мыши и в контекстном меню выберем пункт New -> Package.

В появившемся окне укажем название пакета, например, com.metanit.hellojsp:

Далее добавим в этот пакет новый класс. Для этого в структуре проекта нажмем на пакет правой кнопкой мыши и в контекстном меню выберем пункт New -> Class:

В окне добавления нового класса дадим ему имя Calculator (имя может быть произвольным). Остальные опции оставим по умолчанию.

Далее определим в файле Calculator.java следующий код:

`package` `com.metanit.hellojsp``;`

`public` `class` `Calculator {`

`public` `int` `square (int` `n) {`

`` `return` `n * n;`

`}`

`}`

В данном случае для простоты примера класс содержит один метод, который возводит число в квадрат.

Теперь определим в проекте в папке WebContent файл jsp, например, hello.jsp. Используем на странице hello.jsp класс Calculator. Для этого определим в hello.jsp следующий код:

`<%@page import="com.metanit.hellojsp.Calculator"%>`

`<!DOCTYPE html>`

`<html>`

`<head>`

`<meta` `charset="UTF-8"` `/>`

`<title>JSP Application</title>`

`</head>`

`<body>`

`<h2>Square of 3 = <%= new Calculator().square(3) %></h2>`

`` `</body>`

`</html>`

Вначале с помощью директивы @page подключается класс com.metanit.hellojsp.Calculator. Затем его метод square используется на странице.

Назад Содержание Вперёд