На главную

Библиотека Интернет Индустрии I2R.ru

Rambler's Top100

Малобюджетные сайты...

Продвижение веб-сайта...

Контент и авторское право...

Забобрить эту страницу! Забобрить! Блог Библиотека Сайтостроительства на toodoo
  Поиск:   
Рассылки для занятых...»
I2R » Сайтостроительство » Web-программирование

Сервлеты и Java Server Pages. На что похожи, и в чем их преимущества и недостатки.

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

Есть, однако, и третья жизнь Java – это программы, которые выполняются http-серверами. Вот они и называются сервлетами. Конечно, сам по себе сервер не может исполнять Java-код. В сервер встраивается модуль, который вызывает Java-машину, исполняющую сервлеты.

Как апплет не является самостоятельной Java-программой, так и сервлет ею также не является. И то и другое, условно говоря, «заплатки», которые программист встраивает в более общий Java-код. Прикладному программисту дается возможность написать тела заранее определенных через механизм интерфейсов методов.

Сервлеты в некотором смысле похожи на CGI-скрипты. Как и в скриптах у сервлетов жестко определен механизм получения данных, т.е. входной поток, и механизм формирования выходного потока. При этом сервлетам кроме всего прочего еще позволено получать точно такие же значения, как те, что определены в переменных окружения скриптов.

В свою очередь сервлеты являются базой для Java Server Pages. Об этом механизме говорят, что он является полнофункциональным аналогом Active Server Pages компании Microsoft. На самом деле механизм JSP шире ASP, и гораздо более гибкий.

JPS – это последовательное развитие идеи встраивания программного кода в HTML и XML страницы. Только это не простенький язык SSI и не VBScript, а полноценные Java-конструкции.

На самом деле это только с точки зрения человека, который создает JSP, речь идет о «нашинковке» кодом старого доброго HTML. С точки зрения сервера такая страница – это сервлет. При чем реально трансляция файла в хранимый в памяти Java-код происходит только при первом обращении к JSP-странице. При всех последующих обращениях никакой трансляции происходить уже не будет, а будет использоваться ранее оттранслированный сервлет.

Из выше сказанного следуют те плюсы, о которых так любит рассуждать специалисты, которые «заболели» данной технологией, не все они являются абсолютными «плюсами», но тем не менее их следует перечислить:

  • Эффективность. Не надо порождать нового процесса. В стандартной ситуации все уже в «голове» и сразу начинает исполняться. Понятно, что здесь сервлеты сравнивают со CGI_скриптами. В принципе, даже интегрированный в браузер Perl, модуль mod_perl в Apache, например, не должен теоретически обеспечивать такой производительности, которую обещают сервлеты.
  • Единство среды разработки программного обеспечения. Выучил Java и пиши себе код на здоровье. Не надо учить другие языки программирования, например, Perl, VBScript или C. Правда, сам этот язык, мягко говоря, не очень простой (я имею в виду Java), но в конечном итоге, ведь не боги горшки обжигают.
  • Мощность. Java – язык богатый. Написать на нем можно много чего. Правда, Perl в этом смысле не хуже. Во всяком случае, там, где не надо расписывать окошечки и кнопочки экранных интерфейсов. А программирование на стороне сервера – это как раз такой случай. Perl и Java – это основные языки разработки Web-приложений. С точки зрения сложности они примерно одинаковые. Правда, каждый по своему.
  • Переносимость. Интерпретируемые программы по большому счету все переносимы. Был бы на соответствующей платформе нужный интерпретатор. Java лучше только в том плане, что для него централизовано поддерживается единая спецификация языка. Будем считать, что выкрутасы Microsoft в данном случае не в счет.
  • Бесплатность. Может быть для наших иностранных коллег это и большое преимущество, но для нас, где 80% родного Web-а работает на бесплатном Apache, это норма. Но хорошо, что и за границами Отечества магистральный путь развития пока остается бесплатным.

Вот, собственно, и все для первого знакомства с этой технологией. Более подробно читайте первоисточники и статьи данного раздела.

