Exempel. Föreläsning 6. Innehåll. Fördefinierade variabler. PageContext. Java Server Pages (JSP) DD2390 Internetprogrammering 6 hp
|
|
- Karolina Lindström
- för 7 år sedan
- Visningar:
Transkript
1 Exempel Föreläsning 6 <head><title>hälsning</title></head> <h2>välkomstprogram</h2> <form action="slask.jsp"> <p>vad heter du? <input type=text name="namn"> <p><input type=submit value="skicka"> </form> </html> <head><title>hälsning</title></head> <body> <center> <h2>hej =request.getparameter("namn")!!!</h2> </center> </body> </html> DD2390 Internetprogrammering 6 hp Innehåll Java Server Pages (JSP 2.3) Java DataBase Connectivity (JDBC 4.0) Java Naming and Directory Interface (JNDI 1.2) Model-View-Controller (MVC) Fördefinierade variabler request (HTTPServletRequest) response (HTTPServletResponse) out (PrintWriter) session (HTTPSession) application (ServletContext) pagecontext (PageContext) Java Server Pages (JSP) Består av tre delar Inbäddad jsp-kod JavaBönor Tag-bibliotek (JSTL) En jsp-sida är en html-sida med inbäddad javakod som har.jsp suffix. Den inbäddade koden separeras från html med speciella taggar jsp-kod Man har tillgång till hela javas klassbibliotek Vid körning översätts hela jsp-sidan till en servlet och kompileras, detta sker första gången sidan anropas, därefter anropas servlet:en. Nackdel: Många olika JSP-motorer innebär icke standardiserade felmeddelanden (inget radnummer vanligt) PageContext pagecontext.getout(); pagecontext.getrequest(); pagecontext.getresponse(); getservletcontext() (=application scope) getsession() (=session scope) från JspContext findattribute(); getattribute(); removeattribute(); setattribute();
2 JSP-syntax Direktiv Deklarationer Scriptlets Fördefinierade variabler JSP syntax -Scriptlets Scriptlets används till att exekvera javakodblock Exempel på syntax java kod Vilken syntaxriktig javakod som helst! JSP-syntax - Direktiv Placeras i början av include file= filnamn" Inkluderar den angivna sidan utan att den page errorpage= html/jsp filnamn" Returnerar den definierade sidan om ett fel inträffar i JSP-koden page errorpage= page import= package name(s) Definierar paketen som ska importeras för koden page import= java.io.*,java.util.* Skillnaden mellan! och Sidglobala varibler kan och bör deklareras inom!... taggar dvs:! String s1 = hej ; <HR> = s1 Då JSP-sidor kompileras om till servlets blir kod inom deklarationer till instansvariabler/instansmetoder Scriptlets till lokal kod i doget, dopost etc. JSP syntax - Deklarationer Exempel Deklarationer är till för att definiera instansvariabler och instansmetoder, hela jspsidan kan betraktas som ett objekt. Placeras innanför! taggar <head><title>exempel 1</title></head> <body><center>! public int utfall; public void kasta(){ utfall = 1 + (int)(math.random()*6); <h2>tärningskast</h2> kasta(); Tärningens utfall: =utfall <form><input type=submit value="kasta"></form> </center></body></html> <head><title>exempel 2</title></head> <body><center>! class Dice { public int utfall; public void kasta(){ utfall = 1 + (int)(math.random()*6); <h2>tärningskast</h2> Dice d = new Dice(); d.kasta(); Tärningens utfall: =d.utfall <form><input type=submit value="kasta"></form> </center></body></html>
3 Javabönor Hitills har vi adderat jsp-kod till html-sidorna vilket har några nackdelar: det blir snabbt oöverskådligt och svårt att felsöka webbdesignern måste kunna Java Man önskar separera presentation (html) från logik (t e x jsp) vilket kan åstadkommas med javabönor. En javaböna är identiskt med en vanlig javaklass men följer JavaBean designmönster: public konstruktor utan argument publika set och get metoder för att sätta/läsa egenskaper Exempel: page import="java.util.arraylist" <jsp:usebean class="bean.forum" id="forum" scope="application"/> <jsp:usebean class="bean.user" id="user" scope="session"/> <jsp:usebean class="bean.post" id="post" scope="request"/> <jsp:setproperty name="forum" property="*"/> <jsp:setproperty name="user" property="*"/> <jsp:setproperty name="post" property="*"/> if(session.isnew()){ <h1>ny session!</h1> <form> Nickname<input type="text" name="nickname"><br> <input type="text" name=" "> if(request.getparameter(" ")!=null){ <h1>ny användare</h1> <form> Text: <input type="text" name="text"> Fördefinierade JavaBean taggar jsp:usebean tag används för att referera till en javabean på en JSPsida, syntax: <jsp:usebean id = valbart namn att referera till bönan scope = page request session application class = namnet på.classfilen /> scope (räckvidd): page/request: bönan är sidglobal session: Om bönan är skapad återanvänds den, om inte skapas den och sparas i HTTP-sessionsobjektet application: webbserverns livscykel För att sätta en egenskap används setproperty <jsp:setproperty name= tidigare valt namn att referera till bönan" property= instansvariabel *"> För att läsa en egenskap används getpropery <jsp:getproperty name="tidigare valt namn att referera till bönan" property= instansvariabel(oftast)"> Exempel: JSP/JavaBean if(request.getparameter("text")!=null){ <h1>nytt inlägg</h1> post.setnickname(user.getnickname()); forum.addpost(post); ArrayList posts = forum.getposts(); for(int i = 0; i < posts.size(); i++){ post = (bean.post)posts.get(i); <b>=post.gettext()</b><br> <i>=post.getnickname()</i><br> <form> Text: <input type="text" name="text"> <head><title>exempel 3</title></head> <body> <center> <jsp:usebean class="bean.dicebean" id="db" scope="session"/> db.kasta(); <h2>tärningskast</h2> Tärningens utfall:<p> <img src="<jsp:getproperty name="db" property="utfall"/>.gif"> <form><input type=submit value="kasta"></form> </center> </body> </html> Exempel package bean; public class DiceBean{ private int utfall; public DiceBean(){ public void kasta(){ utfall = 1 + (int)(math.random()*6); public int getutfall(){ return utfall; JDBC Ett API för att kommunicera med databaser från javaapplikationer JDBC API:t är en del av JDK som arbetar mot den databasdrivrutin som finns konfigurerad sedan tidigare Typer av drivrutiner SimpleDataSource ConnectionPoolDataSource XADataSource Använd inte DriverManager.getConnection() utan slå upp datakällan via JNDI. Relevanta paket: java.sql javax.sql
4 javax.sql.datasource En abstraktion av DB-drivrutinen, liknande DriverManager men erhåller en referens till DBdrivrutinen via JNDI, p s s slipper man DBspecifik kod. Datasource är ett Interface och implementeras av Driverförsäljaren, finns tre kategorier av dessa Man får normalt tag på ett Datasource objekt genom en JNDI-uppslagning. Är en abstraktion av drivrutinen som placeras under tomcat/lib och konfigureras i tomcat/conf/context.xml JDBC - klasserna Dessa tre klasser är viktigast att känna till i JDBC: Connection Statement (PreparedStatement) ResultSet Typer javax.sql.datasource Vanlig simpel Identisk med DriverManager javax.sql.connectionpooldatasource Stödjer Connection pooling javax.sql.xadatasource Distribuerad och stödjer Connection pooling DatabasURL:er URL:en bidrar med nödvändig information Signalerar att det är en DB-URL Identifierar databasens sub-protokoll Lokaliserar databasen Generell syntax jdbc : <driverns sub-protokoll> : <db sökvägen> JDBC Arkitekturen Java applikation Skapad av Java utvecklaren Alla anrop till databasen enligt JDBC API:t JDBC API Tillhandahållen av JavaSoft Fungerar som länk mellan applikationen och drivrutinen JDBC drivrutinen Tillhandahållen av DB företaget eller tredje part Konverterar JDBC kod till DB specifika databaskommandon Exempel på DatabasURL:er ODBC Datakälla jdbc:odbc:test PostgreSQL Databas jdbc:postgresql://pgsql0.nada.kth.se:5432/stene mysql datakälla (egen db) jdbc:mysql://localhost:3306/test mysql datakälla (nada) jdbc:mysql://mysql-vt2015.csc.kth.se:3306/stene Titta i tomcat/conf/context.xml
5 Java Naming and Directory Interface(JNDI) För att distribuerade applikationers komponenter skall kunna hitta varandra behövs någon tjänst som hjälper till med detta, en s k namngivningstjänst (Naming Service) JNDI mappar namn mot objekt (jämför med DNS). JNDI är ett interface som är beroende av en underliggande implementation t.ex. LDAP för att fungera JNDI använder ett fåtal objekt, främst Context & InitialContext Ett Context objekt har metoder för att binda namn till objekt, lista existerande namn, ta bort och döpa om package bean; import java.util.arraylist; import java.sql.*; import javax.naming.*; import javax.sql.*; public class ForumDB{ private Connection conn; Exempel: JDBC public ForumDB(){ Context initctx = new InitialContext(); Context envctx = (Context) initctx.lookup("java:comp/env"); DataSource ds = (DataSource)envCtx.lookup("jdbc/db"); Connection conn = ds.getconnection(); catch(namingexception e){ javax.naming.initalcontext root-context som kan innehålla objekt och andra Context Startpunkten för en JNDI-uppslagning Exempel: JDBC public void close(){ conn.close(); javax.naming.context Viktigaste metoder: void bind(string stringname, Object object) void unbind(string name) void rebind(string name, Object obj) void rename(string oldname, String newname) Object lookup(string stringname) NamingEnumeration list(string name) NamingEnumeration listbindings(string name) public void addpost(post p){ Statement stmt = null; ResultSet rs = null; String query = null; int id = 0; stmt = conn.createstatement(); rs = null; query = "select max(id)+1 as id from posts"; rs = stmt.executequery(query); if(rs.next()) id = rs.getint("id"); rs.close(); Exempel: JDBC query = "insert into posts values(?,?,?)"; PreparedStatement pstmt = conn.preparestatement(query); pstmt.setint(1,id); pstmt.setstring(2,p.gettext()); pstmt.setstring(3,p.getnickname()); int tupler = pstmt.executeupdate();
6 Exempel: JDBC Designmönster public ArrayList getposts(){ ArrayList list = new ArrayList(); Statement stmt = conn.createstatement(); ResultSet rs = null; String query = "select * from posts"; rs = stmt.executequery(query); while(rs.next()){ Post p = new Post(); p.settext(rs.getstring("text")); p.setnickname(rs.getstring("nickname")); list.add(p); return list; Omedvetet eller ej har ni hittils oberoende av designmönster haft ungefär följande 1. Hantera inkommande HTTP-request 2. Instansiera objekt och / eller anropa metoder i dessa / redan befintliga objekt 3. Generera HTTP-response Servlets är bra på (1), JavaBeans på (2) och JSP-sidor är lämpliga för (3) Model - 1 Model 2 (MVC) Den metod vi främst använt hittils I JSP-sidan blandas presentation (View) och validering av input (Control) En eller flera JavaBönor innehåller datastrukturen (Model) Ibland används inte ens JavaBönor och då blir koden mycket rörig. Designmål: Separera Datastruktur (Model) Presentation (View) Validering av input (Control) Designproblem En Servlet är lämplig för att hantera logik men olämplig för att hantera presentation p g a att all HTML läggs inuti Java-kod. En JSP-sida är lämplig för att hantera presentation men olämplig för att hantera logik p g a att all Java-kod hamnar i en HTML-kod. Exempel: MVC Model (JavaBönor) Forum.java (application scope) User.java (session scope) Post.java (request scope / page scope) View (JSP-sidor) forum_index.html forum_view.jsp Controller (Servlet) ForumController.java
7 ForumController.java import java.io.*; import javax.servlet.servletcontext; import javax.servlet.requestdispatcher;// ny import javax.servlet.servletexception; // ny import javax.servlet.http.*; import java.util.arraylist; public class ForumController extends HttpServlet { public void doget(httpservletrequest request,httpservletresponse response) throws IOException{ PrintWriter out = response.getwriter(); ServletContext sc = getservletcontext(); if(sc.getattribute("forum")==null){ sc.setattribute("forum", new bean.forum()); ForumController.java if(request.getparameter("text")!=null){ bean.user u = (bean.user)session.getattribute("user"); bean.forum f = (bean.forum)sc.getattribute("forum"); bean.post p = new bean.post(); p.settext(request.getparameter("text")); p.setnickname(u.getnickname()); f.addpost(p); RequestDispatcher rd = sc.getrequestdispatcher("/forum_view.jsp"); rd.forward(request, response); catch(servletexception e){ out.println(e.getmessage()); out.close(); ForumController.java HttpSession session = request.getsession(); if(session.isnew()){ session.setattribute("user", new bean.user()); RequestDispatcher rd = sc.getrequestdispatcher("/forum_index.html"); rd.forward(request, response); catch(servletexception e){ out.println(e.getmessage()); Forum_index.html <head><title>forum (inloggning)</title></head> <body> <form action="/forumcontroller"> Nickname<input type="text" name="nickname"><br> <input type="text" name=" "><br> </body> </html> ForumController.java if(request.getparameter(" ")!=null){ bean.user u = (bean.user)session.getattribute("user"); u.setnickname(request.getparameter("nickname")); u.set (request.getparameter(" ")); RequestDispatcher rd = sc.getrequestdispatcher("/forum_view.jsp"); rd.forward(request, response); catch(servletexception e){ out.println(e.getmessage()); page import="java.util.arraylist" <head><title>forum (visa)</title></head><body> bean.forum f = (bean.forum)pagecontext.getservletcontext().getattribute("forum"); bean.user u = (bean.user)pagecontext.getsession().getattribute("user"); bean.post p; <h4>= u.getnickname() (= u.get () )</h4> ArrayList posts = f.getposts(); for(int i = 0; i < posts.size(); i++){ p = (bean.post)posts.get(i); <b> =p.gettext() </b><br> <i> =p.getnickname() </i><br> <form action="/forumcontroller"> Text<input type="text" name="text"><br> </body></html>
8 web.xml <servlet> <servlet-name>forumcontroller</servlet-name> <servlet-class>forumcontroller</servlet-class> </servlet> <servlet-mapping> <servlet-name>forumcontroller</servlet-name> <url-pattern>/forumcontroller</url-pattern> </servlet-mapping>
Exempel. Lektion 4. Innehåll. Fördefinierade variabler. PageContext. Java Server Pages (JSP) DD2483 Enterprise Java 6 hp
Lektion 4 hälsning välkomstprogram vad heter du? hälsning
Innehåll. Föreläsning 3. javax.naming.context. javax.sql.datasource. Vad är JDBC? Java Naming and Directory Interface(JNDI) Viktigaste metoder:
Föreläsning 3 JDBC Innehåll JNDI Java Naming and Directory Interface En slags DNS för Objekt JDBC Grunderna Uppkoppling Exekvera SQL-satser Ta hand om resulterande ResultSets Finesser PreparedStatement
2I1070 Lektion 2 Servlets och databaskopplingar Internetprogrammering 2I1049 Treskiktsarkitektur Klient-server med servlets
2I1070 Lektion 2 Servlets och databaskopplingar KTH-MI Peter Mozelius Internetprogrammering Tidigare på kursen 2I1049 har vi enbart sysslat med fristående program där allt körs på en och samma dator. I
F8 Webbteknologier 1. Dynamiska webbsidor
Dynamiska webbsidor F8 Webbteknologier 1 EDA095 Roger Henriksson Datavetenskap Lunds universitet HTML är statisk. En sida får sitt utseende bestämt när en webbdesigner skapar den. Ofta vill man ha mera
Klientprogrammering mot databaser
Klientprogrammering mot Databaser Java DataBase Connectivity, JDBC Klientprogrammering mot databaser Native API olika för olika DBMS, ofta i C/C++ ODBC, Open Datbase Connectivity samma API för olika databashanterare.
Servlets y JSP Fernando Berzal,
Servlets y JSP Fernando Berzal, berzal@acm.org Funcionamiento de una aplicación web 1 Solicitud HTTP GET public void doget (HttpServletRequest request, HttpServletResponse response) throws ServletException,
Föreläsning 4. Innehåll. Java EE 7 subapi. Java EE. Java EE. DD2390 Internetprogrammering 6 hp
Föreläsning 4 DD2390 Internetprogrammering 6 hp Innehåll Java EE konceptuell översikt Finns ett flertal implementationer Konfigurering av Tomcat web-moduler ejb-moduler(*) applikationer Java EE 7 subapi
F9 Webbteknologier 1. EDA095 Nätverksprogrammering. Roger Henriksson Datavetenskap Lunds universitet
F9 Webbteknologier 1 EDA095 Nätverksprogrammering Roger Henriksson Datavetenskap Lunds universitet Dynamiska webbsidor HTML är statisk. En sida får sitt utseende bestämt när en webbdesigner skapar den.
Internationalisering/lokalisering på webben
KTH NADA Språkteknologi 2D1418 Internationalisering/lokalisering på webben Benny Ferander, 711119-0455 d98-bka@nada.kth.se Stefan Westlund, 681206-0157 d98-swe@nada.kth.se Sammanfattning Idag läggs en
FÖRSLAG TILL LÖSNINGAR, TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2, , kl
Högskolan Dalarna sid 1 av 5 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR, TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2, 2001-04-28, kl 09.00-13.00 1. Grunderna
Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305. Klass Object, instans av klass public/private Klassvariabler och klassmetoder
Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305 Klass Object, instans av klass public/private Klassvariabler och klassmetoder 1 Array och ArrayList Arrayer och ArrayList är till för att innehålla
2I1073 Lektion 2. Lektion 2a. Lektion 2a. Servlets, säkerhet, och filhantering. import java.io.*; import javax.servlet.*; import javax.servlet.http.
2I1073 Lektion 2 Servlets, säkerhet, och filhantering KTH-MI Peter Mozelius import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Lektion2a extends HttpServlet { public void
Högskolan Dalarna sid 1 av 5 DI-institutionen Hans-Edy Mårtensson Sten Sundin
Högskolan Dalarna sid 1 av 5 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-04-28, kl 09.00-13.00 Hjälpmedel: Endast bifogat kompendium
INTRODUKTION TILL JDBC
INTRODUKTION TILL JDBC Vad är JDBC? JDBC står för Java DataBase Connectivity. JDBC ingår i Java och består av en del klasser som har hand om databasfunktionalitet. Med Java följer JDBC-ODBC Bridge driver,
Uniform Resource Locator (URL) JavaServer Pages - JSP. Webbklienter. Webbserver. Hypertext Transfer Protocol (HTTP) HTTP Request
Uniform Resource Locator (URL) JavaServer Pages - JSP http://www.cs.umu.se:80/kurser/5dv085/ht-10/index.html Består av Protokoll (http) Adress (www.cs.umu.se) Port (80) Sökväg (/kurser/5dv085/ht-11/index.html)
Tentamen ITK:P2. Inga hjälpmedel tillåtna förutom penna och papper. Skriv tydligt och texta gärna. 14 st frågor, 70 poäng.
Tentamen ITK:P2 lördag 2007-04-14 Inga hjälpmedel tillåtna förutom penna och papper. Skriv tydligt och texta gärna. 14 st frågor, 70 poäng. 40 poäng ger betyget G, 55 ger VG Peter Mozelius DSV 1.) Ditt
Björn Persson. Komponenter med J2EE. Del 1
Del 1 Komponentbaserad applikationsutveckling april 2005 Om denna sammanfattning Detta är del 1 av sammanfattningen och behandlar teknologier som bör förstås för att bättre kunna skapa applikationer med
Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }
En klassdefinition class A extends B {... Arv definierar en klass A som ärver av B. Klassen A ärver alla fält och metoder som är definierade för B. A är en subklass till B. B är en superklass till A. class
Idag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes
Idag statiska metoder och variabler private/public/protected final, abstrakta klasser, gränssnitt, delegering wrapper classes ett lite större exempel Objectorienterad programmering Sida 1 Vad vi vet om
FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl
Högskolan Dalarna sid 1 av 6 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 1. Grunderna i
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna
De ska vara möjligt att separera kod med olika utvecklingsbehov. Det ska vara enkelt att gå från en web-centrerad design till en komponentbaserad
Design av distribuerade system, några generella mål Lätt att underhålla och modifiera Utvecklare med olika färdigheter ska kunna arbeta oberoende av varandra Systemet ska gå att skala upp, flytta och ha
Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?
Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.
Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av
Java: Utvecklingsverktyg, datatyper, kontrollstrukturer
Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Sven-Olof Nyström Uppsala Universitet 13 juni 2005 1 Utvecklingsverktyg för Java Vi rekommenderar Suns utvecklingsverktyg (SDK, tidigare JDK), se
Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling
metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man
Tentamen Nätverksprogrammering Lösningsförslag
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2012 05 28, 8.00 13.00 Del 1 1. Time To Live (TTL) anger hur många routrar ett multicastpaket
Vad ska ni göra? ProgramvaruUtveckling för Stora System. Kravförvirring. 9 frågor till prefekten. Christin Lindholm
ProgramvaruUtveckling för Stora System Christin Lindholm Vad ska ni göra? Tidrapporteringssystem Administration Tidrapportering Projektledning Projektledare (PG) Systemansvariga (SG) Valfri funktionalitet
F10 Webbteknologier. EDA095 Nätverksprogrammering. Roger Henriksson Datavetenskap Lunds universitet
F10 Webbteknologier EDA095 Nätverksprogrammering Roger Henriksson Datavetenskap Lunds universitet Dynamiska webbsidor HTML är statisk. En sida får sitt utseende bestämt när en webbdesigner skapar den.
Föreläsning 8. Arv. Arv (forts) Arv och abstrakta klasser
Föreläsning 8 Arv och abstrakta klasser Arv Definierar en klass utifrån en redan existerande klass Den nya klassen utökar den ärvda klassen (extends) Den nya klassen behåller alla egenskaper som den gamla
DB, DATA, LOGIC, EXPOSURE (WEB)
Backend DB, DATA, LOGIC, EXPOSURE (WEB) MySQL. MongoDB, LDAP, etc DB DATA LOGIC SOA TJänster EXPOSURE (WEB) Klienter kan vara webbsidor, desktop/mobil applikationer, andra SOA tjänster, ATM, parkeringsautomater
Dagens föreläsning. Arrayer och klasser. Medan ni väntar: Gå till m.voto.se/prog11 och svara på några gamla tentamensfrågor! (26 januari 2018 F3 1 )
(26 januari 2018 F3 1 ) Dagens föreläsning Arrayer och klasser Medan ni väntar: Gå till m.voto.se/prog11 och svara på några gamla tentamensfrågor! (26 januari 2018 F3 2 ) Arrayer En array är en datatyp
Properties. Användbara metoder som kan anropas i propertychanged:
Properties Ett objekt kan ha vissa egenskaper (som beskrivs med instansvariabler). En enkel egenskap X avläses och sätts med metoderna getx() och setx(värde). En indexerad egenskap (från t.ex. en array)
Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015
Objektorienterad Programkonstruktion Föreläsning 6 23 nov 2015 Designmönster Färdiga "recept" för att lösa (del-)problem i struktureringen av ens program Mönster kan beskriva små komponenter eller stora
a. Vilka av följande påståenden är riktiga? Observera att felaktigt valda påståenden ger poängavdrag. (4p)
TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för Sy 2 2002-03-15, kl 09.00 13.00 Hjälpmedel: Endast bifogat kompendium Max: 66 poäng, för godkänt krävs 50%. Skriv tydliga och kortfattade svar 1. Grunderna
FÖ 07 - JDBC Åtkomst till databaser från applikationer med Java - exempelkod -
F07_JDBC.1 FÖ 07 - JDBC Åtkomst till databaser från applikationer med Java - exempelkod - F07_JDBC.2 Anslutning till en databas kräver en drivrutin för ändamålet. För Java: JDBC = Java Database Connectivity
Tentamen. DD2385 Programutvecklingsteknik vt Fredagen den 5 juni 2009 kl Inga hjälpmedel utom penna, sudd och linjal
Tentamen DD2385 Programutvecklingsteknik vt 2009 Fredagen den 5 juni 2009 kl 10.00 13.00 Inga hjälpmedel utom penna, sudd och linjal Tentans del I omfattar 22 poäng. Del II har också 22 poäng Preliminära
ASP.NET Thomas Mejtoft
ASP.NET Introduktion till ASP.NET Utveckla i ASP.NET I ASP.NET kan och bör man separera HTML-kod från övrig kod (C#, VB ) I enklare fall läggas kod i script-block Vanligtvis läggs den i en Code Behind-fil
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Micael Karlsson
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Micael Karlsson TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2000-03-22, kl 14.00-18.00 Hjälpmedel: En lärobok
TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P
UME UNIVERSITET Datavetenskap 981212 TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P Datum : 981212 Tid : 9-15 HjŠlpmedel : Inga Antal uppgifter : 9 TotalpoŠng : 60 (halva pošngtalet kršvs normalt fšr
Laboration 1 - Grunderna för OOP i Java
Uppdaterad: 2006-08-31 Laboration 1 - Grunderna för OOP i Java Inledning Laborationen går ut på att lära sig grunderna för objektorienterad programmering, samt motsvarande språkkonstruktioner i Java. Labben
ADO.NET Murach Kapitel 17-20
Databaser och C# ADO.NET Murach Kapitel 17-20 2013-01-30 1 Winstrand Development Databas ADO.NET Är en del av.net ramverket och tillhandahåller delar för att kommunicera med olika datakällor. Dessa kan
Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier
Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv
ASP.NET MVC. Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se. Innehåll
ASP.NET MVC Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se Innehåll Introduktion till MVC Controller Action-metoder Views Arbeta med Layout-sidor och sektioner Route konfiguration
Namn: (Ifylles av student) Personnummer: Tentamensdatum: 2013-03-25 Tid: 14.00 19.00. Hjälpmedel: Inga hjälpmedel
Webbprogrammering Provmoment: Ladokkod: Tentamen ges för: Tentamen NWP011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2013-03-25
DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.
1 (8) DUGGA: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt namn, personnummer och e-postadress på försättsbladet. Skriv rent dina svar.
Objektorienterad Programkonstruktion. Föreläsning jan 2016
Objektorienterad Programkonstruktion Föreläsning 13 19 jan 2016 Tentamen Del I, E del Flervalsfrågor 20/25 krävs för godkänt, ger betyg E Upp till 7 möjliga bonuspoäng Del II, Högrebetygsdel Problemfrågor
Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.
Webbprogrammering Provmoment: Ladokkod: Tentamen ges för: Om-Tentamen NWP011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2014-06-13
DAT043 - föreläsning 8
DAT043 - föreläsning 8 Paket, generics, Java collections framework 2017-02-07 Paket och tillgänglighet Ovanför klasser finns en hierarkisk namespace med paket. Filer som inte deklareras i något paket finns
DAT043 - Föreläsning 7
DAT043 - Föreläsning 7 Model-View-Controller, mer om klasser och interface (arv, ) 2017-02-06 Designmönstret Observer avläser Observer Observable meddelar Observer avläser En eller flera objekt registrerar
Kort om klasser och objekt En introduktion till GUI-programmering i Java
Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på
Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista
Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista Abstrakt stack Abstrakt kö Länkade listor Abstrakta datatyper Det är ofta praktiskt att beskriva vilka operationer man vill kunna göra på sina
Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2
AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga
Surfning. Webbklienter och webbservrar. Specialskrivna webbservrar. Kommunikation med sockets
Surfning Webbklienter och webbservrar Starta Firefox (eller Opera, eller Internet Explorer, eller... ). Skriv en URL i adressfältet: http://www.w3.org/history/1989/proposal.html. Webbläsaren kopplar upp
Föreläsning 4. Klass. Klassdeklaration. Klasser Och Objekt
Föreläsning 4 Klasser Och Objekt Klass Beskrivning av en objekttyp Beskriver egenskaper och beteende (fält och metoder) Klassen fungerar som en ritning Objekt skapas från klassbeskrivningen - instansieras
Innehåll. dynamisk bindning. och programmering CRC) u Arv, polymorfi och
Innehåll u OOP snabbintroduktion u Datatyper u Uttryck u Satser u Arv (intro) u Programvaruutveckling och programmering u Klassdesign och metodik (UML, CRC) u Arv, polymorfi och dynamisk bindning u Fält
DAT043 Objektorienterad Programmering
DAT043 Objektorienterad Programmering Detta är en exempeltenta som innehåller gamla tentauppgifter av ungefär liknande slag som ni kan förvänta er se på ordinarie tenta i Del 1 respektive Del 2. Dock är
EDA095 HTML. Per Andersson. April 26, Lund University Innehåll: HTML, CSS, DOM, JavaScript
EDA095 HTML Per Andersson Lund University http://cs.lth.se/pierre_nugues/ April 26, 2017 Innehåll: HTML, CSS, DOM, JavaScript Per Andersson EDA095 HTML April 26, 2017 1 / 23 Webben Webben byggs upp av
Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-06-11 Skrivtid: 08:00 13:00 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Arrayer. results
Arrayer 85 Arrayer Deklarerar utrymme för många variabler i en enda deklaration Array (fält) Varje värde har ett numeriskt index i Java indexeras en array med N element med indexen till N-1 Exempel: 1
Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0..
Ett problem Kontrollstrukturer och er Hur sparas data T ex när man vill spara resultaten av en tävling Exempel med 3 deltagare: public class Competition private int result1; private int result2; private
UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.
Översikt Klasshierarkier UML klassdiagram Relation mellan klasser mellan klasser och objekt Association ning ing andling Programmering tillämpningar och datastrukturer 2 UML UML Unified Modeling Language
Föreläsning 8 - del 2: Objektorienterad programmering - avancerat
Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta
Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar
Vad handlar kursen om? Algoritmer och datastrukturer. Vad handlar kursen om? Vad handlar kursen om?
Algoritmer och datastrukturer Allmänt om kursen Kort javagrund repetition - Klasser, metoder, objekt och referensvariabler, - Hierarkiska klass strukturer - Arrayer och arrayer av objekt - Collection ramverket
Tentamen Objekt-orienterad programmering i Java, 5p distanskurs
Tentamen 2006-05-06 Objekt-orienterad programmering i Java, 5p distanskurs Uppsala Universitet Instutitionen för informationsteknologi Avdelningen för datalogi Kursansvarig: Sven-Olof Nyström May 2, 2007
Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
PROV. 13 JSP Standard Tag Library
13 JSP Standard Tag Library 13.1 Bibliotek med nya JSP-kommandon 13.2 JSP Standard Tag Library (JSTL) 13.3 Filstruktur för webbapplikationer med JSTL 13.4 Deklaration av JSP-kommandon 13.5 Lägga till biblioteksfiler
Tentamen. DD2385 Programutvecklingsteknik vt 2015 Fredagen den 5 juni 2015 kl Hjälpmedel: penna, suddgummi, linjal
Tentamen DD2385 Programutvecklingsteknik vt 2015 Fredagen den 5 juni 2015 kl 9.00 12.00 Hjälpmedel: penna, suddgummi, linjal Tentan har två delar om vardera 30 poäng Maximala betygsgränser (gränserna kan
LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p
UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det
Webbtjänster med API er
Webbtjänster med API er Mål med lektionen! En lite djupare inblick i RESTfulla tjänster Vad lektionen omfattar RESTful Services Överblick SOAP kan vara lite overkill för vissa specifika web service scenarion.
2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning
2I1049 Föreläsning 5 Objektorienterad programmering i Java KTH-MI Peter Mozelius Objektorientering Världar uppbyggda av objekt Inte helt olikt vår egen värld Ett sätt att modularisera våra system Objekten
Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel
Webbprogrammering Provmoment: Ladokkod: Tentamen ges för: Om-Tentamen NWP011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2013-06-14
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Mer om Interface Generiska klasser Undantag Nästlade klasser 1
2203$( Föreläsning ii - Mer om Java bla this och konstruktorer. Exempel: lampa
2203$( Föreläsning ii - Mer om Java bla this och konstruktorer Av Björn Eiderbäck Email: bjorne@nada.kth.se Adress: Rum 1641, 6tr NADA Osquars Backe 2 Tel: 7906277 previous next Exempel: lampa Light1 #
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Designmönster Adapter, Factory, Iterator,
Lösningar för tenta 2 DAT043,
Lösningar för tenta 2 DAT043, 2018-06-08. Uppgift 1 public class Car{ private String model; private String year; private double price; public Car(String model, String year, double price){ this.model =
public och private Obs: private inte skyddar mot access från andra objekt i samma klass.
public och private En metod som är public får anropas från alla metoder i alla klasser. Ett attribut som är public får avläsas och ändras från alla metoder i alla andra klasser. En metod som är private
Laboration 5 - Biblioteksapplikation
Laboration 5 - Biblioteksapplikation Du ska skapa en applikation för att söka efter böcker i en databas. Grunduppgiften som är obligatorisk ger 3 poäng och extrauppgiften ger 3 poäng. Grunduppgift (3 poäng)
Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering
och metoder Introduktion till objektorienterad programmering Markus Saers markus.saers@lingfil.uu.se orientering Deklarativ programmering Beskriver förutsättningarna för något Prolog Imperativ programmering
Exempel. Arrayer. Lösningen. Ett problem. Arrayer och hakparanteser. Arrayer
Exempel for (int antal=; antal < 75; antal++) System.out.println (antal); Arrayer for (int num=5; num
"Är en"-relation. "Har en"-relation. Arv. Seminarium 2 Relevanta uppgifter. I exemplet Boll från förra föreläsningen gällde
Föreläsning 7 "Har en"-relation Arv "Har en" "Är en" Superklassen Object Överskuggning Fordonsexempel Seminarium 2 Relevanta uppgifter Uppgift 31 I exemplet Boll från förra föreläsningen gällde följande
Webbsidor och webbservrar
Webbsidor och webbservrar Server HTTP-protokollet Dokument (t.ex. HTML kod) Klient URL (t.ex. länk) Normal funktion hos webben: Användaren klickar på länk eller anger URL på annat sätt. Servern lokaliserar
JAVASCRIPT. Beteende
JAVASCRIPT Beteende OVERVIEW HTML Formulär JavaScript Syntax Events DOM Validering av fomulär WEBBPROGRAMMERING PÅ KLIENTSIDAN Skriptspråk som körs på klientsidan (klientskript) Koden exekveras i webbläsaren
Objektorienterad Programkonstruktion. Föreläsning 4 8 nov 2016
Objektorienterad Programkonstruktion Föreläsning 4 8 nov 2016 Nästade klasser I Java går det att deklarera en klass inuti en annan klass. Vi kallar detta för att en yttre klass innehåller en inre klass.
Genomgång av tentamen. Databasteknik ITHS 4/3 2016
Genomgång av tentamen Databasteknik ITHS 4/3 2016 Tentans upplägg Täcka in de 10 delar av kursen vi bedömt som viktigast Säkerställa att det funnits såväl teoripass som övningspass kring varje del Lätt
Föreläsning 14. Filhantering
Föreläsning 14 Filhantering Filhantering Att hantera filer, dvs att läsa eller skriva data till en fil är en viktig del i de flesta program. Ur Javas synvinkel är filer objekt med egenskaper och metoder
Sample exam questions. Database exam TIG058
Sample exam questions Database exam TIG058 Distribution of topics covered 1. Grundläggande om Databaser och Databashanterare (5p) 2. SQLite-databashanteraren (5p) 3. SQL - SELECT, ORDER BY, WHERE, LIMIT
Föreläsnings 9 - Exceptions, I/O
Föreläsnings 9 - Exceptions, I/O Josef Svenningsson Tisdag 6/11 Undantag - Exceptions Kommer ni ihåg det här programmet? Det var ett av de första ni såg i första föreläsningen. import javax.swing.*; public
Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel
Idag Ett exempel Undantag Substitutierbarhet, subtyper, subklasser När val av metod beror av typerna hos två objekt Lite om överlagring Exempel, version 2 Notera: för samtliga figurer gäller: arean av
Objektorienterad programmering med Java, Generics
Generics i Java Generic: allmän, genersisk. På menyn på en asiatisk restaurang: Denna rätt serveras med valfritt kött, fisk eller skalddjur Bakgrund Generics i Java ger oss att skriva kod, klasser och
Exemple på Tentauppgifter Webbprogrammering
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Exemple på Tentauppgifter Webbprogrammering 2019 02 28 version 2019-03-20 15:36:14+01:00 Tillåtna hjälpmedel: inga. Detta är ett exempel på
Objektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
Föreläsning 2. Länkad lista och iterator
Föreläsning 2 Länkad lista och iterator Föreläsning 2 Länkad-lista Lista implementerad med en enkellänkad lista Iterator Implementering av en Iterator Dubbellänkad lista och cirkulär lista LinkedList JCF
DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/ Kursöversikt Javarepetition/Javaintroduktion
DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/3 2014 Innehåll Kursöversikt Javarepetition/Javaintroduktion UML - klassdiagram-introduktion i anslutning till Java-exemplen Kursmål,
Att skriva till och läsa från terminalfönstret
Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen
Webbservrar, severskript & webbproduktion
Webbprogrammering Webbservrar, severskript & webbproduktion 1 Vad är en webbserver En webbserver är en tjänst som lyssnar på port 80. Den hanterar tillgång till filer och kataloger genom att kommunicera
Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 Hjälpmedel: Java-bok Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Tentamen. DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl Hjälpmedel: penna, suddgummi, linjal
Tentamen DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl 14.00 17.00 Hjälpmedel: penna, suddgummi, linjal Tentan har två delar om vardera 30 poäng Maximala betygsgränser (gränserna
Kungl. Tekn. Högskolan Förel 1, bild 1 Föreläsning 1: Introduktion ffl Kursinnehåll ffl Javarepetition ffl Referenser ffl Nyckelordet static ffl Klass
Kungl. Tekn. Högskolan Förel 1, bild 1 Föreläsning 1: Introduktion ffl Kursinnehåll ffl Javarepetition ffl Referenser ffl Nyckelordet static ffl Klassen Mio ffl Särfall ffl Interface Kungl. Tekn. Högskolan