Статьи

Краткое руководство по JSP для Windows

JavaServer Pages (JSP) — это серверная технология, которая позволяет разработчикам создавать веб-приложения, использующие компоненты Java. В некоторых отношениях его можно сравнить с языками сценариев на стороне сервера, такими как ASP и PHP. JSP похож на PHP в синтаксисе языка Java в стиле C, но JSP также был разработан для расширения с использованием таких компонентов, как ASP.

Однако когда дело доходит до этого, JSP — это технология, не похожая ни на одну другую. Чрезвычайно быстрый, независимый от платформы, масштабируемый со встроенной поддержкой распределенной обработки, совместимый со всеми основными веб-серверами и БЕСПЛАТНЫЙ для большинства применений, можно задаться вопросом, почему JSP используется не чаще, чем сейчас.

Ну, на мой взгляд, для этого есть две основные причины:

  • Чтобы в полной мере воспользоваться преимуществами JSP, разработчик должен сначала освоиться с языком программирования Java. К сожалению, это может быть интересной задачей для веб-разработчиков, которые любят концентрироваться на дизайне и, если нужно, баловаться на языке сценариев. Есть много хороших онлайн-учебников и книг для людей, заинтересованных в изучении Java, но этот процесс может занимать много времени и, в зависимости от конкретного человека, довольно сложный, из-за природы Java как чисто объектно-ориентированного языка.
  • Настройка серверной среды для разработки и тестирования JSP может быть непростой задачей, тем более что большинство документов, написанных для помощи пользователям в этом процессе, погружены в технический тупик, который предполагает, что вы уже знаете JSP изнутри и снаружи. Если вы только начинаете работать с JSP, вам нужно пошаговое руководство по настройке и запуску сервера в короткие сроки, чтобы вы могли сосредоточиться на изучении языка и позже позаботиться о деталях конфигурации сервера.

В этой статье я попытаюсь исправить последний момент, проведя вас через процесс настройки веб-сервера с поддержкой JSP на ПК с Windows. Надеюсь, это даст вам старт, необходимый для того, чтобы окунуться в мир разработки JSP. Я покажу вам, как получить базовую страницу JSP, работающую на вашем сервере, а затем вы можете погрузиться в нашу серию статей о JSP, JSP Files полностью укомплектованы!

Загрузка и установка сервера Apache

Несмотря на то, что есть несколько отличных коммерческих серверов для тестирования страниц JSP (включая IBM WebSphere, BEA WebLogic и другие), они могут быть недоступны среднему веб-разработчику, который просто хочет добавить новый навык в свой репертуар. Кроме того, для многих из них требуется сервер Windows NT / 2000 / XP, а многие разработчики работают с системами Windows 95/98 / ME. По этой причине для людей, начинающих работу с JSP, я рекомендую использовать сервер Apache. Подключив его к серверу Tomcat проекта Jakarta Project (который мы установим в следующем разделе), мы можем дать ему возможность обрабатывать страницы JSP, а также связанные с ними технологии, такие как Java-сервлеты и Enterprise Java Beans (EJB)!

Теперь, если у вас уже работает Apache, вам не нужно переустанавливать его. Это будет хорошей новостью для людей, которые уже используют Apache для запуска сценариев PHP или еще чего-нибудь еще, потому что вы сможете просто добавить поддержку JSP на свой существующий сервер, не нарушая все, что вы настроили. Если на вашем компьютере установлен другой веб-сервер, не беспокойтесь — я покажу вам, как установить Apache таким образом, чтобы он не мешал вашему существующему серверу. Если вы уже установили Apache, вы можете сразу перейти к следующему разделу.

Теперь вам нужно перейти на веб-сайт Apache HTTP Server Project, чтобы загрузить последний стабильный выпуск Apache Server для Win32. На момент написания этой статьи текущей версией является версия 2.0.52 (имя файла apache_2.0.52-win32-x86-no_ssl.msi ), которую можно загрузить по следующему адресу: http://httpd.apache.org/download. CGI .

