Deel XVII: JSP-applicatiearchitectuur 1 Internetapplicaties Deel 17: JSP-applicatiearchitectuur Model 2 = MVC = Model View Controller.

Slides:



Advertisements
Verwante presentaties
Deltion College Engels C1 Gesprekken voeren [Edu/002]/ subvaardigheid lezen thema: Order, order…. can-do : kan een bijeenkomst voorzitten © Anne Beeker.
Advertisements

INFSO-RI Enabling Grids for E-sciencE VOMS update Oscar Koeroo JRA3.
Databases via internet
1 Co-Design at Chess-iT Guus Bosman. 2 Afstuderen bij Chess Net.Footworks tot augustus 2003 Afstuderen augustus 2003 tot maart 2004 Chess full-time vanaf.
Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 1 Internetapplicaties Deel 14: Eerste echte e-commerce applicatie: Implementatie (vervolg)
Internetapplicaties - II Gegevensinvoer 1 Internetapplicaties Deel 2: Gegevensinvoer: HTML-forms, JavaScript en JSP.
Effect I-Pod op radio luisteren. Effect I-Pod op radio I-POD’s en Podcasting hot topic MP3 spelers zijn populair en worden steeds vaker geintegreerd in.
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Webapplicaties: de serverkant
Tel de zwarte stippen!. Tel de zwarte stippen!
SQL injections en meer... PERU. web application vulnerabilities Cross Site Scripting (21.5%) SQL Injection (14%) PHP includes (9.5%) Buffer overflows.
1 Voorwaarden hergebruik Modulair ontwerp Low coupling High cohesion.
Webmaster Training: CSS CSS2 & XHTML By Frederik Van Outryve.
Mijn eerste Website bouwen
Grammar Chapter 3 – G3 One en Ones.
OO Analyse in de praktijk OO Analyse in de praktijk V Enkele Design Patterns.
Deel XXI 1 Internetapplicaties Internetprogrammeren Capita Selecta.
Deel X: JSP + Java + database 1 Internetapplicaties Deel 10: JSP + Java + database: Client Server via http.
Telecommunicatie en Informatieverwerking UNIVERSITEIT GENT Didactisch materiaal bij de cursus Academiejaar
Telecommunicatie en Informatieverwerking UNIVERSITEIT GENT Didactisch materiaal bij de cursus Academiejaar
PHP & MYSQL LES 02 PHP & FORMULIEREN. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Starten met PHP Dynamischer bouwen.
Beeldverwerking Prof. dr. ir. W. Philips Didactisch materiaal bij de cursus Academiejaar
MVC in de praktijk Jeroen Swart.NET architect, Quintor
Deltion College Engels B1 Gesprekken voeren [Edu/008] theme: ‘I have to arrest you, you’ve stolen my heart’ … can-do : kan een eenvoudig face-to-face gesprek.
Rogier van der Linde & Davy De Winne, 2014
Deltion College Engels B1 Gesprekken voeren [Edu/006] thema: Look, it says ‘No smoking’… can-do : kan minder routinematige zaken regelen © Anne Beeker.
Deltion College Engels B1 En Spreken/Presentaties [Edu/006] Thema: “The radio station“ can-do : kan een publiek toespreken, kan verzonnen gebeurtenissen.
Deltion College Engels C1 Schrijven [Edu/006] thema: Dear editor,
Deltion College Engels B2 Spreken [Edu/001] thema: What’s in the news? can-do : kan verslag doen van een gebeurtenis en daarbij meningen met argumenten.
Deltion College Engels B2 Gesprekken voeren [Edu/009] thema: ‘We’d better go to…’ can-do : kan in vertrouwde situaties actief meedoen aan discussies over.
Deltion College Engels B2 Schrijven [Edu/005] thema: Writing a hand-out can-do: kan een begrijpelijke samenvatting schrijven © Anne Beeker Alle rechten.
Telecommunicatie en Informatieverwerking UNIVERSITEIT GENT Didactisch materiaal bij de cursus Academiejaar
Telecommunicatie en Informatieverwerking UNIVERSITEIT GENT Didactisch materiaal bij de cursus Academiejaar
Deltion College Engels B2 Gesprekken voeren [Edu/007] thema: ‘With this mobile you can…’ can-do : kan op betrouwbare wijze gedetailleerde informatie doorgeven.
Didactisch materiaal bij de cursus Academiejaar Tel: 09/ Fax: 09/
Kantoorautomatisering Prof. dr. ir. W. Philips Didactisch materiaal bij de cursus Academiejaar
Beeldverwerking Prof. dr. ir. W. Philips Didactisch materiaal bij de cursus Academiejaar
Beeldverwerking Prof. dr. ir. W. Philips Didactisch materiaal bij de cursus Academiejaar
Beeldverwerking Prof. dr. ir. W. Philips Didactisch materiaal bij de cursus Academiejaar
Deltion College Engels B2 (telefoon)gesprekken voeren[Edu/002] /subvaardigheid lezen/schrijven thema: I am so sorry for you… can-do : kan medeleven betuigen.
Telecommunicatie en Informatieverwerking UNIVERSITEIT GENT Didactisch materiaal bij de cursus Academiejaar
Kom, ga met ons mee Come, go with us. ‘Wij vertrekken nu naar het land dat de Heer ons beloofd heeft. Ga met ons mee! Je zult het goed hebben bij ons.
Minor Project- en Programmamanagement
INFITT01 - Internettechnologie WEEK 3. Programma Sessies JSP.
GegevensAnalyse Les 2: Bouwstenen en bouwen. CUSTOMER: The Entity Class and Two Entity Instances.
Java & het Web Programma: Databases (jdbc, JNDI, ORM, JPA)
Java & het Web Programma: 3rd party libraries Standard actions (E)xpression (L)anguage.
Mavo 4.  Goal(s)  Letter Puzzle  Write a letter  Check the letters  Do assignments 4A, 5A, 6A & 7 in Student Book page 50  Evaluation.
1 KPN Mobiel – Introductie Repository Object Browser & Designer 10 Designer 10g & Repository Object Browser Maandag 28 februari 2005 Lucas Jellema (AMIS)
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? %>
Over de fabels en feiten van applicatiebouw en de invoering van het Spring Framework 16 december 2014 Ferdy du Chatenier / Gilbert van den.
Telecommunicatie en Informatieverwerking UNIVERSITEIT GENT Didactisch materiaal bij de cursus Academiejaar
Door Ben Cokelaere, student Howest Galaxy pipelines voor de analyse van omics data.
Hoeveel aandacht besteed jij aan security testing? 1 Security is always excessive until it's not enough.
The Research Process: the first steps to start your reseach project. Graduation Preparation
Windows applicatieontwikkeling
– Software development fundamentals
Key Process Indicator Sonja de Bruin
Menu affiliate Businesspartner
SDI from a technological perspective: Architecture
November 22, 2018 AS-4 explained Cor Zijlstra.
ASP.NET MVC Web Development
Tel de zwarte stippen!. Tel de zwarte stippen!
ASP.NET MVC Web Development
ASP.NET MVC Views.
Tel de zwarte stippen!. Tel de zwarte stippen!
– Software development fundamentals
Windows applicatieontwikkeling
Transcript van de presentatie:

Deel XVII: JSP-applicatiearchitectuur 1 Internetapplicaties Deel 17: JSP-applicatiearchitectuur Model 2 = MVC = Model View Controller

Deel XVII: JSP-applicatiearchitectuur2 Inhoud  Onderhoud van JSP-code  Voorbeeld zonder include  Voorbeeld met include:  Voorbeeld met include:  Model 1 architecture  Model 2 architecture: Model View Controller

Deel XVII: JSP-applicatiearchitectuur3 Voorbeeld zonder include Probeer de volgende pagina na te bootsen: (broncode te vinden op onze site)

Deel XVII: JSP-applicatiearchitectuur4 Voorbeeld zonder include

Deel XVII: JSP-applicatiearchitectuur5 Voorbeeld zonder include  tabelconstructie: <table> 1e rij 1e kol 1e rij 2e kol 1e rij 1e kol 1e rij 2e kol 2e rij 1e kol 2e rij 2e kol 2e rij 1e kol 2e rij 2e kol

Deel XVII: JSP-applicatiearchitectuur6 Voorbeeld zonder include  Breedte en hoogte van de tabel:  Verticale plaatsing van rij:  meerdere kolommen overspannen:  jpg/gif tonen:

Deel XVII: JSP-applicatiearchitectuur7 Problemen bij het ‘onderhoud’ Met onderhoud (maintenance) bedoelen we  Bug fixing  Kleine aanpassingen Bij ons zou dit kunnen zijn:  Vervanging van het logo  Vervanging van de copyright-vermelding Op zich vormen deze aanpassingen geen probleem. Alleen, als er meerdere jsp-pagina’s met dit logo en deze copyright-vermelding zijn, dan moeten we al die pagina’s aanpassen. We willen dit maar één keer moeten doen.

