Java EE 6. Programowanie aplikacji WWW. Krzysztof Rychlicki-Kicior. Ju dzi si gn po jedyne kompendium wiedzy na temat Java EE!

Wielkość: px
Rozpocząć pokaz od strony:

Download "Java EE 6. Programowanie aplikacji WWW. Krzysztof Rychlicki-Kicior. Ju dzi si gn po jedyne kompendium wiedzy na temat Java EE!"

Transkrypt

1 Krzysztof Rychlicki-Kicior Java EE 6 Programowanie aplikacji WWW Szybko i bez k opotów poznaj Java Enterprise Edition Naucz si praktycznie tworzy ciekawe aplikacje WWW Do cz do elity programistów nowoczesnych rozwi za webowych Ju dzi si gn po jedyne kompendium wiedzy na temat Java EE!

2 Java EE 6. Programowanie aplikacji WWW Autor: Krzysztof Rychlicki-Kicior ISBN: Format: , stron: 232 Szybko i bez k³opotów poznaj Java Enterprise Edition Naucz siê praktycznie tworzyæ ciekawe aplikacje WWW Do³¹cz do elity programistów nowoczesnych rozwi¹zañ webowych Ju dziœ siêgnij po jedyne kompendium wiedzy na temat Java EE! Java Enterprise Edition to standard tworzenia aplikacji biznesowych wykorzystuj¹cych jêzyk Java. Opracowany przez firmê Sun Microsystems, dzia³a w oparciu o wielowarstwow¹ architekturê komponentow¹, oferuj¹c programistom bardzo rozbudowane mo liwoœci tworzenia oprogramowania funkcjonuj¹cego na niemal dowolnym sprzêcie, w ka dym systemie operacyjnym, z wykorzystaniem licznych serwerów aplikacji. Du a popularnoœæ rozwi¹zañ Java EE i coraz powszechniejszy dostêp do technologii WWW sprawiaj¹, e programiœci sprawnie pos³uguj¹cy siê tego rodzaju narzêdziami rzadko figuruj¹ na listach osób poszukuj¹cych pracy, a jeœli ju jakimœ cudem siê na nich znajd¹, bardzo szybko otrzymuj¹ atrakcyjne propozycje zatrudnienia. Nauka swobodnego poruszania siê w tym œrodowisku mo e te byæ wspania³¹, poszerzaj¹c¹ horyzonty przygod¹, a gdy poznasz platformê Java EE, bêdziesz dysponowa³ potê nym narzêdziem, u³atwiaj¹cym tworzenie nawet najbardziej skomplikowanych aplikacji internetowych w bardzo efektywny i szybki sposób. Studenci, programiœci i hobbyœci pragn¹cy poznaæ œrodowisko Java Enterprise Edition czêsto napotykaj¹ problem ze znalezieniem solidnych Ÿróde³ wiedzy, które pozwoli³yby im szybko i ³atwo wejœæ w œwiat tej coraz bardziej popularnej technologii. Lukê tê z powodzeniem wype³nia ksi¹ ka Java EE 6. Programowanie aplikacji WWW. Dziêki niej wszyscy zainteresowani tematem zyskaj¹ mo liwoœæ poznania Java EE od podstaw i zdobycia praktycznej wiedzy, na podstawie której bêd¹ mogli rozwijaæ swoje umiejêtnoœci programistyczne w przysz³oœci. Ten podrêcznik pozwala na szybkie rozpoczêcie przygody z tworzeniem aplikacji webowych, skutecznie wprowadzaj¹c w zagadnienia wykorzystywanych przy tym platform i mechanizmów, lecz nie pomijaj¹c te informacji o charakterze ogólnym. Jeœli niewiele mówi¹ Ci skróty JSP, JPA, JSF czy JPQL, a chcia³byœ zmieniæ ten stan rzeczy, bez w¹tpienia powinieneœ siêgn¹æ po tê ksi¹ kê, podobnie jak wszystkie osoby zainteresowane bezproblemowym u ywaniem ca³ego spektrum nowoczesnych narzêdzi oferowanych przez œrodowisko Java EE. Tworzenie serwletów Zastosowanie szablonów JSP Integracja danych z aplikacjami za pomoc¹ mechanizmu JPA U ywanie interfejsów i komponentów Korzystanie z technologii JSF Uniwersalny i wygodny dostêp do danych, czyli jêzyk JPQL Praktyczne przyk³ady realizacji Spraw, aby tworzenie aplikacji WWW z wykorzystaniem Java EE nie mia³o przed Tob¹ tajemnic

3 Spis tre ci Cz I Podstawy... 7 Rozdzia 1. Java EE naprawd krótkie wprowadzenie... 9 Web vs Enterprise Serwery aplikacji Streszczenie, czyli krótki przewodnik po niniejszej publikacji Serwlety na dobry pocz tek Deskryptor wdro enia JSP HTML + Java JPA czas na dane! JSF wy szy poziom prezentacji Facelets Rozdzia 2. Pierwsza aplikacja webowa Integrowanie Tomcata z Netbeansem Pierwsza aplikacja Dodawanie nowych elementów Pierwszy serwlet? Rozdzia 3. Serwlet na dobry pocz tek ycie serwletu Serwlet pod lup danie odpowied Przesy anie odpowiedzi Om nom nom, czyli ciasteczka w pe nej krasie Sesje nie tylko dla studentów Konfiguracja w kodzie Javy mo na tego unikn Parametry serwletów Kontekst serwletów Trzech muszkieterów? Atrybuty a mnogo da S uchowisko ServletContextListener ServletContextAttributeListener ServletRequestAttributeListener i ServletRequestListener HttpSessionAtributteListener i HttpSessionListener... 40

4 4 Java EE 6. Programowanie aplikacji WWW HttpSessionBindingListener Sesja + wiele JVM = HttpSessionActivationListener Filtry Techniczny aspekt filtrów Konfiguracja filtrów w pliku web.xml Rozdzia 4. JSP gdy out.println() nie wystarcza Zacznijmy od pocz tku, czyli JSP w wiecie serwletów Pliki JSP dost pne bezpo rednio Pliki JSP wywo ywane z poziomu serwletów Pochodzenie JSP dziedzictwo serwletów Pierwsze kroki w JSP Doceni wygod, czyli jak to lat temu kilka bywa o Expression Language elegancja i wygoda Remedium warto by o czeka! Dost p do obiektów w j zyku EL Beany, czyli ziarna kult kawy wiecznie ywy Ziarna + EL = kolejne u atwienie Ziarna, mapy i co dalej? EL nie tylko atrybuty Akcje JSP Include vs Forward ods ona druga Akcje + ziarna = kolejne pot ne narz dzie Dynamiczne generowanie elementów Rozdzia 5. JSTL wisienka na torcie JSP Skrzynka z narz dziami Rdze c:out Ale to ju by o, czyli c:set Czwarty muszkieter Kontrola sterowania P telka do kompletu Wyj tki + JSP = Adresy URL same k opoty Adresy URL bez tajemnic Tajemnica sesji Trzech tenorów Na deser funkcje! Przez kolekcje do serca Funkcje a cuchowe Podsumowanie Cz II Frameworki webowe Rozdzia 6. JavaServer Faces Frameworki kolejny dowód na lenistwo cz owieka JSF kanonu ci g dalszy JSF, czyli MVC w praktyce Kontroler uniwersalny spawacz Ma e zanurzenie Pierwsze przyk ady Aplikacja Notowania gie dowe Tajemniczy zapis # vs $ Notowania historyczne, czyli kolekcja w kolekcji... 97

5 Spis tre ci 5 Najpierw szablon, pó niej tre Klient szablonu Przygotowania Czas na obliczenia! Ma y zastrzyk JSF komponenty, komponenty, komponenty! Output (prawie) wszystko, czego do szcz cia potrzeba UIInput teraz do szcz cia nie brakuje ju nic Powrót do szarej rzeczywisto ci Zasady dzia ania JSF Przyk adowa aplikacja maszyna licz ca Przywrócenie widoku (1) Pobranie danych z dania (2) Walidacja (3) Aktualizacja warto ci w modelu (ziarnach 4) Wywo anie zadeklarowanych uprzednio metod (5) Renderowanie odpowiedzi (6) Cykl ycia w praktyce Podsumowanie Rozdzia 7. Konwertowanie i walidacja Uroki transformacji Konwertery standardowe Piszemy konwerter! Walidator nieod czny partner konwertera Walidatory prawie jak konwertery Walidacja niestandardowa jak zawsze wi cej pracy Cz III Obs uga danych Rozdzia 8. JPA, czyli ORM + Java Dost p do danych w Javie O wiecenie Pierwszy przyk ad Za o enia Realizacja Tworzenie projektu Hibernate a JPA co i jak w ORM-owym wiecie Pierwsza klasa encji Jednostka utrwalania Graficzna strona aplikacji Dodawanie przychodni EntityManager i spó ka Mened er encji elegancki dost p!= atwa sprawa Nudni s uchacze nareszcie przydatni! C ju jest, czas na RUD Niewiele Ci mog da (póki nie pozwolisz mi zaprezentowa danych) S uchacz akcji vs akcja starcie numer Istotny drobiazg nasza aplikacja to niemowa! Rozdzia 9. Zwi zki mi dzy encjami jedna tabela to za ma o! Przychodnia i co dalej? Zwi zki mi dzy tabelami krótkie przypomnienie Zwi zki SQL w praktyce Jeden do wielu, wiele do jednego

6 6 Java EE 6. Programowanie aplikacji WWW Wiele do wielu najwy szy stopie wtajemniczenia Dodajemy tabele do bazy Encje klas Javy czas na zwi zki! Encja Przychodnia zmiana na lepszy model Czas na nowo ci! Wizyta encja JPA w pe nej krasie CRUD dla lekarza to ju by o, ale nie do ko ca Nowy lekarz nowe pole, du a zmiana Magikonwersja Ziarnko do ziarnka i zbierze si aplikacja Kolejne metody ziarna LekarzBean Na zako czenie edycja Pacjenci suplement Danie g ówne: all in one, czyli wizyty! Od czego trzeba zacz, czyli zmiany Dodawanie wizyty Ostatnie ziarno Edycja i usuwanie powrót Koniec coraz bli ej, czyli edycja w pe nej krasie Podsumowanie Rozdzia 10. JPQL i jego mo liwo ci Prawie jak SQL prawie robi ró nic Podstawy Pobieranie z wariantami JPQL a atrybuty z o one i null Nieco wi cej o SELECT Funkcje obliczeniowe Operacje niezwi zane z pobieraniem Mechanizmy zaawansowane JOIN na lewo, JOIN na prawo Grupowanie i sortowanie Podzapytania prawdziwa moc Podsumowanie Dodatki Dodatek A Instalacja serwera Apache Tomcat Pobranie Konfiguracja Dodatek B Bibliografia Skorowidz

7 Rozdzia 3. Serwlet na dobry pocz tek Aplikacja z poprzedniego rozdzia u wprowadzi a kilka istotnych elementów, których omawianiem zajmiemy si w przeci gu najbli szych trzech rozdzia ów. Rozpoczniemy od podstawy podstaw, czyli elementu, który jest wykorzystywany po rednio lub bezpo rednio we wszystkich aplikacjach webowych mowa o serwlecie. Serwlet, czyli klasa rozszerzaj ca mo liwo ci serwera aplikacji, mo e by traktowany jako poj cie nies ychanie ogólne. Praktycznie jedynym istotnym wymaganiem stawianym serwletom jest dzia anie w trybie danie odpowied serwlet powinien generowa tre odpowiedzi w oparciu o to, co otrzyma w daniu. W poprzednim rozdziale spotka e si z jednym z typowych zastosowa serwletów generowaniem kodu HTML. Nie jest to jednak w adnym razie kres ich mo liwo ci nic nie stoi na przeszkodzie, aby za pomoc serwletów generowa zarówno dane tekstowe (np. w formacie XML), jak i dane binarne (np. pliki wykonywalne, obrazy, etc.). Zanim jednak zabierzemy si za praktyczne przyk ady (pierwszy z nich mog e przeanalizowa w poprzednim rozdziale), konieczne jest krótkie wprowadzenie teoretyczne, w którym dowiesz si, jak serwlet wspó pracuje z serwerem aplikacji, a tak e jakie podstawowe opcje zwi zane z serwletami mo na ustawi w pliku web.xml. ycie serwletu Gdy uruchamiasz zwyk aplikacj, graficzn lub konsolow, w swoim systemie operacyjnym, mo esz w wi kszo ci przypadków okre li precyzyjnie, kiedy rozpoczyna si, a kiedy ko czy jej dzia anie. W przypadku popularnych technologii dynamicznych stron internetowych (np. PHP) pliki s interpretowane na bie co (aczkolwiek istnieje mo liwo ich po redniej kompilacji). Jak mo na opisa cykl ycia serwletu? Zacznijmy od klasy w takiej postaci, jak ju znamy nieskompilowanego kodu ród owego. Zanim serwer zostanie uruchomiony, wszystkie pliki klas musz zosta poddane kompilacji. Powsta e pliki (o rozszerzeniu.class) s kopiowane do odpowiednich