Запустите загруженный файл, как любой другой установщик Windows (не позволяйте расширению .msi файла обмануть вас — вы можете запустить его!). Отвечайте на вопросы, которые он задает, в меру своих возможностей; документация, доступная на веб-сайте Apache Server, должна отвечать на любые ваши вопросы. Когда вас спросят, как должен работать Apache — в качестве службы Windows для всех пользователей или в автономном режиме, выберите рекомендуемый вариант для запуска его в качестве службы Windows.

В оставшейся части этого руководства я предполагаю, что вы позволили установить программу установки Apache на C:Program FilesApache GroupApache2 .

После завершения установки программа установки попытается запустить установленную службу Apache Server. Если у вас уже установлен веб-сервер (например, Microsoft Internet Information Services), появится сообщение об ошибке, сообщающее, что не было установлено службы с именем «Apache2». Кроме того, установленная программа Windows System Tray будет показывать «Службы не установлены», когда вы наводите указатель мыши на значок. Исправить это, если это случится с вами, не сложно; просто следуйте за нами, и мы позаботимся об этом.

Независимо от того, испытывали ли вы только что описанную проблему или нет, вам нужно настроить некоторые параметры сервера. В меню «Пуск» выберите « Программы», « HTTP-сервер Apache 2.0.52», «Настройка сервера Apache», «Отредактируйте файл конфигурации Apache httpd.conf» . Найдите строку в файле с надписью Listen 80 . Если на вашем компьютере уже работает другой веб-сервер (и у вас возникла проблема с запуском сервера, описанного выше), скорее всего, порт 80 уже используется, и вам нужно будет выбрать другой порт для использования Apache. Наиболее распространенным портом для второго веб-сервера является 8080, поэтому вместо этого измените строку на Listen 8080 . Если в вашей системе еще нет веб-сервера, вы можете оставить эту строку в покое.

Чуть ниже вы увидите строку, содержащую команду ServerName . Это должно быть установлено во время установки, но раскомментируйте строку, если она закомментирована, и убедитесь, что она установлена ​​на 127.0.0.1: 8080 (где 8080 — порт Listen вы установили в предыдущем абзаце), если на вашем сервере нет фиксированный IP-адрес или имя хоста, в этом случае вы можете использовать его вместо этого (используйте 127.0.0.1: 8080 если вы не уверены, или если вы планируете использовать сервер только для тестирования на своей машине).

Это делает это для httpd.conf на данный момент. Вы можете сохранить свои изменения и закрыть редактор. Теперь вы готовы запустить Apache и убедиться, что он работает. Если установщик столкнулся с трудностями при первоначальном запуске сервера (то есть, если вы получили ошибку «нет установленной службы с именем« Apache2 »»), вам сначала необходимо установить службу. Для этого вам нужно открыть командную строку (см. Мою шпаргалку, если вы не знакомы с подсказкой).

Чтобы установить службу сервера Apache, необходимо запустить программу Apache.exe (с параметром -k install ), которая находится в подкаталоге bin каталога установки Apache2 . Вот команды, которые сделали трюк на моем компьютере (команды, выделенные жирным шрифтом):

 C:Documents and SettingsKevin> d:   D:> cd ApacheApache2   C:ApacheApache2> binapache.exe -k install   C:ApacheApache2> exit 

С правильно настроенным файлом httpd.conf и установленной службой мы можем запустить (или перезапустить) сервер. В меню Пуск выберите Программы, Apache HTTP Server 2.0.52, Управление Apache Server, Перезагрузка . Монитор сервера Apache в системном трее Windows должен измениться так, чтобы вместо красного квадрата отображалась зеленая стрелка, указывающая, что сервер работает. Откройте веб-браузер и введите http://localhost (или http://localhost:8080 если вы изменили строку Listen в httpd.conf выше) в поле адреса и нажмите Enter.

Должна появиться веб-страница с логотипом Powered by Apache внизу, объясняющая, что Apache установлен правильно. Поздравляем, вы успешно установили Apache!

Загрузка и установка Tomcat

