Дескриптор розгортання web-додатки

Дескриптор розгортання є важливою частиною web-додатки, призначений для зберігання його основних параметрів.

Дескриптор розгортання програми є xml-файл, кореневих елементом якого є тег . Дескриптор програми може містити досить багато різних і повторюваних елементів. Порядок елементів всередині і їх синтаксис визначається схемою XML.

У найпростішому випадку дескриптор розгортання складається тільки з одного тега

, всередині якого нічого немає. У нашому випадку, є ще три тега: , і .

тег не є обов'язковим, але якщо є, то не може повторюватися більше одного разу. Цей тег призначений для вказівки імені webпріложенія, яке потім може бути використано в графічному інтерфейсі. Для цього імені не потрібно унікальність і його значення не впливає на роботу програми.

тег теж не є обов'язковим і призначений для вказівки списку стартових сторінок web-додатки. Імена файлів странниц вказуються всередині тега за допомогою одного або більше тегів .

Може бути зазначено кілька стартових сторінок для одного webпріложенія. У цьому випадку пошук їх здійснюється в зазначеному порядку.

Дескриптор розгортання web-додатки містить інформацію необхідну web-контейнеру для взаємодії з додатком.

Параметри ініціалізації сервлету і їх значення описуються в тілі відповідного тега дескриптора розгортання програми. На прикладі фрагмента дескриптора розгортання програми, що описує сервлет Hhh з одним па-параметром ініціалізації.

Єдиний параметр ініціалізації в прикладі має ім'я fhtml і значення male.html. Значення параметрів ініціалізації завжди мають рядком тип. У загальному випадку параметрів ініціалізації може бути більше, ніж один.

Отримати значення параметра ініціалізації в сервлет можна за допомогою методу getInitParameter інтерфейсу Servlet. На прикладі фрагмент сервлету, що зчитує значення параметра fhtml.

publicclass Hhh extendsHttpServletimplementsServlet

protectedvoid doGet (HttpServletRequest rq, HttpServletResponse rs)

throwsServletException. IOException

String fhml = getInitParameter ( "fhtml");

rq.getRequestDispatcher ( "/" + fhml) .forward (rq, rs);

Атрибути системних об'єктів. Призначення. Принципи застосування. атрибути контексту

Атрибути є динамічно елементами контексту і можуть бути встановлені, змінені або видалені в методах сервлетів або в скріплет JSP. На рис. 5.7 наводиться фрагмент сервлету, що використовує атрибути контексту.

publicvoid init () throwsServletException

ServletContext sc = getServletContext ();

protectedvoid service (HttpServletRequest rq, HttpServletResponse rs)

throwsServletException. IOException

ServletContext sc = getServletContext ();

PrintWriter pw = rs.getWriter ();

Enumeration en = sc.getAttributeNames ();

x = (String) en.nextElement ();

pw.println ( "
"+ X +" = "+ sc.getAttribute (x));

У методі service сервлета за допомогою методів контекстаgetAttributeNames іgetAttribute в вікно браузера виводиться імена всіх атрибутів і їх значення. Слід знати, що деякі атрибути можуть створюватися і встановлюватися самими webконтейнером. Для того щоб не змінити або не видалити їх, необхідно в документації сервера з'ясувати імена цих атрибутів і не використовувати їх у своїх додатках. При необхідності видалити атрибут використовують методremoveAttribute.

Схожі статті