Internetteknologi 2 (ITNET2) Java teknologi på Internettet J2EE Servlets.

Slides:



Advertisements
Lignende præsentationer
Den danske befolknings syn på handicappedes rettigheder
Advertisements

Atomer Et programmeret forløb. En måde at lære på.
SharePoint /36 2 General SettingsPermissions and ManagementCommunications Titel, description and navigation Versioning settings Advanced settings.
Hjemmesidekonstruktion Tjekspørgsmål 1.Hvad er et markup-sprog – hvad bruges det til? 2.Hvad er forskellen mellem et markup-sprog og et scriptsprog? 3.Hvad.
Bolig selskabernes Landsforening– Almene lejeboliger - Maj/Juni Almene lejeboliger - Danmarkspanelet - Maj/Juni 2010.
J2EE Java Server Pages (JSP) Introduktion Internetteknologi 2 (ITNET2)
Sikkerhed/Otto Knudsen 1 Diagnostics  Debug af web-applikationer.
Perspektiverende Datalogi Internetalgoritmer MapReduce Gerth Stølting Brodal.
SEO PÅ AU.
Representations for Path Finding in Planar Environments.
Hvordan man skriver koden.
01 – Java platform for starters. 2 NOEA2009Java-kursus – Java Platform Introduktion til Java Baggrund Hvad er Java? Faciliteter i Java.
Intro Variabler - datatyper. 2. forelæsning Hvad skete sidste gang Hvad er PHP? Kursussammensætning: læse – newsgroup – forelæsning – øvelsestime – aflevering.
ASP.NET Cache, State DataGrid og Diagnostics. Agenda – ASP.NET Cache, State og Cookies ( 1 del ) –Cache –Static member –Application State –Session State.
Masterpages/Otto Knudsen 1 Master Pages Master Pages i ASP.NET 2.0.
Eksekvering/Otto Knudsen 1 Udrulning Publicering af en web-applikation.
Introduktion/Otto Knudsen 1 Overblik WebForms ASP.NET.
Introduktion til Access (Access, del 1)
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Titel: Arial, fed, skriftstr. 20, mørkegrå. Tekst: Arial, normal, fed eller kursiv, skriftstr. 10, 12 og 14 til print – 16 og 18 til projektor – mørkegrå.
XML1 4.7 XML and Its Data Model. XML2 Introduktion til XML, 178 XML = eXtensible Markup Language Markup language –sprog, hvor data "pakkes ind" i tags.
Opfølgning på obligatorisk opgave 1 ONK1. Ingeniørhøjskolen i Århus Slide 2 Overordnet Flere gode opgaver De samme fejl går igen.. Alle der har afleveret.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
Trivselsundersøgelse og ledelsesevaluering Anæstesiologisk Afdeling Flere ledere
1 Webdesign - De første trin Grundliggende begreber Internettet (1969-): En fællesbetegnelse for netværk eller tjenester der benytter samme.
ETU 2008 | Elevtilfredshedsundersøgelse Erhvervsskolen Nordsjælland HTX (Teknisk Gymnasium) - Hillerød Baseret på 313 besvarelser.
1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt.
Internetteknologi (ITNET2) Præsentation 6: Arkitektur i (Java) Web Applikationer.
Stig Irming-Pedersen ASP.NET MVC Partner Copenhagen Software.
XML Rasmus D. Lehrmann DM Indhold Hvad er XML? XML standarder Hvor bruges XML? XML struktur Træ struktur Element & Attribute Syntaks i XML Stylesheets.
Matematik B 1.
Claus Brabrand, ITU, Denmark Mar 10, 2009EFFECTIVE JAVA Effective Java Presentation Workshop Claus Brabrand [ ] ( “FÅP”: First-year Project.
AJAX/Otto Knudsen 1 AJAX Motivation Definition. AJAX/Otto Knudsen 2 Motivation En typisk web-applikation er synkron klienten sender en forespørgsel og.
MSBuild & Team Build i C#/C++ solutions VSTS ERFA d. 25 November.
1 Tråde 2 Plan Trådbegrebet Synkronisering Koordinering Eksempel: et flertrådet spil.
Grunde til at jeg elsker dig
Fundamentale datastrukturer
Intro Evaluering De sidste to gange?. HTTP, cookies og sessions Forelæsning nr 10 Tilbage til trafikken mellem server – client Sende HTTP-request og respons.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
Masterpages/Otto Knudsen 1 Navigation på webstedet Kontroller til navigation mellem siderne på webstedet.
10. Datastrukturer. 2 Nordjyllands Erhvervakademi Collections library Datastrukturer i.NET kaldes normalt Collections Findes i namespace System.Collections.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Procestræ under afvikling af cp init login shell cp cp src dest.
Internetteknologi (ITNET2) Præsentation 21: Common Gateway Interface (CGI) illustreret med Perl og C.
8 RÅD VEDRØRENDE GOD PROGRAMMERING Effective (brown) Java.
Internetteknologi (ITNET2) Kort teknisk ASP.NET introduktion Mandag den 19/ Jesper Tørresø.
Internetteknologi (ITNET2) Præsentation 20: ASP.NET Introduktion ”Med Active Server Pages (ASP)”
Fremstilling af Simple WEB steder [ITPL] Foråret 2004
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
Hvad består en distribueret applikation af ? Processer der kører på hver deres maskine Tråde - 1 eller flere "letvægtsprocesser" per proces Objekter i.
PD – kursusgang 3 Introduktion til Java Script. Mål Viden om hvordan JavaScripts indlejres i HTML dokumenter Viden om programmering i JavaScript  Erklæring.
Per P Madsen AAU1 Del 4 : Sessions-, presentations- og applikationslaget - Applikationsprotokoller. - RPC og RMI. - Digital audio og Voice over IP. - RTP.
ASP.NET – web site publish. ASP.NET – site-version.
Intro Evaluering De sidste to gange?. HTTP, cookies og sessions Forelæsning nr 10 Tilbage til trafikken mellem server – client Sende HTTP-request og respons.
9. Interfaces. 2 Nordjyllands Erhvervakademi Objectives “Good class design starts with good application design — how many classes, do they relate.
OPERATIONEL ANALYSE AF WEBADFÆRD OAW – LEKTIONSGANG 4.
Web Services. OO (C++/ C#/Java) COM DCOM Web Services.
Kjeld Svidt  Institut for Byggeri og Anlæg  Aalborg Universitet IT i Byggeriet Semester kursusgang Projektweb og html (fortsat) Kjeld Svidt.
IT i Byggeriet Semester kursusgang Projektweb og html (fortsat) Kjeld Svidt Kjeld Svidt  Institut for Bygningsteknik  Aalborg.
ANALYSE AF WEBADFÆRD - OAW OAW – LEKTIONSGANG 4. ANALYSE AF WEBADFÆRD - OAW SUMMARY, LECTURE 3 (Extended) Common Log File Format Host, Ident, Authuser,
1. 2 Overblik HyCon arkitektur –Platform –Komponenter og services –XSLT servlet Chain –Sensorer Den praktiske tilgang HyCon frameworket –Step by Step.
DAIMIIntroducerende objektorienteret programmering4A.1 Kontrakter og Design Kontraktbaseret design, JavaDoc dokumentation,
Mikkel deMib Svendsen Duplicate Content & Multiple Site Issue Mikkel deMib Svendsen
Web- og serverprogrammering
WebApi service part 2 Routning og Action Simpel test-client (javascript) Session og Application data.
Web- og serverprogrammering
WebApi service x.
Simpel test-client (javascript) Session og Application data
Præsentationens transcript:

Internetteknologi 2 (ITNET2) Java teknologi på Internettet J2EE Servlets

Ingeniørhøjskolen i Århus Slide 2 Indhold i denne præsentation Java teknologier på Internettet Styrker og svagheder ved Java Servlet teknologi –HttpServlet –HttpServletRequest –HttpServletResponse –Eksempler på brug af Servlets Deployment af Java Servlets på Tomcat AS

Ingeniørhøjskolen i Århus Slide 3 Java teknologier på Internettet Java Webteknologier –J2EE/JEE: Enterprise Java, til store og datatunge systemer –Servlets: server-side dynamisk og OO til indlejret HTML –JSP: server-side dynamisk og OO til indlejret kode –JSF: modstykke til ASP.NET 2 –Applets: client-side dynamisk til avanceret dynamik på klienten (alle de ting som DHTML ikke kan) –RMI, SOAP, CORBA og EJB er en del af JEE application servere –IKKE JavaScript – har INTET med Java at gøre

Ingeniørhøjskolen i Århus Slide 4 Servlet History

Ingeniørhøjskolen i Århus Slide 5 Server-side: Servlet eksempel import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println(" "); out.println(" Hello World! "); out.println(" "); out.println(" Hello World! "); out.println(" "); } Vi ser at HTML er indlejret. Hello World! Hello World! Resultatet

Ingeniørhøjskolen i Århus Slide 6 Styrker og svagheder ved Java Styrker: –God performance. Servlets har ikke samme invokerings overhead som CGI har, og er ikke et scriptsprog som ASP eller PHP (meget lig ASP.NET med dets CLR) –Platforms uafhængigt: kan kører på LINUX, UNIX, PC, MVS, og mange, mange andre platforme –God skalerbarhed: Servlets kan håndtere mere end et request ad gangen (indbygget tråd understøttelse) –Høj udviklingshastighed: ekstremt let at lære for Java programmører – (næsten) alle øvrige Java teknologier kan anvendes (JDBC, JPA, EJB, RMI, CORBA) –Omfattende API – som nævnt herover – alle Java API’er kan anvendes ved internetprogrammering –Smukt sprog: ægte objektorienteret = nemt at lave ”pæn” arkitektur, bruge polymorfi m.v. (næsten det vigtigste)

Ingeniørhøjskolen i Århus Slide 7 Styrker og svagheder ved Java Svagheder: –Det er IKKE Microsoft Internet Explorer havde tidligere 97% af markedet (2003) ASP.NET med C# og Visual Basic er en alvorlig konkurrent Stor base af ASP Visual Basic programmører klar til at konvertere –og KÆMPE FLOKKE af Visual Studio.NET folk SUN har ikke kræfter nok alene til at kæmpe mod MS strømmen – (det gør de selvfølgeligt heller ikke ; ) –VM’s er ikke altid lige optimale på alle platforme –PHP og ASP.NET servere er lettilgængelige – det er Java servere ikke –Men ellers er det svært at være negativ …

Ingeniørhøjskolen i Århus Slide 8 Java pakker og objekter Alting i Java består af klasser og objekter Servlets benyttes til Webapplikationer –kan bruges til andet end HTTP kommunikation. Dette vil vi ikke gennemgå nærmere i dette kursus Vil vil i stedet fokusere på den specialiserede pakke i Java Servlet pakken der handler om kommunkation via HTTP (altså WWW): –javax.servlet.http

Ingeniørhøjskolen i Århus Slide 9 Servlet Containers Servlet Containers (Servlet Engines) –F.eks. Apache Tomcat –Leverer et servlet runtime environment - en Servlet Container –Varetager alt i en servlets livsforløb –Sørger for at omdirigere HTTP requests til den rette servlet Denne styring foregår via Interface Servlet –I pakken javax.servlet –Denne SKAL implementeres af alle servlets –Servlet metoderne bliver automatisk kaldt af containeren (i vores tilfælde Tomcat)

Ingeniørhøjskolen i Århus Slide 10 Livscyklus for en servlet Servlet Container kontrollerer livscyklus –Starter med at kalde metoden “init” når den loades første gang Dvs. ved første HTTP request –Kalder metoden “service” ved hvert HTTP request Servlet behandler herefter HTTP request’et –Modtager request fra ServletRequest objektet Servlet sender svar til klient –Skriver til ServletResponse objektet “Service” kaldes kun een gang pr. request –Kalder metoden “destroy” når servlet afsluttets Til at frigive diverse brugte ressourcer (f.eks. DB forbindelser)

Ingeniørhøjskolen i Århus Slide 11 Servlet implementationer Servlet implementationer: –GenericServlet Package javax.servlet Bruges til ikke web baserede servlets (jeg tror aldrig jeg har set een – er der nogen der har et godt eksempel, så sig til) –HttpServlet Package javax.servlet.http Bruges til Web-baserede servlets

Ingeniørhøjskolen i Århus Slide 12 HttpServlet Class Class HttpServlet –Overskriver service metoden Differentierer mellem HTTP get and post requests –Definerer metoderne doGet and doPost til at behandle HTTP requests Indpakker HTTP request (der jo egentligt er en strøm af bytes = et tekst dokument) i HttpServletRequest og HttpServletResponse objekterne Der så stiller en række metoder til rådighed hvormed vi kan udtrække data, og manipulere med HTTP response dokumentet, der i sidste ende er det som brugeren præsenteres for –Der er fire andre metoder på HTTPServlet klassen der ikke gennemgås her

Ingeniørhøjskolen i Århus Slide 13 HttpServletRequest Interface Interface HttpServletRequest –Oprettes af servlet containeren og sendes til “ service” metoden Der af HttpServlet videresendes til doGet eller doPost –Indeholder klient request og request behandlings metoder –Udover doGet og doPost listes på næste side yderligere metoder, men de gennemgås først senere ved eksempel

Ingeniørhøjskolen i Århus Slide 14 HttpServletRequest Interface

Ingeniørhøjskolen i Århus Slide 15 HttpServletResponse Interface Interface HttpServletResponse –Oprettes af Servlet Containeren og sendes til service metoden Der af HttpServlet videresendes til doGet eller doPost –Leverer metoder til at producere et svar (response) der bliver til HTTP response dokumentet, der endeligt havner i f.eks. browseren til rendering –Yderligere metoder listes på næste side til senere opslag, men gennemgås først senere ved eksempel

Ingeniørhøjskolen i Århus Slide 16 Http ServletResponse Interface

Ingeniørhøjskolen i Århus Slide 17 FORM og server-side scripting 1 HTTP Request (over TCP/IP) GET /feedback (Java servlet) Bruger indtaster data i form feltet i browser og taster submit: 2 Webserveren modtager requestet: sender det videre til ServletContaineren, der opretter bl.a. HttpServletRequest og HttpServletResponse. Parametre hentes fra HttpServletRequest og der skrives til response 3 En typisk Header kunne se ud som følger: HTTP/ OK Server: Netscape-Communications/1.1 Date: Tuesday, 25-Nov-97 01:22:04 GMT Last-modified: Thursday, 20-Nov-97 10:44:53 GMT Content-length: 6372 Content-type: text/html... her følger resten af dokumentet Browseren modtager response: Renderer HTML dokumentet til brugervenlig form Webserver findes via IP adresse & DNS Lytter på port f.eks. 80

Ingeniørhøjskolen i Århus Slide 18 HTTP GET request med data Håndtering af HTTP Requests med Data –Http request følger formatet: Servlet_url ? query_string –Query string format: Parameter_name = value (kaldet name/value par) Name/value par separeres med ” &” tegnet –Eksempel: \feedback?navn=Stefan&stilling=lektor

Ingeniørhøjskolen i Århus Slide 19 WelcomeServl et2.java 1) Hent fornavnsparamet er 2) Skriv et XHTML response til repsonse Writer objektet 1 // Fig. 9.12: WelcomeServlet2.java 2 // Processing HTTP get requests containing data. 3 package com.deitel.advjhtp1.servlets; 4 5 import javax.servlet.*; 6 import javax.servlet.http.*; 7 import java.io.*; 8 9 public class WelcomeServlet2 extends HttpServlet { // process "get" request from client 12 protected void doGet( HttpServletRequest request, 13 HttpServletResponse response ) 14 throws ServletException, IOException 15 { 16 String firstName = request.getParameter( "firstname" ); response.setContentType( "text/html" ); 19 PrintWriter out = response.getWriter(); // send XHTML document to client // start XHTML document 24 out.println( " " ); out.println( "<!DOCTYPE html PUBLIC \"-//W3C//DTD " + 27 "XHTML 1.0 Strict//EN\" \" "/TR/xhtml1/DTD/xhtml1-strict.dtd\">" ); out.println( 31 " " ); // head section of document 34 out.println( " " ); Obtain the parameter from the request and assign the value to a string.

