Wykorzystanie aplikacji Java Server Pages w środowisku J2EE

Podobne dokumenty
1 Wprowadzenie do J2EE

prepared by: Programowanie WWW Servlety

Java wybrane technologie spotkanie nr 5. Java Server Pages

Wykład dla studentów Informatyki Stosowanej UJ 2012/2013

Elementy JEE. 1. Wprowadzenie. 2. Prerekwizyty. 3. Pierwszy servlet. obsługa parametrów żądań 4. JavaServer Pages.

Komunikacja między serwletami

Serwlety Java: zagadnienia zaawansowane. Data Sources. Data Sources. Przykład pliku data-sources.xml


Programowanie w Sieci Internet filtry oraz web.xml. Kraków, 11 stycznia 2013 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Aplikacje internetowe i rozproszone - laboratorium

Java wybrane technologie spotkanie nr 4. Serwlety c.d.

Czym są serwlety Java? Serwlety Java. Zalety serwletów Java (w porównaniu z CGI)

Wprowadzenie do J2EE. Maciej Zakrzewicz.

Serwlety i JSP na platformie Java EE. Damian Makarow

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Programowanie w Sieci Internet JSP ciąg dalszy. Kraków, 9 stycznia 2015 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

mgr inż. Michał Paluch

Java Enterprise Edition spotkanie nr 3. Serwlety c.d.

Serwery aplikacji. dr Radosław Matusik. radmat

Przegląd technologii JSP

Wzorce prezentacji internetowych

Serwlety. Co to jest serwlet? Przykładowy kod serwletu. Po co są serwlety?

Wprowadzenie do JSP. Marcin Apostoluk, Tadeusz Pawlus, Wojciech Walczak. Technologie Biznesu Elektronicznego, 7 marzec 2006

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego radmat radmat@math.uni.lodz.

Aplikacje WWW - laboratorium

JavaServer Pages. Konrad Kurdej Karol Strzelecki

prepared by: Programowanie WWW Model-View-Controller

Architektury Usług Internetowych. Laboratorium 1 Servlety

Java wybrane technologie spotkanie nr 3. Serwlety

Serwery aplikacji. dr Radosław Matusik. radmat

Architektury Usług Internetowych. Laboratorium 1. Servlety

prepared by: Java Server Pages Sesje, cookies, znaczniki

Aplikacje WWW - laboratorium

Wybrane działy Informatyki Stosowanej

Aplikacje Internetowe, Servlety, JSP i JDBC

Aplikacje internetowe - laboratorium

Serwlety i JSP. Autor: Marek Zawadka deekay@gazeta.pl

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Java EE: Serwlety i filtry serwletów

Java wybrane technologie

2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK

b) Jako nazwę projektu wpisz SerwletyJSPJSTL. Nie zmieniaj wartości pozostałych opcji. Kliknij przycisk Next >.

Projektowanie aplikacji J2EE w architekturze Model-View-Controller

Piotr Laskowski Krzysztof Stefański. Java Servlets

Java Database Connectivity

Architektura Model-View-Controller

Enterprise JavaBeans (EJB)

Programowanie w języku Java

Kurs WWW 1. Paweł Rajba

Java Server Faces - wprowadzenie

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 09

Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz

Aplikacje WWW - laboratorium

Logika prezentacji III

Plan prezentacji. Budowa aplikacji w technologii Enterprise JavaBeans. Przegląd architektur: CORBA. Cele budowy aplikacji rozproszonych

Analiza porównawcza technologii tworzenia aplikacji internetowych dla baz danych Oracle

Budowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG

Tworzenie i wykorzystanie usług

Wybrane działy Informatyki Stosowanej

In»ynieria systemów informacyjnych - Adam Krechowicz

Java Enterprise Edition spotkanie nr 4. Java Server Pages c.d.

Zagadnienia projektowania aplikacji J2EE

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego radmat radmat@math.uni.lodz.

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

CGI i serwlety. Plan wykładu. Wykład prowadzi Mikołaj Morzy. Przykład: serwlety vs. szablony. Implementacja logiki prezentacji