Первоисточники:

  1. JSR-000053 JavaTM Servlet 2.3 and JavaServer PagesTM 1.2 Specifications(http://jcp.org/aboutJava/communityprocess/first/jsr053/index.html) - это спецификация сервлетов и JSP. Точнее головная страница этой спецификации. С нее можно попасть на (в два приема на страничку, где расположена ссылка на PDF-файл собственно спецификации сервлетов, а также на страничку, где расположена ссылка на PDF-файл собственно спецификации JSP. Одним словом, здесь вы найдете настоящую документацию: сухо, длинно и не очень понятно, но зато очень точно.
  2. QUICKSTART GUIDE (http://java.sun.com/products/jsp/docs.html) - по этому адресу господа из Sun собрали документацию для тех, кто очень хочет использовать JSP, но пока не знает с чего начать. Даже тем, кто уже знает с чего начинать, все равно следует познакомиться с этим руководством. Дело в том, что во всех дискуссиях по поводу JSP как правило используются примеры данного руководства. Таким образом, если Вы хотите говорить на одном языке с другими энтузиастами JSP, или просто слыть образованным человеком, с этими страницами все-таки надо ознакомиться. Тем паче, что этот 45-ти страничный труд очень неплохо написан.
  3. JSP Architecture (http://www.brainopolis.com/jsp/book/jspBook_Architectures.html) – здесь Вы найдете описание архитектуры JSP и мысли по поводу различных стилей разработки JSP-страниц. Автор попробует убедить Вас в том, что при разделении труда не нужно одновременно знать HTML (правда примеры он приводит на XML) и Java. С его точки зрения программисты должны писать код, а web-мастера только указывать в параметрах элементов разметки вызовы необходимых скриптлетов.
  4. JSP FAQ (http://www.esperanto.org.nz/jsp/jspfaq.jsp) - Часто задаваемые вопросы по теме JSP. Результат работы коллективного разума, который аккумулирован в списке рассылки JSP. Последнее изменение, которое было сделано в этом труде приходится на июнь 2000 года. С того времени много воды утекло. Во всяком случае успела выйти новая спецификация JSP 1.2. Так что если вы глубоко вникаете в продукты проекта Jakаrta, то лучше обращаться за помощью непосредственно к документации или рабочим материалоам этого проекта.
  5. Обучающее пособие по JSP (http://www.javapower.ru/java/jsp/Servlet-Tutorial-JSP.html) - это одно из классических введений в программирование сервлетов и Java Server Pages (Tutorial on Servlets and JSP), написанное Marty Hall в 1999 году. Перевод выполнен Ильей Чекменевым (ilyacheck@mail.ru) в 2001 году с материала сайта http://www.coreservlets.com/, где версия материала датирована 2000 годом. Не стоит обращать внимания на неказистость названия перевода. Во всяком случае, все таблицы и примеры переведены довольно точно. Откровенных глупостей в переводе нет, а стиль – это в данном случае уже дело второе.

Павел Храмцов

Спонсор раздела

Рассылки Subscribe.ru:

Библиотека сайтостроительства - новости, статьи, обзоры
Дискуссионный лист для web-разработчиков
Подписка на MailList.Ru
Автор: NunDesign
Другие разделы
Оптимизация сайтов
Web-студии
» Новое в разделе
Web-дизайн
Web-программирование
Интернет-реклама
Раскрутка сайта
Web-графика
Flash
Adobe Photoshop
Рассылка
Инструменты вебмастера
Контент для сайта
HTML/DHTML
Управление web-проектами
CSS
I2R-Журналы
I2R Business
I2R Web Creation
I2R Computer
рассылки библиотеки +
И2Р Программы
Всё о Windows
Программирование
Софт
Мир Linux
Галерея Попова
Каталог I2R
Партнеры
Amicus Studio
NunDesign
Горящие путевки, идеи путешествийMegaTIS.Ru

2000-2008 г.   
Все авторские права соблюдены.
Rambler's Top100