Ingeniørhøjskolen i Århus Slide 20 WelcomeServl et2.java 35 out.println( 36 " Processing get requests with data " ); 37 out.println( " " ); // body section of document 40 out.println( " " ); 41 out.println( " Hello " + firstName + ", " ); 42 out.println( "Welcome to Servlets! " ); 43 out.println( " " ); // end XHTML document 46 out.println( " " ); 47 out.close(); // close stream to complete the page 48 } 49 } Include the value in the response.

Ingeniørhøjskolen i Århus Slide 21 WelcomeServl et2.html Denne side indeholder et form element der tager “firstname” og sender et GET request til vores Servlet 1 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 3 " Processing get requests with data Type your first name and press the Submit button vi ser at firstname overføres i URL’en med værdien Paul

Ingeniørhøjskolen i Århus Slide 22 Redirect af HTTP Requests Redirection –Tillader en Servlet at redirecte et request via –Metoden sendRedirect på HttpServletResponse Smart til: –Kontrolklasser (Dispatcher Servlets) kontrol logik, der leder og fordeler (dispatcher) Pattern: Frontcontroller

Ingeniørhøjskolen i Århus Slide 23 RedirectServ let.java Define Servlet RedirectServ let Process get request 1 // Fig. 9.18: RedirectServlet.java 2 // Redirecting a user to a different Web page. 3 package com.deitel.advjhtp1.servlets; 4 5 import javax.servlet.*; 6 import javax.servlet.http.*; 7 import java.io.*; 8 9 public class RedirectServlet extends HttpServlet { // process "get" request from client 12 protected void doGet( HttpServletRequest request, 13 HttpServletResponse response ) 14 throws ServletException, IOException 15 { 16 String location = request.getParameter( "page" ); if ( location != null ) if ( location.equals( "deitel" ) ) 21 response.sendRedirect( " ); 22 else 23 if ( location.equals( "welcome1" ) ) 24 response.sendRedirect( "welcome1" ); // code that executes only if this servlet 27 // does not redirect the user to another page response.setContentType( "text/html" ); 30 PrintWriter out = response.getWriter(); // start XHTML document 33 out.println( " " ); Obtain the page parameter for redirection location. Redirect user to another page or servlet.