Enterprise JavaBeans

Analiza porównawcza technologii tworzenia aplikacji internetowych dla baz danych Oracle

Aplikacje WWW - laboratorium

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

2 Przykªad strony JSP. 3 Elementy dokumentu JSP

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Aplikacje WWW - laboratorium

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Aplikacje WWW - laboratorium

Aktywne i dynamiczne strony WWW. Elementy projektowania stron WWW. Część 3. Formularze HTML przykład. Formularze HTML. dr inŝ.

Enterprise JavaBeans. 1. Architektura EJB: komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 2. Kontenery EJB JBoss.

Zaawansowane aplikacje internetowe

Zaawansowane aplikacje internetowe

Aplikacje WWW. Logika biznesowa. wykład prowadzi Mikołaj Morzy. Logika biznesowa

Warstwa prezentacji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Testowanie aplikacji Java Servlets

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

TIN Techniki Internetowe Lato 2005

Programowanie komponentowe 5

JavaServer Faces (JSF)

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

PaaS technologie i standardy. Paulina Adamska tiia@pjwstk.edu.pl

Wybrane działy Informatyki Stosowanej

1. Uruchomić i skonfigurować środowisko tworzenia aplikacji i serwer aplikacji.

Zastosowanie komponentów EJB typu Session

Aplikacje WWW - laboratorium

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Aplikacje WWW - laboratorium

Java w Internecie - czy to ma sens? ;)

Programowanie w Internecie. Podstawy użycia JSP. Paweł Kasprowski. vl06z

Aplikacje Internetowe

Transkrypt:

18 Wykorzystanie aplikacji Java Server Pages w środowisku J2EE Mikołaj Morzy Mikolaj.Morzy@cs.put.poznan.pl http://www.cs.put.poznan.pl/mmorzy/

Plan rozdziału 19 Serwlety Java Filtry serwletów Wprowadzenie do JavaServer Pages Biblioteki znaczników JSP Plik konfiguracyjny web.xml

Serwlety 20 Serwlet to klasa języka Java, która implementuje interfejs Servlet. Serwlety wykonują się w ramach kontekstu środowiska uruchomieniowego (servlet engine) i są współdzielone przez wielu klientów. Cykl życia serwletu: load init() service() destroy() Serwlet HTTP to klasa języka Java, która dziedziczy z klasy HttpServlet i która obsługuje metody GET i POST protokołu HTTP poprzez metody doget() i dopost() parametry wywołania przekazywane do serwletu poprzez obiekt HttpServletRequest wygenerowana odpowiedź przekazywana do klienta poprzez obiekt HttpServletResponse

MyServlet.java Przykład prostego serwletu 21 // import niezbędnych klas import java.io.*; import javax.servlet.*; import javax.servlet.http.*; // klasa serwletu dziedzicząca z klasy HttpServlet public class MyServlet extends HttpServlet { // metoda odpowiedzialna za obsługę metody GET protokołu HTTP public void doget(httpservletrequest req, HttpServletResponse res) throws ServletException, IOException { res.setcontenttype("text/html"); PrintWriter out = res.getwriter(); } } out.println("<html>"); out.println("<head><title>bajarz v.0.1</title></head>"); out.println("<body>"); out.println("dawno, dawno temu..."); out.println("</body></html>");

Obsługa danych wejściowych 22 Metoda GET przekazuje dane wejściowe zakodowane w łańcuchu URL, np. http://www.google.com?q=jsp&lang=pl ręczne wpisanie URL wykorzystanie hiperłącza formularz bez metody lub z metodą GET Metoda POST przekazuje dane wejściowe na standardowe wejście formularz z metodą POST W obu przypadkach serwlet odczytuje wartości danych wejściowych za pomocą metody getparameter(). Nazwy parametrów można odczytać za pomocą metody getparameternames()