8 26 Cz I Podstawy katalogów. Dopiero wtedy serwer mo e by uruchomiony, na nowo lub ponownie. Na szcz cie w nowszych wersjach serwerów aplikacji (np. Apache Tomcat 6) istnieje mo liwo automatycznego wykrywania i aktualizacji klas w trakcie dzia ania serwera. Gdy uruchamiasz serwer aplikacji, z punktu widzenia naszego serwletu nie dzieje si nic istotnego. Nast puje wtedy, rzecz jasna, inicjalizacja samego serwera, a tak e niektórych ustawie ca ej aplikacji webowej. Sam serwlet pozostaje jednak nienaruszony. Ca a zabawa zaczyna si, gdy dowolny u ytkownik Twojej aplikacji po raz pierwszy spróbuje z niego skorzysta. Serwer wykonuje wtedy nast puj ce czynno ci: za adowanie klasy serwletu, utworzenie instancji serwletu, wywo anie metody init(), wywo anie metody service(). Gdy serwlet znajdzie si w trakcie wywo ania metody service(), mo e on rozpocz normaln obs ug da. Od tego momentu w przypadku otrzymania przeze dowolnego dania HTTP, nast pi próba wywo ania odpowiedniej metody serwletu, wed ug schematu nazwa/donazwa(), np. GET/doGet(), POST/doPost(), itd. Sporo pracy, nieprawda? Na szcz cie do obowi zków programisty nale y obs uga wybranych metod ze s owem do w nazwie. Je li wi c chcesz, aby serwlet obs ugiwa tylko danie GET, zadeklaruj jedynie metod doget(). W przypadku klasy serwletu utworzonej przez Netbeans, proces tworzenia serwletu zosta uproszczony jeszcze bardziej. Twórcy szablonu za o yli (sk din d s usznie), e znamienita wi kszo programistów korzysta jedynie z metod HTTP GET i POST. Z tego wzgl du w klasie serwletu s przes aniane dwie metody doget() i dopost(), które odwo uj si do jednej i tej samej metody o nazwie processrequest(). Z jednej strony u atwia to ycie w wi kszo ci sytuacji, z drugiej jednak mog si zdarzy sytuacje, w których inaczej chcemy zareagowa w przypadku dania GET, a inaczej w przypadku POST. W takiej sytuacji nale y usun wygenerowany mechanizm i napisa w asne metody obs ugi doget() i/lub dopost(). Serwlet pod lup Przed chwil pozna e przep yw sterowania w serwlecie; najwy sza pora, aby zapozna si pokrótce z kluczowymi klasami powi zanymi z obs ug serwletów. Omówi jedynie najwa niejsze elementy; warto je zapami ta, poniewa b d si one pojawia tak e w dalszych przyk adach, ilustruj cych kolejne omawiane technologie. Jak ju wspomnia em, serwlety, którymi zajmujemy si w niniejszej ksi ce, dziedzicz po klasie HttpServlet. Ze wzgl du na fakt, e serwlet z za o enia jest konstrukcj niezwykle uniwersaln, w hierarchii dziedziczenia pojawiaj si dodatkowe elementy, które ow uniwersalno wprowadzaj. Oto krótki opis elementów hierarchii dziedziczenia, pocz wszy od tych najbardziej ogólnych:

9 Rozdzia 3. Serwlet na dobry pocz tek 27 Interfejs Servlet okre la najwa niejsze metody, które musz implementowa wszystkie serwlety. Metody te s niezale ne od stosowanych protoko ów przesy ania danych, a dotycz one g ównie zarz dzania cyklem ycia serwletu (init(), service(), destroy()). Abstrakcyjna klasa GenericServlet podstawowa implementacja interfejsów Servlet i ServletConfig, daj ca dost p do parametrów i ustawie serwletu. Klasa ta zawiera proste implementacje metod obu interfejsów, dzi ki czemu stanowi podstaw dla klasy HttpServlet i wszystkich innych klas serwletów. Klasa HttpServlet to w a nie po tej klasie b dziesz dziedziczy, tworz c w asne serwlety. Poza w asnymi implementacjami metod ze wspomnianych wcze niej interfejsów, klasa HttpServlet udost pnia metody do*, czyli doget(), dopost() etc. Dzi ki temu we w asnych serwletach musisz zdefiniowa jedynie te metody, które Twój serwlet zamierza obs ugiwa. Protokó HTTP zawiera definicje o miu metod: GET, POST, PUT, HEAD, OPTIONS, TRACE, DELETE, CONNECT. Serwlety mog obs ugiwa wszystkie metody, na wy ej omówionej zasadzie. W praktyce zdecydowanie najcz ciej stosuje si metody GET i POST i to na nich skupimy si w dalszej cz ci tego rozdzia u. danie odpowied Mimo niew tpliwie istotnej roli klasy HttpServlet, w trakcie pracy z serwletami cz - ciej przyjdzie Ci zapewne korzysta z interfejsów HttpServletRequest/HttpServlet Response. Reprezentuj one odpowiednio obiekty dania i odpowiedzi, przekazywane do metod doget(), dopost() etc. Pe ny nag ówek metody doget() wygl da nast puj co: protected void doget(httpservletrequest req, HttpServletResponse resp) throws ServletException, java.io.ioexception Twoim zadaniem jest takie zdefiniowanie metod do*, aby generowa y one odpowied, zazwyczaj zale n od przes anych parametrów. Wszystkie niezb dne metody znajdziesz w dwóch wy ej wspomnianych klasach. Zacznijmy od interfejsu HttpServletRequest to na jego podstawie b dziemy w kolejnych przyk adach generowa odpowiedzi przesy ane za pomoc interfejsu HttpServletResponse. Niemal wszystkie metody HttpServletRequest s faktycznie przydatne, niemniej w tym miejscu omówimy metody najistotniejsze z punktu widzenia samych serwletów: Object getparameter(string nazwa) pobiera parametr o danej nazwie przes any w daniu. Enumeration<String> getparameternames() pobiera nazwy wszystkich parametrów znajduj cych si w danym daniu. String getremoteuser() zwraca login uwierzytelnionego u ytkownika lub null, w przypadku braku uwierzytelnienia.

10 28 Cz I Podstawy Cookie[] getcookies() zwraca tablic ciasteczek specjalnych plików przechowywanych na komputerze u ytkownika. String getquerystring() zwraca a cuch parametrów, przes anych w adresie URL (za znakiem zapytania). String getheader(string nazwa) zwraca warto nag ówka HTTP o podanej nazwie. int getintheader(string nazwa) zwraca warto nag ówka HTTP o podanej nazwie jako liczb ca kowit. long getdateheader(string nazwa) zwraca warto nag ówka HTTP o podanej nazwie jako liczb milisekund, pocz wszy od pocz tku epoki (1 stycznia 1970 roku). Warto ta mo e by przekazana w konstruktorze klasy Date. String getcontextpath() zwraca cie k kontekstu aplikacji. String getservletpath() zwraca cie k dost pu do serwletu. String getpathinfo() zwraca dodatkowe informacje zawarte w cie ce. Trzy ostatnie metody s ze sob zwi zane, poniewa zwracaj one kolejne elementy adresu URL, wykorzystanego do wykonania dania. Przeanalizujmy poni szy przyk ad, prezentuj cy wiadomo o okre lonym identyfikatorze: Pomijamy oczywi cie nazw protoko u (http) i nazw serwera z portem (localhost:8080). Zostaje nam wi c ci g: /MojaAplikacja/serwlety/info/235/ Metoda getcontextpath() zwraca fragment adresu okre laj cy nasz aplikacj : /MojaAplikacja cie ka do kontekstu zawsze zaczyna si od uko nika (ale nigdy na nim si nie ko czy!), chyba e aplikacja zostanie umieszczona w katalogu g ównym serwera wtedy zwracana warto to a cuch pusty. Fragment ten jest wspólny dla wszystkich plików wchodz cych w sk ad tej aplikacji. Kolejny fragment adresu okre la cie k do serwletu. W naszym przypadku jest to fragment: /serwlety/info Powy szy a cuch znaków musi pasowa do odpowiednich wzorców, zdefiniowanych w deskryptorze wdro enia (pami tasz znacznik <url-pattern> z poprzedniego rozdzia u?). Zasady okre lania odpowiednich cie ek do serwletów omówimy w nast pnym rozdziale; na razie wystarczy Ci informacja, e ten fragment adresu umo liwia jednoznaczne zidentyfikowanie serwletu. Ostatni fragment cie ki (/235/) zostanie zwrócony przez metod getpathinfo(). Dok adnie rzecz bior c, metoda getpathinfo() zwraca fragment adresu URL od cie ki serwletu do pocz tku a cucha parametrów (czyli do znaku zapytania). Oznacza to, e nawet do czenie parametrów, tak jak w poni szym przyk adzie, nie zmieni warto- ci cie ki.

11 Rozdzia 3. Serwlet na dobry pocz tek 29 Przesy anie odpowiedzi Po przeanalizowaniu wszystkich mo liwych atrybutów dania musisz odes a klientowi odpowied. Do tego celu s u y obiekt interfejsu HttpServletResponse. W jego przypadku otrzymujemy nieco mniejszy zestaw metod, jednak nie oznacza to wcale mniejszych mo liwo ci. Przede wszystkim musimy okre li, jakie operacje chcemy wykonywa w zwi zku z przesy aniem odpowiedzi do klienta: przes anie odpowiedzi w postaci danych tekstowych lub binarnych, utworzenie i przes anie ciasteczek, dodanie do odpowiedzi dowolnych nag ówków, przekierowanie dania lub przes anie kodu b du. Transmisja danych Chocia technologie internetowe maj swoj specyfik, nie zapominajmy, e yjemy w wiecie Javy. Z tego wzgl du operacje zarówno odczytu, jak i zapisu wi si z wykorzystaniem strumieni i/lub obiektów klas Reader/Writer. Nie inaczej jest w tym przypadku: zanim prze lemy jakiekolwiek dane, musimy uzyska odpowiednie obiekty zapisuj ce: ServletOutputStream getoutputstream() zwraca strumie zapisu dla danych binarnych PrintWriter getwriter() zwraca obiekt zapisuj cy dla danych tekstowych. W przypadku danych binarnych mo emy skorzysta z obiektu klasy ServletOutput Stream. Jest to zwyk y strumie zapisu, rozszerzony o mo liwo zapisywania dowolnych danych typów prymitywnych, a tak e a cuchów znaków (za pomoc metod print() i println()). Z tej klasy nale y korzysta w przypadku przesy ania plików je li serwer musi w dynamiczny sposób wygenerowa tre takiego pliku. Znacznie cz ciej przyjdzie Ci jednak korzysta z danych tekstowych. W tym przypadku zazwyczaj b dziesz korzysta z obiektu klasy PrintWriter i jego metody println(). Nag ówki i ciasteczka O ile w przypadku dania mamy do czynienia z odczytem nag ówków i ciasteczek przes anych przez klienta, o tyle w przypadku odpowiedzi wyst puje proces odwrotny. Aby doda ciasteczko, wystarczy skorzysta z metody addcookie(): void addcookie(cookie c) Wi cej na temat ciasteczek w osobnym podrozdziale. W przypadku nag ówków sytuacja jest nieco bardziej skomplikowana do dyspozycji mamy dwie metody (wraz z odpowiednikami dla liczb i dat): void addheader(string nazwa, String warto ) void setheader(string nazwa, String warto )

