WebClub - Всероссийский Клуб Веб-разработчиков
WebClub.RU » Архив » Настройка комбинации Apache JServ и GNU JSP

Настройка комбинации Apache JServ и GNU JSP


Дата публикации: 17-03-2013

Для установки Apache JServer и GNU JSP вам понадобятся:

HTTP Server Apache в исходных кодах ( я работаю на версии Apache1.3.12rusPL29.4)
Apache JServer в любом виде, но лучше конечно в исходниках (я пробовал на версии ApacheJserv1.1.1). необходимые файлы mod_jserv.so и ApacheJServ.jar (или сооответственно исходники этих файлов для последующей компиляции)
JDK 1.2 SE (Java Development Kit 1.2 Standart Edition) для Linux
JSDK обязательно версии 2.0 (другая версия не будет работать, проверено и описано в доке). Попросту говоря это файл jsdk.jar
JSWDK , я использовал версию JSWDK1.0.1 необходимый файл - servlet.jar (я рекомедую servlet-2.0-plus.jar из комплекта GNU JSP)
По желанию можно установить Apache JSSI (Server Side Include), если планируется их использовать (HTML тег ).необходимый файл - ApacheJSSI.jar
GNU JSP 1.0 (Java Server Pages). Необходимые файлы - gnujsp10.jar В поставке так же содержится файл servlet-2.0-plus.jar я бы рекомендовал его использовать вместо JSWDK (пункт 5), хотя разницы в работе я лично не заметил.
Если думается использовать базу данных нужен так же JDBC - драйвер.

Устанавливаем JServ - контейнер сервлетов

Для начала компилим Apache с поддержкой DSO (dynamic shared object). Опция configure --with-shared=max

Или конечно вкомпиливаем модуль прям в Apache (тоже пробовал, работает одинаково хорошо но это все же на пару действий сложнее и кому надо сам разберется тут граблей не замечено).

Следующим шагом устанавливаем JDK 1.2, это просто, но надо не забыть установить переменные окружения (добавить строчки в /etc/bashrc) Например если JDK утановлен в каталоге /opt/jdk

export PATH=.:$PATH:/opt/jdk/jre/bin:/opt/jdk/bin

export JAVA_HOME=/opt/jdk

export CLASSPATH=/opt/jdk/lib/tools.jar

Правильность установки JDK можно проверить запуская примерчики, которые с ним идут - примеры должны работать.

Внимание: Иногда в системе уже установлен JDK и чаще всего он лежит в /bin или в /usr/bin и тем самым раньше по путям. Обычно это JDK версии 1.1.x и нам он не подходит. Его надо снести. Для проверки надо запустить

java -version

И убедится в том что версия JDK действительно 1.2

Затем переходим в каталог где лежат исходники JServ и запускаем

./configure --prefix=/usr/local/jserv --with-apxs=/usr/sbin/apxs --with-jdk-home=/opt/jdk --with-JSDK=/opt/jsdk/lib/jsdk.jar --disable-debugging

Я по SCO - шной привычке ставлю все в /opt но это конечно по вкусу. Затем make и make install

Теперь осталось добавить в файл конфигурации Apache строки для JServ, это лучше сделать включив файл jserv.conf дериктивой Include /ect/httpd/conf/jserv/jserv.conf файла конфигурации httpd.conf

Внимание: Как показала практика если загрузить модуль loadmodule mod_jserv в файле httpd.conf а все остальные конфигурационные директивы для jserv расположить в файле jserv.conf то он их не воспринимает. Я не могу этого объяснить но вывод следующий - грузить модуль loadmodule mod_jserv и конфигурировать его надо в одном файле (или httpd.conf или jserv.conf).

Вот пример моего каталога /etc/httpd/conf (tar - архив). Чтобы настроить Jserv надо лишь скопировать подкаталог /etc/httpd/conf/jserv из этого архива в соответствующее место на сервере и добавить в свой файл httpd.conf строчку

Include /ect/httpd/conf/jserv/jserv.conf