Przykład serwletu z obsługą danych wejściowych MyServlet.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MyServlet extends HttpServlet { public void doget(httpservletrequest req, HttpServletResponse res) throws ServletException, IOException { res.setcontenttype("text/html"); PrintWriter out = res.getwriter(); // pobranie wartości parametru String language = req.getparameter("lang"); 23 } } out.println("<html>"); out.println("<head><title>bajarz v.0.2</title></head>"); out.println("<body>"); if (language.equals("pl")) out.println("dawno, dawno temu..."); else out.println("once upon a time..."); out.println("</body></html>");

Filtry serwletów 24 Filtr pozwala na przechwycenie i zmodyfikowanie zarówno żądania kierowanego do serwletu jak i odpowiedzi generowanej przez serwlet. Filtr może też modyfikować nagłówki żądania i odpowiedzi. Filtry służą do tworzenia spójnego mechanizmu autentyfikacji śledzenia użytkowników kompresowania danych "w locie" Filtr to klasa implementująca interfejs javax.servlet.filter void init(filterconfig) void dofilter(servletrequest, ServletResponse, FilterChain) void destroy() Konfiguracja: element <filter> i <filter-mapping> w pliku web.xml

MyFilter.jsp Przykład filtra 25 import javax.servlet.*; import javax.servlet.filter; import java.io.ioexception; public class MyFilter implements Filter { private FilterConfig fc; public void init(filterconfig filterconfig) throws ServletException { fc = filterconfig; } } public void destroy() { } // metoda dokonująca filtrowania i modyfikacji żądań i odpowiedzi public void dofilter(servletrequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setattribute("user","anonymous"); chain.dofilter(request, response); response.setcontenttype("image/jpg"); }

Java Server Pages - wprowadzenie 26 Serwlety nie umożliwiają oddzielenia części statycznej od dynamicznej. JSP to rozszerzenie technologii serwletów o możliwość łączenia statycznego HTML lub XML z dynamicznym kodem Java. Kod JSP jest automatycznie tłumaczony na odpowiadający mu serwlet. przeglądarka HTTP serwer aplikacji aplikacja JSP generowanie kompilacja serwlet wykonanie

Przykład prostej strony JSP 27 first.jsp <%@ page language="java" %> <html> <head> <title>eurokonwerter v.0.1</title> </head> <body> Dyrektywa, określa globalne ustawienia strony: język, dołączane pliki, biblioteki znaczników statyczny kod HTML <%! double priceeur = 10, pricepln = 0; %> <%! Double ratiopln2eur = 4.75; %> Deklaracje, zmienne globalne <% pricepln = priceeur * ratiopln2eur; %> Skryptlety, fragmenty kodu Java <p> Kwocie <%= priceeur %> euro odpowiada <%= pricepln %> zlotych </body> </html> Wyrażenia, wyświetlane po określeniu wartości

Dyrektywy 28 Dyrektywy to informacje dla kontenera JSP dotyczące translacji lub wykonania danej strony JSP <%@ page %> definiuje atrybuty strony, takie jak język, rozmiar bufora, rodzaj zawartości, klasę z której dana strona dziedziczy, automatyczne czyszczenie bufora, itp. <%@ include %> wskazuje zasób (plik lub kod) który powinien zostać dołączony podczas translacji strony <%@ taglib %> wskazuje na bibliotekę znaczników JSP używanych na stronie JSP, zawiera wskazanie na specjalny plik zwany deskryptorem biblioteki znaczników oraz prefiks używany przez znaczniki z danej biblioteki

Deklaracje, wyrażenia, skryptlety 29 Deklaracje służą do definiowania metod i zmiennych, mogą zawierać inicjalizację. Metody i zmienne deklarowane za pomocą znaczników <%! %> są tłumaczone na statyczne metody i pola klasy serwletu. Wyrażenia powodują wstawienie wartości wyrażenia Java bezpośrednio do ciała strony, wyrażenie zawarte w znacznikach <%= %> jest tłumaczone na instrukcję print() wewnątrz metody _jspservice(). Skryptlety to fragmenty kodu Java wstawiane bezpośrednio do metody _jspservice(), zmienne deklarowane wewnątrz skrypletu są tłumaczone na zmienne metody.

Obiekty predefiniowane 30 Strony JSP mogą zawierać odwołania do następujących predefiniowanych obiektów request zawiera wszystkie parametry wywołania strony JSP response reprezentuje odpowiedź zwracaną klientowi out reprezentuje stronę zwracaną klientowi session reprezentuje sesję HTTP application reprezentuje kontekst serwletu config konfiguracja serwletu czytana podczas inicjalizacji pagecontext kontekst strony, zawiera obiekty których zakresem widzialności jest bieżąca strona page reprezentuje bieżącą stronę JSP

Znaczniki akcji 31 Znaczniki akcji powodują wykonanie określonej akcji podczas przetwarzania strony JSP. Akcją może być utworzenie instancji obiektu JavaBean przekierowanie sterowania do innego dokumentu HTML, serwletu lub strony JSP włączenie zewnętrznego zasobu (pliku lub kodu) do strony JSP <jsp:usebean>: utworzenie instancji klasy zewnętrznej i nadanie zasięgu <jsp:setproperty>: ustawienie wartości parametru klasy zewnętrznej <jsp:getproperty>: pobranie wartości parametru klasy zewnętrznej <jsp:param>: dodanie wartości parametrów przed przekierowaniem <jsp:include>: włączenie zasobu do strony JSP <jsp:forward>: przekierowanie przetwarzania do innej strony, serwletu <jsp:plugin>: wykonanie appletu lub komponentu JavaBean w przeglądarce klienta poprzedzone ściągnięciem wtyczki Java

Obiekty JavaBean 32 Klasy zewnętrzne wykorzystywane w stronach JSP nazywane są JavaBeans. Wykorzystanie klas zewnętrznych ma na celu skrócenie kodu, ułatwienie pielęgnacji aplikacji, możliwość ponownego wykorzystania kodu zaimplementowanego w klasie zewnętrznej. Zasięg obiektów JavaBean jest definiowany przez programistę page: zasięg bieżącej strony request: zasięg stron obsługujących bieżące żądanie session: zasięg bieżącej sesji HTTP application: zasięg całej bieżącej aplikacji

Przykład wykorzystania JavaBean 33 Converter.java package ploug; public class Converter { double ratiopln2eur; second.jsp public Converter() { this.ratiopln2eur = 4.75;} <%@ page language="java" %> <html> <head> } public double convert(double priceeur){ return this.ratiopln2eur * priceeur;} <title>eurokonwerter v.0.1</title> </head> <body> // utworzenie instancji klasy Converter <jsp:usebean id="c" class="ploug.converter" scope="page"/> <%! double pricepln = 0, priceeur = 10; %> <% pricepln = c.convert(priceeur); %> <p> Kwocie <%= priceeur %> euro odpowiada <%= pricepln %> zlotych </body> </html>

Dokumenty JSP XML 34 Tradycyjne strony JSP nie są poprawnymi dokumentami JSP. Standard JSP 1.1 wprowadził składnię kompatybilną z XML. Strona JSP zbudowana zgodnie ze składnią XML nazywana jest dokumentem JSP. Każdy dokument JSP posiada znacznik <jsp:root> który identyfikuje stronę jako dokument JSP podaje wersję JSP i podaje przestrzenie nazw dla składni XML Znaczniki dyrektyw, wyrażeń, skryptletów i akcji posiadają swoje odpowiedniki zgodne ze składnią XML

Przykład dokumentu JSP 35 third.jspx <?xml version = '1.0' encoding = 'windows-1250'?> <jsp:root xmlns:jsp="http://java.sun.com/jsp/page" version="1.2"> <jsp:directive.page contenttype="text/html"/> <jsp:usebean id="c" class="ploug.converter" scope="page"/> <jsp:declaration> double priceeur = 10, pricepln = 0; </jsp:declaration> <jsp:scriptlet> pricepln = c.convert(priceeur); </jsp:scriptlet> <jsp:text>kwocie </jsp:text> <jsp:expression>priceeur</jsp:expression> <jsp:text> euro odpowiada </jsp:text> <jsp:expression>pricepln</jsp:expression> <jsp:text> zlotych </jsp:text> </jsp:root>

Wywołanie JSP z serwletu 36 Aby wywołać stronę JSP z serwletu należy uzyskać kontekst serwletu: ServletContext cs=this.getservletcontext() uzyskać zarządcę żądań: RequestDispatcher rd=cs.getrequestdispatcher("/myjsp.jsp"); przekierunkować przetwarzanie za pomocą metod include() lub forward(): rd.include(request, response); Dane do strony JSP można przekazać umieszczając je w adresie URL: RequestDispatcher rd = cs.getrequestdispatcher("/myjsppage.jsp?lang=pl"); wykorzystując metodę setattribute() obiektu request: request.setattribute("lang","pl"); RequestDispatcher rd = cs.getrequestdispatcher("/myjsppage.jsp?lang=pl");

Biblioteki znaczników 37 Biblioteki znaczników to zbiory znaczników definiowanych przez programistę. Znaczniki definiowane przez programistę mają tę samą funkcjonalność co klasy zewnętrzne. Wiele bibliotek znaczników jest oferowanych przez producentów. Przed użyciem biblioteki znaczników należy ją zadeklarować <%@ taglib uri="library.tld" prefix="myprefix" %> JSP 1.1 i późniejsze wersje standardu umożliwiają tworzenie własnych znaczników. Utworzenie własnego znacznika wymaga utworzenia klas obsługi znacznika (tag handler class) oraz deskryptora biblioteki znaczników (tag library descriptor)

Standardowe biblioteki 38 Java Server Pages Standard Tag Library (JSTL) JSTL expression language (EL): zapewnia abstrakcyjny język umożliwiający definiowanie operatorów logicznych, arytmetycznych, relacyjnych, operatorów dostępu do danych, itp. znaczniki podstawowe (core tags): reprezentują instrukcje warunkowe, iteratory, oraz operacje na URL, znaczniki c:if, c:catch, c:choose, c:foreach, c:when, c:out, c:set, c:remove, itp. znaczniki XML: umożliwiają pracę z dokumentami XML, parsowanie i transformację dokumentów, znaczniki x:parse, x:choose, x:if, x:otherwise, x:transform, x:param znaczniki SQL: praca z bazą danych, znaczniki sql:query, sql:update, sql:transaction, sql:setdatasource, sql:driver, sql:param, sql:dateparam znaczniki i18n: internacjonalizacja i transformacja danych

Standardowe biblioteki 39 Rozszerzenia Oracle OJSP SQL: dostęp do bazy danych, znaczniki dbopen, dbquery, dbclosequery, dbnextrow, dbexecute, dbclose OJSP File Access: przesyłanie danych między klientem a serwerem (operacje upload i download), znaczniki httpdownload, httpupload, httpuploadform OJSP Utility: znaczniki displaycurrency, displaynumber, displaydate, lastmodified OJSP EMail: znacznik sendmail Oracle9iAS Personalization: automatyczne rekomendacje i rankingi na podstawie Oracle Data Mining, znaczniki getrecommendations, getcrosssellrecommendations, selectfromhotpics, evaluateitems,

JSTL SQL Tag Library 40 Biblioteka JSTL SQL TagLib dostarcza znaczników służących do interakcji z relacyjną bazą danych źródło danych <sql:setdatasource var="name" scope="sc" datasource="expr"> <sql:setdatasource var="name" url="expr" user="expr" password="expr"> zapytanie <sql:query sql="expr" datasource="expr" var="expr"> <sql:param value="expr"/><sql:dateparam value="expr"/> </sql:query> dostęp do wyniku zapytania: javax.servlet.jsp.jstl.sql.result i własności rows, rowsbyindex, columnnames, rowcount modyfikacje <sql:update sql="expr" datasource="expr" var="expr"/> transakcje <sql:transaction isolation="isolevel">...</sql:transaction>

Standardowe biblioteki 41 Rozszerzenia Oracle9iAS Oracle9i JDeveloper Business Components for Java (BC4J) Tag Library: dostęp do komponentów i źrodel danych BC4J Oracle9i JDeveloper User Interface Extension (UIX) Tag Library: znaczniki generujące elementy interfejsu użytkownika Oracle9i Reports Tag Library: znaczniki umożliwiające integrację Oracle Reports i stron JSP Oracle9iAS Wireless Location (Spatial) Tag Library: znaczniki do kodowania danych geograficznych, routingu, tworzenia katalogów Oracle9iAS Ultra Search Tag Library: znaczniki do tworzenia zaawansowanych serwisów do wyszukiwania informacji Oracle9iAS Portal Tag Library: znaczniki do tworzenia aplikacji typu portalowego

Przykład zastosowania biblioteki 42 fourth.jsp <%@ taglib uri="http://xmlns.oracle.com/j2ee/jsp/tld/ojsp/sqltaglib.tld" prefix="database"%> <%@ page contenttype="text/html"%> <html> <body> <database:dbopen connid="db" datasource="jdbc/oracleds"> <database:dbquery connid="db" queryid="employees"> select * from emp </database:dbquery> </database:dbopen> <database:dbclose connid="db"/> </body> </html>

fourth_iterate.jsp Przykład zastosowania biblioteki 43 <%@ taglib uri="http://xmlns.oracle.com/j2ee/jsp/tld/ojsp/sqltaglib.tld" prefix="database"%> <%@ page contenttype="text/html"%> <html> <body> <table border="1"> <database:dbopen connid="db" datasource="jdbc/oracleds"> <database:dbquery connid="db" queryid="employees" output="jdbc"> select * from emp </database:dbquery> <database:dbnextrow queryid="employees"> <tr> <td><%= employees.getstring("ename") %></td> <td><%= employees.getstring("job") %></td> </tr> </database:dbnextrow> </database:dbopen> <database:dbclose connid="db"/> </table> </body> </html>

fifth.jsp Przykład zastosowania biblioteki 44 <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jstl/sql" prefix="sql"%> <%@ page contenttype="text/html"%> <html> <body> <sql:setdatasource var="db" driver="oracle.jdbc.driver.oracledriver" datasource="jdbc/oracleds" url="jdbc:oracle:thin:@miner.cs.put.poznan.pl:1521:miner" user="scott" password="tiger" /> <sql:query var="employees">select * from emp</sql:query> <c:foreach var="columnname" items="${employees.columnnames}"> <th><c:out value="${columnname}"/></th> </c:foreach> <c:foreach var="row" items="${employees.rows}"> <tr><c:foreach var="column" items="${row}"> <td><c:out value="${column.value}"/></td> </c:foreach></tr> </c:foreach> </body> </html>

sixth.jsp Przykład zastosowania biblioteki 45 <%@ taglib uri="http://xmlns.oracle.com/uix/ui" prefix="uix"%> <%@ taglib uri="http://xmlns.oracle.com/j2ee/jsp/tld/ojsp/fileaccess.tld" prefix="fileaccess"%> <%@ taglib uri="http://xmlns.oracle.com/j2ee/jsp/tld/ojsp/utiltaglib.tld" prefix="util"%> <%@ page contenttype="text/html;charset=windows-1250"%> <html> <body> <P>Strona modyfikowana ostatni raz <util:lastmodified/> <P>Proszę wybrać plik do załadowania: <fileaccess:httpuploadform formsaction="myuploadservlet"/> <P>Proszę wybrać ulubiony kolor <uix:colorpicker /> <P><uix:checkBox checked="true" text="to jest checkbox"/> <P><uix:button text="przycisk" /> <P><uix:messageLovInput /> <P><uix:messageBox message="to jest bardzo ważne"/> </body> </html>

Plik konfiguracyjny web.xml 46 Plik web.xml stanowi opis konfiguracji instalacji aplikacji Web. W pliku web.xml znajdują się opisy serwletów, filtrów serwletów, stron inicjalizacyjnych, stron z komunikatami o błędach, mapowania między serwletami i adresami URL, informacje o użytych bibliotekach znaczników oraz parametrach inicjalizacyjnych i ograniczeniach związanych z bezpieczeństwem. Plik web.xml zawiera również referencje do innych komponentów J2EE użytych w aplikacji (komponenty EJB, źródła danych, itp.)