Міністерство освіти і науки України
Чернівецький національний університет
імені Юрія Федьковича
Факультет комп’ютерних наук
Кафедра комп’ютерних систем та мереж
ОГЛЯД ТЕХНОЛОГІЇ СЕРВЛЕТІВ
482.362.70915-05 3551-3
(курсова робота)
2007
Анотація
Даний розділ містить основні відомості про історію розвитку мови JAVA, її основні технології та їх застосування для роботи з SQL-серверами. Розділ містить також опис основних особливостей мови, основних елементів мови пов’язаних побудовою та відображенням графіків, огляду та принципів функціонування сервлетів та JSP-сторінок, а також опис елементів для встановлення зв’язку та отримання даних з сервера баз даних.
Опис мови займає 22 сторінок друкованого тексту, 3 рисунки.
Зміст
Вступ
1. Загальний огляд технологій Java
1.1 Огляд технології сервлетів
1.2 Технологія JSP
1.3 Огляд багатопоточного програмування в Java
2. Особливості взаємодії Java з SQL-серверами
2.1 Завантаження та реєстрація JDBC-драйвера
2.2 Формування JDBC-URL-рядка
2.3 Отримання екземпляра об’єкта класу Connection
2.4 Формування SQL запиту
2.5 Виконання і обробка SQL-запиту
2.6 Основні проблеми тестування баз даних
3. Робота з графікою в Java
3.1 Зміна розміру графічних об’єктів
3.2 Робота з кольорами в Java
3.3 Огляд компонентів Frame та Panel.
Список літератури
На сучасному етапі розвитку глобальних мереж в світі розвинулися і поширилося велика кількість мов програмування, які призначені для різних областей людської діяльності. До найбільш розповсюджених мов програмування Web-сторінок належать Java, мова гіпертекстової розмітки HTML, PHP, Perl, JavaScript та деякі інші. Визначальним моментом при виборі мови програмування додатків в більшості випадків являється досвід у використанні тієї чи іншої мови.
Однак згідно технічного завдання нам необхідно використати технологію сервлетів і JSP, які представлені мовою програмування JAVA.
До найбільш потужних технологій Java, які дозволили піднятися їй з самих низів до таких вершин належать:
1. Технологія платформенної незалежності.
2. Технологія забезпечення захисту користувачів від потенційно небезпечних дії.
3. Технологія аплетів.
4. Технологія сервлетів.
5. Технологія JSP-сторінок.
6. Технологія багатопоточності.
7. Технологія роботи з мережами.
8. Технологія JavaBeans та інші.
Технологія платформенної незалежності в Java будується на основі використання байт-коду, тобто проміжного представлення програм, яке не залежить від архітектури комп’ютера чи операційної системи, на які виконуватимуться додатки. Це проміжне представлення перетворюється у виконуваний код на комп’ютері користувача за рахунок віртуальної машини Java, яка на сьогоднішній день включається у всі операційні системи виробниками цих ОС. При цьому розробники нових ОС широко використовують самі технології Java для побудови своїх систем та надання їм більшої надійності.
Технологія забезпечення захисту від потенційно небезпечних дій здійснюється на основі аналізу віртуальною машиною Java виконуваного коду, та дозволу чи забороні виконання цього коду. Java обмежує вас у декількох ключових областях, і в такий спосіб сприяє виявленню помилок на ранніх стадіях розробки програми. У той же час у ній відсутні багато джерел помилок, властивих іншим мовам програмування.
Більшість використовуваних сьогодні програм відмовляють в одній із двох ситуацій: при виділенні пам'яті, або при виникненні виняткових ситуацій. У традиційних середовищах програмування при розподілі пам'яті програмісту приходиться самому стежити за усією використовуваною в програмі пам'яттю, не забуваючи звільняти її в міру того, коли вона стає лишньою. Найчастіше програмісти забувають звільняти захоплену ними пам'ять або, що ще гірше, звільняють ту пам'ять, що усе ще використовується якою-небудь частиною програми. Виняткові ситуації в традиційних середовищах програмування часто виникають у таких, наприклад, випадках, як ділення на нуль або спроба відкрити неіснуючий файл, і їх приходиться обробляти за допомогою складних конструкцій. Java фактично знімає обидві ці проблеми, використовуючи збирач сміття для звільнення незайнятої пам'яті й убудовані об'єктно-орієнтовані засоби для обробки виняткових ситуацій.
Однією з найбільших переваг мови Java – можливість створення аплетів, маленьких програм, які працюють всередині WEB-броузера. Проте, на аплети накладені певні обмеження в зв’язку з тим, що вони виконуються на комп’ютері користувача.
Обмеження аплету:
1. Аплет не має доступу до жорсткого диску. Проте для них існує система цифрових підписів, за допомогою якої користувач може визначати чи дані аплети отримані з надійних джерел, а отже може зняти більшість обмежень.
2. Аплетам необхідно певний час, щоб загрузитися з Інтернету. Для зменшення цього часу всі дані, які необхідно аплету для роботи, як правило включають в jar-архів, що дозволяє швидше загрузити аплет.
Переваги мови Java:
1. Для аплетів немає необхідності встановлювати їх як інші програми. Цим можна скористатися, коли необхідно постійно загружати обновлені версії програм.
2. Немає необхідності хвилюватись, що загружений аплет виконає потенційно небезпечні дії. Основні дії, які можуть привести до втрати важливої інформації, пошкодження чи зміна вмісту файлів для аплетів є заборонені.
Сервлети – це Java-програми, написані спеціальним чином (згідно специфікації), які виконуються на web-сервері. Їх запуск здійснюється з web-броузера за допомогою протоколу HTTP через web-сервер. Сервлети можуть виконувати ті ж самі функції, що й CGI-сценарії, але замість мов Perl, Python або C++ використовується мова Java, що дає багато переваг над CGI. Ці переваги полягають у зручності написання, підтримки та зміни коду, а також у самому способі виконання Java-програм на сервері.
Сервлети – це програми, які виконуються на WEB-сервері, і діють у якості посередника між запитом, який поступає від Web-броузера або іншого клієнта HTTP, і базами даних або додатками на сервері. Вони можуть виконувати наступні дії: зчитувати дані, передані користувачем; проглядати всю інформацію про запит, яка вбудована в HTTP-запит; генерувати результати; встановлювати відповідні параметри HTTP-відповіді; повертати документ клієнту.
Рис. 1.1 Загальна структура роботи технології сер влетів
При виконанні багатьох запитів клієнтам можуть повертатися попередньо створені (статичні) документи. Такі запити слід обробляти без використання сервлетів. Однак у багатьох випадках статичний результат не є достатнім, а сторінку слід генерувати при кожному запиті. Наприклад:
1. сторінки, основані на даних, представлених користувачем;
2. сторінки будуються на основі часто змінюваних даних;
3. сторінки використовують інформацію корпоративних баз даних або інших джерел на боці сервера.
Особливістю технології сервлетів являється те, що код HTML-сторінки вбудовується в код Java, і даний додаток працюючи на стороні сервера не вимагає від користувачів жодних додаткових витрат ресурсів. Він повністю виконується засобами Web-сервера, а результати своєї роботи у вигляді HTML-сторінки відсилає клієнту. Перевагою появи такого підходу до вирішення проблеми обмеженості ресурсів користувачів явилось і те, що HTML був визначений як основний стандарт передачі інформації в WWW.
Невдовзі після появи технології сервлетів розробники стикнулися з такою проблемою: для динамічної генерації HTML-сторінок за допомогою сервлета HTML-код доводиться розміщувати в самому сервлеті. При цьому HTML-код сторінки змішується з Java-кодом (при цьому логіка роботи програми змішується із зовнішнім виглядом web-сторінки), що ускладнює роботу як програміста, так і веб-дизайнера.
Для вирішення цієї проблеми була розроблена технологія JavaServer Pages (JSP). Вона дозволяє розміщувати Java-код всередині HTML-коду web-сторінки. При першому зверненні до jsp-сторінки її код автоматично перетворюється в сервлет і компілюється. Після цього при наступних зверненнях web-сервер викликає не jsp-сторінку, а відкомпільований сервлет. При внесенні змін в jsp-сторінку web-сервер виявляє, що сторінка змінилась, і знову оновлює відповідний сервлет.
На появу такої технології вплинуло також масовий вихід різноманітних редакторів, які спрощували написання статичних HTML-сторінок. Стало достатньо просто розробляти красиві за інтерфейсом та динамічні веб-додатки. Користувачі за допомогою будь-якого редактора створювали красиву HTML-сторінку, а потім поміщували всередині неї Java-код для забезпечення більшої інтерактивності сторінки. Схема функціонування Web-сервера з сервлетами та JSP-сторінками зображена на Рис.1.2.
Рис.1.2. Javaweb – сервер додатків
Багатопоточна програма – це програма, в якій присутні декілька незалежних потоків команд. В різних мовах програмування спробували реалізувати багатопоточність до появи Java. Однак, хоча ці спроби і увінчалися успіхом, цього не вистачило для широкого поширення цих мов програмування. Пояснюється це тим, що способи реалізації цієї багатопоточності були занадто складними, або переобтяжені великою кількістю інформації, яку повинен був зробити програміст для правильної її реалізації.
В мові Java реалізувати багатопоточність було достатньо легко. Для цього користувачу не потрібно було детальне знання роботи операційних систем чи реалізації достатньо складних алгоритмів. В Java навіть недостатньо досвідчений користувач міг створити багатопоточну програму, що дозволяло максимально використовувати ресурси комп’ютера. Модель багатопоточності та засоби роботи з потоками тут реалізована найбільш повно.