Ingeniørhøjskolen i Århus Slide 24 RedirectServ let.java Create error page out.println( "<!DOCTYPE html PUBLIC \"-//W3C//DTD " + 36 "XHTML 1.0 Strict//EN\" \" "/TR/xhtml1/DTD/xhtml1-strict.dtd\">" ); out.println( 40 " " ); // head section of document 43 out.println( " " ); 44 out.println( " Invalid page " ); 45 out.println( " " ); // body section of document 48 out.println( " " ); 49 out.println( " Invalid page requested " ); 50 out.println( " <a href = " + 51 "\"servlets/RedirectServlet.html\">" ); 52 out.println( "Click here to choose again " ); 53 out.println( " " ); // end XHTML document 56 out.println( " " ); 57 out.close(); // close stream to complete the page 58 } 59 }

Ingeniørhøjskolen i Århus Slide 25 RedirectServ let.html 1 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 3 " Redirecting a Request to Another Site Click a link to be redirected to the appropriate page Welcome servlet Send get request to RedirectServlet with the page parameter.

Ingeniørhøjskolen i Århus Slide 26 Program Output

Ingeniørhøjskolen i Århus Slide 27 Session Tracking –HTTP er en “stateless” protokol –Der er altså INGEN sammenhæng mellem to handlinger en bruger måtte udføre fra en browser Ønskes der f.eks. et beskyttet lukket lag … Så skal der bruges brugernavn og evt. password Men da der ikke er nogen state indbygget i HTTP Så er vi nødt til at skabe det eksplicit –Servlets har forskellige teknologier til dette der er styret af Servlet Containeren

