В этой книге рассматривается создание приложений,
написанных на языке "Серверный/Server-Side JavaScript" (SSJS).
JavaScript это разработанный корпорацией Netscape платформонезависимый
объектно-ориентированный язык скриптинга (сценариев) для клиентских и серверных приложений.
В релизах 3.x и 4.x версий сервера Netscape
Enterprise Server служба LiveWire полностью интегрирована с сервером. Поскольку LiveWire database connectivity
теперь интегрирована как LiveWire Database Service - часть серверного JavaScript,
разработчикам не нужно устанавливать LiveWire как отдельный продукт. Просто включите поддержку JavaScript в
Administration Server, чтобы сделать доступными необходимые компоненты.
ПРИМЕЧАНИЕ:
Отличие между SSJS в Netscape Enterprise Server
(NES) 3.x и в NES 4.x состоит в том, что NES 4.x использует теперь JavaScript Runtime
от Mozilla.org, которая поддерживает
JavaScript 1.4. Предыдущие версии SSJS поддерживали JavaScript 1.0, JavaScript
1.1 и JavaScript 1.2.
Поддержка JavaScript 1.4
В JavaScript версии 1.4 появились новые возможности и различные усовершенствования,
которые обсуждаются в онлайновом учебнике Core JavaScript Reference v1.4:
В следующем списке резюмируются эти новые возможности:
Обработка исключений.
Вы можете вызывать/throw и отлавливать/catch исключения, используя операторы throw и
try...catch.
Новые операторы in и instanceof.
Оператор in возвращает true,
если специфицированное свойство имеется в специфицированном объекте. Оператор instanceof
возвращает true, если специфицированный объект имеет
специфицированный тип.
Изменения в LiveConnect.
Некоторые изменения в LiveConnect улучшили способ взаимодействия кодов Java и JavaScript:
Методы класса java.lang.Object
наследуются в
JavaArray. Дополнительно метод JavaArrary.toString
теперь вызывает метод java.lang.Object.toString.
Вы можете передавать объект JavaClass в Java-метод, который требует
аргумента типа java.lang.Class, вместо создания оболочки вокруг
экземпляра класса
java.lang.Class.
Вы не можете конструировать экземпляр JSException с детальным
сообщением.
Три первоначальных public-конструктора
для Java-класса
netscape.javascript.JSException, поддерживавшего эту возможность,
не рекомендуются/deprecated.
Вы не можете
использовать операцию == для сравнения двух экземпляров
JSObject. Используйте JSObject.equals.
Изменения в методе eval:
Метод верхнего уровня eval не может вызываться неявно.
В предыдущих версиях лишь рекомендовалось, чтобы этот метод не вызывался неявно; начиная с
JavaScript 1.4, неявный вызов eval может привести к ошибке времени
выполнения. Это изменение повысит производительность.
Метод eval больше не доступен как метод класса Object;
вместо него используйте функцию верхнего уровня eval.
Изменения в объекте Function:
Вы больше не должны специфицировать имя функции при использовании массива
arguments; массив arguments это переменная, он больше
не является свойством Function -объектов. Это изменение улучшит
производительность.
Не рекомендуется
использовать свойство Function.arity. Оно заменено свойством Function.length.
Изменения в JavaScript Application Manager
Функциональность менеджера JavaScript Application Manager не изменилась в Enterprise Server 4.0
по сравнению с Enterprise Server 3.x. Однако он теперь использует ту же новую
схему цветов, что и
Server Manager в Enteprise Server 4.0, и имеет некоторые изменения внешнего вида.
Рисунок 0.1 JavaScript Application Manager в Enteprise Server 4.0.
JavaScript Application Manager теперь имеет три вкладки:
Applications
Слева - список установленных приложений и кнопки Start, Stop, Restart, Run, Debug, Modify и Remove. Правая панель содержит
информацию о приложении, выбранном в списке приложений. Если Вы щёлкните мышью
кнопку Modify, в правой панели отобразятся поля, которые дают Вам возможность
модифицировать выбранное приложение.
Add Application Добавить новое приложение.
Preferences Специфицировать значения по умолчанию при добавлении нового приложения.
Хотя названия и внешний вид вкладок и кнопок в JavaScript Application
Manager в Enterprise Server 4.0 слегка отличается от Enterprise Server 3.6, их функциональность не изменилась.
Что Вы Уже Должны Знать
Предполагается, что Вы уже имеете следующие базовые знания:
Общее представление об Internet и World Wide Web (WWW).
Общее представление о клиентском JavaScript. Эта книга не дублирует информацию
ядра/core языка или клиентского языка/client-side.
Хорошие рабочие знания Hypertext Markup Language (HTML). Опыт работы с формами и Common
Gateway Interface (CGI) также пригодится.
Некоторый опыт программирования на Pascal, C, Perl, Visual Basic или
аналогичном языке.
Если Вы будете использовать
службу LiveWire Database Service - знакомство с реляционными базами данных и
рабочие знания Structured Query Language (SQL).
Версии JavaScript
Каждая версия Netscape Enterprise Server поддерживает свою версию JavaScript.
Чтобы помочь Вам при создании скриптов, совместимых с несколькими версиями Enterprise Server,
в этом учебнике используются сокращённые обозначения версий сервера, в которых каждая возможность реализована.
Версии JavaScript и Netscape Enterprise Server
Версия JavaScript
Версии Enterprise Server
JavaScript 1.2
Netscape Enterprise Server 3.6 (NES 3.6)
JavaScript 1.4
Netscape Enterprise Server 4.0 (NES 4.0)
Где Найти Информацию о JavaScript
Поскольку JavaScript может применяться на разных
уровнях, документация по нему разделена на несколько книг.
Набор онлайновых книг по JavaScript включает:
Документацию по JavaScript, состоящую из следующих книг:
Серверный JavaScript. Руководство. (эта
книга) предоставляет информацию о языке JavaScript и его объектах. Эта книга
содержит информацию о ядре языка (версии 1.4) и о серверном JavaScript. Работа
некоторых возможностей ядра на клиенте отличается от их работы на сервере;
эти отличия обсуждаются в данной книге.
Если Вы новичок в JavaScript, начните с Главы 1, "JavaScript.
Обзор.". После того как Вы будете иметь твёрдое понимание основ, можете
воспользоваться книгой
Серверный JavaScript, Справочник. для получения долее детальной информации об объектах и операторах.
Enterprise Server 4.x Release Notes содержат информацию
о Enterprise Server 4.x, в том числе - касающуюся серверного JavaScript для Enterprise Server 4.x.
Книга Netscape Enterprise Server Programmer's Guide содержит
резюме по разным интерфейсам программирования, доступным в версиях 4.x Netscape web-серверов.
Используйте это учебник в качестве карты или отправной точки при изучении
документации Enterprise Server для разработчиков.
Помимо этого, другие книги Netscape обсуждают отдельные
аспекты JavaScript, особенно относящиеся к их области действия. Эти книги
упоминаются в тексте данной книги там, где это возможно.
Сайт Netscape содержит большое количество информации,
которая может понадобиться при создании приложений JavaScript. Вот некоторые
URL, представляющие особый интерес:
Страница технической поддержки Netscape службы LiveWire
Database Service. Содержит много ссылок на информацию по использованию LiveWire в приложениях
JavaScript.
Страница технической поддержки Netscape с информацией о JavaScript.
Для быстрого перехода на эту страницу щёлкните ссылку DevEdge в Netscape Enterprise Server Application Manager.
Это View Source Magazine, онлайновый магазин для разработчиков.
Он обновляется каждую неделю и часто содержит статьи, представляющие интерес для разработчиков JavaScript.
Обновление Предыдущей Версии
Если у вас имеется установленная версия предыдущего
релиза Netscape web-сервера, Вы должны перенести установки сервера при
инсталяции Enterprise Server 4.x. См. Enterprise Server 4.0 Installation and Migration Guide.
Если Вы ранее создавали приложения JavaScript, используя Серверный
JavaScript 3.x, Вы должны знать об изменениях, выполняемых при обновлении
до версии 4.x и переносе старых установок сервера:
Если предыдущий сервер имел включённую службу LiveWire, сервер 3.x
будет иметь включённый JavaScript. Требование (или отсутствие) Application Manager'ом
пароля также сохраняется. См. также раздел "Информация
Конфигурации" в Главе 2, "Введение.".
Обновление установок сервера не переносит ваших приложений, а также не
рекомпилирует их для использования с сервером 4.x. Вы обязаны вручную
рекомпилировать пользовательские приложения перед тем как использовать их с
сервером 4.x, как указано в разделе
"Обратная Совместимость с Предыдущими Релизами". Вы
должны знать, что старые приложения могут перестать работать с их
оригинальными версиями Enterprise Server после рекомпиляции. Если Вы хотите
использовать приложения с обоими серверами, Вы должны скопировать приложение,
а не перемещать его.
Об изменениях, которые,
возможно, понадобиться сделать в коде при обновлении, см. следующий раздел.
Обратная Совместимость с Предыдущими Релизами
Вы также должны знать об изменениях в поведении приложений серверного JavaScript по сравнению с
Netscape Enterprise Server 3.x:
Вы обязаны рекомпилировать все ваши существующие приложения JavaScript. об
использовании компилятора см. "Компиляция
Приложений". После рекомпиляции приложений они больше не будут работать
под старыми инсталяциями SSJS.
Соглашения по Документам
Приложения JavaScript работают на многих операционных системах; данная информация применима
ко всем версиям. Пути файлов и директорий даны в формате Windows (с обратной наклонной чертой в
качестве разделителя имён директорий).
Для Unix-версий пути директорий - те же, за исключением того, что в
качестве разделителей используются слэши вместо backslash.
В этой книге используются uniform resource locators (URLs) в форме:
http://server.domain/path/file.html
В этих URL server это имя сервера, на котором запускается Ваше приложение,
как, например, research1 или www; domain это
имя домена Internet, такое как netscape.com или uiuc.edu; path это
структура директорий на сервере; а file.html
это имя файла. В целом элементы, выделенные italic в URL, являются
заглушками, а элементы с нормальным моноширинным шрифтом являются литералами.
Если на Вашем сервере имеется Secure Sockets Layer (SSL), Вы должны использовать https
вместо http в URL.
В книге использованы следующие соглашения по шрифтам:
Моноширинный шрифт используется в
примерах кода, API и элементах языка (таких как имена функций и классов),
именах файлов, путях, именах директорий, тэгах HTML и в любом тексте, который должен выводиться на экран монитора.
(Моноширинный italic используется для заглушек,
вставленных в код.)
Italic-шрифт
используется в названиях книг, при выделении текста, в переменных и заглушках
и в словах, используемых в литеральном смысле.