Поскольку Apache не поддерживает JSP «из коробки», нам нужно добавить что-то еще в микс, чтобы обеспечить эту поддержку. К сожалению, JSP слишком сложен, чтобы его поддерживал простой модуль Apache; таким образом, нам нужно установить совершенно новую программу для обеспечения такой поддержки, а затем дать команду Apache направлять запросы на страницы JSP этой программе (примечание: это может звучать как CGI, но это не так; просто подождите и посмотрите). Программа, которую мы будем использовать, называется Tomcat и также написана группой Apache.

Tomcat на самом деле является простым веб-сервером. Однако он не поддерживает какие-либо расширенные функции Apache; это не его работа! Связав Tomcat и Apache вместе, вы получаете систему, которая обеспечивает полную поддержку JSP (благодаря Tomcat) при сохранении производительности и расширяемости (PHP, Perl, SSL и т. Д.) Apache.

Ваш первый шаг должен состоять в том, чтобы загрузить и установить Java Development Kit (JDK) от Sun. Это требуется как для запуска Tomcat (которая является программой Java), так и для того, чтобы Tomcat мог компилировать JSP для использования. Текущая версия JDK для Windows, также называемая JDK для Java 2 Standard Edition (J2SE), на момент написания этой статьи — версия 5.0 и доступна для загрузки здесь (не забудьте скачать JDK, а не JRE!). Загрузите и установите этот пакет ~ 44 МБ, как и любую другую программу Windows. Я предполагаю, что вы установили его в C:jdk1.5.0 . Обязательно добавьте каталог C:jdk1.5.0bin в системную переменную PATH. Если вы не знаете, как это сделать, обратитесь к инструкциям по установке, приведенным на странице загрузки JDK.

Теперь вы готовы установить Tomcat. Загрузите последнюю версию с веб-сайта Jakarta Project . На момент написания статьи последняя версия была 5.0.28 и была доступна по адресу http://www.apache.org/dist/jakarta/tomcat-5/v5.0.28/bin/ . Файл должен называться jakarta-tomcat-5.0.28.exe и занимает около 10 МБ.

Загрузив файл, запустите его так же, как любую другую программу установки. Он захочет установить в C:Program FilesApache Software FoundationTomcat 5.0 по умолчанию, но я предлагаю изменить его на C:Program FilesApache GroupTomcat 5.0 чтобы сохранить его вместе с Apache. Программа установки предложит использовать порт HTTP / 1.1 Connector Port 8080, что хорошо, если вы не настроили Apache для работы на этом порту, и в этом случае вам следует настроить Tomcat на использование порта 8000. Вам нужно будет указать пароль для администратора учетной записи пользователя на этом этапе и укажите установщику в каталог, где вы также установили JDK.

После установки Tomcat в системном трее Windows появится еще один маленький значок для его мониторинга. Чтобы запустить Tomcat, щелкните его правой кнопкой мыши и выберите «Запустить службу». Если все идет хорошо, на значке должна появиться маленькая зеленая стрелка, указывающая, что Tomcat запущен. Это произойдет автоматически, когда ваша система будет запускаться с этого момента по умолчанию — вы можете настроить этот и многие другие ключевые параметры, дважды щелкнув значок на панели задач.

Как я уже говорил, Tomcat предоставляет собственный простой веб-сервер, и мы можем использовать его для проверки его правильной работы. Веб-сервер Tomcat по умолчанию настроен на использование порта 8080, поэтому откройте веб-браузер и загрузите http://localhost:8080/ . Если вы изменили порт на 8000 во время установки, вместо этого загрузите http://localhost:8000/ . Вы должны увидеть домашнюю страницу Tomcat со ссылками на некоторые примеры, которые предварительно установлены на сервере.

Поиграйте с этими примерами, если вам интересно. В предыдущих версиях Tomcat примеры JSP загружались в первый раз, когда вы их использовали, но затем очень быстро работали при последующих обращениях. Это произошло потому, что при первом обращении к JSP-странице Tomcat потребовалось скомпилировать ее в Java-сервлет, представляющий собой кусок чистого Java-кода, который можно очень быстро запустить для обработки запросов. Затем этот сервлет будет храниться в памяти для обработки последующих запросов на тот же JSP с невероятной скоростью. Tomcat 5, однако, значительно умнее компилирует вещи заранее и обычно не страдает от этой одноразовой задержки.