Deel XVII: JSP-applicatiearchitectuur8 De oplossing: include N.B.: Include-mechanismen zijn al langer bekend in programmeertalen. Het is een primitieve manier om code op te roepen. In c-code verving de preprocessor (dus alvorens te compileren) de #include directives met code in een andere c-broncode-file.  Syntax: De lijn hierboven wordt voor het omzetten van de jsp- pagina naar java-broncode (=naar servlet-broncode), in zijn geheel vervangen door de inhoud van copyright.jsp. Het is dus alsof de inhoud van copyright.jsp ge-copypaste wordt.

Deel XVII: JSP-applicatiearchitectuur9 Voorbeeld met include Laat ons dus in ons voorbeeld, de copyright-notice vervangen door een include directive. Het spreekt vanzelf dat u een copyright.jsp –pagina maakt met als inhoud het rode stuk in het ‘Voor:’-gedeelte. Voor: Copyright(c), 2004 SCVO-BIRM Copyright(c), 2004 SCVO-BIRM Na:

Deel XVII: JSP-applicatiearchitectuur10 Model 1 en Model 2 architecturen A Model 1 architecture consists of a Web browser directly accessing Web-tier JSP pages. The JSP pages access Web-tier JavaBeans that represent the application model, and the next view to display (JSP page, servlet, HTML page, and so on) is determined either by hyperlinks selected in the source document or by request parameters. A Model 1 application control is decentralized, because the current page being displayed determines the next page to display. In addition, each JSP page or servlet processes its own inputs (parameters from GET or POST). In some Model 1 architectures, choosing the next page to display occurs in scriptlet code, but this usage is considered poor form. (See the design guideline Section on page 89.) A Model 2 architecture introduces a controller servlet between the browser and the JSP pages or servlet content being delivered. The controller centralizes the logic for dispatching requests to the next view based on the request URL, input parameters, and application state. The controller also handles view selection, which decouples JSP pages and servlets from one another. Model 2 applications are easier to maintain and extend, because views do not refer to each other directly. The Model 2 controller servlet provides a single point of control for security and logging, and often encapsulates incoming data into a form usable by the back- end MVC model. For these reasons, the Model 2 architecture is recommended for most interactive applications.

Deel XVII: JSP-applicatiearchitectuur11 Model 1  De ene getoonde jsp-file beslist wat de volgende getoonde jsp-file is. Op die manier is de controle gedecentraliseerd. De verschillende jsp-bestanden moeten elkaar kennen.  Verschillende jsp-bestanden kunnen java-beans aanroepen die het applicatiemodel (business classes) uitmaken. Of we nu rechtstreeks vanuit de de jsp-besanden de database aanroepen of via beans, maakt niks uit: het blijft model 1.

Deel XVII: JSP-applicatiearchitectuur12 Model 1 x.html y.jsp z.jsp url aanroep a.java b.java

Deel XVII: JSP-applicatiearchitectuur13 Van model 1 naar model 2 We zullen een voorbeeldje uitwerken. We beginnen vanaf model één en zetten dan om naar model twee.

Deel XVII: JSP-applicatiearchitectuur14 Model 1 Login.html

Deel XVII: JSP-applicatiearchitectuur15 Valideer.jsp: 2 verschijningsvormen

Deel XVII: JSP-applicatiearchitectuur16 Model 1 nadelen  Elk jsp-bestand dat een ander oproept, moet die andere pagina kennen. N.B. In ons voobeeld was dat minder erg omdat alle controle al gecentraliseerd zat in 1 pagina: model1Valideer.jsp  Presentatie en controle zijn gemengd:  Dit bemoeilijkt de taakverdeling tussen grafische ontwerpers en programmeurs  Dit maakt de jsp-pagina’s moeilijk leesbaar

Deel XVII: JSP-applicatiearchitectuur17 Bean (.java) Model 2 x.html y.jsp Servlet (.java) of jsp-file (.jsp) VIEW CONTROLLER MODEL bean (.java) bean-instantiatie En aanroepen

Deel XVII: JSP-applicatiearchitectuur18 Naar Model 2 Een goede kandidaat om om te zetten naar ‘controller’ is de Valideer.jsp. We willen dat die pagina alleen nog testen uitvoert en en aan de hand hiervan andere pagina’s oproept (zoals eerder op pag 15)  FouteLogin.jsp bevat een foutboodschap  Menu.jsp bevat de 2 menu-opties

Deel XVII: JSP-applicatiearchitectuur19 Naar Model 2 Wij hebben nog niet gezien hoe, afhankelijk van script-code, een andere pagina kan opgeroepen worden zonder dat de gebruiker iets doet. Dat gaat zo: en