Ingeniørhøjskolen i Århus Slide 28 Session Tracking Tracking teknologier –Cookies De fleste browsere understøtter Cookies, information der lagres på klientens harddisk og medsendes ved kommunikation –Session tracking Understøttes automatisk i JSP sider –URL rewriting Vi sender et unik ID med i URL parameterne (WAP applikationer) –Hidden form elements Kan bruges til at fastholde information mellem request’s

Ingeniørhøjskolen i Århus Slide 29 Cookies –Små tekst data filer –Kan bruges til at gemme information på tværs af HTTP kald f.eks. til identificere en tidligere bruger for server-side programmer, som f.eks. en Servlet –Sendes og hentes i HTTP headeren –Lever i en browser session eller en angivet maks. alder hvorefter den slettes –Problem med at en bruger kan slå “cookies” fra så er vi på spanden (alvorligt)

Ingeniørhøjskolen i Århus Slide 30 Session Tracking med HttpSession HttpSession interface –Bruges til at styre en session –En session svarer typisk til en brugers almindelige interaktion med en Web-applikation – dvs. en “normal” anvendelses situation –Derfor indbygget automatik –En session lever I serverens hukommelse –Der tildeles et unikt ID til en bruger –Der kan gemmes name/value par, kaldet attributes Værdier er Java objekter MEGET smart, da der kan laves objekter der er unikke for netop denne bruger, og netop den session han befinder sig i. –Udløber når: Browser session slutter (brugeren lukker sin browser) Session har timeout (i forhold til sidste HTTP request) Servlet invalidated (via kald til invalidate) – f.eks. “log ud” Servlet container nedlukkes (Tomcat)