12 30 Cz I Podstawy Na czym polega ró nica? Otó metoda addheader() doda podan warto do ju istniej cej zawarto ci nag ówka, natomiast metoda setheader() zast pi warto, je li takowa ju istnieje. Tak samo dzia aj bli niacze metody addintheader(), adddateheader(), setintheader() i setdateheader(). Kody odpowiedzi, b dy i przekierowania Do obowi zków odpowiedzi HTTP nale y tak e przekazywanie kodów odpowiedzi, je li chcemy zaznaczy, e odpowied nie zostanie zako czona w zwyk y sposób. Aby przekaza kod odpowiedzi, korzystamy z metody setstatus(): void setstatus(int kod) W ten sposób przekazujemy kody, które nie okre laj sytuacji problematycznych. W przypadku b dów (np. 404 brak zasobu) zaleca si zdecydowanie wykorzystywanie metody senderror(): void senderror(int kod) void senderror(int kod, String komunikat) Jak wida, istnieje mo liwo przes ania dodatkowej informacji na temat samego b du. Ostatni funkcjonalno zwi zan z kodami odpowiedzi stanowi przekierowanie. Chocia z technicznego punktu widzenia przekierowanie jest te rodzajem kodu odpowiedzi, do przekierowania wykorzystuje si oddzieln metod : void sendredirect(string adres) Korzystaj c z metod senderror() i sendredirect(), nale y pami ta o subtelnych kwestiach zwi zanych z fizycznym przesy aniem danych do klienta. Przesy anie komunikatów o b dach lub przekierowa wi e si z do brutaln ingerencj w proces przesy ania odpowiedzi. Proces ten jest natychmiast przerywany, a klient otrzymuje odpowied z wybranym kodem odpowiedzi. Co jednak stanie si, gdy zd ymy wys a do klienta jakie dane? Odpowied jest prosta nast pi b d. Po wys aniu danych nie mo esz ingerowa w tre nag ówków, przez co nie mo esz ustawi kodu odpowiedzi, a co za tym idzie tak e przekierowania. Czy oznacza to, e musisz uwa a, gdzie wywo ujesz metod println() obiektu PrintWriter? Na szcz cie nie do ko ca. Domy lnym zachowaniem obiektu w przypadku odpowiedzi jest zapisywanie danych do bufora. Oznacza to, e dane zostan wys ane po zako czeniu metody lub w przypadku wywo ania metody flush() tego obiektu. Co za tym idzie, poni sza konstrukcja (wewn trz metody doget()) nie spowoduje wygenerowania b du: PrintWriter out = response.getwriter(); out.println("test"); response.sendredirect("url/do/innego/serwletu"); Je li przed wywo aniem metody sendredirect() wywo asz metod out.flush(), wtedy b d nast pi. Zazwyczaj jednak takie wywo anie jest pomijane, dzi ki czemu problem wyst puje stosunkowo rzadko.

