Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 1 Internetapplicaties Deel 14: Eerste echte e-commerce applicatie: Implementatie (vervolg)

Slides:



Advertisements
Verwante presentaties
Inleiding in de statistiek voor de gedragswetenschappen Met ondersteuning van SPSS Guido Valkeneers.
Advertisements

Een verkooptool of webshop zonder onderhoud ? Wij hebben hem voor U ! Onze webshop stellen wij beschikbaar voor U.
Update Computers 2 BNC 3 Werkgebieden 4 Mijn stage 5 My Update 6 Voortgang & eind product.
Databases via internet
Internetapplicaties - II Gegevensinvoer 1 Internetapplicaties Deel 2: Gegevensinvoer: HTML-forms, JavaScript en JSP.
PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Databank van een restaurant Download op Twee tabellen: Klanten: Alle klanten die minstens.
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Normaliseren Datamodellering 2006.
Internetapplicaties - VIII Relationele Databases 1 Internetapplicaties Deel 8: Relationele Databases.
LauwersCollege Buitenpost Informatica
Hoofdstuk 6: Controle structuren
Normalisatie Relationeel databaseontwerp:
Vorige week: Referentiele integriteit
PHP Een casus - PIZZA.
Workshop PHP Een productencatalogus Met database.
Java DataBase Connectivity
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
Deel 9: Relationele Databases: Oef. & 1e client- server app 1 Internetapplicaties Deel 9: Relationele Databases: Oefeningen en 1e client- serverapplicatie.
Deel XIII Eerste echte e-commerce applicatie (iteraties + impl ) 1 Internetapplicaties Deel 13: Eerste echte e-commerce applicatie: Enkele iteraties met.
OO Analyse in de praktijk OO Analyse in de praktijk V Enkele Design Patterns.
Deel XXI 1 Internetapplicaties Internetprogrammeren Capita Selecta.
Internetapplicaties - VI Herhaling 1 Internetapplicaties Deel 6: Herhaling.
Internetapplicaties - V Sessies 1 Internetapplicaties Deel 5: Sessies.
Deel XX Hosting 1 Internetapplicaties Deel XX Hosting.
Deel XII Eerste echte e-commerce applicatie (vervolg) 1 Internetapplicaties Deel 12: Eerste echte e-commerce applicatie: Ontwerp (vervolg)
Deel X: JSP + Java + database 1 Internetapplicaties Deel 10: JSP + Java + database: Client Server via http.
Deel XI Eerste echte e-commerce applicatie 1 Internetapplicaties Deel 11: Eerste echte e-commerce applicatie: Ontwerp.
Boomerang.
PHP & MYSQL LES 02 PHP & FORMULIEREN. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Order IT v1.03 (01/03/2005) Order IT V Order IT v1.03 (01/03/2005) Opstarten De client applet wordt opgestart vanuit een html pagina in een browser.
SQL ( SERVER ) Les #02: T-SQL. A GENDA Herhaling les 4 Views SELECT…INTO Beheren van tabellen: CREATE ALTER DROP Opdracht voor de volgende les.
LauwersCollege Buitenpost Informatica
Inleiding in de statistiek voor de gedragswetenschappen
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
Datamodellering en –verwerking 8C020 college 9. Terugblik college week 8 Terugkoppeling opdracht deel A Toepassingen van Petri-netten in biologie Oefeningen.
Practicum Medische Biochemie Invoer resultaten via het web Lab. Medische Biochemie & Klinische Analyse.
Hoofdstuk 11 Databasemanagementsystem. hoofdstuk 112 STROKENDIAGRAMMEN llnrvoornaamtussenvachternaamstraathuisnummerpostcodeplaatstelefoongeslachtgebdatumklas.
?.
Analyse 3 INFANL01-3 week 3 CMI Informatica.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
BIMAIV03 Les A1 BIMAIV03 Les A1 Databases. De gegevens in een database vormen de grondstof voor informatie De informatie wordt opgevraagd in de taal met.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
Week 3 BIMAIV03 Les B3 BIMAIV03 Les B3. Opdracht 1 Van een artikel mogen maximaal 300 stuks verkocht worden. Verschillende klanten bestellen een aantal.
Week 6 BIMAIV03 les B1. DML en DDL ata D anipulation M anguage L ata D efinition D anguage L.
INFITT01 - Internettechnologie WEEK 3. Programma Sessies JSP.
Java & het Web Programma: Databases (jdbc, JNDI, ORM, JPA)
Week 1 BIMAIV03 Les B2 BIMAIV03 Les B2. Uit het voorgaande... CREATE TABLE... Opdracht om een nieuwe tabel binnen de database te creëren. Aandachtspunten.
Java & het Web Programma: 3rd party libraries Standard actions (E)xpression (L)anguage.
ANALYSE 3 INFANL01-3 WEEK 6 CMI Informatica. ANALYSE 3- INFANL01-3 ▸ Vorige les ▸ Subqueries met correlaties ▸ Subqueries zonder correlaties ▸ Views ▸
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?
Wat is SQL (1)? SQL (Structured Query Language):  is een zeer krachtige taal met een beperkt vocabulaire (aantal ‘woorden’)  is declaratief (‘WAT’ niet.
GEGEVENSSTRUCTUREN IN.NET. Inleiding  Enumerated type  Structure  Collecties  Typed collections  Untyped collections.
SQL Performance Analyzer Inschatten performance impact van wijzigingen Bram van der Vos
GUI & classes Een Gui in een class steken en het object gebruiken.
DBS22 - Recap PL/SQL Wilrik R1_4.44
TICKETMANAGEMENTPLAT FORM NEWCO BVBA GENERAAL DE WITTELAAN MECHELEN
SQL Cursus deel
LauwersCollege Buitenpost Informatica
Informatie-analyse 1: Er zijn veel manieren om een database te vullen
Software Development fundamentals
SQL Les February 2019.
ASP.NET MVC Web Development
SQL Les 7 24 February 2019.
SQL Les 6 14 April 2019.
SQL Les 9 12 May 2019.
– Software development fundamentals
Software Development fundamentals
Transcript van de presentatie:

Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 1 Internetapplicaties Deel 14: Eerste echte e-commerce applicatie: Implementatie (vervolg)

Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 2 Boeken, tutorials, links, nieuwe elementen  Google: date and time methods java: java.sun.com/docs/books/tutorial/ essential/system/misc.html java.sun.com/docs/books/tutorial/ essential/system/misc.html long nu = System.currentTimeMillis(); //tijd in milli’s long nu = System.currentTimeMillis(); //tijd in milli’s  HTML-form paswoord-input-type:

Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 3 Probleem: Reload  Reload-probleem  Zonder maatregelen, zorgt een reload ervoor dat de parameters opnieuw worden verzonden en je de laatste actie herhaalt ! POGING 1:  Vervang de URL-rewriting door forms met hidden input-velden en method=“post”  Parameters zijn niet meer zichtbaar, maar ze zijn er wel  Je krijgt als gebruiker een keuze ‘parameters opnieuw versturen Yes/No’. Als je ja kiest: probleem niet opgelost. POGING 2:  Geeft de tijd van ‘html-generatie’ mee  Steek deze tijden in een collectie bvb een HashMap.  Geef de tijd mee als parameter naar winke.jsp:  Als tijd uniek is, voer dan de actie uit, anders niet.

Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 4 Users/klanten  We hernemen het plan ivm users:  userid bestaat  combinatie userid & paswoord bestaat  bestelling wordt toegevoegd aan de database  combinatie userid & paswoord bestaat niet  foutpagina  userid bestaat niet  Klantgegevens worden opgevraagd  klant wordt toegevoegd  bestelling wordt toegevoegd aan de database

Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 5 Users/klanten We zullen naar analogie met de voorgaande tabellen, de userid vanaf nu klant_id noemen. Voorlopig zijn maar enkele velden NOT NULL. mysql> create table klant(klant_id CHAR(50) not null primary key, -> paswoord CHAR(50) NOT NULL, naam CHAR(50), voornaam CHAR(50), -> paswoord CHAR(50) NOT NULL, naam CHAR(50), voornaam CHAR(50), -> CHAR(70) NOT NUll, -> CHAR(70) NOT NUll, -> adres CHAR(50), postcode CHAR(7), gemeente CHAR(50)); -> adres CHAR(50), postcode CHAR(7), gemeente CHAR(50)); In de bestelling-tabel was onze klant_id een integer. Die moet dus nu een CHAR(50) worden en hij moet altijd ingevuld zijn. (Je mag ook de klant-tabel droppen en opnieuw aanmaken). Verder kunnen we beter bestelling en besteldproduct leegmaken. mysql> delete from bestelling; mysql> delete from besteldproduct; mysql> alter table bestelling modify klant_id CHAR(50) NOT NULL;

Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 6 Nieuwe addBestelling-methode  MET klant_id: public void addBestelling(Winkelkar winkelkar, String sessionId, String klant_id) String sessionId, String klant_id) throws SQLException, Exception { throws SQLException, Exception { if (con != null) { if (con != null) { try{ try{ PreparedStatement updateBestelling; PreparedStatement updateBestelling; updateBestelling = con.prepareStatement( updateBestelling = con.prepareStatement( "INSERT INTO bestelling VALUES(?,?,NULL)"); "INSERT INTO bestelling VALUES(?,?,NULL)"); updateBestelling.setString(1,sessionId); updateBestelling.setString(1,sessionId); updateBestelling.setString(2,klant_id); updateBestelling.setString(2,klant_id); updateBestelling.execute(); updateBestelling.execute();…

Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 7 bestelling.jsp  bestelling.jsp wordt hernoemd tot bestelling2.jsp  bestelling2.jsp zal klant_id en paswoord opvragen en doorsturen naar bestelling.jsp In een eerste fase wordt NIETS gedaan met deze klant_id en paswoord

Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 8 Bestelling.jsp klant_id en paswoord opvragen We geven userid en paswoord gewoon door. In principe NIET secure. Security wordt later behandeld. We geven userid en paswoord gewoon door. In principe NIET secure. Security wordt later behandeld. user id: <input type = "text" name = "klant_id“ user id: <input type = "text" name = "klant_id“ maxlength = "50" > maxlength = "50" > paswoord: <input type = "password" name = "paswoord“ paswoord: <input type = "password" name = "paswoord“ maxlength = "50" > maxlength = "50" > </form>

Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 9 Opmerkingen  Geen transacties  Klant- en bestellingtoevoeging moeten soms in één transactie gebeuren. Anders soms klant zonder bestelling (omgekeerd is nog erger).  Geen security (paswoord gecodeerd doorgeven ?)  Geen automatische updates van andere velden van klant: bvb wijzigen als die ingevuld is !