Microsoft Word - M22

Documente similare
Microsoft Word - M17

Proiectarea Sistemelor Software Complexe

Fgggfbn x

Paradigme de Programare

Laborator 3

Microsoft Word - barcan.doc

Microsoft Word _LPAI_Lab_5_v01.htm

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ Universitatea Babeş-Bolyai Cluj-Napoca superior 1.2 Facultatea Matematică şi Info

PowerPoint Presentation

Ruby on Rails Pop Alexandru Pavel Razvan Calculatoare 4

Microsoft PowerPoint - Curs_TPI_22_v01.ppt

Microsoft Word _POO_Lab_1_Modificari_v01.htm

E 1.2 FIȘA DE EVALUARE GENERALĂ A PROIECTULUI MĂSURA 6.2 DEZVOLTAREA INFRASTRUCTURII DE SERVICII DESTINATE PRODUCĂTORILOR LOCALI Numărul de înregistra

Interfață Vizuală Om-Mașină Analiza și recunoașterea gesturilor

Curs 10

Microsoft Word - Anexa 3- F 8 2 Contr acordare-redim limita.doc

CL2009R0976RO bi_cp 1..1

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011

A TANTÁRGY ADATLAPJA

MINISTERUL ADMINISTRAŢIEI

Biomedical Wi-Fi data transmissons

Introducere în limbajul JavaScript

SWIFT: BTRLRO22 C.U.I. RO R.B. - P.J.R Nr. Înreg. Reg. Com.: J12 / 4155 / 1993 REGULAMENTUL OFICIAL AL CAMPANIEI DE PRE

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011

Ingineria Sistemelor de Programare

