Java і дані з Oracle в web – все дуже просто

Зміст



Це третя стаття з серії про вживання Java в Oracle. Нагадаю, що мета серії – показати, що коштів звичайної штатної поставки Oracle Enterprise Edition або Standard Edition вистачає, щоб будувати Java-додатки для Oracle, в тому числі для використання в мережі web.


Web-сервер Apache і його розширення JServ і Tomcat


В якості базового елементу операційного середовища побудови web-сайтів на базі своєї СУБД фірма Oracle, починаючи з версії 8.1.6 (і продовжуючи версією 9), вибрала web-сервер Apache.


Для ефективного обслуговування великої кількості одночасних запитів по internet в web-сервері Apache є підтримка механізму сервлетів (servlets). Вона реалізується засобами так званого сервера JServ, що є розширенням базової поставки Apache (модулем сервлетов за термінологією, прийнятою в проекті Apache), і призначеного саме для сервлетов на Java. Нинішня розробка чергових версій Apache відбувається в рамках більш загального проекту Jakarta, і в рамках того ж проекту створюється сервер підтримки сервлетов Tomcat, пропонований на зміну JServ.


У штатній постачання Oracle сервер Apache вже налаштований з JServ. Тим не менш, установка і того, і іншого може бути при бажанні здійснена самостійно (див. http://java.apache.org/ і httpd.apache.org).


У прикладах нижче значення налаштувань Apache і JServ відповідають штатної поставки Oracle. Ці налаштування дещо відрізняються у версіях 8.1 і 9. Наприклад, в постачаннях 8.1 використовується HTTP-порт № 80, а у версії 9 – порт № 7778. У прикладах нижче використовується варіант порту версії 8.1, який, до того ж, зазвичай сприймається браузерами номером порту за замовчуванням.


Імена каталогів в прикладах також ставляться до версії 8.1 і можуть дещо відрізнятися від версії 9.


Для подальшої роботи зручно завести змінні середовища оточення ОС:


set APACHE_HOME=%ORACLE_HOME%ApacheApache
set JSERV_HOME=%ORACLE_HOME%ApacheJserv


Робота з Сервлетами Java


Загальні відомості про сервлетах Java в web


Java-сервлет представляє собою Java-програму, що зберігається на web-сервері (точніше – в модулі JServ або Tomcat), кешіруемую і виконувану там же. З точки зору Java, сервлет – це об'єкт класу (прямо або опосередковано) javax.servlet.GenericServlet, що задовольняє інтерфейсу javax.servlet.Servlet. Сервлет володіє всіма можливостями об'єктів Java, наприклад, спілкування з даними Oracle.


Набори класів і інтерфейсів, зручних для створення сервлетів Java в web, містяться в двох пакетах: javax.servlet і javax.servlet.http. Згідно інтерфейсу javax.servlet.Servlet сервлет має життєвий цикл, що диктуються наступними методами:


public void init (ServletConfig config) throws ServletException;



Метод, використовуваний машиною сервлетов раз для кожного конкретного сервлета для того, щоб завантажити його в пам'ять (в контейнер) і зробити доступним для роботи.


public void service (ServletRequest request, ServletResponse response)
throws ServletException, IOException;



Метод, яким машина сервлетов передає завантаженому в пам'ять сервлету на обробку прийшов запит (request) і отримує від нього відповідь (response) всякий раз при зверненні до працюючого сервлету.


public void destroy();



Метод, використовуваний машиною сервлетов раз для кожного конкретного сервлета для видалення його з пам'яті, зазвичай по непотрібності, і звільнення ресурсів сервера.


Інтерфейс javax.servlet.ServletRequest, якому задовольняє надходить на обробку сервлетом запит, містить методи для отримання відомостей про джерело надходження запиту та про параметри, що передаються запитом.


Інтерфейс javax.servlet.ServletResponse, відповідно до якого сервлет формує свою відповідь, містить методи для видачі результатів і установки характеристик видачі.


На практиці сервлети web-сервера зручніше створювати як екземпляри класу javax.servlet.http.HttpServlet, що є спадкоємцем GenericServlet,. Серед інших, методи HttpServlet містять наступні:


protected void doGet (HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException;



Метод, до якого звертається метод service класу, якому прнадлежіт сервлет, для обробки операції GET, що прийшла по протоколу HTTP.


protected void doPost (HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException;



Метод, до якого звертається метод service класу, якому прнадлежіт сервлет, для обробки операції POST, що прийшла по протоколу HTTP.


Детальніше про техніку Java Servlet див. на http://java.sun.com/products/servlet/.


Приклад сервлета зі зверненням до бази даних


Нижче наводиться приклад файлу


Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*