Ingeniørhøjskolen i Århus Slide 31 SessionServl et.java Define Servlet SessionServl et 1 // Fig. 9.25: SessionServlet.java 2 // Using HttpSession to maintain client state information. 3 package com.deitel.advjhtp1.servlets; 4 5 import javax.servlet.*; 6 import javax.servlet.http.*; 7 import java.io.*; 8 import java.util.*; 9 10 public class SessionServlet extends HttpServlet { 11 private final Map books = new HashMap(); // initialize Map books 14 public void init() 15 { 16 books.put( "C", " " ); 17 books.put( "C++", " " ); 18 books.put( "Java", " " ); 19 books.put( "VB6", " " ); 20 } // receive language selection and create HttpSession object 23 // containing recommended book for the client 24 protected void doPost( HttpServletRequest request, 25 HttpServletResponse response ) 26 throws ServletException, IOException 27 { 28 String language = request.getParameter( "language" ); // Get the user's session object. 31 // Create a session (true) if one does not exist. 32 HttpSession session = request.getSession( true ); // add a value for user's choice to session Hent det eksisterende session objekt. Hvis den ikke findes, opret en ny.

Ingeniørhøjskolen i Århus Slide 32 Deployment af Web-applikationer Web-applikationer (defineret sidste gang) –Kan i Java verdenen bestå af JSPer og servlets –Der er en given mappe struktur, der i øvrigt er standardiseret i J2EE og er derfor “næsten” ens på tværs af forskellige Servlet Containers Der kan bruges Web Application Archive (WAR) Hvilket næsten alle udviklingsværktøjer kan generere Eller filerne kan lægges direkte i en mappe struktur Hvilket vi vil gøre af hensyn til forståelsen –Der kan konfigureres vha. konfigurations filerne Server.xml –Opretter Web Applikationer (context) Web.xml –Mapper servlet navn og placering –Definerere URL mønstre