Связывание Apache и Tomcat с JK2

Теперь, когда Apache и Tomcat работают параллельно, вам нужно связать их вместе, чтобы Apache мог обрабатывать запросы JSP, передавая их Tomcat. В предыдущих версиях Tomcat было несколько способов сделать это, но последний и лучший — JK2, комбинация модуля Apache ( mod_jk2 ) и подключаемого модуля Tomcat. JK2 был написан, чтобы быть более модульным, предлагать лучшую производительность и быть проще в настройке, чем его популярный предшественник, JK.

Документирование коннекторов Apache-Tomcat в прошлом было очень отрывочным, но в наши дни команда постепенно начинает действовать. Достаточно полная документация доступна на веб-сайте Tomcat , но она все еще очень техническая и не очень удобна для начинающих. Не волнуйтесь, я проведу вас через весь процесс.

Неуловимый mod_jk2

JK2 состоит из двух частей: подключаемого модуля для Tomcat и модуля Apache. Подключаемый модуль для подключения входит в каждую копию Tomcat. Другая половина уравнения, модуль Apache под названием mod_jk2 , — это другая история.

Поскольку Apache 2.0 постоянно меняется, старые версии модуля mod_jk2 обычно не совместимы с более новыми версиями Apache 2.0. В общем, вам нужна копия mod_jk2 которая была скомпилирована после выпуска Apache 2.0, с которым вы хотите ее использовать. Команда Jakarta всегда старается поддерживать загружаемую копию mod_jk2 , совместимую с последней версией Apache 2.0, на своем веб-сайте.

В настоящее время последняя версия mod_jk2 доступна с сервера загрузки Apache . Файл называется jakarta-tomcat-connectors-jk2.0.4-win32-apache2.0.49.zip . Загрузите файл, распакуйте его во временный каталог и найдите файл mod_jk2.so в подкаталоге modules . Скопируйте этот файл в подкаталог modules вашей установки Apache 2.0 ( C:Program FilesApache GroupApache2modules ). Найдите файл с именем workers2.properties.sample , скопируйте его в подкаталог conf вашей установки Apache 2.0 и переименуйте его в workers2.properties .

После установки модуля и его файла конфигурации вы должны указать Apache, чтобы он загрузился. Откройте файл конфигурации Apache httpd.conf из меню «Пуск», как и раньше, и добавьте эту строку в конец списка строк LoadModule:

 LoadModule jk2_module modules/mod_jk2.so 

Сохраните это изменение и перезапустите сервер Apache. Если вы все сделали правильно к этому моменту, он должен перезагрузиться без жалоб. Если вы откроете Apache Service Monitor из иконки в системном трее Windows, имя запущенной службы должно содержать «mod_jk2» в строке состояния.

Конфигурирование mod_jk2

mod_jk2 , теперь вам нужно указать, какие URL вы хотите переслать в Tomcat для обработки. Откройте файл workers2.properties который вы поместили в каталог Apache conf в WordPad (Блокнот не будет отображать его должным образом, поскольку он содержит разрывы строк в стиле UNIX).

В этом файле вы увидите три строки, которые выглядят так:

 # Map the Tomcat examples webapp to the Web server uri space  [uri:/examples/*]  group=lb 

Это демонстрирует, как настроить mod_jk2 для пересылки всех запросов на файлы в определенном каталоге и подкаталогах (в данном случае /examples/ ) в Tomcat. К сожалению, Tomcat 5.0 не имеет каталога /examples/ настроенного по умолчанию (в предыдущих версиях), поэтому нам нужно немного это изменить. Замените вышеупомянутые строки следующим:

 # Map the Tomcat jsp-examples webapp to the Web server uri space  [uri:/jsp-examples/*]  group=lb 
 # Map the Tomcat servlet-examples webapp to the Web server uri space  [uri:/servlets-examples/*]  group=lb 