Затем проправить соответствующие пути в файлах jserv.conf , jserv.properties и zone.properties

В файле jserv.properties определяется CLASSPATH для сервлетов строчки типа

wrapper.classpath=/home/httpd/servlets - именно сюда и надо ложить сервлеты которые вы будете использовать

wrapper.classpath=/home/httpd/beans - я предлагаю сделать отдельный каталог для JavaBeans которыми вы будите пользоватся из своих JSP только по одной причине, чтобы не путать их с сервлетами. Не забудте дать права на чтение этих и других каталогов CLASSPATH пользователю от которого работает Apache (обычно nobody).

Можно пускать сервер, но перед этим хочу добавить еще одно замечание - при старте Apache автоматически загружается виртуальная машина JAVA (JVM) ее легко увидеть по команде ps -ef Так вот при остановке сервера Apache она выгружается с задержкой и поэтому при команде /etc/rc.d/init.d/httpd restart не успевает перегрузится и падает. Чтобы этого не происходило необходимо добавить в секцию restart файла /etc/rc.d/init.d/httpd задержку:

........

restart)

$0 stop

sleep 5

$0 start

........

Работоспособность сервера и часть его настроек можно посмотреть зайдя на страничку http://localhost/jserv/

Эта страничка разрешена для просмотра только с той же машины на которой вы стоит Apache (это задано в jserv.conf) поэтому не пытайтесь зайти на нее по сети. После пробы http://localhost/jserv/ можно проверить основную зону сервлетов по умолчанию в ней находится тестовый сервлет http://localhost/servlet/IsItWorking (в каталоге /home/httpd/servlets лежит тестовый сервлет IsItWorking.class) Обратите внимание на две вещи - каталог называется servlets а URL надо набирать servlet и второе - названия сервлетов чувствительны к регистру. Существуют проблемы руссификации сервлетов лучше всего о них написал Вячеслав Педак
Устанавливаем GNU JSP - всего лишь сервлет работающий под JServ но существенно облегчающий работу по написанию и сопровождению сайта.

JavaServerPages представляют собой HTML с встроенными скриптами на JAVA - скриптлетами и имеют несколько преймуществ перед сервлетами:

Позволяют разграничить визуальное оформление (дизайн, HTML-обрамление) от динамического содержания и бизнес - логики.
Не требуют при изменении кода страницы рестарта сервера, как это требуют сервлеты.
Проще для понимания и не требуют знания Servlet API
В сочитании с JavaBeans позволяют удобно работать как с сессиями пользователей так и с глобальными объектами всего приложения.

Но это так лирическое отступление. Чтоб настроить JSP надо просто установить соответствие между расширением файла (обычно .jsp) и сервлетом-обработчиком. Обработчик получает запрос на страницу, генерирует из JSP - страницы Java-код (обычный сервлет), компилирует и исполняет его. Единственное что надо не забыть сделать при конфигурации JSP - указать каталог куда складывать полученные из JSP тексты сервлетов и их откомпилированные в классы файлы. А так же отдать права на запись в этот каталог пользователю откоторого запускается httpd. Этот каталог называют scratchdir в моем примере это /home/httpd/jsps
Домен продается

Популярное

Не так давно в сети появился новый сервис, под названием Dead Man Zero. Этот сервис сделал...
Рынок социальных площадок уже давно стал стабильным. Несмотря на то, что время от времени...
Artisteer 4 – единственный в своем роде продукт, позволяющий автоматизировать работу над созданием...
Июль 2025 (1)
Август 2024 (1)
Май 2024 (1)
Апрель 2024 (1)
Октябрь 2018 (14)
Февраль 2017 (3)

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41

Друзья сайта



Случайная цитата

Неизвестный автор:

"Как видно, совершенство достигается не тогда, когда уже нечего прибавить, но когда уже ничего нельзя отнять."

Опрос

Какой антивирус Вы используете?

Kaspersky Antivirus
NOD32
Norton Antivirus
Dr.Web
Panda
Аvast!
ClamWin
Другой...