Portlety
Transkrypt
Portlety
Portlety Czym są portlety? ● Komponenty webowe ● Podobne do servletów ● Agregowane przez portale ● Zarządzalne przez kontener portletów ● „Okienka” na stronie ● Generują treść Podobieństwa do Servletów ... ● Generują dynamicznie treść ● Osadzone w specjalnym kontenerze ● Cyklem życia zarządza kontener ● Współdziałają z klientem webowym poprzez paradygmat zapytania/odpowiedzi ... i różnice ... ● ● Generują tylko fragment treści, a nie cały dokument Nie są związane z konkretnym URL'em Specyfikacja ● JSR 168 ● JSR 286 ● Java Portlet API ● WSRP (Web Services for Remote Portlet) Właściwości ● Trwałe przechowywanie preferencji użytkownika ● Obsługa żądań ● Tryby portletu (view, edit, help) ● Stan okna ● Informacje o użytkowniku ● Sesje Elementy portletu Cykl życia Podstawowy cykl życia portletu wg. JSR 168 ● Init ● Handle request ● Destroy Wykorzystanie różnych technologii ● JSPPortlet ● JSFPortlet ● SpringPortlet ● ... Hello World Środowisko ● J2SE 5.0 JDK ● Jikes ● Ant ● Eclipse ● Sun Java Studio Creator 2 IDE - Eclipse Przygotowanie workspace'u: File > Switch Workspace IDE - Eclipse Nowy projekt File > New > Project IDE - Eclipse Nowy projekt nazwa i ścieżka do build.xml IDE - Eclipse Ant Window > Show View > Ant Portlet - java HelloWorld.java package net.matee.portlets; import import import import import import javax.portlet.GenericPortlet; javax.portlet.RenderRequest; javax.portlet.RenderResponse; javax.portlet.PortletException; java.io.PrintWriter; java.io.IOException; public class HelloWorld extends GenericPortlet { public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException { response.setContentType("text/html"); response.getWriter().println("<h1>Hello World</h1>"); } } Portlet - xml Portlet.xml <portlet> <portlet-name>hello</portlet-name> <display-name>Hello World</display-name> <portlet-class>net.matee.portlets.HelloWorld</portlet-class> <expiration-cache>0</expiration-cache> <supports> <mime-type>text/html</mime-type><portlet-mode>VIEW</portlet-mode> </supports> <portlet-info> <title>Hello World</title><short-title>Hello World</title> <keywords>Hello World</title> </portlet-info> <security-role-ref><role-name>Power User</role-name></security-role-ref> <security-role-ref><role-name>User</role-name></security-role-ref> </portlet> .war Budowanie Koniec