Сохраните изменения, перезапустите Apache, затем попробуйте загрузить http://localhost/jsp-examples/ ( http://localhost:8080/jsp-examples/ если вы используете Apache на порту 8080). Вы должны увидеть список примеров JSP, предоставленных по умолчанию в установке Tomcat, — и вы получаете к ним доступ через Apache!

Простая JSP

Ладно, играть с примерами может быть весело (спойлер: два цвета, которые вы ищете, это черный и голубой), но настоящий тест — это установить собственную JSP и запустить ее.

Откройте Блокнот или ваш любимый текстовый редактор и введите следующее:

 <hr />This example brought to you by JSP and sitepoint.com! 

Сохраните файл как файл theEnd.html в новом подкаталоге папки webapps Tomcat с webapps sitepoint . Создайте второй новый файл в блокноте и введите следующее:

 <%@ page language="Java" %>  <html>  <head>  <title>A Simple JSP</title>  </head>  <body>  <p>  <%  String num = request.getParameter("num");  if (num == null) { // No number specified    // Display the form  %>  <form action="<%= HttpUtils.getRequestURL(request) %>">    What should I count to? <input type="text" size="2" name="num" />    <input type="submit" />  </form>  <%  } else for (int i=1; i<=Integer.parseInt(num); i++) {  %>  Counting: <%= i %><br />  <%  }  %>  </p>  <%@ include file="theEnd.html" %>  </body>  </html> 

Сохраните это как count.jsp в вашем новом каталоге sitepoint рядом с theEnd.html .

Теперь, чтобы сделать эти два файла видимыми, вам нужно создать веб-приложение Java, которое будет содержать их. Делать это приятно и просто. Создайте подкаталог вашего нового каталога sitepoint именем WEB-INF . В этом подкаталоге создайте текстовый файл с именем web.xml и введите в него следующее:

 <?xml version="1.0" encoding="ISO-8859-1"?>  <!DOCTYPE web-app    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"    "http://java.sun.com/dtd/web-app_2_3.dtd">  <web-app>  </web-app> 

Сохраните файл и перезапустите Tomcat, чтобы он узнал о новом веб-приложении. Затем вы можете просмотреть страницу через Tomcat с URL-адресом http://localhost:8080/sitepoint/count.jsp (или http://localhost:8000/sitepoint/count.jsp если вы используете Tomcat на порту 8000).

Чтобы сделать ваше новое веб-приложение видимым через Apache, вам нужно, чтобы mod_jk2 знал об этом. Откройте файл workers2.properties который мы рассматривали ранее, и добавьте его в workers2.properties файла:

 [uri:/sitepoint/*]  group=lb 

Сохраняя это изменение, перезапустите Apache, затем откройте http://localhost/sitepoint/count.jsp (как и прежде, добавьте :8080 если у вас Apache работает на порту 8080). Вот и все: ваш первый рабочий JSP в Apache!

Куда отсюда?

Если вы раньше работали на PHP или другом языке сценариев, то простой пример, приведенный выше, мог немного вас расстроить. «Это оно?» Вы можете спросить. «Я пошел на все эти проблемы, просто чтобы сделать что-то, что я мог бы сделать за 30 секунд с PHP?» Конечно, нет! В качестве простого примера, вышеупомянутое не использует ни одну из более мощных функций JSP, большинство из которых требует довольно глубокого понимания языка программирования Java для использования.

Таким образом, вашим первым шагом должно стать изучение Java, если вы еще этого не сделали. Есть много хороших книг, но если вы спешите или ограничены в средствах, моя статья Начало работы с Java и ее преемниками должна помочь вам.

Как только вы освоите Java (и я не хочу упрощать это — это потребует некоторой работы), вы можете переключиться на сервлеты Java, а затем на JavaServer Pages. Моя статья, Java Servlets , должна помочь вам с первым; Что касается последнего, то на сайте pointpoint.com доступен учебный цикл из 8 частей под названием «Файлы JSP» , который научит вас всему, что вам нужно знать. Наслаждайтесь!

Удачи! Если вы попадаете в ловушку, сообщество SitePoint Форумы здесь, чтобы помочь! И если ничего не помогает, вы всегда можете связаться со мной по электронной почте в верхней части этой статьи.