13 Rozdzia 3. Serwlet na dobry pocz tek 31 Om nom nom, czyli ciasteczka w pe nej krasie Twórcy aplikacji webowych, podobnie jak Ciasteczkowy Potwór, maj szczególny sentyment do ciasteczek (ang. cookies). S to niewielkie pliki przechowywane na komputerach u ytkowników aplikacji webowych, dzi ki czemu jeste my w stanie zapami tywa ich preferencje, loginy i has a itd. Metody operuj ce na ciasteczkach poznali my w poprzednim podrozdziale, ale teraz zaprezentujemy ich dzia anie w praktycznym przyk adzie (listing 3.1): Listing 3.1. Przyk ad obs ugi ciasteczek protected void processrequest(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("text/html;charset=utf-8"); PrintWriter out = response.getwriter(); try { Cookie lastvisit = null; for (Cookie c : request.getcookies()) if (c.getname().equals("obecnosc")) { lastvisit = c; break; if (lastvisit!= null) out.println("twoja ostatnia wizyta na stronie mia a miejsce w dniu " + lastvisit.getvalue()); else out.println("do tej pory nie odwiedzi e /a naszej strony. Wstyd si!"); lastvisit = new Cookie("obecnosc", new Date().toString()); response.addcookie(lastvisit); finally { out.close(); Zadaniem powy szego serwletu jest przechowywanie informacji o dacie ostatniej wizyty na stronie i wy wietlanie jej. W przypadku braku ciasteczka z dat (co jest równoznaczne z pierwszymi odwiedzinami na tej stronie, przynajmniej od czasu wyczyszczenia ciasteczek w przegl darce) wy wietlamy inn informacj. Warto zwróci uwag na dwie kwestie. Po pierwsze, je li chcemy odczyta ju istniej ce ciasteczka korzystamy z metody getcookies() znajduj cej si w obiekcie request. Je li chcemy doda ciasteczko korzystamy z obiektu response. Nigdy odwrotnie! Sprawa druga, znacznie bardziej przykra powy szy sposób dost pu do ciasteczek u ytkownika (p tla for..in) stanowi jedyn metod znajdywania ciasteczek o okre lonej nazwie. W przypadku tworzenia prawdziwych aplikacji trzeba zdefiniowa osobn metod do wyszukiwania ciasteczek. Sesje nie tylko dla studentów Obs uga sesji jest kolejnym nieod cznym elementem niemal wszystkich aplikacji webowych. W przypadku JEE interakcje z sesj mo emy prowadzi na ró ne sposoby,

14 32 Cz I Podstawy tak e za pomoc poznanych ju klas. W tym rozdziale poznamy sposób na dost p do sesji za pomoc obiektu klasy HttpServletRequest. Kluczow rol odgrywa metoda getsession(), wyst puj ca w dwóch wariantach: HttpSession getsession() HttpSession getsession(boolean czytworzyc) Na wst pie zaznacz, e pierwszy wariant tej metody jest równowa ny drugiemu wywo anemu z parametrem true. Drugi wariant post puje ró nie w zale no ci od przekazanej warto ci logicznej: Je li parametr ma warto true, metoda zwraca obiekt sesji lub tworzy nowy, je li ten nie istnieje. Je li parametr ma warto false, metoda zwraca obiekt sesji lub null, je li ten nie istnieje. Jak wida, warto true nale y przekaza, je li chcesz po prostu uzyska dost p do sesji. Warto false stosuje si, gdy chcesz sprawdzi, czy sesja istnieje. Mo na skorzysta z tego mechanizmu, aby sprawdzi, czy dane danie jest pierwszym daniem u ytkownika w danej sesji. Mechanizm ten jest realizowany w poni szym przyk adzie z listingu 3.2: Listing 3.2. Przyk ad wykorzystania sesji protected void processrequest(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("text/html;charset=utf-8"); PrintWriter out = response.getwriter(); try { if (request.getsession(false)==null) { out.println("witaj na stronie po raz pierwszy!"); request.getsession(); else out.println("witaj na stronie po raz kolejny!"); finally { out.close(); Je li po utworzeniu sesji chcesz sprawdzi, czy sesja zosta a dopiero co utworzona, skorzystaj z metody isnew(): boolean isnew() zwraca true, je li obiekt sesji zosta utworzony podczas tego dania. Korzystanie z obiektu sesji Podstawowa funkcjonalno obiektu sesji sprowadza si do dwóch metod: Object getattribute(string nazwa) zwraca atrybut sesji o podanej nazwie.

15 Rozdzia 3. Serwlet na dobry pocz tek 33 void setattribute(string nazwa, Object warto ) dodaje obiekt do sesji, przypisuj c mu podany klucz (nazw ). Je li jaki obiekt o takiej samej nazwie ju istnia, zostanie on zast piony. Wiemy ju, jak utworzy sesj, wiemy te, jak z niej skorzysta. Pozosta o nam omówienie, jakie s warunki zako czenia sesji. Mo e ono nast pi w wyniku kilku ró nych sytuacji: r czne zako czenie sesji przez programist, up yni cie czasu ycia sesji, zamkni cie okna przegl darki przez u ytkownika. Ostatni przypadek, jest rzecz jasna, najprostszy nie wymaga on naszej ingerencji. R czne zako czenie sesji wi e si z wywo aniem nast puj cej metody: void invalidate() ko czy sesj. Najciekawiej sytuacja wygl da w przypadku okre lania terminu wa no ci sesji. Istniej bowiem dwie mo liwo ci okre lenia tej warto ci pierwsza z nich jest stosowana w pliku konfiguracyjnym web.xml: <web-app> <session-config> <session-timeout>10</session-timeout> </session-config> </web-app> Podana warto okre la czas wa no ci sesji w minutach. Obowi zuje on dla wszystkich sesji, chyba e skorzystasz z mo liwo ci okre lenia czasu ycia sesji w kodzie: void setmaxinactiveinterval(int czas) okre la czas ycia sesji w sekundach. Podanie warto ci 0 i ujemnych powoduje, e sesja nigdy nie wygasa (do jej zako czenia jest wi c konieczne wywo anie metody invalidate() lub zamkni cie okna przegl darki przez u ytkownika). Konfiguracja w kodzie Javy mo na tego unikn Podczas tworzenia wi kszo ci aplikacji programi ci musz zmierzy si z problemem obs ugi ró nego rodzaju ustawie wp ywaj cych na dzia anie aplikacji. Problemem staje si lokalizacja tych ustawie. Z jednej strony nikt nie chce utrudnia sobie ycia w ko cu nie ma nic prostszego, ni wczyta warto umieszczon w sta ej/zmiennej. Z drugiej jednak strony zmiana takich ustawie wymaga aby rekompilacji ca ego projektu, w najlepszym przypadku jednej biblioteki. Z tego wzgl du powszechnym standardem sta o si umieszczanie ró nego rodzaju ustawie w zewn trznych ród ach danych plikach binarnych, tekstowych, XML;

16 34 Cz I Podstawy rzadziej w bazach danych. W przypadku aplikacji webowych JEE miejscem takim jest deskryptor wdro enia plik web.xml. Poza licznymi ustawieniami zwi zanymi z funkcjonowaniem aplikacji jako takiej (cz z nich ju pozna e ), w pliku web.xml mo esz tak e zdefiniowa parametry dla poszczególnych serwletów, a tak e ca ej aplikacji webowej. Parametry serwletów Parametry serwletów mo esz okre la za pomoc znacznika <init-param> w nast puj cy sposób: <servlet> <servlet-name>parameterservlet</servlet-name> <servlet-class>pl.helion.jeeweb.parameterservlet</servlet-class> <init-param> <param-name>autor</param-name> <param-value>krzysztof Rychlicki-Kicior</param-value> </init-param> </servlet> Po dwóch znanych ju znacznikach (servlet-name i servlet-class) nast puje dowolna liczba znaczników init-param. Ka dy taki znacznik zawiera dwa kolejne, okre laj ce nazw i warto parametru. Parametry serwletów mo na te dodawa w rodowisku Netbeans, podczas tworzenia serwletu (w ostatnim kroku kreatora). Pierwszy parametr utworzony, najwy sza pora, aby odczyta go we wn trzu serwletu. Do zarz dzania parametrami serwletów s u y interfejs ServletConfig, który jest implementowany przez znane nam klasy GenericServlet i HttpServlet. Dwie metody tego interfejsu, które interesuj nas w tej chwili najbardziej, to: String getinitparameter(string nazwa) zwraca warto parametru o podanej nazwie. String[] getinitparameternames() zwraca wszystkie nazwy parametrów danego serwletu. protected void processrequest(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("text/html;charset=utf-8"); PrintWriter out = response.getwriter(); try { out.println("autorem serwletu jest " + this.getinitparameter("autor")); finally { out.close(); Dzi ki umieszczeniu konfiguracji w pliku XML odnie li my wymiern korzy. Zmiana warto ci w pliku XML nie wymaga rekompilacji kodów ród owych, a jedynie prze- adowania aplikacji (w przypadku Tomcata istnieje tak e opcja automatycznego wykrywania zmian i prze adowywania aplikacji).

17 Rozdzia 3. Serwlet na dobry pocz tek 35 Interfejs ServletConfig poza dwoma poznanymi metodami udost pnia metod get ServletName(), zwracaj c nazw serwletu, a tak e metod getservletcontext(). Zwraca ona (a jak eby inaczej) kontekst serwletów jeden z najwa niejszych obiektów w ca ym wiecie aplikacji webowych JEE. Kontekst serwletów Kontekst serwletów to obiekt, który s u y do komunikacji serwletów z kontenerem. Dzi ki niemu mo esz dynamicznie dodawa serwlety do aplikacji, uzyskiwa dost p do zasobów znajduj cych si w jej obr bie, zapisywa logi do serwerowego dziennika, a co najwa niejsze z obecnego punktu widzenia mo esz korzysta z parametrów aplikacji webowej (kontekstu). Od parametrów serwletów ró ni je zasi g oddzia ywania. Ka dy parametr kontekstu jest widoczny we wszystkich serwletach i innych plikach. Parametry serwletu s okre lane w podobny sposób jak w przypadku serwletów: <web-app> <context-param> <param-name>tytul </param-name> <param-value>java EE 6. Tworzenie aplikacji webowych</param-value> </context-param> </web-app> Równie sposób wykorzystywania parametrów kontekstu przypomina ten znany z serwletów: try { out.println("wszystkie przyk ady pochodz z ksi ki " + this.getservletcontext().getinitparameter("tytul")); finally { out.close(); Jedyn ró nic stanowi odwo anie si do obiektu kontekstu. Reszta pozostaje bez zmian nawet nazwa metody. Ciekawostk stanowi metoda wprowadzona w specyfikacji Java Servlets 3.0. Otó a do momentu wprowadzenia tej specyfikacji parametry, zarówno serwletów, jak i kontekstu, by y warto ciami tylko do odczytu. Jedyn mo liwo ci zmiany parametrów by a edycja pliku web.xml. W wersji JavaServlet 3.0 API pojawi a si jednak innowacja mo liwo dynamicznego ustawiania parametrów kontekstu za pomoc metody setinitparameter(). Wynika to z wprowadzenia du ej elastyczno ci klasa ServletContext w wersji 3.0 uzyska a wiele metod, takich jak addservlet(), czy addfilter(), które umo liwiaj dynamiczne dodawanie ró nych sk adników aplikacji, do tej pory deklarowanych jedynie w pliku web.xml. Nie nale y jednak nadu ywa tej metody. Kontekst serwletów pojawi si ponownie ju niebawem, tymczasem nadszed czas, aby zmierzy si z przeciwnikiem o wiele wa niejszym od parametrów mowa o atrybutach.

18 36 Cz I Podstawy Trzech muszkieterów? Parametry, czy to serwletów, czy to aplikacji, maj swoje zastosowania i bywaj niezwykle przydatne. Mimo to g ównym rodkiem komunikacji mi dzy serwletami, kontenerem, sesj, u ytkownikiem i obiektem dania czyli z grubsza mi dzy wszystkimi elementami aplikacji s atrybuty. Z technicznego punktu widzenia mi dzy parametrami i atrybutami wyst puj dwie zasadnicze ró nice: W przypadku parametrów zarówno klucz, jak i warto s a cuchami znaków, za w przypadku atrybutów klucz jest a cuchem, warto mo e by obiektem. Parametry z za o enia s tylko do odczytu (cho w wietle ostatniej wersji specyfikacji wygl da to inaczej ), natomiast atrybuty s przeznaczone zarówno do odczytu, jak i do zapisu. Niezwyk e znaczenie ma tak e wprowadzenie zasi gu atrybutów. Atrybut dodany w zasi gu dania (request) nie b dzie widoczny w innych zasi gach. Tabela 3.1 przedstawia zestawienie parametrów i atrybutów w poszczególnych zakresach. Tabela 3.1. Mo liwo ci zapisywania i odczytywania parametrów i atrybutów w poszczególnych zakresach Zakres Parametry Atrybuty Zapis Odczyt Zapis Odczyt danie nie tak tak tak Serwlet nie tak brak brak Sesja brak brak tak tak Kontekst aplikacji tak (od wersji 3.0) tak tak tak Na podstawie powy szej tabeli wyda wyra nie, e parametry pe ni jedynie funkcj ustawie, opcji konfiguracyjnych, które u atwiaj zmian w dzia aniu aplikacji bez konieczno ci ponownej rekompilacji kodu. Atrybuty natomiast maj zastosowanie o wiele szersze s u do wymiany informacji pomi dzy poszczególnymi elementami aplikacji. W dalszej cz ci rozdzia u skupimy si tylko na atrybutach. Ich ogromna przydatno ma bowiem pewne ograniczenia. Jedno z nich jest zwi zane z najwa niejsz chyba cech odró niaj c aplikacje webowe od aplikacji typu standalone konieczno jednoczesnej obs ugi wielu u ytkowników. Atrybuty a mnogo da Jedna aplikacja webowa mo e by u ywana nawet przez setki czy tysi ce u ytkowników jednocze nie. Ka de danie (HTTP request) jest obs ugiwane przez kontener w osobnym w tku. Istotn kwesti jest wi c zapewnienie integralno ci operacji wyko-

19 Rozdzia 3. Serwlet na dobry pocz tek 37 nywanych przez ka dego z nich nie mo e by tak, e operacje jednego u ytkownika wp yn na efekt operacji innego. W przypadku parametrów problem ten raczej nie wyst puje. Co prawda, w wersji 3.0 pojawi a si mo liwo modyfikowania parametrów kontekstu aplikacji, jednak mo liwo ta powinna by u ywana w bardzo sporadycznych sytuacjach, gdy obs uga wielu u ytkowników nie powinna sprawia problemów (np. z powodu wywo ywania takiego kodu przez superadministratora witryny). Je li jednak zabezpieczenie jest konieczne, mo na zrealizowa je w sposób analogiczny do tego, który zaprezentuj za chwil. Zdecydowanie bardziej skomplikowana sytuacja wyst puje w przypadku atrybutów. Wszystkie trzy przypadki omówi w kolejnych podrozdzia ach. Atrybuty dania W przypadku atrybutów dania sytuacja jest stosunkowo prosta. danie jest realizowane przez jednego u ytkownika; w dodatku pojedyncze danie nie wi e si w aden sposób z innymi daniami (nawet tego samego u ytkownika), dlatego problem jednoczesnego dost pu przez wielu u ytkowników nie wyst puje. Pojawia si jednak inne pytanie skoro obiekt dania nie wchodzi w interakcje z innymi daniami, po co mia by korzysta z atrybutów? Takie rozwi zanie wynika ze stosowanych w praktyce mechanizmów obs ugi stron. Serwlety same w sobie rzadko generuj tre na ogó wykonuj one ró norodne operacje (np. pobranie danych z bazy, realizacja logiki biznesowej cho w wi kszych aplikacjach i te zadania s delegowane), a nast pnie przekazuj sterowanie do pliku JSP. W takiej sytuacji konieczne jest przekazanie informacji mi dzy serwletem a plikiem JSP. Voilà! znale li my zastosowanie atrybutów dania. Dok adne wyja nienie i przyk ady poznasz w rozdziale po wi conym JSP. Atrybuty sesji W nieco gorszej sytuacji s atrybuty sesji. Wiemy ju, e jedna sesja jest powi zana z konkretnym u ytkownikiem. Teoretycznie nie powinno wi c by problemów. Ale u ytkownicy bywaj okrutni wyobra sobie, co mog oby si sta, gdyby u ytkownik uruchomi Twoj aplikacj webow w dwóch zak adkach i próbowa jednocze nie adowa ró ne (lub te same) serwlety? Odpowied jest prosta: mog oby doj do jednoczesnego dost pu do sesji. Odczyt danych nie stanowi by problemu, ale atrybuty sesyjne mog by przecie równie zapisywane. Taka sytuacja to potencjalny problem. Jak wi c mu zaradzi? Powiem krótko: nale y skorzysta ze standardowego mechanizmu Javy, chroni cego dane przed zapisem przez wiele w tków jednocze nie synchronizacji. Teraz musimy okre li, dost p do czego dok adnie chcemy synchronizowa. Na pocz tek odrzu my obiekt dania (klasy HttpServletRequest). Jest to obiekt zwi zany tylko z jednym, konkretnym daniem, wi c zablokowanie dost pu do niego nie wp yn oby na inne obiekty da nadal wszystkie one mog yby korzysta bez

20 38 Cz I Podstawy skr powania z sesji. Nie ma sensu równie blokada obiektu serwletu dost p do sesji maj ró ne serwlety, wi c zablokowanie jednego z nich nie powstrzyma innych od zapisu do sesji. Jedynym sensownym rozwi zaniem pozostaje zablokowanie obiektu sesji, do którego uzyskujemy dost p za pomoc obiektu dania. Poni szy kod, wstawiony we wszystkich serwletach, pozwoli na zliczenie wszystkich wywo a serwletów, które mia y miejsce w aplikacji webowej dla danego u ytkownika: HttpSession sesja = request.getsession(); synchronized(sesja) { if (sesja.isnew()) sesja.setattribute("licznik", 1); else { int licznik = Integer.parseInt(sesja.getAttribute("licznik").toString()); sesja.setattribute("licznik", licznik + 1); W ten sposób, gdy jeden serwlet wejdzie w blok synchronizowany, uzyskujemy gwarancj, e aden inny serwlet w tym momencie dost pu do sesji nie uzyska. Wszystkie inne serwlety b d musia y czeka, a pierwszy serwlet zwolni blokad. Atrybuty kontekstu serwletów Najwi ksze niebezpiecze stwo niesie za sob korzystanie z atrybutów nale cych do kontekstu aplikacji. Ka dy taki atrybut mo e by odczytany i zmodyfikowany w dowolnym niemal miejscu aplikacji. Z tego wzgl du ka da próba korzystania z atrybutów (zw aszcza zapisu) powinna by synchronizowana. Zasada dzia ania jest taka sama, jak w przypadku sesji. W tym przypadku musimy jednak synchronizowa obiekt kontekstu. Kod synchronizuj cy przedstawia si nast puj co: ServletContext sc = this.getservletcontext(); synchronized(sc) { Object licznik = sc.getattribute("licznik"); if (licznik == null) sc.setattribute("licznik", 1); else { licznik = sc.getattribute("licznik"); sc.setattribute("licznik", Integer.parseInt(licznik.toString()) + 1); Powy szy kod realizuje funkcjonalno podobn do przyk adu z sesj tym razem zliczamy jednak wszystkie wywo ania serwletów wykonane przez wszystkich u ytkowników. Z obiektami da, sesji i kontekstu, jak równie z ich atrybutami, wi si wa ne klasy s uchaczy zdarze. Cho istnieje mo liwo tworzenia ca ych aplikacji webowych bez wiadomo ci istnienia tych klas, zdarzaj si sytuacje, w których znajomo tego typu mechanizmów jest niezb dna.

21 Rozdzia 3. Serwlet na dobry pocz tek 39 S uchowisko S uchacze zdarze to obiekty spotykane w Javie niezwykle cz sto. Pocz tkuj cy programi ci Javy spotykaj si z nimi np. podczas tworzenia prostych aplikacji graficznych. S uchacz zdarze powi zany z przyciskiem pozwala na wykonanie dowolnego kodu np. po jego klikni ciu. Poj cie s uchacza zdarze nie ogranicza si oczywi cie do tworzenia aplikacji z graficznym interfejsem równie aplikacje webowe daj s uchaczom zdarze spore pole do popisu. W poni szych podrozdzia ach przedstawi interfejsy s uchaczy zdarze przeznaczone do u ycia w aplikacjach webowych. Nie jest to mo e najciekawszy fragment niniejszej ksi ki, ale pr dzej czy pó niej znajdziesz si w sytuacji, w której b dziesz musia skorzysta z opisanych w nast pnych akapitach mechanizmów. ServletContextListener Jest to najrzadziej chyba wykorzystywany s uchacz zdarze. Zawiera dwie metody: contextinitialized() i contextdestroyed(), które s wywo ywane w momencie utworzenia/usuni cia kontekstu aplikacji, czyli w momencie startu i zako czenia aplikacji. Obydwie metody przyjmuj parametr typu ServletContextEvent umo liwia on pobranie kontekstu aplikacji za pomoc metody getservletcontext(). ServletContextAttributeListener Drugim s uchaczem zdarze zwi zanym z kontekstem aplikacji jest s uchacz obserwuj cy kolekcj atrybutów kontekstu. Reaguje on na dodawanie (metoda attribute Added()), usuwanie (attributeremoved()) i zamian (attributereplaced()) atrybutów. Wszystkie trzy metody przyjmuj jeden parametr typu ServletContextAttribute Event umo liwia on pobranie nazwy modyfikowanego atrybutu (getname()), jego warto ci (getvalue()). ServletRequestAttributeListener i ServletRequestListener Obydwa interfejsy pe ni analogiczne funkcje, co ich kontekstowi koledzy nawet nazwy metod s podobne (w przypadku pierwszego interfejsu identyczne, w przypadku drugiego requestinitialized() i requestdestroyed()). Jedyn realn zmian jest wprowadzenie dodatkowej funkcjonalno ci do klas argumentów zdarze ServletRequestAttributeEvent i ServletRequestEvent. Udost pniaj one metod getservletrequest(). Pozwala ona na skorzystanie z obiektu dania, którego zdarzenia dotycz.

22 40 Cz I Podstawy HttpSessionAtributteListener i HttpSessionListener Równie s uchacze zdarze powi zani z sesjami zosta y utworzone zgodnie z omówionymi powy ej zasadami. S uchacz HttpSessionListener jest wykorzystywany przy tworzeniu (metoda sessioncreated()) i ko czeniu sesji (sessiondestroyed()). Przekazywany argument obiekt klasy HttpSessionEvent udost pnia metod getsession(), która daje dost p do utworzonej (zako czonej) sesji. W przypadku interfejsu HttpSessionAttributeListener mamy do dyspozycji te same trzy metody, co w poprzednich przypadkach. Typ zdarzenia to HttpSessionBindingEvent. Jego mo liwo ci sprowadzaj si do pobrania obiektu sesji i nazwy/warto ci dodawanego/usuwanego/ zmienianego atrybutu. HttpSessionBindingListener Nareszcie co ciekawego! Tytu owy interfejs odbiega nieco od schematu, z jakim mieli my do czynienia przez ostatnie trzy podrozdzia y. Wszystkie trzy interfejsy z cz onem AttributeListener w nazwie odpowiada y za informowanie o zmianach zachodz cych w kolekcji atrybutów. Dla odmiany interfejs HttpSessionBindingListener powinien by implementowany przez klasy, których obiekty b d umieszczane w sesji! Je li wi c tworzysz w asne klasy do przechowywania danych, które w momencie zapisu do sesji powinny by w jaki sposób przetworzone, powiniene skorzysta z tego interfejsu. Metody tego interfejsu to valuebound() i valueunbound(), wywo ywane odpowiednio w momencie do czenia obiektu do sesji lub jego usuni cia. Klasa argumentu zdarze to znana z poprzedniego akapitu HttpSessionBindingEvent. Sesja + wiele JVM = HttpSessionActivationListener Java EE to technologia uniwersalna, która mo e by z powodzeniem stosowana w rozbudowanych aplikacjach webowych i biznesowych. Jednym z wa nych aspektów tworzenia takich aplikacji jest skalowalno mo liwo poprawnego i wydajnego dzia ania aplikacji w dowolnych warunkach (niewielkiego, jak i bardzo du ego obci enia), bez konieczno ci zmiany samej aplikacji. Bardzo cz sto, w celu poprawy wydajno ci, ta sama aplikacja jest instalowana na wielu komputerach po czonych w sie, a specjalny serwer, b d cy bram do wiata zewn trznego (czyli do klientów), kieruje ruchem i przydziela poszczególne dania do tych komputerów, które w danym momencie s najmniej obci one. Taka technika nosi nazw równowa enia obci enia (ang. load balancing). Nie b dziemy zag bia si teraz w szczegó y tej techniki; w niniejszej ksi ce b dzie nas interesowa co najwy ej wp yw tej techniki na kod aplikacji lub informacje zawarte w deskryptorze wdro enia. W tym podrozdziale zajmiemy si s uchaczem zdarze, który jest zwi zany z dwoma istotnymi zagadnieniami: obs ug sesji i równowa- eniem obci enia.

23 Rozdzia 3. Serwlet na dobry pocz tek 41 Gdy u ytkownik tworzy obiekt sesji, jest on zapisywany (np. w postaci pliku) na komputerze, który obs ugiwa w danej chwili danie. Nast pne danie u ytkownika mo- e jednak by przydzielone do zupe nie innego komputera wewn trz sieci dlatego konieczne jest wprowadzenie mechanizmu, który przeniesie obiekt sesji z pierwszego komputera na drugi. Na szcz cie mechanizm ten jest automatyczny. Jedynym (opcjonalnym) zadaniem programisty jest wykonanie operacji przed przeniesieniem sesji z komputera pierwotnego i po przeniesieniu sesji na komputer docelowy. S u do tego celu metody: void sessionwillpassivate(httpsessionevent hse) metoda wywo ywana tu przed przes aniem sesji do innego komputera; void sessiondidactivate(httpsessionevent hse) metoda wywo ywana tu po otrzymaniu sesji od pierwszego komputera. Filtry Do tej pory wszystkie przyk ady omawiali my, korzystaj c z modelu obs ugi dania/ odpowiedzi. danie HTTP przes ane przez klienta powodowa o utworzenie nowego w tku, wykorzystuj cego obiekt odpowiedniego serwletu. Na podstawie metody dania HTTP nast powa wybór odpowiedniej metody klasy HttpServlet (doget(), dopost() itd.). Model ten mo na jednak rozszerzy o dodatkowe elementy filtry. Filtr umo liwia wykonywanie operacji w momencie nadej cia da do serwletów i wygenerowania przeze odpowiedzi, przy czym nie ingeruje on w dzia anie samego serwletu. Mo na zatem np. zapisa w dzienniku dat ka dego dania, jego parametry, a tak e sprawdzi, jaka jest d ugo odpowiedzi wygenerowanej przez serwlet. W praktyce serwlety stosuje si równie do kontroli, a ewentualnie tak e modyfikacji obiektów dania i odpowiedzi. Dzi ki filtrom mo esz skompresowa ca tre odpowiedzi, zanim zostanie przes ana ostatecznie do klienta. Mo esz te w uniwersalny sposób odrzuca dania, które nie spe niaj okre lonych warunków (np. warto ustalonych parametrów). Najwi ksz zalet filtrów jest mo liwo pod czenia ich do dowolnej grupy serwletów filtry s czone z serwletami za pomoc znacznika url-pattern, dzia aj cego analogicznie jak w przypadku serwletów. Jak wida, dodanie jednego znacznika pozwala na w czenie szyfrowania, kompresji lub kontroli dost pu dla ca ej grupy serwletów. Techniczny aspekt filtrów Z technicznego punktu widzenia filtr jest klas implementuj c interfejs javax.servlet. Filter. Interfejs ów sk ada si z trzech metod: void init(filterconfig fc) metoda wywo ywana przy utworzeniu filtru. Pozwala na uzyskanie obiektu ustawie filtru obiektu interfejsu FilterConfig.

24 42 Cz I Podstawy void dofilter(servletrequest request, ServletResponse response, FilterChain chain) metoda wywo ywana w momencie nadej cia dania. Dok adny opis w dalszej cz ci podrozdzia u. void destroy() metoda wywo ywana przez serwer w momencie zako czenia dzia ania filtru. Najwi ksze znaczenie ma, rzecz jasna, metoda dofilter(). Typowy sposób jej wykorzystania przedstawiam poni ej: public void dofilter(servletrequest req, ServletResponse res, FilterChain chain) { if (!req.issecure()) ((HttpServletResponse)res).sendError(HttpServletResponse.SC_RESPONSE); chain.dofilter(req, res); bool spakowany = false; if (req.getparameter("format")!= null && req.getparameter("format").equals("spakowany")) spakowany = true; if (spakowany) { // pobierz tre odpowiedzi, spakuj j, a nast pnie // zapisz, korzystaj c z obiektu res. Tre powy szej metody mo na podzieli na trzy cz ci. Na pocz tku sprawdzamy, czy dane danie jest realizowane w trybie bezpiecznym, czyli z wykorzystaniem protoko u SSL. Je li nie odsy amy u ytkownikowi kod b du 403 forbidden (brak uprawnie do zrealizowania dania). Najwa niejszym fragmentem metody jest wywo anie dofilter() obiektu chain. Zbie no nazw w tej sytuacji jest przypadkowa (klasy FilterChain i Filter nie s ze sob w aden formalny sposób zwi zane). Zadaniem interfejsu FilterChain jest zapewnienie komunikacji mi dzy filtrem (lub grup filtrów) a serwletem. W zale no ci od kolejno ci deklaracji filtrów w deskryptorze wdro enia danie HTTP przechodzi przez kolejne filtry (dzi ki wywo aniom metody dofilter() w ka dym filtrze), a w ko cu dociera do serwletu. Po zako czeniu obs ugi przez serwlet, sterowanie powraca do kolejnych filtrów (w naszym przypadku od deklaracji zmiennej spakowany, a do opuszczenia ostatniego filtru). Konfiguracja filtrów w pliku web.xml Samo utworzenie klas filtrów to za ma o. Musisz doda tak e odpowiednie wpisy w pliku web.xml. Zasada dzia ania filtrów przypomina t znan z serwletów, dlatego równie informacje podawane w deskryptorze wdro enia powinny wyda Ci si znajome: <filter> <filter-name>pierwszy filtr</filter-name> <filter-class>pl.helion.jeeweb.filtr<filter-class> </filter> <filter-mapping> <filter-name>pierwszy filtr</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> Czytaj dalej...

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

CGI i serwlety. Plan wykładu. Wykład prowadzi Mikołaj Morzy. Przykład: serwlety vs. szablony. Implementacja logiki prezentacji Wykład prowadzi Mikołaj Morzy CGI i serwlety Plan wykładu Metody konstrukcji logiki prezentacji Programy CGI Serwlety Java implementacja korzystanie z nagłówków obsługa zmiennych Cookies obsługa sesji

Bardziej szczegółowo

Spring MVC Andrzej Klusiewicz 1/18

Spring MVC Andrzej Klusiewicz 1/18 Spring MVC pierwsza aplikacja Kod źródłowy aplikacji którą tworzę w niniejszym kursie jest do pobrania z adresu: http://www.jsystems.pl/storage/spring/springmvc1.zip Aplikacja jest tworzona w NetBeans,

Bardziej szczegółowo

Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, )

Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, ) Kod szkolenia: Tytuł szkolenia: JEE/JSP Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, ) Dni: 5 Opis: Adresaci szkolenia: Szkolenie adresowane jest do programistów

Bardziej szczegółowo

InsERT GT Własne COM 1.0

InsERT GT Własne COM 1.0 InsERT GT Własne COM 1.0 Autor: Jarosław Kolasa, InsERT Wstęp... 2 Dołączanie zestawień własnych do systemu InsERT GT... 2 Sposób współpracy rozszerzeń z systemem InsERT GT... 2 Rozszerzenia standardowe

Bardziej szczegółowo

Wpisany przez Piotr Klimek Wtorek, 11 Sierpień 2009 22:36 - Zmieniony Poniedziałek, 03 Czerwiec 2013 03:55

Wpisany przez Piotr Klimek Wtorek, 11 Sierpień 2009 22:36 - Zmieniony Poniedziałek, 03 Czerwiec 2013 03:55 Na początku PHP było przystosowane do programowania proceduralnego. Możliwości obiektowe wprowadzono z językiem C++ i Smalltalk. Obecnie nowy sposób programowania występuje w większości językach wysokopoziomowych

Bardziej szczegółowo

System kontroli wersji SVN

System kontroli wersji SVN System kontroli wersji SVN Co to jest system kontroli wersji Wszędzie tam, gdzie nad jednym projektem pracuje wiele osób, zastosowanie znajduje system kontroli wersji. System, zainstalowany na serwerze,

Bardziej szczegółowo

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Programowanie II prowadzący: Adam Dudek Lista nr 8 Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Jest to najważniejsza cecha świadcząca o sile programowania

Bardziej szczegółowo

API transakcyjne BitMarket.pl

API transakcyjne BitMarket.pl API transakcyjne BitMarket.pl Wersja 20140314 1. Sposób łączenia się z API... 2 1.1. Klucze API... 2 1.2. Podpisywanie wiadomości... 2 1.3. Parametr tonce... 2 1.4. Odpowiedzi serwera... 3 1.5. Przykładowy

Bardziej szczegółowo

Polityka prywatności strony internetowej wcrims.pl

Polityka prywatności strony internetowej wcrims.pl Polityka prywatności strony internetowej wcrims.pl 1. Postanowienia ogólne 1.1. Niniejsza Polityka prywatności określa zasady gromadzenia, przetwarzania i wykorzystywania danych w tym również danych osobowych

Bardziej szczegółowo

POLITYKA PRYWATNOŚCI SKLEPU INTERNETOWEGO

POLITYKA PRYWATNOŚCI SKLEPU INTERNETOWEGO POLITYKA PRYWATNOŚCI SKLEPU INTERNETOWEGO www.tokyotey.pl 1. Zagadnienia wstępne. 1. Pod pojęciem Serwisu rozumie się stronę internetową znajdującą się pod adresem www.tokyotey.pl wraz z wszelkimi podstronami

Bardziej szczegółowo

SKRÓCONA INSTRUKCJA OBSŁUGI ELEKTRONICZNEGO BIURA OBSŁUGI UCZESTNIKA BADANIA BIEGŁOŚCI

SKRÓCONA INSTRUKCJA OBSŁUGI ELEKTRONICZNEGO BIURA OBSŁUGI UCZESTNIKA BADANIA BIEGŁOŚCI SKRÓCONA INSTRUKCJA OBSŁUGI ELEKTRONICZNEGO BIURA OBSŁUGI UCZESTNIKA BADANIA BIEGŁOŚCI 1. CO TO JEST ELEKTRONICZNE BIURO OBSŁUGI UCZESTNIKA (EBOU) Elektroniczne Biuro Obsługi Uczestnika to platforma umożliwiająca

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH

WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH Klasa: 3TIR - Technik informatyk Program: 351203 Wymiar: 4 h tygodniowo Podręcznik: Kwalifikacja E.14 Programowanie

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15

Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Przechowywanie danych Wykorzystanie systemu plików, dostępu do plików za pośrednictwem systemu operacyjnego

Bardziej szczegółowo

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy Instrukcja obsługi programu 2.11. Przygotowanie programu do pracy - ECP Architektura inter/intranetowa System Informatyczny CELAB Przygotowanie programu do pracy - Ewidencja Czasu Pracy Spis treści 1.

Bardziej szczegółowo

Instrukcja instalacji oraz wykorzystania podpisu cyfrowego

Instrukcja instalacji oraz wykorzystania podpisu cyfrowego Instrukcja instalacji oraz wykorzystania podpisu cyfrowego Poniższy dokument został stworzony w celu zaznajomienia użytkowników komputerów osobistych pracujących w systemie Windows XP z możliwościami wykorzystania

Bardziej szczegółowo

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

Java wybrane technologie spotkanie nr 4. Serwlety c.d. Java wybrane technologie spotkanie nr 4 Serwlety c.d. 1 Wprowadzenie Narzucona struktura katalogów aplikacji (większa przenośności) webapps -app1 -app2 -app3 (root) -*.html, *.gif, *.js, *.css (być może

Bardziej szczegółowo

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, 00-662 Warszawa

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, 00-662 Warszawa Zamawiający: Wydział Matematyki i Nauk Informacyjnych Politechniki Warszawskiej 00-662 Warszawa, ul. Koszykowa 75 Przedmiot zamówienia: Produkcja Interaktywnej gry matematycznej Nr postępowania: WMiNI-39/44/AM/13

Bardziej szczegółowo

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

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.pl Serwer aplikacji Serwer aplikacji to: Serwer wchodzący w skład sieci komputerowej, przeznaczony

Bardziej szczegółowo

Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski Bazy danych II Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 11 Zastosowanie PHP do programowania aplikacji baz danych Oracle Wsparcie programowania w PHP baz danych Oracle Oprócz możliwego

Bardziej szczegółowo

Spis treści. Rozdział 1 ewyniki. mmedica - INSTR UKC JA UŻYTKO W NIKA

Spis treści. Rozdział 1 ewyniki. mmedica - INSTR UKC JA UŻYTKO W NIKA Wersja 5.1.9 Spis treści Rozdział 1 1.1 1.1.1 1.1.2 1.2 1.3 1.4 1.5 I Konfiguracja... 1-1 OID świadczeniodawcy... 1-2 Dodanie... instytucji zewnętrznej 1-4 Dodanie... zlecenia 1-11 Pobranie... materiału

Bardziej szczegółowo

Budowa systemów komputerowych

Budowa systemów komputerowych Budowa systemów komputerowych dr hab. inż. Krzysztof Patan, prof. PWSZ Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa w Głogowie k.patan@issi.uz.zgora.pl Współczesny system komputerowy System

Bardziej szczegółowo

Zobacz to na własne oczy. Przyszłość już tu jest dzięki rozwiązaniu Cisco TelePresence.

Zobacz to na własne oczy. Przyszłość już tu jest dzięki rozwiązaniu Cisco TelePresence. Informacje dla kadry zarządzającej Zobacz to na własne oczy. Przyszłość już tu jest dzięki rozwiązaniu Cisco TelePresence. 2010 Cisco i/lub firmy powiązane. Wszelkie prawa zastrzeżone. Ten dokument zawiera

Bardziej szczegółowo

Microsoft Management Console

Microsoft Management Console Microsoft Management Console Konsola zarządzania jest narzędziem pozwalającym w prosty sposób konfigurować i kontrolować pracę praktycznie wszystkich mechanizmów i usług dostępnych w sieci Microsoft. Co

Bardziej szczegółowo

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT Spis treści Instrukcja użytkownika systemu Ognivo2... 3 Opis... 3 Konfiguracja programu... 4 Rejestracja bibliotek narzędziowych... 4 Konfiguracja

Bardziej szczegółowo

Systemy mikroprocesorowe - projekt

Systemy mikroprocesorowe - projekt Politechnika Wrocławska Systemy mikroprocesorowe - projekt Modbus master (Linux, Qt) Prowadzący: dr inż. Marek Wnuk Opracował: Artur Papuda Elektronika, ARR IV rok 1. Wstępne założenia projektu Moje zadanie

Bardziej szczegółowo

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy modelowaniem, a pewien dobrze zdefiniowany sposób jego

Bardziej szczegółowo

Konfiguracja historii plików

Konfiguracja historii plików Wielu producentów oprogramowania oferuje zaawansowane rozwiązania do wykonywania kopii zapasowych plików użytkownika czy to na dyskach lokalnych czy w chmurze. Warto jednak zastanowić się czy instalacja

Bardziej szczegółowo

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET PoniŜszy dokument zawiera opis konfiguracji programu STEP7 dla sterowników SIMATIC S7 300/S7 400, w celu stworzenia komunikacji między dwoma stacjami S7 300 za pomocą sieci Industrial Ethernet, protokołu

Bardziej szczegółowo

Instrukcja programu PControl Powiadowmienia.

Instrukcja programu PControl Powiadowmienia. 1. Podłączenie zestawu GSM. Instrukcja programu PControl Powiadowmienia. Pierwszym krokiem w celu uruchomienia i poprawnej pracy aplikacji jest podłączenie zestawu GSM. Zestaw należy podłączyć zgodnie

Bardziej szczegółowo

Automatyzacja procesu publikowania w bibliotece cyfrowej

Automatyzacja procesu publikowania w bibliotece cyfrowej Automatyzacja procesu publikowania w bibliotece cyfrowej Jakub Bajer Biblioteka Politechniki Poznańskiej Krzysztof Ober Poznańska Fundacja Bibliotek Naukowych Plan prezentacji 1. Cel prezentacji 2. Proces

Bardziej szczegółowo

Opis zmian funkcjonalności platformy E-GIODO wprowadzonych w związku z wprowadzeniem możliwości wysyłania wniosków bez podpisu elektronicznego

Opis zmian funkcjonalności platformy E-GIODO wprowadzonych w związku z wprowadzeniem możliwości wysyłania wniosków bez podpisu elektronicznego Opis zmian funkcjonalności platformy E-GIODO wprowadzonych w związku z wprowadzeniem możliwości wysyłania wniosków bez podpisu elektronicznego Wstęp. Dodanie funkcjonalności wysyłania wniosków bez podpisów

Bardziej szczegółowo

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007 GEO-SYSTEM Sp. z o.o. 02-732 Warszawa, ul. Podbipięty 34 m. 7, tel./fax 847-35-80, 853-31-15 http:\\www.geo-system.com.pl e-mail:geo-system@geo-system.com.pl GEO-RCiWN Rejestr Cen i Wartości Nieruchomości

Bardziej szczegółowo

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce) emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest sklepom internetowych zbudowanym w oparciu

Bardziej szczegółowo

Postanowienia ogólne. Usługodawcy oraz prawa do Witryn internetowych lub Aplikacji internetowych

Postanowienia ogólne. Usługodawcy oraz prawa do Witryn internetowych lub Aplikacji internetowych Wyciąg z Uchwały Rady Badania nr 455 z 21 listopada 2012 --------------------------------------------------------------------------------------------------------------- Uchwała o poszerzeniu możliwości

Bardziej szczegółowo

Chmura obliczeniowa. do przechowywania plików online. Anna Walkowiak CEN Koszalin 2015-10-16

Chmura obliczeniowa. do przechowywania plików online. Anna Walkowiak CEN Koszalin 2015-10-16 Chmura obliczeniowa do przechowywania plików online Anna Walkowiak CEN Koszalin 2015-10-16 1 Chmura, czyli co? Chmura obliczeniowa (cloud computing) to usługa przechowywania i wykorzystywania danych, do

Bardziej szczegółowo

Archiwum Prac Dyplomowych

Archiwum Prac Dyplomowych Archiwum Prac Dyplomowych Instrukcja dla studentów Ogólna procedura przygotowania pracy do obrony w Archiwum Prac Dyplomowych 1. Student rejestruje pracę w dziekanacie tej jednostki uczelni, w której pisana

Bardziej szczegółowo

Zarządzanie Zasobami by CTI. Instrukcja

Zarządzanie Zasobami by CTI. Instrukcja Zarządzanie Zasobami by CTI Instrukcja Spis treści 1. Opis programu... 3 2. Konfiguracja... 4 3. Okno główne programu... 5 3.1. Narzędzia do zarządzania zasobami... 5 3.2. Oś czasu... 7 3.3. Wykres Gantta...

Bardziej szczegółowo

VinCent Office. Moduł Drukarki Fiskalnej

VinCent Office. Moduł Drukarki Fiskalnej VinCent Office Moduł Drukarki Fiskalnej Wystawienie paragonu. Dla paragonów definiujemy nowy dokument sprzedaży. Ustawiamy dla niego parametry jak podano na poniższym rysunku. W opcjach mamy możliwość

Bardziej szczegółowo

Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach.

Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach. Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach. 1 PROJEKTY KOSZTOWE 2 PROJEKTY PRZYCHODOWE 3 PODZIAŁ PROJEKTÓW ZE WZGLĘDU

Bardziej szczegółowo

Wtedy wystarczy wybrać właściwego Taga z listy.

Wtedy wystarczy wybrać właściwego Taga z listy. Po wejściu na stronę pucharino.slask.pl musisz się zalogować (Nazwa użytkownika to Twój redakcyjny pseudonim, hasło sam sobie ustalisz podczas procedury rejestracji). Po zalogowaniu pojawi się kilka istotnych

Bardziej szczegółowo

Firma Informatyczna JazzBIT

Firma Informatyczna JazzBIT Artykuły i obrazy Autor: Stefan Wajda [zwiastun] 10.02.2006. Dodawanie i publikowanie artykułów to najczęstsze zadanie. I chociaż nie jest skomplikowane, może początkujacych wprawiać w zakłopotanie. Trzeba

Bardziej szczegółowo

2.Prawo zachowania masy

2.Prawo zachowania masy 2.Prawo zachowania masy Zdefiniujmy najpierw pewne podstawowe pojęcia: Układ - obszar przestrzeni o określonych granicach Ośrodek ciągły - obszar przestrzeni którego rozmiary charakterystyczne są wystarczająco

Bardziej szczegółowo

Harmonogramowanie projektów Zarządzanie czasem

Harmonogramowanie projektów Zarządzanie czasem Harmonogramowanie projektów Zarządzanie czasem Zarządzanie czasem TOMASZ ŁUKASZEWSKI INSTYTUT INFORMATYKI W ZARZĄDZANIU Zarządzanie czasem w projekcie /49 Czas w zarządzaniu projektami 1. Pojęcie zarządzania

Bardziej szczegółowo

Charakterystyka systemów plików

Charakterystyka systemów plików Charakterystyka systemów plików Systemy plików są rozwijane wraz z systemami operacyjnymi. Windows wspiera systemy FAT oraz system NTFS. Różnią się one sposobem przechowywania informacji o plikach, ale

Bardziej szczegółowo

Warszawa, 08.01.2016 r.

Warszawa, 08.01.2016 r. Warszawa, 08.01.2016 r. INSTRUKCJA KORZYSTANIA Z USŁUGI POWIADOMIENIA SMS W SYSTEMIE E25 BANKU BPS S.A. KRS 0000069229, NIP 896-00-01-959, kapitał zakładowy w wysokości 354 096 542,00 złotych, który został

Bardziej szczegółowo

zgubił całą naszą korespondencję Można by tak wymieniać bez bezpieczeństwa, gdyby była wykonana dnia poprzedniego rozwiązałaby niejeden problem.

zgubił całą naszą korespondencję Można by tak wymieniać bez bezpieczeństwa, gdyby była wykonana dnia poprzedniego rozwiązałaby niejeden problem. Zasada działania usługi Business Safe jest prosta. Zainstalowany na Twoim komputerze progra Dlaczego backupować? Któż z nas nie zna smaku tego okropnego uczucia, gdy włączając kompuuter, który jeszcze

Bardziej szczegółowo

Kancelaris - Zmiany w wersji 2.50

Kancelaris - Zmiany w wersji 2.50 1. Listy Kancelaris - Zmiany w wersji 2.50 Zmieniono funkcję Dostosuj listę umożliwiając: o Zapamiętanie wielu widoków dla danej listy o Współdzielenie widoków między pracownikami Przykład: Kancelaria

Bardziej szczegółowo

PROE wykład 7 kontenery tablicowe, listy. dr inż. Jacek Naruniec

PROE wykład 7 kontenery tablicowe, listy. dr inż. Jacek Naruniec PROE wykład 7 kontenery tablicowe, listy dr inż. Jacek Naruniec Prosty kontener oparty na tablicach Funkcja dodawanie pojedynczego słonia do kontenera: 1 2 3 4 5 6 7 11 12 13 14 15 16 17 21 22 23 24 25

Bardziej szczegółowo

Audyt SEO. Elementy oraz proces przygotowania audytu. strona

Audyt SEO. Elementy oraz proces przygotowania audytu. strona Audyt SEO Elementy oraz proces przygotowania audytu 1 Spis treści Kim jesteśmy? 3 Czym jest audyt SEO 4 Główne elementy audytu 5 Kwestie techniczne 6 Słowa kluczowe 7 Optymalizacja kodu strony 8 Optymalizacja

Bardziej szczegółowo

Poniżej instrukcja użytkowania platformy

Poniżej instrukcja użytkowania platformy Adres dostępowy: http://online.inter-edukacja.wsns.pl/ Poniżej instrukcja użytkowania platformy WYŻSZA SZKOŁA NAUK SPOŁECZNYCH z siedzibą w Lublinie SZKOLENIA PRZEZ INTERNET Instrukcja użytkowania platformy

Bardziej szczegółowo

PERSON Kraków 2002.11.27

PERSON Kraków 2002.11.27 PERSON Kraków 2002.11.27 SPIS TREŚCI 1 INSTALACJA...2 2 PRACA Z PROGRAMEM...3 3. ZAKOŃCZENIE PRACY...4 1 1 Instalacja Aplikacja Person pracuje w połączeniu z czytnikiem personalizacyjnym Mifare firmy ASEC

Bardziej szczegółowo

I. Zakładanie nowego konta użytkownika.

I. Zakładanie nowego konta użytkownika. I. Zakładanie nowego konta użytkownika. 1. Należy wybrać przycisk załóż konto na stronie głównej. 2. Następnie wypełnić wszystkie pola formularza rejestracyjnego oraz zaznaczyć akceptację regulaminu w

Bardziej szczegółowo

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

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 09 Plan Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 09 T. Romańczukiewicz Jagiellonian University 2009/2010 Plan Plan 1 Serwlety Plan Serwlety Przypomnienie Serwlety - wstęp Wstęp Możliwości

Bardziej szczegółowo

Edycja geometrii w Solid Edge ST

Edycja geometrii w Solid Edge ST Edycja geometrii w Solid Edge ST Artykuł pt.: " Czym jest Technologia Synchroniczna a czym nie jest?" zwracał kilkukrotnie uwagę na fakt, że nie należy mylić pojęć modelowania bezpośredniego i edycji bezpośredniej.

Bardziej szczegółowo

Komunikat dla osób rozliczających umowy w sprawie nowego sposobu rozliczania umów w związku z likwidacją II fazy rozliczeń.

Komunikat dla osób rozliczających umowy w sprawie nowego sposobu rozliczania umów w związku z likwidacją II fazy rozliczeń. Cel wprowadzenia nowego modelu: Komunikat dla osób rozliczających umowy w sprawie nowego sposobu rozliczania umów w związku z likwidacją II fazy rozliczeń. 1. Unifikacja procesu rozliczeń w skali całego

Bardziej szczegółowo

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

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.pl Serwer aplikacji Serwer aplikacji to: Serwer wchodzący w skład sieci komputerowej, przeznaczony

Bardziej szczegółowo

Linux LAMP, czyli Apache, Php i MySQL

Linux LAMP, czyli Apache, Php i MySQL Linux LAMP, czyli Apache, Php i MySQL LAMP jest to po prostu serwer stron www, pracujący na Linux-ie z zainstalowanym apache, językiem php oraz bazą danych MySQL. System ten stosuje ogromna większość hostingów

Bardziej szczegółowo

Instrukcja procesu aktywacji oraz obsługi systemu Banku Internetowego dla BS Mikołajki

Instrukcja procesu aktywacji oraz obsługi systemu Banku Internetowego dla BS Mikołajki Instrukcja procesu aktywacji oraz obsługi systemu Banku Internetowego dla BS Mikołajki w oparciu o przeglądarkę Microsoft Internet Explorer System stworzony został w oparciu o aktualne narzędzia i programy

Bardziej szczegółowo

Warunki Oferty PrOmOcyjnej usługi z ulgą

Warunki Oferty PrOmOcyjnej usługi z ulgą Warunki Oferty PrOmOcyjnej usługi z ulgą 1. 1. Opis Oferty 1.1. Oferta Usługi z ulgą (dalej Oferta ), dostępna będzie w okresie od 16.12.2015 r. do odwołania, jednak nie dłużej niż do dnia 31.03.2016 r.

Bardziej szczegółowo

Java wybrane technologie spotkanie nr 3. Serwlety

Java wybrane technologie spotkanie nr 3. Serwlety Java wybrane technologie spotkanie nr 3 Serwlety 1 Klient-Serwer Odpowiedzialność serwera przyjmowanie żądań od klienta przygotowywanie odpowiedzi statyczna dynamiczna Rodzaje odpowiedzi statyczna dynamiczna

Bardziej szczegółowo

DE-WZP.261.11.2015.JJ.3 Warszawa, 2015-06-15

DE-WZP.261.11.2015.JJ.3 Warszawa, 2015-06-15 DE-WZP.261.11.2015.JJ.3 Warszawa, 2015-06-15 Wykonawcy ubiegający się o udzielenie zamówienia Dotyczy: postępowania prowadzonego w trybie przetargu nieograniczonego na Usługę druku książek, nr postępowania

Bardziej szczegółowo

elektroniczna Platforma Usług Administracji Publicznej

elektroniczna Platforma Usług Administracji Publicznej elektroniczna Platforma Usług Administracji Publicznej A Instrukcja użytkownika Instalacja usług wersja 1.1 Ministerstwo Spraw Wewnętrznych i Administracji ul. Batorego 5, 02-591 Warszawa www.epuap.gov.pl

Bardziej szczegółowo

emszmal 3: Automatyczne księgowanie przelewów w menedżerze sprzedaży BaseLinker (plugin dostępny w wersji ecommerce)

emszmal 3: Automatyczne księgowanie przelewów w menedżerze sprzedaży BaseLinker (plugin dostępny w wersji ecommerce) emszmal 3: Automatyczne księgowanie przelewów w menedżerze sprzedaży BaseLinker (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest internetowemu menedżerowi sprzedaży BaseLinker.

Bardziej szczegółowo

V. Wymagania dla wsparcia projektu oraz nadzoru eksploatacyjnego... 6

V. Wymagania dla wsparcia projektu oraz nadzoru eksploatacyjnego... 6 ZAŁĄCZNIK NR 5 Postępowania nr EU/12/ZI/ZZ/2011o udzielenie zamówienia w trybie przetargu nieograniczonego na: Opracowanie, wykonanie i wdrożenie SYSTEMU BOOKINGÓW DLA LINII ŻEGLUGOWYCH SPECYFIKACJA TECHNICZNA

Bardziej szczegółowo

INSTRUKCJA DLA UCZESTNIKÓW ZAWODÓW ZADANIA

INSTRUKCJA DLA UCZESTNIKÓW ZAWODÓW ZADANIA INSTRUKCJA DLA UCZESTNIKÓW ZAWODÓW 1. Zawody III stopnia trwają 150 min. 2. Arkusz egzaminacyjny składa się z 2 pytań otwartych o charakterze problemowym, 1 pytania opisowego i 1 mini testu składającego

Bardziej szczegółowo

Regu g l u a l min i n w s w pó p ł ó p ł r p acy O ow o iązuje od dnia 08.07.2011

Regu g l u a l min i n w s w pó p ł ó p ł r p acy O ow o iązuje od dnia 08.07.2011 Regulamin współpracy Obowiązuje od dnia 08.07.2011 1 1. Wstęp Regulamin określa warunki współpracy z firmą Hubert Joachimiak HubiSoft. W przypadku niejasności, prosimy o kontakt. Dane kontaktowe znajdują

Bardziej szczegółowo

Program Google AdSense w Smaker.pl

Program Google AdSense w Smaker.pl Smaker.pl Program Google AdSense w Smaker.pl Pytania i odpowiedzi dotyczące programu Google AdSense Spis treści Czym jest AdSense... 2 Zasady działania AdSense?... 2 Jak AdSense działa w Smakerze?... 3

Bardziej szczegółowo

INSTRUKCJA WebPTB 1.0

INSTRUKCJA WebPTB 1.0 INSTRUKCJA WebPTB 1.0 Program WebPTB wspomaga zarządzaniem budynkami w kontekście ich bezpieczeństwa fizycznego. Zawiera zestawienie budynków wraz z ich cechami fizycznymi, które mają wpływ na bezpieczeństwo

Bardziej szczegółowo

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu Rozdział 6 Pakowanie plecaka 6.1 Postawienie problemu Jak zauważyliśmy, szyfry oparte na rachunku macierzowym nie są przerażająco trudne do złamania. Zdecydowanie trudniejszy jest kryptosystem oparty na

Bardziej szczegółowo

Instrukcja obsługi platformy zakupowej e-osaa (klient podstawowy)

Instrukcja obsługi platformy zakupowej e-osaa (klient podstawowy) Instrukcja obsługi platformy zakupowej e-osaa (klient podstawowy) 1. Wejście na stronę http://www.officemedia.com.pl strona główną Office Media 2. Logowanie do zakupowej części serwisu. Login i hasło należy

Bardziej szczegółowo

Instrukcja Obsługi STRONA PODMIOTOWA BIP

Instrukcja Obsługi STRONA PODMIOTOWA BIP Instrukcja Obsługi STRONA PODMIOTOWA BIP Elementy strony podmiotowej BIP: Strona podmiotowa Biuletynu Informacji Publicznej podzielona jest na trzy części: Nagłówek strony głównej Stopka strony podmiotowej

Bardziej szczegółowo

Zainstalowana po raz pierwszy aplikacja wymaga aktualizacji bazy danych obsługiwanych sterowników.

Zainstalowana po raz pierwszy aplikacja wymaga aktualizacji bazy danych obsługiwanych sterowników. FRISKO-MOBILE Aplikacja FRISKO-MOBILE przeznaczona jest do zdalnej obsługi sterowników FRISKO podłączonych do sieci LAN o stałym adresie IP za pośrednictwem wbudowanych lub zewnętrznych modułów komunikacyjnych.

Bardziej szczegółowo

Przedmiot: Projektowanie dokumentów WWW. Laboratorium 3: Strona domowa cz. III Formularze. Opracował: Maciej Chyliński

Przedmiot: Projektowanie dokumentów WWW. Laboratorium 3: Strona domowa cz. III Formularze. Opracował: Maciej Chyliński Przedmiot: Projektowanie dokumentów WWW Laboratorium 3: Strona domowa cz. III Formularze Opracował: Maciej Chyliński Wstęp W naszym Ŝyciu wypełniamy dziesiątki, a nawet tysiące formularzy. Wynika to z

Bardziej szczegółowo

Pracownia internetowa w ka dej szkole (edycja 2004/2005)

Pracownia internetowa w ka dej szkole (edycja 2004/2005) Instrukcja numer SPD3/15_04/Z3 Pracownia internetowa w ka dej szkole (edycja 2004/2005) Opiekun pracowni internetowej cz. 3 Komunikatory internetowe - MS Messenger (PD3) Do czego s u y MSN Messenger? Wi

Bardziej szczegółowo

Oferta. Przedmiot: System odczytu, transmisji i archiwizacji danych z ciepłomierzy i wodomierzy.

Oferta. Przedmiot: System odczytu, transmisji i archiwizacji danych z ciepłomierzy i wodomierzy. Oferent: FlowService Adresat: Oferta Przedmiot: System odczytu, transmisji i archiwizacji danych z ciepłomierzy i wodomierzy. Warszawa, lipiec 2006 Wstęp Przedmiotem niniejszej oferty jest wdrożenie systemu

Bardziej szczegółowo

Postrzeganie reklamy zewnętrznej - badania

Postrzeganie reklamy zewnętrznej - badania Według opublikowanych na początku tej dekady badań Demoskopu, zdecydowana większość respondentów (74%) przyznaje, że w miejscowości, w której mieszkają znajdują się nośniki reklamy zewnętrznej (specjalne,

Bardziej szczegółowo

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Akademickie Centrum Informatyki PS. Wydział Informatyki PS Akademickie Centrum Informatyki PS Wydział Informatyki PS Wydział Informatyki Sieci komputerowe i Telekomunikacyjne ROUTING Krzysztof Bogusławski tel. 4 333 950 kbogu@man.szczecin.pl 1. Wstęp 2. Tablica

Bardziej szczegółowo

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski Instrukcja obsługi Norton Commander (NC) wersja 4.0 Autor: mgr inż. Tomasz Staniszewski ITM Zakład Technologii Maszyn, 15.10.2001 2 1.Uruchomienie programu Aby uruchomić program Norton Commander standardowo

Bardziej szczegółowo

Praca na wielu bazach danych część 2. (Wersja 8.1)

Praca na wielu bazach danych część 2. (Wersja 8.1) Praca na wielu bazach danych część 2 (Wersja 8.1) 1 Spis treści 1 Analizy baz danych... 3 1.1 Lista analityczna i okno szczegółów podstawowe informacje dla każdej bazy... 3 1.2 Raporty wykonywane jako

Bardziej szczegółowo

INSTRUKCJA Panel administracyjny

INSTRUKCJA Panel administracyjny INSTRUKCJA Panel administracyjny Konto trenera Spis treści Instrukcje...2 Opisy...3 Lista modułów głównych...3 Moduł szkoleniowy...4 Dodaj propozycję programu szkolenia...4 Modyfikuj arkusz wykładowcy...6

Bardziej szczegółowo

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

Serwlety. Co to jest serwlet? Przykładowy kod serwletu. Po co są serwlety? Serwlety Co to jest serwlet? kawałek kodu w Javie po stronie serwera HTTP rozszerza moŝliwośći serwera CGI, w Javie, wzbogacone o biblioteki ułatwiające Ŝycie programiście (np. utrzymywanie sesji, wpólne

Bardziej szczegółowo

U S T A W A. z dnia. o zmianie ustawy o ułatwieniu zatrudnienia absolwentom szkół. Art. 1.

U S T A W A. z dnia. o zmianie ustawy o ułatwieniu zatrudnienia absolwentom szkół. Art. 1. P r o j e k t z dnia U S T A W A o zmianie ustawy o ułatwieniu zatrudnienia absolwentom szkół. Art. 1. W ustawie z dnia 18 września 2001 r. o ułatwieniu zatrudnienia absolwentom szkół (Dz.U. Nr 122, poz.

Bardziej szczegółowo

Integracja systemów, integracja procesów

Integracja systemów, integracja procesów Nowe rozwiązania informatyczne w zmieniającej się rzeczywistości akademickiej Integracja systemów, integracja procesów... Janina Mincer-Daszkiewicz Uniwersytet Warszawski, MUCI jmd@mimuw.edu.pl Warszawa,

Bardziej szczegółowo

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

Wykład dla studentów Informatyki Stosowanej UJ 2012/2013 e-biznes Wykład dla studentów Informatyki Stosowanej UJ 2012/2013 Michał Cieśla pok. 440a, email: michal.ciesla@uj.edu.pl konsultacje: środy 10-12 http://users.uj.edu.pl/~ciesla/ 1 Literatura B. Burke,

Bardziej szczegółowo

MySource Matrix CMS - PROSTY INTERFEJS UŻYTKOWNIKA. INSTRUKCJA ver 1.2

MySource Matrix CMS - PROSTY INTERFEJS UŻYTKOWNIKA. INSTRUKCJA ver 1.2 MySource Matrix CMS - PROSTY INTERFEJS UŻYTKOWNIKA INSTRUKCJA ver 1.2 1 PRZEGLĄDARKA INTERNETOWA Do pracy na systemie MySource Matrix zalecane jest używanie przeglądarki internetowej Mozilla Firefox. Przeglądarkę

Bardziej szczegółowo

Stan prac w zakresie wdrożenia systemów operacyjnych: NCTS2, AIS/INTRASTAT, AES, AIS/ICS i AIS/IMPORT. Departament Ceł, Ministerstwo Finansów

Stan prac w zakresie wdrożenia systemów operacyjnych: NCTS2, AIS/INTRASTAT, AES, AIS/ICS i AIS/IMPORT. Departament Ceł, Ministerstwo Finansów Stan prac w zakresie wdrożenia systemów operacyjnych: NCTS2, AIS/INTRASTAT, AES, AIS/ICS i AIS/IMPORT Departament Ceł, Ministerstwo Finansów Usługa e-tranzyt System NCTS 2 Aktualny stan wdrożenia Ogólnopolskie

Bardziej szczegółowo

Instrukcja dotycząca generowania klucza dostępowego do Sidoma v8

Instrukcja dotycząca generowania klucza dostępowego do Sidoma v8 Szanowni Państwo! Instrukcja dotycząca generowania klucza dostępowego do Sidoma v8 Przekazujemy nową wersję systemu SidomaOnLine v8. W celu zalogowania się do systemu niezbędny jest nowy klucz dostępu,

Bardziej szczegółowo

POMOC PSYCHOLOGICZNO-PEDAGOGICZNA Z OPERONEM. Vademecum doradztwa edukacyjno-zawodowego. Akademia

POMOC PSYCHOLOGICZNO-PEDAGOGICZNA Z OPERONEM. Vademecum doradztwa edukacyjno-zawodowego. Akademia POMOC PSYCHOLOGICZNO-PEDAGOGICZNA Z OPERONEM PLANOWANIE DZIAŁAŃ Określanie drogi zawodowej to szereg różnych decyzji. Dobrze zaplanowana droga pozwala dojechać do określonego miejsca w sposób, który Ci

Bardziej szczegółowo

Moduł. Rama 2D suplement do wersji Konstruktora 4.6

Moduł. Rama 2D suplement do wersji Konstruktora 4.6 Moduł Rama 2D suplement do wersji Konstruktora 4.6 110-1 Spis treści 110. RAMA 2D - SUPLEMENT...3 110.1 OPIS ZMIAN...3 110.1.1 Nowy tryb wymiarowania...3 110.1.2 Moduł dynamicznego przeglądania wyników...5

Bardziej szczegółowo

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych Program szkoleniowy Efektywni50+ Moduł III 1 Wprowadzenie do zagadnienia wymiany dokumentów. Lekcja rozpoczynająca moduł poświęcony standardom wymiany danych. Wprowadzenie do zagadnień wymiany danych w

Bardziej szczegółowo

MINISTERSTWO PRACY I POLITYKI SPOŁECZNEJ

MINISTERSTWO PRACY I POLITYKI SPOŁECZNEJ MINISTERSTWO PRACY I POLITYKI SPOŁECZNEJ BIURO ADMINISTRACYJNE ul. Nowogrodzka 1/3/5, 00-513 Warszawa, tel. +48 22 661 14 10, fax +48 22 661 14 71 www.mpips.gov.pl; e-mail: elzbieta.ponder@mpips.gov.pl

Bardziej szczegółowo

Instalacja. Zawartość. Wyszukiwarka. Instalacja... 1. Konfiguracja... 2. Uruchomienie i praca z raportem... 4. Metody wyszukiwania...

Instalacja. Zawartość. Wyszukiwarka. Instalacja... 1. Konfiguracja... 2. Uruchomienie i praca z raportem... 4. Metody wyszukiwania... Zawartość Instalacja... 1 Konfiguracja... 2 Uruchomienie i praca z raportem... 4 Metody wyszukiwania... 6 Prezentacja wyników... 7 Wycenianie... 9 Wstęp Narzędzie ściśle współpracujące z raportem: Moduł

Bardziej szczegółowo

Rozliczenia z NFZ. Ogólne założenia. Spis treści

Rozliczenia z NFZ. Ogólne założenia. Spis treści Rozliczenia z NFZ Spis treści 1 Ogólne założenia 2 Generacja raportu statystycznego 3 Wczytywanie raportu zwrotnego 4 Szablony rachunków 4.1 Wczytanie szablonów 4.2 Wygenerowanie dokumentów rozliczenia

Bardziej szczegółowo

Ostatnia cena sprzeda y klienta 1.0 dodatek do Symfonia Faktura dla 1 firmy

Ostatnia cena sprzeda y klienta 1.0 dodatek do Symfonia Faktura dla 1 firmy Podr cznik u ytkownika Ostatnia cena sprzeda y klienta 1.0 dodatek do Symfonia Faktura dla 1 firmy Masz pytanie? zadzwo 693 936 046 lub napisz handel@symfoniadodatki.pl SPIS TRE CI 1. Instalacja dodatku

Bardziej szczegółowo

Regulamin konkursu Konkurs z Lokatą HAPPY II edycja

Regulamin konkursu Konkurs z Lokatą HAPPY II edycja Regulamin konkursu Konkurs z Lokatą HAPPY II edycja I. Postanowienia ogólne: 1. Konkurs pod nazwą Konkurs z Lokatą HAPPY II edycja (zwany dalej: Konkursem ), organizowany jest przez spółkę pod firmą: Grupa

Bardziej szczegółowo

INSTRUKCJA TESTOWANIA USŁUG NA PLATFORMIE ELA-ENT

INSTRUKCJA TESTOWANIA USŁUG NA PLATFORMIE ELA-ENT Załącznik nr 1 Siedlce-Warszawa, dn. 16.06.2009 r. Opracowanie: Marek Faderewski (marekf@ipipan.waw.pl) Dariusz Mikułowski (darek@ii3.ap.siedlce.pl) INSTRUKCJA TESTOWANIA USŁUG NA PLATFORMIE ELA-ENT Przed

Bardziej szczegółowo