Java & het Web Programma: 3rd party libraries Standard actions (E)xpression (L)anguage.

Slides:



Advertisements
Verwante presentaties
KINN 2010 •OOP •O Object •O Georiënteerd •P Programmeren.
Advertisements

Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 1 Internetapplicaties Deel 14: Eerste echte e-commerce applicatie: Implementatie (vervolg)
Webapplicaties: de serverkant
HTML Les 1: Introductie HTML
Klassen en objecten.
Hoofdstuk 6: Controle structuren
1 SOCS Hoofdstuk 1 Programmeertaal C. 2 Kenmerken van C Hogere programmeertaal  Grote verzameling types, strenge type controle  Zelf nieuwe types definiëren.
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
Hoofdstuk 2 Hallo, C# !.
Inleidend probleem Data structuur (hiërarchie van classes)
Functies als Getallen Jan Martin Jansen.
Flow controle Keuzes maken. Het if-statement Soms moet code alleen in bepaalde situaties uit gevoerd worden Hiervoor heeft C de if-else constructie: if(voorwaarde1){
Introductie in: PHP. Groei in webapplicaties Groei in webapplicaties Het ontstaan van PHP Het ontstaan van PHP De client-serverarchitectuur De client-serverarchitectuur.
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
Hoofdstuk 16 en 19 PHP en MYSQL
Opgave 1a: void nvoid staat in de header van een methode die geen resultaatwaarde heeft nde aanroep van een void-methode is dan een opdracht i.p.v. een.
Deel XXI 1 Internetapplicaties Internetprogrammeren Capita Selecta.
Internetapplicaties - VI Herhaling 1 Internetapplicaties Deel 6: Herhaling.
Internetapplicaties - V Sessies 1 Internetapplicaties Deel 5: Sessies.
Windows Applicaties Bouwen met Visual Studio.NET Sijmen Koffeman Development Consultant Microsoft.
Keuzetraject Software Ontwikkeling. Moderne technologieën Doel : mee kunnen draaien in elk team Aangeleerde vaardigheden Zelfstandig problemen kunnen.
Keuzetraject Software Ontwikkeling. Marktvraag Mark Heeren (ceo CSC Benelux): –Nieuwe mensen aannemen wordt weer moeilijk, men stelt meer eisen over auto.
KINN 2010 OOP O Object O Georiënteerd P Programmeren.
JSF cursus deel 1 oefeningen
Animatie nAnimatie: “tekenfilm” programma toont automatisch veranderende beelden nGemakkelijk te programmeren met gebruik van de klasse Thread “draadje”
tircms02-p les 1 Operating Systems practicum
Scope. Scope van variaben/methoden Een variabele is te gebruiken binnen de { en } waarbinnen hij is aangemaakt. Hetzelfde geld voor een methode { int.
AWK A Pattern scanning and processing language made by Aho Weinberger Kernighan and explained by Albert Montijn.
Beslissingen. Inhoud: Booleaanse expressies: wat? Booleaanse expressies: wat? Relationele en logische operatoren Relationele en logische operatoren De.
Polymorphisme en Interfaces: inleiding
Prototyping Week 7 // Tweenlite & API. TweenMax Snel mooie en effectieve animatie.
Les 0 Structured Query Language SQL. Programma Les 0 – Introductieopdracht Les 1 Les 2 Les 3 Schriftelijke toets.
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 7 Polymorfie en overerving © 2014, Gertjan Laan, versie 2.
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 8: Gebruikersinterface © 2014, Gertjan Laan, versie 2.
 C++ heeft een inheritance mechanisme  Manier om functionaliteit te ‘erfen’ van een parrent class ◦ Polymorphisme ◦ Zoals we het ook in C# kennen.
DIV Architecture Seminarie Webdesign. CSS-bestand oproepen Voeg tussen en de volgende lijn code toe om een CSS-file te laten werken: Zorg ervoor dat je.
INFITT01 - Internettechnologie WEEK 3. Programma Sessies JSP.
Java & het Web Programma: Databases (jdbc, JNDI, ORM, JPA)
Java & het Web Programma: Beveiliging Filters. Security.....wat is dat(1)? Beveiliging draait om 4 belangrijke steunpilaren: 1.Authenticatie: is de persoon.
Java & het Web Programma: Contexts Listeners Scope/Attributes Thread safety.
Java & het Web Programma: Sessies JSP. Stateless vs. Stateful(1) HTTP is stateless WAT IS STATELESS?
Java & het Web Programma: JSP. JSP....herhaling Welke van de volgende expressions is geldig/ongeldig? %>
Java & het Web Programma: JSTL Uitgebreide demo. JSP....herhaling Standard actions en (E)xpression (L)anguage: -Standard actions hebben de syntax:
Variabelen. Wat zijn variabelen? In een programmeertaal zijn er “dingen” nodig die ervoor zorgen dat het programma informatie voor korte of langere tijd.
Codetuts Academy Les 6 Module 2a Php Fundamentals 1.
Les 3 - Operators Workshop Php Basic. ICT Academy Php Basic Content Operators Wiskundig Toewijzing Vergelijking.
Loops en errors Array's Random try catch for loop while loop do while loop.
GEGEVENSSTRUCTUREN IN.NET. Inleiding  Enumerated type  Structure  Collecties  Typed collections  Untyped collections.
Na de praktijk, de theorie.. Zoals een gehaktmolen 1.Je stopt er iets in. 2.Je hoeft niet te weten wat er binnenin gebeurt. 3.Het resultaat verschijnt.
GUI & classes Een Gui in een class steken en het object gebruiken.
Programmeren met Reeksen
Gameprogrammeren: Objecten en geheugen
Gameprogrammeren: Lists en interfaces
Gameprogrammeren: Keuzeopdrachten
Gameprogrammeren: Overerving
Gameprogrammeren: Expressies
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Modelleren en Programmeren voor KI Practicumopdracht 4: SAT Solver
Gameprogrammeren: Abstracte klassen
ASP.NET MVC Web Development
ASP.NET MVC Web Development
ASP.NET MVC Web Development
ASP.NET MVC Web Development
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
HTML5 introductie.
Transcript van de presentatie:

Java & het Web Programma: 3rd party libraries Standard actions (E)xpression (L)anguage

JSP....herhaling Wat doen de volgende commando's? Waar in de servlet komen scriptlets en declararions terecht? 4.Wat zijn tag libraries?

3rd party libraries...wat is dat(1)? Veel webapps hebben functionaliteit welke niet of moeilijk met de standaard Java sdk geschreven kan worden. Bijvoorbeeld: Database drivers FTP MVC frameworks (Spring, JSF, Struts) libs voor grafische bewerkingen (pie charts etc..)

3rd party libraries...wat is dat(2)? Op internet zijn veel libraries te vinden die in een webapp gebruikt kunnen worden. Het verkrijgen van de libraries kan op verschillende manieren: downloaden en 'ergens' in de webapp zetten Build tools gebruiken als Maven, Ant of Gradle de tweede optie is een 'must' als je met meerdere mensen aan een project werkt. Vraag: waar is 'ergens'?

3rd party libraries...wat is dat(3)? Twee 3rd party libraries die we gaan gebruiken zijn de jstl.jar en de standard.jar. Deze jars stellen ons in staat om EL te schrijven en onze JSP pagina's 'scriptless' te krijgen. Vraag: Waarom is het handig om scriptless pagina's te schrijven?

Standard actions...wat is dat(1)? Code met scriptlet: Person is: Code met standard action: Person is:

Standard actions...wat is dat(2)? jsp:useBean creeert een bean en zet deze in een scope of haalt er een uit een bepaalde scope als deze al bestaat. jsp:useBean: geeft de standard action aan id="person": definieert identifier, zoals request.setAttribute("person", p); class="foo.Person": declareert het class type van de bean scope="request": geeft scope voor de bean jsp:getProperty: geeft de standard action aan name="person":identificeert bean object (="id" uit jsp:useBean) propery="name":geeft de property uit de "Person" class die je wilt hebben

Standard actions...wat is dat(3)? jsp:useBean kan een body hebben welke wordt aangeroepen als de bean niet wordt gevonden en dus wordt gecreeerd //geen slash! jsp:setProperty: geeft de standard action aan name="person":identificeert bean object (="id" uit jsp:useBean) propery="name":geeft de property uit de "Person" class die je wilt hebben value="Piet": zet de waarde van de property

Standard actions...wat is dat(4)? vertaalt in java code in _jspService() methode: foo.Person person = null; //gebruik "id" synchronized(request) { person = (foo.Person)_jspx_page_context.getAttribute("person", PageContext.REQUEST_SCOPE); if (person == null) { person = new foo.Person(); _jspx_page_context.setAttribute("person", person, PageContext.REQUEST_SCOPE); }

Standard actions...wat is dat(5)? Een property van een property weergeven: Zonder standard actions: Met standard actions: Wat is de output?

Standard actions...wat is dat(6)? Aiii een probleem!! Wat nu?

Expression Language(1) Probleem is op te lossen met: ${person.dog.name} "person" hoeft niet eens gedeclareerd te worden! ${person.dog.name} is equivalent met:

Expression Language(2) ${eersteDing.tweedeDing} eersteDing is altijd: -attribuut in 1 van de 4 scopes (page, request, session, application) of -een EL implicit object pageScope, requestScope, sessionScope, applicationScope, param, paramValues, header,headerValues, cookie, initParam, pageContext implicit object niet te verwarren met JSP implicit objects!

Expression Language(3) ${eersteding.tweededing} Als eersteDing gevolgd wordt door een punt ". ", dan is: -eersteDing een java.util.Map waarvan tweedeDing de 'key' is OF -eersteDing is een bean waarvan tweedeDing een property is

Expression Language(4) De " [] " operator is als de ". " maar dan beter! Dit: ${person["name"]} is hetzelfde als ${person.name}

Expression Language(5) "." : eersteDing mag een Map of een Bean zijn. "[]" :eersteDing mag een Map, Bean, List of array zijn. ${eersteDing["tweedeDing"]} eersteDing=Map ->tweedeDing=key eersteDing=Bean ->tweedeDing=property van Bean eersteDing=List ->tweedeDing=index van List eersteDing=array ->tweedeDing=index van array

Expression Language(6) In een servlet: String[] muziek = {"Disco", "Hardrock","Country","Pop"} request.setAttribute("muziekLijst", muziek); In een JSP: Muziek is : ${muziekLijst}, output = ? Muziek is : ${muziekLijst[0]}, output = ? Muziek is : ${muziekLijst["3"]}, output = ?

Expression Language(7) EL Operators: Rekenen: +, -, *, /, div, %, mod Logisch: &&, and, ||, or, !, not Relationeel: ==, eq, !=, ne,, gt, =, ge EL is 'null' friendly, d.w.z dat in geval van een onmogelijke expressie niet snel een exception gegooid wordt, bijv er bestaat geen atribuut 'foo' ${foo}, $[foo[bar]} doet niets ${7 + foo} -> 7, ${7 /foo} -> infinity, ${7 % foo} -> exception ${foo == foo} -> true, ${7 == foo} -> false

Expression Language(8) In een servlet: java.util.Map muziekMap = {"Disco", "Hardrock","Country","Pop"} muziekMap.put("Ambient","Zero 7"); muziekMap.put("Surf","Tahiti 80"); muziekMap.put("DJ","Tiesto"); muziekMap.put("Indie","Frou Frou"); request.setAttribute("muziekMap", muziekMap); String[] muziekTypes = {"Ambient", "Surf","DJ","Indie"} request.setAttribute("muziektypes", muziekTypes); In JSP ${muziekMap[muziekTypes[0]]} -> output = ?

Expression Language(9) In een servlet: java.util.ArrayList nums =new ava.util.ArrayList(); nums.add("1"); nums.add("2");nums.add("3"); request.setAttribute("numbers", nums); String[] muziek = {"Zero 7", "Tahiti 80","Tiesto","Frou Frou"} request.setAttribute("muziek", muziek); In JSP ${muziek[numbers[0]]} -> output = ? ${muziek[numbers[0] + 1]} -> output = ? ${muziek[numbers["2"]]} -> output = ? ${muziek[numbers[numbers[1]]]} -> output = ?