Dodatek C.
Krótki opis deskryptorów DTD
Plik Document Type Definition (Definicja Typu Dokumentu — DTD) określa prawidłową zawartość aplikacji w poprzez plik XML. Niniejszy dodatek przedstawia oficjalny DTD Servlet API 2.2 dla deskryptora aplikacji WWW. Pliki DTD nie są plikami XML, ale ich składnia nie jest skomplikowana — każdy znacznik <!ELEMENT> definiuje w nawiasach, jakie elementy potomne może posiadać, jaką ich ilość oraz w jakim porządku. Znak zapytania (?) po nazwie potomka oznacza, że potomek jest opcjonalny (0 - 1), gwiazdka (*) oznacza, że może pojawić się dowolna ilość potomków (0 - n), znak plus (+) oznacza, że pewna ilość potomków musi się pojawić (1 - n), a brak znaku po nazwie oznacza, że potomek jest po prostu konieczny (1). Składnia (x|y) oznacza x lub y. Elementy potomne musza pojawiać się dokładnie w porządku określonym wewnątrz nawiasów.
Rysunki od C.1 do C.4 przedstawiają graficznie strukturę elementów Przykład C.1 przedstawia sam DTD. Każdy znacznik <!ATTLIST> kontroluje dozwolone atrybuty elementu. W niniejszym DTD znacznik ten jest wykorzystany jedynie w celu dostarczenia domyślnych wartości id. Pozostała część niniejszego dodatku to opis elementów DTD.
Rysunek C.1.
Struktura elementów deskryptora DTD
Rysunek C.2.
Rysunek C.3.
Rysunek C.4.
Przykład C.1.
Deskryptor DTD
<!ELEMENT web-app (icon?, display-name?, description?, distributable?,
context-param*, servlet*, servlet-mapping*, session-config?,
mime-mapping*, welcome-file-list?, error-page*, taglib*,
resource-ref*, security-constraint*, login-config?,
security-role*, env-entry*, ejb-ref*)>
<!ELEMENT icon (small-icon?, large-icon?)>
<!ELEMENT small-icon (#DANE)>
<!ELEMENT large-icon (#DANE)>
<!ELEMENT display-name (#DANE)>
<!ELEMENT description (#DANE)>
<!ELEMENT distributable EMPTY>
<!ELEMENT context-param (param-name, param-value, description?>
<!ELEMENT param-name (#DANE)>
<!ELEMENT param-value (#DANE)>
<!ELEMENT servlet (icon?, servlet-name, display-name?, description?,
(servlet-class|jsp-file), init-param*, load-on-startup?,
security-role-ref*)>
<!ELEMENT servlet-name (#DANE)>
<!ELEMENT servlet-class (#DANE)>
<!ELEMENT jsp-file (#DANE)>
<!ELEMENT init-param (param-name, param-value, description?>
<!ELEMENT load-on-startup (#DANE)>
<!ELEMENT servlet-mapping (servlet-name, url-pattern)>
<!ELEMENT url-pattern (#DANE)>
<!ELEMENT session-config (session-timeout?)>
<!ELEMENT session-timeout (#DANE)>
<!ELEMENT mime-mapping (extension, mime-type)>
<!ELEMENT extension (#DANE)>
<!ELEMENT mime-type (#DANE)>
<!ELEMENT welcome-file-list (welcome-file+)>
<!ELEMENT welcome-file (#DANE)>
<!ELEMENT taglib (taglib-uri, taglib-location)>
<!ELEMENT taglib-uri (#DANE)>
<!ELEMENT taglib-location (#DANE)>
<!ELEMENT error-page ((error-code | exception-type), location)>
<!ELEMENT error-code (#DANE)>
<!ELEMENT exception-type (#DANE)>
<!ELEMENT location (#DANE)>
<!ELEMENT resource-ref (description?, res-ref-name, res-type, res-auth)>
<!ELEMENT res-ref-name (#DANE)>
<!ELEMENT res-type (#DANE)>
<!ELEMENT res-auth (#DANE)>
<!ELEMENT security-constraint (web-resource-collection+,
auth-constraint?, user-data-constraint?)>
<!ELEMENT web-resource-collection (web-resource-name, description?,
url-pattern*, http-method*)>
<!ELEMENT web-resource-name (#DANE)>
<!ELEMENT http-method (#DANE)>
<!ELEMENT user-data-constraint (description?, transport-guarantee)>
<!ELEMENT transport-guarantee (#DANE)>
<!ELEMENT auth-constraint (description?, role-name*)>
<!ELEMENT role-name (#DANE)>
<!ELEMENT login-config (auth-method?, realm-name?, form-login-config?)>
<!ELEMENT realm-name (#DANE)>
<!ELEMENT form-login-config (form-login-page, form-error-page)>
<!ELEMENT form-login-page (#DANE)>
<!ELEMENT form-error-page (#DANE)>
<!ELEMENT auth-method (#DANE)>
<!ELEMENT security-role (description?, role-name)>
<!ELEMENT security-role-ref (description?, env-entry-name, env-entry-value?
env-entry-type)>
<!ELEMENT env-entry-name (#DANE)>
<!ELEMENT env-entry-value (#DANE)>
<!ELEMENT env-entry-type (#DANE)>
<!ELEMENT ejb-ref (description?, ejb-ref-name, ejb-ref-type, home, remote,
ejb-link?)>
<!ELEMENT ejb-ref-name (#DANE)>
<!ELEMENT ejb-ref-type (#DANE)>
<!ELEMENT home (#DANE)>
<!ELEMENT remote (#DANE)>
<!ELEMENT ejb-link (#DANE)>
<!—Mechanizm identyfikacji umożliwia narzędziom tworzenie w łatwy sposób specyficznych dla narzędzia odwołań do elementów deskryptora. Pozwala to narzędziom tworzącym dodatkowe informacje (to znaczy informacje poza standardowymi informacjami deskryptora) przechowywanie niestandardowych informacji w osobnym pliku i łatwe odwoływanie się z tych specyficznych dla narzędzia plików do informacji zawartych w standardowym deskryptorze aplikacji WWW. -->
<!ATTLIST web-app id ID #SUGERUJ>
<!ATTLIST icon id ID #SUGERUJ>
<!ATTLIST small-icon id ID #SUGERUJ>
<!ATTLIST large-icon id ID #SUGERUJ>
<!ATTLIST display-name id ID #SUGERUJ>
<!ATTLIST description id ID #SUGERUJ>
<!ATTLIST distributable id ID #SUGERUJ>
<!ATTLIST context-param id ID #SUGERUJ>
<!ATTLIST param-name id ID #SUGERUJ>
<!ATTLIST param-value id ID #SUGERUJ>
<!ATTLIST servlet id ID #SUGERUJ>
<!ATTLIST servlet-name id ID #SUGERUJ>
<!ATTLIST servlet-class id ID #SUGERUJ>
<!ATTLIST jsp-file id ID #SUGERUJ>
<!ATTLIST init-param id ID #SUGERUJ>
<!ATTLIST load-on-startup id ID #SUGERUJ>
<!ATTLIST servlet-mapping id ID #SUGERUJ>
<!ATTLIST url-pattern id ID #SUGERUJ>
<!ATTLIST session-config id ID #SUGERUJ>
<!ATTLIST session-timeout id ID #SUGERUJ>
<!ATTLIST mime-mapping id ID #SUGERUJ>
<!ATTLIST extension id ID #SUGERUJ>
<!ATTLIST mime-type id ID #SUGERUJ>
<!ATTLIST welcome-file-list id ID #SUGERUJ>
<!ATTLIST welcome-file id ID #SUGERUJ>
<!ATTLIST error-page id ID #SUGERUJ>
<!ATTLIST error-code id ID #SUGERUJ>
<!ATTLIST exception-type id ID #SUGERUJ>
<!ATTLIST location id ID #SUGERUJ>
<!ATTLIST resource-ref id ID #SUGERUJ>
<!ATTLIST res-ref-name id ID #SUGERUJ>
<!ATTLIST res-type id ID #SUGERUJ>
<!ATTLIST res-auth id ID #SUGERUJ>
<!ATTLIST security-constraint id ID #SUGERUJ>
<!ATTLIST web-resource-collection id ID #SUGERUJ>
<!ATTLIST web-resource-name id ID #SUGERUJ>
<!ATTLIST http-method-id id ID #SUGERUJ>
<!ATTLIST user-data-constraint id ID #SUGERUJ>
<!ATTLIST transport-guarantee id ID #SUGERUJ>
<!ATTLIST auth-constraint id ID #SUGERUJ>
<!ATTLIST role-name id ID #SUGERUJ>
<!ATTLIST auth-method id ID #SUGERUJ>
<!ATTLIST basic-auth id ID #SUGERUJ>
<!ATTLIST form-auth id ID #SUGERUJ>
<!ATTLIST form-login-page id ID #SUGERUJ>
<!ATTLIST form-error-page id ID #SUGERUJ>
<!ATTLIST form-login-config id ID #SUGERUJ>
<!ATTLIST realm-name id ID #SUGERUJ>
<!ATTLIST login-config id ID #SUGERUJ>
<!ATTLIST security-role id ID #SUGERUJ>
<!ATTLIST security-role-ref id ID #SUGERUJ>
<!ATTLIST role-link id ID #SUGERUJ>
<!ATTLIST env-entry id ID #SUGERUJ>
<!ATTLIST env-entry-name id ID #SUGERUJ>
<!ATTLIST env-entry-value id ID #SUGERUJ>
<!ATTLIST env-entry-type id ID #SUGERUJ>
<!ATTLIST mutual-auth id ID #SUGERUJ>
<!ATTLIST ejb-ref id ID #SUGERUJ>
<!ATTLIST ejb-ref-name id ID #SUGERUJ>
<!ATTLIST ejb-ref-type id ID #SUGERUJ>
<!ATTLIST home id ID #SUGERUJ>
<!ATTLIST remote id ID #SUGERUJ>
<!ATTLIST ejb-ref id ID #SUGERUJ>
<auth-constraint>
Zestawienie
<!ELEMENT auth-constraint (description?, role-name*)>
Opis
Element <auth-constraint> wskazuje na role użytkowników, które mogą zostać dopuszczone do zbioru zasobów. Nazwy ról wykorzystane w tym miejscu muszą pojawić się w elemencie <security-role-ref>.
<security-constraint>
<web-resource-collection>
...
</web-resource-collection>
<auth-constraint>
<role-name>menedzer</role-name>
</auth-constraint>
</security-constraint>
<auth-method>
Zestawienie
<!ELEMENT auth-method (#DANE)>
Opis
Element <auth-method> jest wykorzystywany do konfigurowania mechanizmu uwierzytelniającego aplikacji WWW. Podstawową zasadą dostępu do dowolnych zasobów WWW chronionych przez ograniczenia dostępu jest uwierzytelnienie użytkownika przy pomocy skonfigurowanego mechanizmu. Prawidłowe wartości tego elementu to BASIC, DIGEST, FORM i CLIENT-CERT.
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Domyslny</realm-name>
</login-config>
<context-param>
Zestawienie
<!ELEMENT context-param (param-name, param-value, description?>
Opis
Element <context-param> zawiera deklarację parametrów inicjacji kontekstu serwletów aplikacji WWW.
<context-param>
<param-name>rmihost</param-name>
<param-value>localhost</param-value>
</context-param>
<description>
Zestawienie
<!ELEMENT description (#DANE)>
Opis
Element <description> jest wykorzystywany w celu dołączenia tekstu opisującego element przodka.
<description>Nie zapomnij się przywitać!</description>
<display-name>
Zestawienie
<!ELEMENT display-name (#DANE)>
Opis
Element <display-name> zawiera krótką nazwę serwletu, który powinien zostać wyświetlony przez narzędzia graficzne.
<servlet>
<servlet-name>witaj</servlet-name>
<display-name>WitajSwiecie</display-name>
<servlet-class>WitajSwiecie</servlet-class>
</servlet>
<distributable>
Zestawienie
<!ELEMENT distributable (#DANE)>
Opis
Element <distributable> poprzez swoją obecność w deskryptorze aplikacji WWW wskazuje, że aplikacja WWW jest zaprogramowana odpowiednio dla rozproszonego kontenera serwletów.
<distributable>
<description>
Wszystkie serwlety i strony JSP są przygotowane do działania rozproszonego
</description>
</distributable>
<ejb-link>
Zestawienie
<!ELEMENT ejb-link (#DANE)>
Opis
Element <ejb-link> jest wykorzystywany w elemencie <ejb-ref> w celu zaznaczenia, że odwołanie połączone jest z komponentem EJB w pakiecie aplikacji Java 2, Enterprise Edition (J2EE). Wartość elementu <ejb-link> musi być równa <ejb-name> komponentu w pakiecie aplikacji J2EE.
<ejb-ref>
<description>Kabiny na statku wycieczkowym</description>
<ejb-ref-name>ejb/KabinaPocz</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<home>com.tytan.kabina.KabinaPocz</home>
<remote>com.tytan.kabina.Kabina</remote>
<ejb-link>KabinaElement</ejb-link>
</ejb-ref>
<ejb-ref>
Zestawienie
<!ELEMENT ejb-ref (description?, ejb-ref-name, ejb-ref-type, home, remote,
ejb-link?)>
Opis
Element <ejb-ref> jest wykorzystywany do deklarowania odwołania do komponentu korporacyjnego EJB.
<ejb-ref>
<description>Kabiny na statku wycieczkowym</description>
<ejb-ref-name>ejb/KabinaPocz</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<home>com.tytan.kabina.KabinaPocz</home>
<remote>com.tytan.kabina.Kabina</remote>
</ejb-ref>
<ejb-ref-name>
Zestawienie
<!ELEMENT ejb-ref-name (#DANE)>
Opis
Element <ejb-ref-name> zawiera nazwę odwołania do EJB. Jest to nazwa JNDI, którą wykorzystuje kod serwletu w celu pobrania odwołania do komponentu korporacyjnego.
<ejb-ref>
<description>Kabiny na statku wycieczkowym</description>
<ejb-ref-name>ejb/KabinaPocz</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<home>com.tytan.kabina.KabinaPocz</home>
<remote>com.tytan.kabina.Kabina</remote>
</ejb-ref>
<ejb-ref-type>
Zestawienie
<!ELEMENT ejb-ref-type (#DANE)>
Opis
Element <ejb-ref-type> zawiera typ komponentu. Jego wartość musi wynosić Entity lub Session.
<ejb-ref>
<description>Kabiny na statku wycieczkowym</description>
<ejb-ref-name>ejb/KabinaPocz</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<home>com.tytan.kabina.KabinaPocz</home>
<remote>com.tytan.kabina.Kabina</remote>
</ejb-ref>
<env-entry>
Zestawienie
<!ELEMENT env-entry (description?, env-entry-name, env-entry-value?,
env-entry-type)>
Opis
Element <env-entry-type> zawiera deklarację pozycji środowiskowej aplikacji, dostępnej poprzez wyszukiwanie JNDI w kontekście java:comp/env.
<env-entry>
<description>Wysyłanie kodu PIN pocztą</description>
<env-entry-name>pocztaPIN</env-entry-name>
<env-entry-value>false</env-entry-value>
<env-entry-type>java.lang.Boolean</env-entry-type> <!--PNK-->
</env-entry>
<env-entry-name>
Zestawienie
<!ELEMENT env-entry-name (#DANE)>
Opis
Element <env-entry-name> określa nazwę pozycji środowiskowej aplikacji służącą do poszukiwań.
<env-entry>
<description>Wysyłanie kodu PIN pocztą</description>
<env-entry-name>pocztaPIN</env-entry-name>
<env-entry-value>false</env-entry-value>
<env-entry-type>java.lang.Boolean</env-entry-type> <!--PNK-->
</env-entry>
<env-entry-type>
Zestawienie
<!ELEMENT env-entry-type (#DANE)>
Opis
Element <env-entry-type> zawiera pełną nazwę typu Javy pozycji środowiskowej, który jest oczekiwany przez kod aplikacji. Prawidłowe wartości <env-entry-type> są następujące: java.lang.Boolean, java.lang.String, java.lang.Integer, java.lang.Double, and java.lang.Float.
<env-entry>
<description>Wysyłanie kodu PIN pocztą</description>
<env-entry-name>pocztaPIN</env-entry-name>
<env-entry-value>false</env-entry-value>
<env-entry-type>java.lang.Boolean</env-entry-type> <!--PNK-->
</env-entry>
<env-entry-value>
Zestawienie
<!ELEMENT env-entry-value (#DANE)>
Opis
Element <env-entry-value> zawiera domyślną wartość pozycji środowiskowej aplikacji.
<env-entry>
<description>Wysyłanie kodu PIN pocztą</description>
<env-entry-name>pocztaPIN</env-entry-name>
<env-entry-value>false</env-entry-value>
<env-entry-type>java.lang.Boolean</env-entry-type> <!--PNK-->
</env-entry>
<error-code>
Zestawienie
<!ELEMENT error-code (#DANE)>
Opis
Element <error-code> zawiera kod błędu HTTP.
<error-page>
<error-code>400</error-code>
<location>/400.html</location>
</error-page>
<error-page>
Zestawienie
<!ELEMENT error-page ((error-code | exception-type), localization)>
Opis
Element <error-page> zawiera odwzorowanie pomiędzy kodem błędu lub typem wyjątku I ścieżką do zasobu w aplikacji WWW.
<error-page>
<error-code>400</error-code>
<location>/400.html</location>
</error-page>
<exception-type>
Zestawienie
<!ELEMENT exception-type (#DANE)>
Opis
Element <exception-type> zawiera pełną nazwę klasy typu wyjątku Javy.
<error-page>
<exception-type>javax.servlet.ServletException</exception-type>
<location>/servler/WyswietlBlad</location>
</error-page>
<extension>
Zestawienie
<!ELEMENT exception-type (#DANE)>
Opis
Element <extension> zawiera łańcuch opisujący rozszerzenie pliku.
<mime-mapping>
<extension>wml</extension>
<mime-type>text/vnd.wap.wml</mime-type>
</mime-mapping>
<form-error-page>
Zestawienie
<!ELEMENT form-error-page (#DANE)>
Opis
Element <form-error-page> definiuje lokalizację w aplikacji WWW strony błędu, która jest wyświetlana, jeżeli logowanie nie powiedzie się.
<form-login-config>
<form-login-page>/stronalog.html</form-login-page>
<form-error-page>/stronablad.html</form-error-page>
</form-login-config>
<form-login-config>
Zestawienie
<!ELEMENT form-login-config (form-login-page, form-error-page)>
Opis
Element <form-login-config> określa strony logowania i błędu, które powinny zostać wykorzystane podczas logowania opartego na formularzu. Jeżeli logowanie oparte na formularzu nie zostanie zastosowane, elementy te będą zignorowane.
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/stronalog.html</form-login-page>
<form-error-page>/stronablad.html</form-error-page>
</form-login-config>
</login-config>
<form-login-page>
Zestawienie
<!ELEMENT form-login-page (#DANE)>
Opis
Element <form-login-page> definiuje lokalizację w aplikacji WWW strony logowania.
<form-login-config>
<form-login-page>/stronalog.html</form-login-page>
<form-error-page>/stronablad.html</form-error-page>
</form-login-config>
<home>
Zestawienie
<!ELEMENT home (#DANE)>
Opis
Element <home> zawiera pełną nazwę głównego interfejsu EJB.
<ejb-ref>
<description>Kabiny na statku wycieczkowym</description>
<ejb-ref-name>ejb/KabinaPocz</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<home>com.tytan.kabina.KabinaPocz</home>
<remote>com.tytan.kabina.Kabina</remote>
</ejb-ref>
<http-method>
Zestawienie
<!ELEMENT http-method (#DANE)>
Opis
Element <http-method> określa metodę HTTP.
<web-resource-collection>
<web-resource-name>TajnaOchrona</web-resource-name>
<url-pattern>/servlet/SerwerPlac</url-pattern>
<url-pattern>/servlet/sekret</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<icon>
Zestawienie
<!ELEMENT icon (small-icon?, large-icon?)>
Opis
Element <icon> może zawierać elementy <small-icon> i <large-icon> określające położenie wewnątrz struktury plików aplikacji WWW obrazków — małego i dużego — wykorzystywanych do przedstawiania aplikacji WWW w narzędziu graficznym.
<icon>
<small-icon>/obrazki/maly.gif</small-icon>
<large-icon>/obrazki/duzy.gif</large-icon>
</icon>
<init-param>
Zestawienie
<!ELEMENT init-param (param-name, param-value, description?)>
Opis
Element <init-param> zawiera parę nazwa-wartość określającą parametr inicjacji serwletu.
<init-param>
<param-name>klucz</param-name>
<param-value>-915314447111823249</param-value>
</init-param>
<jsp-file>
Zestawienie
<!ELEMENT jsp-file (#DANE)>
Opis
Element <jsp-file> zawiera ścieżkę do pliku JSP wewnątrz aplikacji WWW.
<servlet>
<servlet-name>zamowienie-katalog</servlet-name>
<servlet-class>Katalog</servlet-class>
<jsp-file>/formzamow.jsp</jsp-file>
</servlet>
<large-icon>
Zestawienie
<!ELEMENT large-icon (#DANE)>
Opis
Element <large-icon> określa położenie wewnątrz aplikacji WWW pliku zawierającego duży (32 x 32 piksele) obrazek ikony. Narzędzia przyjmują formaty przynajmniej GIF i JPEG.
<icon>
<small-icon>/obrazki/maly.gif</small-icon>
<large-icon>/obrazki/duzy.gif</large-icon>
</icon>
<load-on-startup>
Zestawienie
<!ELEMENT load-on-startup (#DANE)>
Opis
Element <load-on-startup> wskazuje, że serwlet powinien być ładowany podczas startu aplikacji WWW. Opcjonalną zawartością tego elementu musi być dodatnia liczba całkowita określająca porządek ładowania serwletów. Jeżeli nie jest określona żadna wartość lub nie jest ona dodatnią liczbą całkowitą, kontener może załadować serwlet w dowolnym momencie sekwencji startowej.
<servlet>
<servlet-name>ps</servlet-name>
<servlet-class>PierwszeSzukanie</servlet-class>
<load-on-startup/>
</servlet>
<location>
Zestawienie
<!ELEMENT location (#DANE)>
Opis
Element <location> zawiera położenie zasobu w aplikacji WWW.
<error-page>
<error-code>400</error-code>
<location>/400.html</location>
</error-page>
<login-config>
Zestawienie
<!ELEMENT login-config (auth-method?, realm-name?, form-login-config?)>
Opis
Element <login-config> jest wykorzystywany do konfigurowania metody uwierzytelniania i nazwy obszaru, które powinny zostać wykorzystane w aplikacji, podobnie jak atrybuty logowania opartego na formularzu, jeżeli zostanie ono wykorzystane.
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Domyslny</realm-name>
</login-config>
<mime-mapping>
Zestawienie
<!ELEMENT mime-mapping (extension, mime-type)>
Opis
Element <mime-mapping> definiuje odwzorowanie pomiędzy rozszerzeniem i typem MIME.
<mime-mapping>
<extension>wml</extension>
<mime-type>text/vnd.wap.wml</mime-type>
</mime-mapping>
<mime-type>
Zestawienie
<!ELEMENT mime-type (#DANE)>
Opis
Element <mime-type> zawiera zdefiniowany typ MIME.
<mime-mapping>
<extension>wml</extension>
<mime-type>text/vnd.wap.wml</mime-type>
</mime-mapping>
<param-name>
Zestawienie
<!ELEMENT param-name (#DANE)>
Opis
Element <param-name> zawiera nazwę parametru.
<context-param>
<param-name>rmihost</param-name>
<param-value>localhost</param-value>
</context-param>
<param-value>
Zestawienie
<!ELEMENT param-value (#DANE)>
Opis
Element <param-value> zawiera nazwę parametru.
<init-param>
<param-name>klucz</param-name>
<param-value>-915314447111823249</param-value>
</init-param>
<realm-name>
Zestawienie
<!ELEMENT realm-name (#DANE)>
Opis
Element <realm-name> określa nazwę obszaru, która powinna zostać wykorzystana podczas podstawowego uwierzytelniania TTP.
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Domyslny</realm-name>
</login-config>
<remote>
Zestawienie
<!ELEMENT remote (#DANE)>
Opis
Element <remote> zawiera pełną nazwę zdalnego interfejsu EJB.
<ejb-ref>
<description>Kabiny na statku wycieczkowym</description>
<ejb-ref-name>ejb/KabinaPocz</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<home>com.tytan.kabina.KabinaPocz</home>
<remote>com.tytan.kabina.Kabina</remote>
</ejb-ref>
<res-auth>
Zestawienie
<!ELEMENT res-auth (#DANE)>
Opis
Element <auth-res> wskazuje, czy komponent kodu aplikacji przeprowadza przypisywanie zasobów programowo, czy też kontener przypisuje zasoby w oparciu o ogólną zasadę odwzorowywania określoną przez programistę. Musi mieć wartość CONTAINER lub SERVLET.
<resource-ref>
<description>Podstawowa baza danych</description>
<res-ref-name>jdbc/podstBD</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>CONTAINER</res-auth>
</resource-ref>
<res-ref-name>
Zestawienie
<!ELEMENT res-ref-name (#DANE)>
Opis
Element <res-ref-name> określa nazwę fabryki zasobów, do której wykonywane jest odwołanie.
<resource-ref>
<description>Podstawowa baza danych</description>
<res-ref-name>jdbc/podstBD</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>CONTAINER</res-auth>
</resource-ref>
<res-type>
Zestawienie
<!ELEMENT res-type (#DANE)>
Opis
Element <res-type> określa typ (klasę Javy) źródła danych/
<resource-ref>
<description>Podstawowa baza danych</description>
<res-ref-name>jdbc/podstBD</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>CONTAINER</res-auth>
</resource-ref>
<resource-ref>
Zestawienie
<!ELEMENT resource-ref (description?, res-ref-name, res-type, res-auth)>
Opis
Element <resource-ref> zawiera deklarację odwołania aplikacji WWW do zasobu zewnętrznego, takiego jak komponent Enterprise JavaBeans lub obiektu DataSource JDBC.
<resource-ref>
<description>Podstawowa baza danych</description>
<res-ref-name>jdbc/podstBD</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>CONTAINER</res-auth>
</resource-ref>
<role-link>
Zestawienie
<!ELEMENT role-link (#DANE)>
Opis
Element <role-link> jest wykorzystywany do łączenia odwołania do roli bezpieczeństwa ze zdefiniowaną rolą. Element musi zawierać nazwę jednej z ról bezpieczeństwa określonej w elementach <security-role>.
<security-role-ref>
<role-name>men</role-name>
<role-link>menedzer</role-link>
</security-role-ref>
<role-name>
Zestawienie
<!ELEMENT role-name (#DANE)>
Opis
Element <role-name> zawiera nazwę roli bezpieczeństwa.
<auth-constraint>
<role-name>menedzer</role-name>
</auth-constraint>
<security-constraint>
Zestawienie
<!ELEMENT security-constraint (web-resource-collection+,
auth-constraint?, user-data-constraint?)>
Opis
<security-constraint>
<web-resource-collection>
<web-resource-name>TajnaOchrona</web-resource-name>
<url-pattern>/servlet/SerwerPlac</url-pattern>
<url-pattern>/servlet/sekret</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>menedzer</role-name>
</auth-constraint>
</security-constraint>
<security-role>
Zestawienie
<!ELEMENT security-role (description?, role-name)>
Opis
Element <security-role> zawiera deklarację roli bezpieczeństwa, która jest wykorzystywana w ograniczeniach dostępu umieszczonych w aplikacji WWW.
<security-role>
<role-name>menedzer</role-name>
</security-role>
<security-role-ref>
Zestawienie
<!ELEMENT security-role-ref (description?, role-name, role-link)>
Opis
Element <security-role-ref> określa alias dla roli bezpieczeństwa tworząc odwzorowanie pomiędzy nazwą wykorzystywaną przez serwlet i nazwą zastosowaną w deskryptorze.
<security-role-ref>
<role-name>men</role-name>
<role-link>menedzer</role-link>
</security-role-ref>
<servlet>
Zestawienie
<!ELEMENT servlet (icon?, servlet-name, display-name?, description?,
(servlet-class|jsp-file), init-param*, load-on-startup?,
security-role-ref*)>
Opis
Element <servlet> zawiera deklaratywne dane serwletu, takie jak jego zarejestrowana nazwa i plik klasy.
<servlet>
<servlet-name>witaj</servlet-name>
<display-name>witaj</display-name>
<description>Nie zapomnij się przywitać!</description>
<servlet-class>WitajSwiecie</servlet-class>
<init-param>
<param-name>domyslnaNazwa</param-name>
<param-value>Świecie</param-value>
</init-param>
<load-on-startup/>
<security-role-ref>
<role-name>men</role-name>
<role-link>menedzer</role-link>
</security-role-ref>
</servlet>
<servlet-class>
Zestawienie
<!ELEMENT servlet-class (#DANE)>
Opis
<servlet-class> zawiera pełną nazwę klasy serwletu/
<servlet>
<servlet-name>witaj</servlet-name>
<servlet-class>WitajSwiecie</servlet-class>
</servlet>
<servlet-mapping>
Zestawienie
<!ELEMENT servlet-mapping (#DANE)>
Opis
Element <servlet-mapping> definiuje odwzorowanie pomiędzy serwletem i wzorem URL-a.
<servlet-mapping>
<servlet-name>witaj</servlet-name>
<url-pattern>/witaj.html</url-pattern>
</servlet-mapping>
<servlet-name>
Zestawienie
<!ELEMENT servlet-name (#DANE)>
Opis
Element <servlet-name> określa kanoniczną nazwę serwletu.
<servlet>
<servlet-name>witaj</servlet-name>
<servlet-class>WitajSwiecie</servlet-class>
</servlet>
<session-config>
Zestawienie
<!ELEMENT session-config (session-timeout?)>
Opis
Element <session-config> definiuje parametry sesji dla aplikacji WWW.
<session-config>
<session-timeout>60 <!-- minuty --></session-timeout>
</session-config>
<session-timeout>
Zestawienie
<!ELEMENT session-timeout (#DANE)>
Opis
Element <session-timeout> definiuje domyślny czas przedawnienia sesji dla wszystkich sesji utworzonych w aplikacji WWW. Dany czas przedawnienia musi być określony w pełnych minutach.
<session-config>
<session-timeout>60 <!-- minuty --></session-timeout>
</session-config>
<small-icon>
Zestawienie
<!ELEMENT small-icon (#DANE)>
Opis
Element <small-icon> określa położenie wewnątrz aplikacji WWW pliku zawierającego mały (16 x 16 pikseli) obrazek ikony. Narzędzia przyjmują formaty przynajmniej GIF i JPEG.
<icon>
<small-icon>/obrazki/maly.gif</small-icon>
<large-icon>/obrazki/duzy.gif</large-icon>
</icon>
<taglib>
Zestawienie
<!ELEMENT taglib (taglib-uri, taglib-location)>
Opis
Element <taglib> jest wykorzystywany w celu opisania biblioteki znaczników JSP.
<taglib>
<taglib-uri>/WEB-INF/struts.tld</taglib-uri>
<taglib-location>/WEB-INF/struts.tld</taglib-location>
</taglib>
<taglib-location>
Zestawienie
<!ELEMENT taglib-location (#DANE)>
Opis
Element <taglib-location> zawiera umiejscowienie (jako zasobu względnego do katalogu macierzystego aplikacji WWW) pliku biblioteki znaczników (TLD).
<taglib>
<taglib-uri>/WEB-INF/struts.tld</taglib-uri>
<taglib-location>/WEB-INF/struts.tld</taglib-location>
</taglib>
<taglib-uri>
Zestawienie
<!ELEMENT taglib-uri (#DANE)>
Opis
Element <taglib-uri> opisuje URI względny do położenia dokumentu web.xml, który identyfikuje bibliotekę znaczników wykorzystaną w aplikacji WWW.
<taglib>
<taglib-uri>/WEB-INF/struts.tld</taglib-uri>
<taglib-location>/WEB-INF/struts.tld</taglib-location>
</taglib>
<transport-guarantee>
Zestawienie
<!ELEMENT transport-guarantee (#DANE)>
Opis
Element <transport-guarantee> określa sposób komunikacji pomiędzy klientem i serwerem jako NONE, INTEGRAL lub CONFIDENTIAL. NONE oznacza, że aplikacja nie potrzebuje żadnych gwarancji transportu. Wartość INTEGRAL oznacza, że dane przesyłane pomiędzy klientem i serwerem powinny być wysyłane w ten sposób, aby nie mogły zostać zmienione podczas transportu. CONFIDENTIAL oznacza, że aplikacja wymaga przesyłania danych w ten sposób, aby zawartość transmisji nie mogła zostać zaobserwowana przez żaden inny program lub egzemplarz programu. W większości przypadków obecność znacznika INTEGRAL lub CONFIDENTIAL oznacza konieczność wykorzystania SSL.
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
<url-pattern>
Zestawienie
<!ELEMENT url-pattern (#DANE)>
Opis
Element <url-pattern> zawiera wzór URL-a będącego odwzorowaniem serwletu. Wzór ten musi być zgodny z zasadami wymienionymi w części 10 specyfikacji Servlet API, wyjaśnionymi w rozdziale 2, „Podstawy serwletów HTTP”.
<servlet-mapping>
<servlet-name>witaj</servlet-name>
<url-pattern>/witaj.html</url-pattern>
</servlet-mapping>
<user-data-constraint>
Zestawienie
<!ELEMENT user-data-constraint (description?, transport-guarantee)>
Opis
Element <user-data-constraint> jest wykorzystywany w celu wskazania sposobu ochrony danych przesyłanych pomiędzy klientem i kontenerem.
<security-constraint>
<web-resource-collection>
...
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<web-app >
Zestawienie
<!ELEMENT web-app (icon?, display-name?, description?, distributable?,
context-param*, servlet*, servlet-mapping*, session-config?,
mime-mapping*, welcome-file-list?, error-page*, taglib*,
resource-ref*, security-constraint*, login-config?,
security-role*, env-entry*, ejb-ref*)>
Opis
Element <web-app> jest podstawowym elementem deskryptora aplikacji WWW.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>witaj</servlet-name>
<servlet-class>WitajSwiecie</servlet-class>
</servlet>
</web-app>
<web-resource-collection>
Zestawienie
<!ELEMENT web-resource-collection (web-resource-name, description?,
url-pattern*, http-method*)>
Opis
Element <web-resource-collection> jest wykorzystywany w celu zidentyfikowania podzbioru zasobów i metod HTTP tych zasobów, do których odnoszą się ograniczenia dostępu. Jeżeli nie zostały określone żadne metody HTTP, ograniczenia dostępu odnoszą się do wszystkich metod HTTP.
<security-constraint>
<web-resource-collection>
<web-resource-name>TajnaOchrona</web-resource-name>
<url-pattern>/servlet/SerwerPlac</url-pattern>
<url-pattern>/servlet/sekret</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
</security-constraint>
<web-resource-name>
Zestawienie
<!ELEMENT web-resource-name (#DANE)>
Opis
<web-resource-name> określa nazwę zbioru zasobów WWW.
<web-resource-collection>
<web-resource-name>TajnaOchrona</web-resource-name>
<url-pattern>/servlet/SerwerPlac</url-pattern>
<url-pattern>/servlet/sekret</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<welcome-file>
Zestawienie
<!ELEMENT welcome-file (#DANE)>
Opis
Element <welcome-file> zawiera nazwę pliku, który powinien zostać wykorzystany jako domyślny plik powitalny.
<welcome-file-list>
<welcome-file>indeks.html</welcome-file>
<welcome-file>indeks.htm</welcome-file>
</welcome-file-list>
<welcome-file-list>
Zestawienie
<!ELEMENT welcome-file-list (welcome-file+)>
Opis
<welcome-file-list> określa listę plików, które powinien wyszukać kontenener, kiedy przeglądarka zażąda katalogu, a nie strony WWW lub serwletu.
<welcome-file-list>
<welcome-file>indeks.html</welcome-file>
<welcome-file>indeks.htm</welcome-file>
</welcome-file-list>
Oryginalny komentarz do tego znacznika błędnie deklaruje, że znacznik „zawiera oczekiwany typ klasy Javy EJB, do którego występuje odwołanie”.
2 Część I ♦ Podstawy obsługi systemu WhizBang (Nagłówek strony)
2 C:\0-praca\Java Servlet - programowanie. Wyd. 2\rC-t.doc