MMlSUMßi {>UÇAim DIRECŢIA RESURSE UMANE BIROU PERSONAL Q j UNIVERSITATEA TEHNICĂ D IN c ; U.- ANUNŢ UNIVERSITATEA TEHNICĂ DIN CLUJ-NAPOCA INTRARE nr O

Slide 1

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 4. Dezvoltarea site-urilor si blog-uri

Entrepreneurship and Technological Management

Presentazione standard di PowerPoint

Manual de utilizare Room Booking System

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ Universitatea Babeş-Bolyai din Cluj-Napoca superior 1.2 Facultatea Facultatea de

Documentaţie Tehnică Verificare TVA API Ultima actualizare: 1 ianuarie / 92 1

ADRIAN TRIF BAZE DE DATE APLICAŢII ACCESS UTPRESS Cluj-Napoca, 2019 ISBN

Creditul ipotecar de achizitie Documente justificative pentru veniturile incasate Venituri salariale sau asimilate acestora si venituri neimpozabile T

Paradigme de programare

PPSD

Inserarea culorilor in tabele

Metode API - integrare FGO v.2.5 Cuprins ISTORIC VERSIUNI... 2 INTRODUCERE... 2 APELARE... 4 NOMENCLATOARE... 4 FACTURA... 5 EMITERE... 5 PRINT... 6 S

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 6. Vizualizarea statisticilor prin int

Microsoft Word - lab4.doc

Web Social FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 2. Dezvoltarea blogurilor prin intermediul WordPress.com PREZE

Raport tehnic şi ştiinţific final privind implementarea proiectului PN-III-P2-2.1-PED Acronim: ForVer Răzvan Diaconescu Decembrie Rez

CURS

Modulul 1 M1-2.3 Protocoale şi servicii în reţea În acest capitol ne propunem să abordăm următoarele: Protocoalele şi aplicaţiile folosite în reţelele

WORK PROGRAM

MAGNA INTERNATIONAL INC

BankFlex Corporate Internet Banking

PHP (II)

În atenţia operatorilor economici interesaţi, SOLICITARE DE OFERTE Autoritatea Naţională pentru Administrare şi Reglementare în Comunicaţii (ANCOM), c

SPECIFICAȚII TEHNICE procedura achizitie FURNIZARE CENTRU DE PRELUCRARE CNC O P I S Secţiunea I. Informaţii generale Secţiunea II. Specificatii tehnic

9. Design patterns - Singleton, Factory, Observer Scopul acestui curs este familiarizarea cu folosirea unor pattern-uri des întâlnite în design-ul atâ

ROMÂNIA INSTITUTUL NAŢIONAL DE STATISTICĂ ANCHETA STRUCTURALĂ ÎN ÎNTREPRINDERI AS 2018 GHID METODOLOGIC - Bucureşti

AUFBAUANLEITUNG

PROGRAMARE ORIENTATA PE OBIECTE

Laborator Activities În sistemul Android activitățile reprezintă echivalentul ferestrelor din Windows, fiind clase care extind clasa Activity. Spre de

talaba.doc

Deloitte

COMISIA EUROPEANĂ DIRECȚIA GENERALĂ INFORMATICĂ Componenta de aplicare a politicii WiFi4EU Ghid de implementare v1.0 Cuprins 1. Introducere Br

ANUNT CONCURS Serviciul de Ambulanţă Judeţean Alba organizează concurs pentru ocuparea a 1 (unu) post vacant pe durata nedeterminată de sofer autosani

VoIP Voice Over IP

BLOC per sectiuni

Metode API - integrare FGO v.2.8 Cuprins ISTORIC VERSIUNI... 2 INTRODUCERE... 2 APELARE... 4 NOMENCLATOARE... 4 FACTURA... 4 EMITERE... 4 PRINT... 6 S

proiectarea bazelor de date

Platforma 5. 1 Introducere in MSSQL Introducere Pe parcursul ultimilor ani, se poate observa o cuplare a limbajelor de programare majore cu tipuri de

Elemente de Web design

Laborator - Configurarea Rutelor IPv4 Statice și Implicite Topologie Tabela de Adresare Echipame nt Interfață Adresă IP Masca de subreţea Default Gate

Modul Modbus ASCII SISTEME DE COMUNICATIE CURS 5 - Constantinescu Catalin Atunci cand se foloseste modul MODBUS ASCII fiecare octet din mesaj

PROGRAMARE OBIECT-ORIENTATA LABORATOR 1 INTRODUCERE IN CLASE SI OBIECTE Introducere teoretica Prin intermediul unei Clase ne dorim sa construim tipuri

PowerPoint Presentation

Packet Tracer - Configurarea ACL-urilor extinse - Scenariul 1 Topologie Tabela de Adresare R1 Echipament Interfață Adresă IP Masca de subreţea Default

Microsoft Word - Curs_07.doc

Aplicaţii Integrate pentru Întreprinderi Laborator Realizarea de aplicaţii web folosind Java Servlets Scopul laboratorului îl reprezintă

Microsoft PowerPoint - cap4.ppt

Tema laborator TS.NET 2019 Vom simula (partial, in scop didactic) activitatea unui service auto. Pentru aceasta vom considera urmatoarele tipuri: Clie

Laborator 5 - Paradigme de Programare

Program educaţional ŞCOALA ALTFEL Să ştii mai multe, să fii mai bun! aprilie 2019 "Dezvoltarea armonioasă a personalităţii elevilor prin activit

NOTIFICARE DE CONFIDENȚIALITATE PENTRU CANDIDAȚI Pentru noi contează încrederea pe care ne-o acordați. De aceea vă protejăm datele cu caracter persona

Termeni de utilizare specifici produselor

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test

Microsoft Word - lab-fr_3

PowerPoint Presentation

Introducere

Politica privind protectia datelor personale Tiriac Collection Compania Car Gallery SRLvă urează bun venit pe pagina sa web şi vă mulțumește pentru in

Laborator Depanarea Rutării Inter-VLAN Topologie 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public. Page 1 of 8

PERIOADA: S XVIII, XIX, XX MATEMATICĂ ŞI EXPLORAREA MEDIULUI - clasa a II-a manual Editura Didactică și Pedagogică Mihaela Ada Radu, Rodica Chiran, Ol

Microsoft Word - L17Ro_Intensitatea luminoasa_RF_f_RC

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 3. Achizitionarea domeniilor web si a

Capitole Speciale de Informatica - Curs 5: Extragerea informatiilor prin feedback de relevanta. Metode probabiliste de extragere a informatiilor

Logică și structuri discrete Relații. Funcții parțiale Marius Minea marius/curs/lsd/ 20 octombrie 2014

Ghid pre-inregistrare a Agentilor Economici si a Unitatilor in sistemul de trasabilitate pentru produsele din tutun. Se acceseaza platforma web:

Laborator 8: PROIECTAREA BAZELOR DE DATE SUBPROGRAME in PL/SQL (partea II - functii) Un subprogram este un bloc PL/SQL cu nume (spre deosebire de bloc

GHID PENTRU RESETAREA PAROLEI Informații Generale Din dorința de a facilita procesul de autentificare, chiar dacă nu mai cunoașteti datele necesare, a

Lucrarea nr. 2 Aplicaţii de tip client Mihai IVANOVICI 6 martie 2006 Scopul acestei lucrări este de a vă familiariza cu modulul Python socket şi cu mo

Lucrarea 11. IoT Internet of Things - Accesul prin Internet la obiecte sau dispozitive simple 1. Obiectivul lucrarii Lucrarea isi propune sa studieze

Metode API - integrare FGO v.3.0 Cuprins ISTORIC VERSIUNI... 2 INTRODUCERE... 2 APELARE... 4 NOMENCLATOARE... 4 FACTURA... 4 EMITERE... 4 PRINT... 6 S

R E G U L A M E N T U L privind utilizarea Sistemului Informațional Automatizat Acreditare (SIA Acreditare) în cadrul Centrului Național de Acreditare

Transcriere:

Platfrmă de e learning și curriculă e cntent pentru învățământul superir tehnic Instrumente pentru Dezvltarea Prgramelr 22. Instrumente avansate Web: Servlets & JSP.

Servlet Definitia Oracle pentru Servlet: A servlet is a Java prgramming language class that is used t extend the capabilities f servers that hst applicatins accessed by means f a request-respnse prgramming mdel. Pachetele cele mai utilizate in lucrul cu servleti sunt javax.servlet si javax.servlet.http. Tti servletii trebuie sa implementeze interfata Servlet, care defineste metde specifice ciclului de viata pentru un servlet. Ciclul de viata a unui servlet este cntrlat de cntainerul in care serverul a fst depliat. Cand cerere este mapata unui servlet, cntainerul face urmatrii pasi; daca instanta de servlet nu exista, cntainerul : incarca clasa servlet creeaza instanta de clasa servlet initialiaza servlet-ul apeland metda init. invca metda service, care primeste drept argumente biecte de tip requst si respnse. Clabrarea intre cmpnentele Web se face prin biecte care sunt mentinute ca atribute ale patru biecte de tip scpe. HTTP este un prtcl stateless. Sesiunea este reprezentata de un biect de tip HttpSessin.La sesiune se pt ascia atribute bject-valued prin nume. Astfel de atribute sunt accesibile din rice cmpnenta web care apartine aceluiasi cntext si care se cupa de un request care face parte din aceeasi sesiune. Mai multi servleti dintr- aplicatie pt flsi date (atribute) din patru biecte cmune, numite Scpe Objects : Web Cntext : accesibil tuturr cmpnentelr dintr-un cntext (aplicatie) Sessin: accesibil cmpnentelr dintr- sesiune client Request: accesibil cmpnentelr care trateazã cerere Page: accesibil paginii JSP care a creat biectul Serviciile ferite de un servlet sunt implementate in metda service a unui GenericServlet, in metdele dmethd (Get, Delete,Optins, Pst, Put r trace) pentru HttpServlet sau intr- metda specifica definita intr- clasa ce implementreaza interfata servlet. Aceste metde extrag infrmatii din biectul cerere, acceseazã resurse externe si cmpleteazã rãspunsul cu infrmatiile btinute din resurse externe (cum ar fi baze de date). Parametrii unei cereri apar în sirul de cereri (Query String), separat de calea la cmpnenta prin? Pattern-ul general pentru metda serviciu este de a extrage infrmatii de la biectul Request primit ca parametru, acces la resurse externe, api ppularea biectului Respnse cu infrmatii. Metda crecta de cmpletare a raspunsului este ca prima data sa se btina un utput stream pentru raspuns, se cmpleteaza headerele raspunsului,api in final se scrie crpul raspunsului la utput stream. Headerele raspunsului vr trebui setate ttdeauna inainte ca raspunsul sa fie cmis. Orice alta tentativa de a a seta sau adauga headere data ce raspunsul a fst cmis va fi ignrata de cntainerul Web. Un biect de tip Request cntine date pasate intre client si servlet, implementand interfata Servlet request. Astfel, se pt accessa parametri si atribute setate pe Request.

Obiectele de tip Respnse implementeaza interfata ServletRespnse. Pentru a trimite date, se flseste un PrintWriter btinut apeland metda getwrite a biectului Respnse. Pentru a pune si infrmatii binare, se flseste ServletOutputStream. Indicarea tipului de cntinut returnat de raspuns se face prin metda setcntenttype(string). Un biect de tip Filter pate mdifica atat headerul, cat si cntinutul unui Obiect de tip Request sau Respnse. De biecei, filtrele sunt atasate unui tip de resursa Web. API-ul specific pentru lucrul cu filtre se gaseste in pachetul javax.servlet, clasele Filter, FilterChain si FilterCnfig. O cmpnenta Web pate invca alta resursa in timp ce se executa, prin includerea cntinutului altei resurse sau prin frwardarea cererii catre alta resursa. Diferenta intre frward si sendredirect: Frward Cntrlul este transferat in intregime pe server Utilizatrul nu vede adresa paginii JSP destinatie SendRedirect Cntrlul este transferat trimitand clientului un status cd 302 si header de raspuns Lcatin. Utilizatrul vede adresa paginii JSP destinatie si pate memra astfel incat sa acceseze independent. Se btine un biect de tip RequestDispatcher. Pentru a include resursa se apeleaza metda include(request, respnse) a biectului RequestDispatcher. Pentru a transfera cntrlul catre alta cmpnenta Web se flseste metda frward specifica unui RequestDispatcher. Cand cntainerul de servleti determina ca un servlet ar trebui inlaturat, cntainerul apeleaza metda destry din interfata Servlet. Aplicatii WEB urmaresc in general implementarea design pattern-ului MVC. Astfel, servletii sunt cei care se cupa de partea de cntrl, business-lgic, iar paginile JSP se cupa de partea de vizualizare, view, din aplicatie. Integrarea unei aplicatii WEB in pattern ul MVC - Definirea de bean-uri pentru a reprezenta datele - Flsirea servlet-ilr in prelucrarea request-urilr - Ppularea bean-urilr - Stcarea bean-urilr in request,sessin sau servlet cntext - Frwardarea bean-urilr la JSP - Extragerea datelr de afisare din bean-uri in JSP Exemplu de servlet: imprt java.i.*; imprt javax.servlet.*; imprt javax.servlet.http.*; public class HellServlet extends HttpServlet { public vid dget(httpservletrequest request, HttpServletRespnse respnse) thrws

} ServletExceptin, IOExceptin { respnse.setcntenttype("text/html"); PrintWriter ut = respnse.getwriter(); ut.println ( <html> ); ut.println ( <bdy> ); ut.println ( <h1>hell Wrld! </h1> ); ut.println ( </bdy> ); ut.println ( </html> ); JavaServer Pages Technlgy JavaServer Pages ( JSP) faciliteaza creearea facila de cntinut web atat static cat si dinamic. Ideea paginilr JSP este de a extinde paginile HTML cu fragmente de cd Java incluse între taguri delimitate de <% si %>. Paginile JSP sunt transfrmate (cmpilate) autmat în servleti de cãtre un mtr JSP (JSP Engine). Ciclul de viata a unui JSP si multe din capabilitati sunt inspirate din tehnlgia flsita la servleti. Cntinutul static se scrie de bicei sub frma unui dcument HTML. Elemente imprtante din JSP flsite in generarea cntinutului dinamic: - directive - flsite pentru a translata si executa paginile JSP - elemente de scriptinf - limbajul EL (expressin langiage). - jsp:[set get] Prperty in crelare cu bean0uri - jsp:[include frward] - jsp:plugin pentru a activa un applet - custm tags Limbajul Unificat este un tl puternic flsit in JSp-uri pentru manipularea datelr din cmpnente de tip Bean. Un link util despre Unified expressin Language este http://dwnlad.racle.cm/javaee/5/tutrial/dc/bnahq.html. Obiectele specifice flsite in cadrul expresiilr din JSP sunt: - pagecntext: 1. servletcntext 2. sessin 3. request

4. respnse param -paramvalues -header -headervalues -ckie -initparam -pagescpe -requestscpe -sesssinscpe -applicatin Scpe Sintaxa pentru a flsi cmpnenta JavaBean: <jsp:usebean id= nume class= fully-qualified-classname scpe = scpe > Sintaxa pentru setarea unei prprietati pentru cmpnenta JavaBean; <jsp:setprperty name = JavaBeanNume prperty = numeprp value= valare > Sintaxa pentru a btine prprietate dintr-un bean: <jsp:getprperty name = JavaBeanNume prperty = numeprp > Sintaxa pentru declararea librariei de taguri: <% taglib prefix= tt [tagdir= /WEb-INF/tags/dir uri = URI] Flsire custm tags: <prefix:tags attrel = value.. attrn = value > Pentru a reuliza cntinutul JSP intr- pagina JSP se pate flsi directiva include sau elementul jsp:include. Directiva este flsita in mmentul translarii paginii JSP intr- clasa servlet, iar elementul este prcesat in mmentul in care pagina JSP este executata. Un JSP pate transfera cntrlul catre alta pagina flsind elementul jsp:frward. Apendarea unr parametri la pagina JSp se face flsind elementul jsp:param. Un tutrial interseant de jsp se gaseste aici http://www.jsptut.cm/. Exemple de servlets gasiti la http://elf.cs.pub.r/idp/_media/labratare/servletjsp.zip.