Ingeniørhøjskolen i Århus Slide 33 server.xml 1 2 <Context path = "/advjhtp1" 3 docBase = "webapps/advjhtp1" 4 reloadable = "true"> 5 I filen “server.xml” styres overordnet hvilke Web applikationer der er deployeret på serveren. Hver “Web-applikation” får sin egen “context”, herunder en “rod” eller “doucment base” (docBase) Hvorfra alle stier er relative internt i applikationen.

Ingeniørhøjskolen i Århus Slide 34 Web.xml Hver Web Applikation har i sin “context” et konfigurationsscrip t som kun gælder for netop denne kontekst. Det er filen “Web.xml”. Her opsættes detaljer om alle servlets applikationen anvender 1 <!DOCTYPE web-app PUBLIC 2 "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" 3 " Advanced Java How to Program JSP 10 and Servlet Chapter Examples This is the Web application in which we 15 demonstrate our JSP and Servlet examples welcome A simple servlet that handles an HTTP get request com.deitel.advjhtp1.servlets.WelcomeServlet welcome1 Maps a servlet name to its fully qualified class name.

Ingeniørhøjskolen i Århus Slide 35 Web.xml fortsat Under ”mappings” knytter man en given servlet med en relativ sti, eller et mønster, der svarer til URL relativt til document base. Der kan opsættes mange andre parametre i dette katalog, som f.eks. Timeout for sessionen m.v. 34 /welcome Map servlet to URL pattern. The pattern is relative to the server address and application context root.