Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Προγραμματισμός στην πλευρά του εξυπηρετητή: Τεχνολογία Servlet

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Προγραμματισμός στην πλευρά του εξυπηρετητή: Τεχνολογία Servlet"

Transcript

1 Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Προγραμματισμός στην πλευρά του εξυπηρετητή: Τεχνολογία Servlet Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1

2 Προγραμματισμός στην πλευρά του εξυπηρετητή (server side) Πελάτης Web Browser Τελική HTML σελίδα Διαδίκτυο Τελική HTML σελίδα Επικοινωνία HTTP Εξυπηρετητής Web Server Επεξεργασία php κώδικα και παραγωγή HTML σελίδας Επεξεργασία Δεδοì ένων Βάση Δεδομένων Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 2 Χρήστης

3 Προγραμματισμός στην πλευρά του εξυπηρετητή (server side) Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 3

4 Server Side: Καταλληλότητα, Πλεονεκτήματα, Μειονεκτήματα Καταλληλότητα: Δυναμική / Παραμετρική εμφάνιση περιεχομένου Απαραίτητο όταν απαιτείται επικοινωνία (αλληλεπίδραση) µε τον Server Δυνατότητα ελέγχου των πελατών, π.χ. μετρητές επισκέψεων (hit counters), ελεγχόμενη πρόσβαση σε κάποιες σελίδες Πλεονεκτήματα: Η επεξεργασία μεταφέρεται στο server, χρησιμοποιείται η ισχύς του server O κώδικας είναι κρυφός Η εκτέλεση του κώδικα είναι ανεξάρτητη του browser: στέλνεται «καθαρό» HTML που εμφανίζεται πανομοιότυπο σε κάθε browser Η μοναδική λύση για πρόσβαση στο file system του server Μειονεκτήματα: Χρησιμοποιεί πολύτιμη επεξεργαστική ισχύ του server. Κλιμάκωση (scalability); Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 4

5 Server Side: Τεχνολογίες Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 5

6 Τι είναι Servlet (SERVer applet) Τα Servlets είναι μικρά προγράμματα γραμμένα στη γλώσσα Java που λειτουργούν στον server και επεκτείνουν τις λειτουργίες ενός Web Server. Όπως και οι άλλες αντίστοιχες τεχνολογίες (CGIs, ASP, PHP,..), χρησιμοποιείται για την δημιουργία Web σελίδων που το περιεχόμενό τους δεν είναι στατικό αλλά μπορεί να εξαρτάται από τα δεδομένα που εισαγάγει ο χρήστη και χρειάζεται να ανακτηθεί από βάσεις δεδομένων ή από άλλα συστήματα Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 6

7 Τι είναι Servlet (SERVer applet) Εκτελούνται σε ένα Web Server (Servlets: server-side πρόσωπο της Java Applets: client-side πρόσωπο της Java, δηλ. εκτελούνται σε Web Browsers) Τα Servlets είναι εγκατεστημένα σε Web Server, δέχονται δεδομένα µέσω του πρωτοκόλλου HTTP και απαντούν στέλνοντας στον Web Browser αρχεία τύπου HTML. Για να προγραμματίσουµε Servlets είναι απαραίτητο το JSDK (Java Servlet Development Kit) ή Servlets API (Application Programming Interface) που είναι ενσωματωμένο σε αρκετά εργαλεία προγρ/μού Java (π.χ. NetBeans) Το Servlets API αποτελεί πλέον μέρος του JDK Τα Servlets υποστηρίζονται από (μπορούν να τρέξουν σε) σε πολλους web servers Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 7

8 Οι Java Servlets σε µια 3-tier αρχιτεκτονική Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 8

9 Η δύναμη των Servlet Είναι γραμμένα σε γλώσσα Java κατά συνέπεια είναι platform independent: Write once Serve Everywhere Εκμεταλλεύονται πλήρως το Java API, RMI, CORBA, Database Connectivity. Αποδοτικότητα & Αντοχή - Μένουν στην μνήμη μεταξύ διαδοχικών καλεσμάτων Κομψότητα (Εlegance), Object-Oriented, Clean Code, Modular, Simple Λειτουργούν µε το πρωτόκολλο ΗΤΤP Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 9

10 PHP vs. Servlets Τα servlets και τα PHP scripts αποτελούν εναλλακτικές για server-side προγραμματισμό. Τα servlets «φορτώνονται» µία φορά και όχι κάθε φορά που καλούνται, αντίθετα µε τα PHP scripts Τα servlets είναι τεχνολογία που βασίζεται σε μια πλήρη αντικειμενοστραφή γλώσσα (Java), η PHP είναι γλώσσα σεναρίου (script) Υπάρχει διαφορά στη λογική: η PHP μοιάζει περισσότερο µε την τεχνολογία JSP, ο PHP κώδικας είναι ενσωματωµένος σε HTML κώδικα, το στατικό HTML διακρίνεται από το HTML που παράγει δυναμικά η PHP. Οι servlets αποτελούν κλάσεις Java που όταν εκτελούνται παράγουν HTML κώδικα (στατικό & δυναµικό) Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 10

11 PHP vs. Servlets Οι κλήσεις σε «έτοιμες» (built-in) συναρτήσεις της PHP (που περιλαμβάνονται στις βιβλιοθήκες της PHP) είναι συνήθως γρηγορότερες από κλήσεις σε συναρτήσεις των Servlets. Το αντίστροφο όμως ισχύει για τον επιπλέον κώδικα που γράφει ο προγραμματιστής PHP. H PHP προσφέρεται για γρήγορη ανάπτυξη κώδικα λόγω απλής σύνταξης Τα servlets προσφέρονται για μεγαλύτερης κλίμακας έργα λόγω της εκμετάλλευσης των πλούσιων βιβλιοθηκών αλλά και της αντικειμενοστραφούς (object-oriented) φύσης της Java. Με τους servlets είναι εύκολη η μετάβαση από µια Β σε άλλη (µε αλλαγή λίγων γραμμών κώδικα) Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 11

12 Ο κύκλος ζωής του Servlet Κάθε servlet έχει τον ίδιο κύκλο ζωής: Ο server το κάνει load και το αρχικοποιεί: «τρέχει» η μέθοδος init() Το servlet δέχεται μηδέν ή και περισσότερα client requests: «τρέχουν» οι μέθοδοι service() ή doget()/dopost() Ο server το κάνει remove (ορισμένοι servers εκτελούν αυτό το βήµα µόνο όταν κάνουν shut down): «τρέχει» η μέθοδος destroy() Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 12

13 Ο κύκλος ζωής του Servlet Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 13

14 Αλληλοεπίδραση του servlet µε τον πελάτη Όταν ένα servlet δέχεται ένα κάλεσμα από τον πελάτη (client), λαμβάνει δύο αντικείμενα (objects): Ένα ServletRequest, που εξασφαλίζει την επικοινωνία από τον πελάτη προς τον server. Ένα ServletResponse, που εξασφαλίζει την επικοινωνία από το servlet πίσω στον πελάτη. (Τα ServletRequest και ServletResponse είναι interfaces ορισµένα στο javax.servlet package) Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 14

15 Αλληλοεπίδραση του servlet µε τον πελάτη Βασικές μέθοδοι: init (καλείται από τον servlet container στην αρχικοποίηση του servlet) doget (καλείται µε HTTP Get request) dopost (καλείται µε HTTP Post request) doput (καλείται µε HTTP Put request) service (καλείται από τον servlet container σε κάθε HTTP request) destroy (καλείται από τον servlet container όταν ο servlet πρόκειται να σβηστεί από τη µνήµη) Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 15

16 To Servlet API Όλα τα servlets υλοποιούν τη διασύνδεση (interface) Servlet µέσω μιας εκ των δύο βασικών κλάσεων: GenericServlet (javax.servlet package) - γενικά servlets ανεξάρτητα πρωτοκόλλου HttpServlet (javax.servlet.http package) - http servlets Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 16

17 To Servlet API Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 17

18 Ένα απλό servlet package mypackage; import javax.servlet.*; import javax.servlet.http.*; import java.io.printwriter; import java.io.ioexception; public class Servlet1 extends HttpServlet { private static final String CONTENT_TYPE = "text/html; charset=windows-1253"; public void init(servletconfig config) throws ServletException { super.init(config); } Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 18

19 Ένα απλό servlet } public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { } response.setcontenttype(content_type); PrintWriter out = response.getwriter(); out.println("<html>"); out.println("<head><title>servlet1</title></head>"); out.println("<body>"); out.println("<p>the servlet has received a GET. This is the reply.</p>"); out.println("</body></html>"); out.close(); Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 19

20 Προϋποθέσεις για να «τρέξουμε» ένα servlet Κάνουμε compilation του java file: SimpleServlet.java -> SimpleServlet.class (πρέπει να είναι εγκατεστημένο το Java Servlet API που περιέχει τις κλάσεις javax.servlet και javax.servlet.http) Απαιτείται ένας Application Server (ή Servlet Engine ή Servlet Container), π.χ. οι Oracle OC4J, Tomcat, JavaServer,... Μπορούμε να «τρέξουμε» το servlet απ ευθείας από κάποιο περιβάλλον προγραμματισμού σε Java (π.χ. ο NetBeans έχει ενσωματώσει το Servlet API και τον Application Server Tomcat) Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 20

21 Πως «τρέχουμε» ένα servlet Αν ο servlet ανήκει σε μια εφαρμογή που ονομάσαµε ServletApp και αποθηκεύσαμε το class αρχείου του servlet (αυτό που προκύπτει από το compilation) σε ένα directory, π.χ. το: \Project\classes\ServletPackage\ Κλήση του servlet: Γενικά: me> Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 21

22 Εισαγωγή στο NetBeans Ένα IDE ανεπτυγμένο από την Sun Χρησιμότητα των IDEs (Integrated Development Environment): Ολοκληρωμένα περιβάλλοντα για ανάπτυξη εφαρμογών Εύκολη και γρήγορη συγγραφή κώδικα Ενσωματωμένος compiler Ta IDEs για Java ενσωματώνουν και interpreter, applet viewer Εύκολος εντοπισμός και διόρθωση λαθών Ενσωματωμένος debugger Ενσωματωμένο documentation, help Άλλα IDEs για ανάπτυξη εφαρμογών Java (και Servlets): JBuilder (Borland), Java Sun One (Sun), Visual Cafe (Symantec), VisualAge for Java (IBM) Η έννοια του project Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 22

23 Περνώντας παραμέτρους στο servlet: η HTML φόρμα <html> <head> <title>servlet Example - Passing Parameters</title> </head> <body> <form method="get" action="servlet2"> <p>give your name: <input type="text" name="username" «size="20"> <input type="submit" value="try it"></p> </form> </body> </html> Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 23

24 Περνώντας παραμέτρους στο servlet: Ο κώδικας του servlet package mypackage; import javax.servlet.*; import javax.servlet.http.*; import java.io.printwriter; import java.io.ioexception; public class Servlet2 extends HttpServlet { private static final String CONTENT_TYPE = "text/html; charset=windows-1253"; public void init(servletconfig config) throws ServletException { super.init(config); } Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 24

25 Περνώντας παραμέτρους στο servlet: Ο κώδικας του servlet public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype(content_type); PrintWriter out = response.getwriter(); //Store the parameter value passed by the form String user = request.getparameter("username"); // then write the data of the response out.println("<html>"); out.println("<head><title>servlet talking to an HTML form!...</title></head>"); out.println("<body>"); out.println("<h2>hello " + user + "</h2>"); out.println("<h5>the time is: " + new java.util.date() + "</h5>"); out.println("</body></html>"); out.close(); } } Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 25

26 Πως ένα servlet μπορεί να απαντάει σε Get και Post requests µε τον ίδιο ακριβώς τρόπο; Έχουμε έναν Servlet στον οποίο κάποια HTML φόρμα μπορεί να στείλει είτε GET είτε POST request. Θέλουμε η απόκριση του Servlet να είναι πανομοιότυπη ανεξαρτήτως του τύπου του request, χωρίς όμως να αντιγράψουµε τον κώδικα της doget() στην dopost() Λύση: Απλά, η dopost() καλεί την doget(): public void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { doget(request, response); } Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 26

27 Επικοινωνία μεταξύ Servlets Υπάρχουν πολλοί τρόποι µε τους οποίους ένα servlet μπορεί να επικοινωνήσει µε ένα άλλο servlet: Servlet Chaining ( Κάνοντας διαδοχικά Post, Get ) Μπορούμε να αλισιδώσουμε μια σειρά από servlets Θα μπορούσε πχ, να είναι μια διαδοχική καταχώρηση δεδομένων. Servlet Interface through a Database ( πχ για ένα Chat Room ) Μπορούμε να καταχωρούμε στοιχεία από ένα servlet σε μια βάση δεδομένων όπου, μπορεί να τα ανακτήσει ένα άλλο servlet ταυτόχρονα και να δίνεται η εικόνα ότι επικοινωνούν ταυτόχρονα. Socket, RMI Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 27

28 ODBC (Open DataΒase Connectivity) Η διεπαφή ODBC της Microsoft επιτρέπει σε εφαρμογές πρόσβαση σε συστήματα Β µέσω SQL Χρησιμοποιώντας ODBC ένας application developer μπορεί να αναπτύξει, μεταγλωτίσσει και προωθήσει μια εφαρμογή ανεξάρτητη του DBMS ιαφορετικά, η εφαρμογή δεν έχει μεταφερσιµότητα (non-portable) -> δύσκολη συντήρηση (δεν υποστηρίζονται άλλα DBMS ή άλλες εκδόσεις του ίδιου DBMS) Συστατικά μιας ODBC αρχιτεκτονικής: Application: καλεί ODBC συναρτήσεις Driver Manager: «φορτώνει» drivers για την εφαρμογή Driver: επεξεργάζεται και εκτελεί τις κλήσεις ODBC συναρτήσεων, στέλνει SQL requests και επιστρέφει τα αποτελέσματα στην εφαρμογή Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 28

29 JDBC (Java DataΒase Connectivity) Τo JDBC API της Sun Microsystems παρέχει ένα τυποποιημένο τρόπο πρόσβασης σε DBMS µέσω της γλώσσας Java. Με το JDBC, μια εφαρμογή έχει ομοιόμορφη πρόσβαση (µε SQL ερωτήματα) στα δεδομένα ανεξαρτήτως του DBMS και τρέχει πανομοιότυπα σε οποιαδήποτε πλατφόρμα υποστηρίζει Το JDBC API ορίζει ένα σύνολο διεπαφών Java που ενσωματώνουν την κύρια λειτουργικότητα Β (εκτέλεση queries, επεξεργασία αποτελεσμάτων,...) Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 29

30 JDBC (Java DataΒase Connectivity) Το JDBC API υλοποιείται µέσω του JDBC driver: ένα σύνολο κλάσεων που αποτελούν διεπαφές για επεξεργασία JDBC κλήσεων και επιστροφή αποτελεσμάτων στην εφαρμογή Java Γιατί χρειαζόμαστε το JDBC και δεν αρκούμαστε στο ODBC που είναι ένα API τυποποίησης της πρόσβασης σε Β ; Το ODBC δεν είναι κατάλληλο για άμεση χρήση από εφαρμογές Java γιατί είναι μια διεπαφή γραμμένη σε C Το JDBC προσφέρει μια λύση για μια φυσική διεπαφή Java, δηλαδή μια «αμιγώς Java» στον application development Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 30

31 Τύποι JDBC drivers 4 είδη JDBC drivers σε χρήση: Type 1: JDBC-ODBC bridge Type 2: «μερικός» Java driver Type 3: «αμιγής» Java driver προς ενδιάμεσο λογισμικό (middleware) Β Type 4: «αμιγής» Java driver για άμεση πρόσβαση σε Β Οι «αμιγείς» λύσεις προσφέρουν ανώτερη απόδοση Τo JDK περιέχει µόνο έναν JDBC driver, το jdbc-odbc bridge Για Β που δεν υποστηρίζονται από το ODBC, χρειαζόμαστε έναν JDBC driver για τη συγκεκριμένη Β (συνήθως αυτοί drivers πωλούνται) Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 31

32 Τύποι JDBC drivers Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 32

33 Διασύνδεση Servlets µε Βάσεις Δεδομένων Τα Servlets όπως όλα τα αλλά προγράμματα Java μπορούν να συνδεθούν µε βάσεις δεδομένων µε την χρήση JDBC driver Τo JDBC είναι database-independent. Πχ µε αλλαγή 2 γραμμών κώδικα μπορούμε να αλλάξουμε τη βάση µας από Microsoft Access σε MySQL, χωρίς αλλαγή του υπόλοιπου κώδικα Κύριο πλεονέκτημα είναι ότι τα Servlets μπορούν να διατηρούν Open Database Connections, µε αποτέλεσμα να μπορούν πολλά requests να εξυπηρετηθούν από ένα µόνο κάλεσμα, σε αντίθεση µε τα CGI scripts Που βρίσκω τον κατάλληλο driver; H επιλογή εξαρτάται από την πλατφόρμα (λειτουργικό σύστημα) όπου τρέχει ο Servlet και από το RDBMS (Β ) µε την οποία θα επικοινωνήσει: Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 33

34 Εγκατάσταση JDBC driver Κατεβάζουμε (download) τον κατάλληλο JDBC driver (διαφορετικός για κάθε Βάση Δεδομένων) Για MySQL: Αποσυμπιέζουμε (unzip) το αρχείο που κατεβάσαμε σε κάποιο φάκελο (directory) «Φόρτωμα» JDBC driver: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Class.forName("postgresql.Driver"); Class.forName("oracle.jdbc.driver.OracleDriver"); Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 34

35 Διασύνδεση Servlets µε Βάσεις Δεδομένων: Μεθοδολογία import java.sql.*; Class.forName("org.gjt.mm.mysql.Driver"); String url = "jdbc:mysql://host:port/db"; π.χ. String url = "jdbc:mysql://localhost:3306/books"; con = DriverManager.getConnection(url, "root", ""); Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery("select "); while(rs.next()) { } Γενική σύνταξη ενός connection URL:<url> ::= jdbc:easysoft:[<server spec>]:[<database>]{:<attribute>=<value>}*<server spec> ::= //[<host name>][:<port>]/<database> ::= <dsn> DSN=<dsn> FILEDSN=<filedsn><DSNlessconnection string > Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 35

36 Εξαγωγή δεδομένων από βάση public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype(content_type); PrintWriter out = response.getwriter(); out.print("<html><head>"); out.print("</head><body>"); out.print("<code><pre>"); out.print("<font color=green>id\t Name\t\t Title\n</font>"); // debugging info long time1 = System.currentTimeMillis(); // connecting to database Connection con = null; Statement stmt = null; ResultSet rs = null; try { // Load the JDBC-ODBC Bridge driver Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // Get a connection to the database con = DriverManager.getConnection("jdbc:odbc:FPNWIND", "", ""); stmt = con.createstatement(); rs = stmt.executequery("select customerid, contactname, contacttitle FROM customers"); // displaying records Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 36

37 Εξαγωγή δεδομένων από βάση while(rs.next()) { out.print(rs.getobject(1).tostring() + "\t"); out.print(rs.getobject(2).tostring() + "\t"); out.print(rs.getobject(3).tostring() + "\n"); } } catch (SQLException e) { throw new ServletException("Servlet could not display records: " + e.tostring(), e); } catch (ClassNotFoundException e) { throw new ServletException("JDBC Driver not found.", e); } // debugging info long time2 = System.currentTimeMillis(); out.print("</pre></code>"); out.print("<p>search took : "); out.print( (time2 - time1) ); out.print(" ms.</p>"); out.print("<p\"><a href=\""); out.print(request.getrequesturi()); out.print("\">back</a></p>"); out.print("</body></html>"); out.close(); } Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 37

38 Εισαγωγή δεδομένων σε βάση public void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype(content_type); PrintWriter out = response.getwriter(); // ιάβασµα παραµέτρων String id = request.getparameter("id").trim(); String name = request.getparameter("name").trim(); String price = request.getparameter("price").trim(); Connection con = null; Statement stmt = null; ResultSet rs = null; try { // «Φόρτωµα» JDBC driver και σύνδεση στη Β Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con = DriverManager.getConnection("jdbc:odbc:FPNWIND", "", ""); String sql = "INSERT INTO Products(ProductID,ProductName, UnitPrice) VALUES (?,?,?)"; PreparedStatement ps = con.preparestatement(sql); stmt = con.createstatement(); // Εισαγωγή εγγραφής Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 38

39 Εισαγωγή δεδομένων σε βάση ps.setstring(1, id); ps.setstring(2, name); ps.setstring(3, price); ps.executeupdate(); } catch (SQLException e) { throw new ServletException("Servlet could not insert records: " + e.tostring(), e); } catch (ClassNotFoundException e) { throw new ServletException("JDBC Driver not found.", e); } out.print("<html><head>"); out.print("</head><body>"); out.print("<p> Data added </p>"); out.print("</body></html"); out.close(); } Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 39

Διαδικτυακές Εφαρμογές Ενότητα 5: Servlets και JSPs

Διαδικτυακές Εφαρμογές Ενότητα 5: Servlets και JSPs Διαδικτυακές Εφαρμογές Ενότητα 5: Servlets και JSPs Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Κατανεµηµένα Συστήµατα ΙΙ Μάθηµα Ελεύθερης Επιλογής, Εαρινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Κατανεµηµένα Συστήµατα ΙΙ Μάθηµα Ελεύθερης Επιλογής, Εαρινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Κατανεµηµένα Συστήµατα ΙΙ Μάθηµα Ελεύθερης Επιλογής, Εαρινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Ιωάννης Χατζηγιαννάκης Τρίτη, 22 Μαΐου, 2007 Αίθουσα ΑΠ7 Μελετάµε ένα κατανεµηµένο σύστηµα για την

Διαβάστε περισσότερα

Java Servlets: Principles and Programming 1/19

Java Servlets: Principles and Programming 1/19 Java Servlets: Principles and Programming 1/19 Περιεχόµενα Εισαγωγή Πλεονεκτήµατα των Servlet έναντι CGI Αρχιτεκτονική Servlet Παραλλαγές Τεχνολογίας Servlet Pure Servlets Server Side Includes (SSI) Java

Διαβάστε περισσότερα

Περιγραφή της εργασίας

Περιγραφή της εργασίας Προγραμματισμός Internet Εξάμηνο: Χειμερινό 2006-2007 Εργασία Εργαστηρίου Δευτέρα 11 Δεκ. 2006 Περιγραφή της εργασίας Μία εταιρία ηλεκτρονικού εμπορίου εμπορεύεται βιβλία πληροφορικής μέσω διαδικτύου.

Διαβάστε περισσότερα

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 8 η Διάλεξη: Προγραμματισμός στην πλευρά του εξυπηρετητή: Τεχνολογία Java Server Pages (JSP)

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 8 η Διάλεξη: Προγραμματισμός στην πλευρά του εξυπηρετητή: Τεχνολογία Java Server Pages (JSP) Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 8 η Διάλεξη: Προγραμματισμός στην πλευρά του εξυπηρετητή: Τεχνολογία Java Server Pages (JSP) Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών

Διαβάστε περισσότερα

Εισαγωγή στις Σελίδες Εξυπηρετητή Java Java Server Pages (JSP)

Εισαγωγή στις Σελίδες Εξυπηρετητή Java Java Server Pages (JSP) Εισαγωγή στις Σελίδες Εξυπηρετητή Java Java Server Pages (JSP) Τι είναι τα JSP ; Σελίδες Εξυπηρετητή σε Java Μέθοδος δημιουργίας δυναμικών σελίδων (σε HTML ή XML) Το κύριο έγγραφο είναι γραμμένο σε HTML

Διαβάστε περισσότερα

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 MySQL + Γλώσσα Προγραμματισμού Ευαγγελία Πιτουρά 1 Database drivers Για να χρησιμοποιήσουμε μια βάση δεδομένων από μια γλώσσα προγραμματισμού χρειαζόμαστε έναν driver. JDBC είναι το API για τη Java και

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ (Java) 6. Διαχείριση δεδομένων

Προγραμματισμός ΙΙ (Java) 6. Διαχείριση δεδομένων Προγραμματισμός ΙΙ (Java) 6. Διαχείριση δεδομένων Σχεσιακές Βάσεις Δεδομένων Τα δεδομένα μας οργανώνονται σε ένα ή περισσότερους πίνακες: σε στήλες και σειρές Κάθε πίνακας έχει ένα όνομα και αποτελείται

Διαβάστε περισσότερα

Βασικές Έννοιες Web Εφαρμογών

Βασικές Έννοιες Web Εφαρμογών ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Βασικές Έννοιες Web Εφαρμογών Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου Περιεχόμενα

Διαβάστε περισσότερα

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που 1 Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που μπορούμε να χρησιμοποιήσουμε σε μία JDBC εφαρμογή. Υπάρχει

Διαβάστε περισσότερα

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 MySQL + Γλώσσα Προγραμματισμού Ευαγγελία Πιτουρά 1 Database drivers Για να χρησιμοποιήσουμε μια βάση δεδομένων από μια γλώσσα προγραμματισμού χρειαζόμαστε έναν driver. JDBC είναι το API για τη Java και

Διαβάστε περισσότερα

ΜΑΘΗΜΑ: Διαδικτυακές Εφαρμογές

ΜΑΘΗΜΑ: Διαδικτυακές Εφαρμογές ΜΑΘΗΜΑ: Διαδικτυακές Εφαρμογές ΔΙΔΑΣΚΩΝ: Άγγελος Μιχάλας ΤΜΗΜΑ: Τμήμα Μηχανικών Πληροφορικής ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης CreativeCommons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Τα βασικά για Servlet

Τα βασικά για Servlet Τα βασικά για Servlet 1 Αναφορές Ηπαρουσίαση βασίστηκε Σε διαφάνειες και παραδείγματα από το τμήμα Servlet του Java WSDP από τον Stephanie Bodoff της Sun Microsystems Σε διαφάνειες από το τμήμα Sevlet

Διαβάστε περισσότερα

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol HTTP Protocol Web and HTTP Βασικά Συστατικά: Web Server Web Browser HTTP Protocol Web Servers (1/2) Ένα πρόγραμμα (λογισμικό) που έχει εγκατασταθεί σε ένα υπολογιστικό σύστημα (έναν ή περισσότερους υπολογιστές)

Διαβάστε περισσότερα

Πτυχιακή εργασία. Ανάπτυξη παιχνιδιού πολλών παικτών

Πτυχιακή εργασία. Ανάπτυξη παιχνιδιού πολλών παικτών Τεχνολογικό Εκπαιδευτικό Ίδρυµα Κρήτης Σχολή Τεχνολογικών Εφαρµογών Τµήµα Εφαρµοσµένης Πληροφορικής και Πολυµέσων Πτυχιακή εργασία Ανάπτυξη παιχνιδιού πολλών παικτών Τζεδάκης Χαράλαµπος (Α.Μ. 1658) Ροδινός

Διαβάστε περισσότερα

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο JDBC JDBC is a set of classes and interfaces written in Java that allows Java programs to send SQL statements to a database like Oracle JDBC

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής Εργαλεία και τεχνικές από την πλευρά του πελάτη Java Applet

Διαβάστε περισσότερα

Cloud Computing Database with Amazon SimpleDB

Cloud Computing Database with Amazon SimpleDB Cloud Computing Database with Amazon SimpleDB Σύνολο από virtual online servers Δέχονται requests από χρήστες Προσφέρουν σειρά από υπηρεσίες Οι χρήστες δεν χρειάζεται να έχουν την γνώση, την εμπειρία και

Διαβάστε περισσότερα

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Εισαγωγή-Σκοπός. Τρόποι δημιουργίας δυναμικών ιστοσελίδων. Dynamic Web Pages. Dynamic Web Page Development Using Dreamweaver. Τρόποι δημιουργίας δυναμικών

Διαβάστε περισσότερα

Διαδίκτυο και Εφαρμογές 2η Άσκηση Μετασχηματισμοί XML και XSL. Γιαννέλος Γιάννης ΑΜ: Μαρινέλλης Γιώργος ΑΜ:

Διαδίκτυο και Εφαρμογές 2η Άσκηση Μετασχηματισμοί XML και XSL. Γιαννέλος Γιάννης ΑΜ: Μαρινέλλης Γιώργος ΑΜ: Διαδίκτυο και Εφαρμογές 2η Άσκηση Μετασχηματισμοί XML και XSL Γιαννέλος Γιάννης ΑΜ:03108088 Μαρινέλλης Γιώργος ΑΜ:03108680 18 Μαΐου 2012 Εισαγωγή Το αντικείμενο της άσκησης είναι η χρήση της τεχνολογίας

Διαβάστε περισσότερα

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 12η Διάλεξη: Επανάληψη / Ανακεφαλαίωση

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 12η Διάλεξη: Επανάληψη / Ανακεφαλαίωση Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 12η Διάλεξη: Επανάληψη / Ανακεφαλαίωση Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 1 Η αρχιτεκτονική

Διαβάστε περισσότερα

Πληροφορίες για το μάθημα

Πληροφορίες για το μάθημα Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Πληροφορίες για το μάθημα Δρ. Απόστολος Γκάμας Διδάσκων (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Αντικείμενο Μαθήματος

Διαβάστε περισσότερα

Τεχνικός Εφαρμογών Πληροφορικής

Τεχνικός Εφαρμογών Πληροφορικής Τεχνικός Εφαρμογών Πληροφορικής ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΙΣΑΓΩΓΗ Εξάμηνο: 2014Β Διδάσκουσα: Ηλεκτρονική Τάξη: Κανελλοπούλου Χριστίνα_ΠΕ19 Πληροφορικής Περιεχόμενα 1.Τι είναι η Php; 2.Πως γίνετε η γραφή

Διαβάστε περισσότερα

Κεφάλαιο 1. Βασικά Στοιχεία της Java... 13

Κεφάλαιο 1. Βασικά Στοιχεία της Java... 13 Περιεχόμενα Πρόλογος... 5 Κεφάλαιο 1. Βασικά Στοιχεία της Java.... 13 Τύποι Δεδομένων, Μεταβλητές και Πίνακες... 13 Τελεστές και Δομές Επιλογής Επανάληψης... 16 Κλάσεις και Μέθοδοι... 21 Πακέτα και Διασυνδέσεις...

Διαβάστε περισσότερα

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Εισαγωγή

Διαβάστε περισσότερα

Τεχνολογίες Διαδικτύου. Server Side Scripting I PHP

Τεχνολογίες Διαδικτύου. Server Side Scripting I PHP Τεχνολογίες Διαδικτύου Server Side Scripting I PHP Εισαγωγή PHP PHP:Hypertext Preprocessor Mηχανή που συνοδεύει web servers όπως ο IIS και ο Apache Η PHP είναι γλώσσα προγραμματισμού για web εφαρμογές

Διαβάστε περισσότερα

Περιεχόμενα ΕΥΧΑΡΙΣΤΙΕΣ... 23 ΕΙΣΑΓΩΓΗ... 25. Σχετικά με τους συγγραφείς...24

Περιεχόμενα ΕΥΧΑΡΙΣΤΙΕΣ... 23 ΕΙΣΑΓΩΓΗ... 25. Σχετικά με τους συγγραφείς...24 Περιεχόμενα ΕΥΧΑΡΙΣΤΙΕΣ... 23 Σχετικά με τους συγγραφείς...24 ΕΙΣΑΓΩΓΗ... 25 Ποιοι πρέπει να διαβάσουν το βιβλίο...27 More Servlets and JavaServer Pages...27 Στοιχεία που κάνουν το βιβλίο αυτό να ξεχωρίζει...28

Διαβάστε περισσότερα

NetBeans και σχετικά προγράμματα. Κακαρόντζας Γεώργιος Κέντρο Αριστείας Ανοιχτού Λογισμικού ΑΠΘ 1ο Θερινό Σχολείο Κώδικα

NetBeans και σχετικά προγράμματα. Κακαρόντζας Γεώργιος Κέντρο Αριστείας Ανοιχτού Λογισμικού ΑΠΘ 1ο Θερινό Σχολείο Κώδικα NetBeans και σχετικά προγράμματα Κακαρόντζας Γεώργιος Κέντρο Αριστείας Ανοιχτού Λογισμικού ΑΠΘ 1ο Θερινό Σχολείο Κώδικα Ατζέντα Εγκατάσταση προγραμμάτων Java NetBeans MySQL Δημιουργία απλής εφαρμογής διαδικτύου

Διαβάστε περισσότερα

Σύστημα για on-line δημοπρασίες & πωλήσεις

Σύστημα για on-line δημοπρασίες & πωλήσεις Τ.Ε.Ι. ΚΡΗΤΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Σύστημα για on-line δημοπρασίες & πωλήσεις Γρηγοράκης Φώτιος Α.Μ. 3040 Χαμηλάκης Εμμανουήλ Α.Μ. 3111 Μασέλης Αλέξανδρος Α.Μ. 3019 Επιβλέπων

Διαβάστε περισσότερα

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης Μικρομεσαίες Επιχειρήσεις και Καινοτομία Ηλεκτρονικό Εμπόριο H δυνατότητα των καταναλωτών και των εμπορικών καταστημάτων να κάνουν

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 10η Διάλεξη: Web Services

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 10η Διάλεξη: Web Services Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 10η Διάλεξη: Web Services Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Ορισμός των Web Services

Διαβάστε περισσότερα

Διαδικτυακές Εφαρμογές Ενότητα 7: Προσπέλαση ΒΔ με το JDBC

Διαδικτυακές Εφαρμογές Ενότητα 7: Προσπέλαση ΒΔ με το JDBC Διαδικτυακές Εφαρμογές Ενότητα 7: Προσπέλαση ΒΔ με το JDBC Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Σύστημα διαχείρισης περιεχομένου (Content Management System)

Σύστημα διαχείρισης περιεχομένου (Content Management System) Τι είναι ένα CMS Σύστημα διαχείρισης περιεχομένου (Content Management System) Λογισμικό το οποίο χρησιμοποιείται για την οργάνωση, ταξινόμηση και αρχειοθέτηση πληροφορίας Χρησιμοποιούνται για τη δημιουργία

Διαβάστε περισσότερα

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα Η Υλοποίηση της Επικοινωνίας στα Κατανεµηµένα Συστήµατα ιαφάνειες στα πλαίσια του µαθήµατος: Κατανεµηµένα Συστήµατα Ε Εξάµηνο, Τµήµα Πληροφορικής και Τεχνολογίας Υπολογιστών, ΤΕΙ Λαµίας Πέτρος Λάµψας 2002

Διαβάστε περισσότερα

CORBA. Αρχιτεκτονική και 3-tier 3. εφαρµογές. Β. Φλώρος. Μαρτάκος. Τµήµα Πληροφορικής και Τηλεπικοινωνιών Εθνικό και Καποδιστιακό Πανεπιστήµιο Αθηνών

CORBA. Αρχιτεκτονική και 3-tier 3. εφαρµογές. Β. Φλώρος. Μαρτάκος. Τµήµα Πληροφορικής και Τηλεπικοινωνιών Εθνικό και Καποδιστιακό Πανεπιστήµιο Αθηνών CORBA Αρχιτεκτονική και 3-tier 3 εφαρµογές Β. Φλώρος. Μαρτάκος Συνεργάτης ερευνητής Επικ. Καθηγητής Τµήµα Πληροφορικής και Τηλεπικοινωνιών Εθνικό και Καποδιστιακό Πανεπιστήµιο Αθηνών Τι Είναι; CORBA =

Διαβάστε περισσότερα

Τι είναι η Spring. Η Spring είναι ένα ελεύθερο (open source) περιβάλλον εργασίας για εφαρμογές Java. Μπορεί να περιγραφεί ως:

Τι είναι η Spring. Η Spring είναι ένα ελεύθερο (open source) περιβάλλον εργασίας για εφαρμογές Java. Μπορεί να περιγραφεί ως: Spring Framework Τι είναι η Spring Η Spring είναι ένα ελεύθερο (open source) περιβάλλον εργασίας για εφαρμογές Java. Μπορεί να περιγραφεί ως: Ελαφρύς τμηματοκεντρικός περιέκτης ο οποίος εφαρμόζει παθητική

Διαβάστε περισσότερα

8ο Πανελλήνιο Συμποσιο Ωκεανογραφίας & Αλιείας 637

8ο Πανελλήνιο Συμποσιο Ωκεανογραφίας & Αλιείας 637 8ο Πανελλήνιο Συμποσιο Ωκεανογραφίας & Αλιείας 637 Υλοποιηση νεων τεχνολογιων (Web GIS, Application Servers) για τη δυναμικη προσβαση μεσω διαδικτυου στη βαση δεδομενων του Ελληνικου Εθνικου Κεντρου Ωκεανογραφικων

Διαβάστε περισσότερα

Εισαγωγή στην Ανάπτυξη Εφαρμογών Web με Χρήση της Python, του Apache και του mod_python

Εισαγωγή στην Ανάπτυξη Εφαρμογών Web με Χρήση της Python, του Apache και του mod_python Web Development με Python Εισαγωγή στην Ανάπτυξη Εφαρμογών Web με Χρήση της Python, του Apache και του mod_python Βασίλης Παπαβασιλείου , Κοινότητα Ελεύθερου Λογισμικού ΕΜΠ Python

Διαβάστε περισσότερα

Social Network : Programming on FACEBOOK

Social Network : Programming on FACEBOOK Social Network : Programming on FACEBOOK Συντελεστές: Παύλος Τούλουπος Ευθυμία Παπαδοπούλου Ξάνθη Μάρκου Κοινωνικά Δίκτυα Κοινωνικό δίκτυο προέρχεται από την ψυχολογία αφορά μια κοινωνική δομή ατόμων τα

Διαβάστε περισσότερα

ΚΑΤΑΝΕΜΗΜΕΝΟ ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΣΥΣΚΕΥΩΝ ΑΣΗΜΑΚΟΠΟΥΛΟΣ ΣΩΤΗΡΗΣ ΑΜ : 3021

ΚΑΤΑΝΕΜΗΜΕΝΟ ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΣΥΣΚΕΥΩΝ ΑΣΗΜΑΚΟΠΟΥΛΟΣ ΣΩΤΗΡΗΣ ΑΜ : 3021 ΚΑΤΑΝΕΜΗΜΕΝΟ ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΣΥΣΚΕΥΩΝ ΑΣΗΜΑΚΟΠΟΥΛΟΣ ΣΩΤΗΡΗΣ ΑΜ : 3021 18 Οκτωβρίου 2006 Η εργασία είχε σαν στόχο να δημιουργηθεί ένα κατανεμημένο σύστημα ελέγχου συσκευών μιας κουζίνας.συγκεκριμένα

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 13 Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 1.1 Εισαγωγή... 16 1.2 Διαδίκτυο και Παγκόσμιος Ιστός Ιστορική αναδρομή... 17 1.3 Αρχές πληροφοριακών συστημάτων

Διαβάστε περισσότερα

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP.

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP. Εργαστήριο #5 Τι πρέπει να έχετε ολοκληρώσει από το προηγούμενο εργαστήριο. Θα πρέπει να ξέρετε να εισάγετε ένα βασικό πρόγραμμα PHP μέσα σε μια ιστοσελίδα, τη χρήση της echo και τον χειρισμό απλών μεταβλητών

Διαβάστε περισσότερα

Εφαρµογές διαδικτύου µε PHP

Εφαρµογές διαδικτύου µε PHP Εφαρµογές διαδικτύου µε PHP Σταύρος Πολυβίου Αρχιτεκτονική τριών επιπέδων (three-tier architecture) SQL HTTP request Αποτελέσµατα (πίνακες) PHP HTML Σύστηµα διαχείρισης δεδοµένων (Database Management System)

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ Κεφάλαιο 2. Το περιβάλλον του παγκόσμιου Ιστού Επιμέλεια: Καραγιάννης Σπύρος Καθηγητής ΠΕ19 Πλεονεκτήματα παγκόσμιου Ιστού Εξυπηρετητής Ιστού & Ιστοσελίδες Κύριες

Διαβάστε περισσότερα

Java Servlets. Εισαγωγή. Σταύρος Πολυβίου

Java Servlets. Εισαγωγή. Σταύρος Πολυβίου Java Servlets Σταύρος Πολυβίου Εισαγωγή Ένας από τους πρώτους τρόπους δηµιουργίας δυναµικών σελίδων είναι το Common Gateway Interface (CGI). Ο web server καλεί προγράµµατα τα οποία εκτελούνται στον εξυπηρετητή

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Τεχνολογίες και Εφαρμογές Διαδικτύου

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Τεχνολογίες και Εφαρμογές Διαδικτύου ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Τυπικά Χαρακτηριστικά Εφαρμογών Διαδικτύου Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου

Διαβάστε περισσότερα

Αντικειµενοστρεφής Προγραµµατισµός

Αντικειµενοστρεφής Προγραµµατισµός 16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη

Διαβάστε περισσότερα

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Βασικές Έννοιες Διαδικτύου Wordpress & Κοινωνικά Δίκτυα (Part 1) Σταύρος Καουκάκης Ευτύχιος Βαβουράκης 1 Περιεχόμενα Γενικές Έννοιες Διαδικτύου Η αρχιτεκτονική του Web Συστήματα Διαχείρισης

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ WEB ΕΦΑΡΜΟΓΩΝ ΜΕ JAVA SERVLETS

ΑΝΑΠΤΥΞΗ WEB ΕΦΑΡΜΟΓΩΝ ΜΕ JAVA SERVLETS Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΑΝΑΠΤΥΞΗ WEB ΕΦΑΡΜΟΓΩΝ ΜΕ JAVA SERVLETS Μαριάννα Καραμάνη ΦΕΒΡΟΥΑΡΙΟΣ 2009 ΕΠΟΠΤΗΣ ΚΑΘΗΓΗΤΗΣ Παπαδημητρίου Αστέριος Εκπονηθείσα

Διαβάστε περισσότερα

Φορολογική Βιβλιοθήκη. Θανάσης Φώτης Προγραμματιστής Εφαρμογών

Φορολογική Βιβλιοθήκη. Θανάσης Φώτης Προγραμματιστής Εφαρμογών Φορολογική Βιβλιοθήκη Θανάσης Φώτης Προγραμματιστής Εφαρμογών Το έργο Η φορολογική βιβλιοθήκη πρόκειται για ένα έργο που φιλοδοξεί να αποτελέσει σημαντικό βοήθημα για τον επαγγελματία λογιστή και όχι μόνο.

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE) Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE) NetBeans, Πρώτα παραδείγματα ανάπτυξης Java εφαρμογών Γαβαλάς Δαμιανός dgavalas@aegean.gr Στόχοι

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE) Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE) NetBeans, Πρώτα παραδείγματα ανάπτυξης Java εφαρμογών Στόχοι εργαστηρίου Εξοικείωση με τις βασικές

Διαβάστε περισσότερα

ιαδικτυακές Εφαρµογές

ιαδικτυακές Εφαρµογές ιαδικτυακές Εφαρµογές µε Java2 Στοιχεία ικτυακής Επικοινωνίας Όροι IP address 32bit αριθµός που χρησιµοποιείται από το Internet Protocol για την παράδοση δεδοµένων στο σωστό υπολογιστή στο δίκτυο. Port

Διαβάστε περισσότερα

Εισαγωγή στη J2EE. Μέρος 2

Εισαγωγή στη J2EE. Μέρος 2 Εισαγωγή στη J2EE Μέρος 2 JNDI Java Naming and Directory Interface Χρησιμοποιείταιαπότιςεφαρμογέςπου βασίζονταισε J2EE γιατον μεταφερτό προσδιορισμό πόρωνκαιαντικειμένων Οιεφαρμογές χρησιμοποιούν συμβολικά

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη

Διαβάστε περισσότερα

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Σε ένα πρόγραμμα κατά την εκτέλεση του ένα ερώτημα SQL μπορεί δυναμικά να παίρνει διαφορετικές παραμέτρους μπορεί να πάρει πολλές παραμέτρους oι παράμετροι δηλώνονται με? Στις παραμέτρους

Διαβάστε περισσότερα

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης Remote Method Invocation (RMI) Εισαγωγή Η αποµακρυσµένη επίκληση µεθόδων (RMI), επιτρέπει σε

Διαβάστε περισσότερα

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού

Διαβάστε περισσότερα

HelloApplet. Παύλος Εφραιμίδης Java Applets 1

HelloApplet. Παύλος Εφραιμίδης Java Applets 1 HelloApplet Παύλος Εφραιμίδης pefraimi@ee.duth.gr Java Applets 1 Applets Τα Applets είναι προγράμματα Java που μπορούν να εκτελεστούν μέσα στο περιβάλλον ενός Browser (Firefox, Internet Explorer, Netscape,

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Η εξέλιξη των γλωσσών προγραμματισμού Η εξέλιξη των γλωσσών προγραμματισμού είναι μια διαδικασία αφαίρεσης Στην αρχή ένα πρόγραμμα ήταν μια

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #1 η : Εισαγωγή: Λογισμικό, Γλώσσες Προγραμματισμού, Java

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #1 η : Εισαγωγή: Λογισμικό, Γλώσσες Προγραμματισμού, Java Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #1 η : Εισαγωγή: Λογισμικό, Γλώσσες Προγραμματισμού, Java Γαβαλάς Δαμιανός dgavalas@aegean.gr Στόχοι μαθήματος Διάκριση και κατανόηση των υφιστάμενων

Διαβάστε περισσότερα

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~ Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~ Στελιος Σφακιανάκης Εαρινό 2019 Αυτή η εργασία χορηγείται με άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 1 Server-side programming

Διαβάστε περισσότερα

Cloud Computing with Google and Microsoft. Despoina Trikomitou Andreas Diavastos Class: EPL425

Cloud Computing with Google and Microsoft. Despoina Trikomitou Andreas Diavastos Class: EPL425 Cloud Computing with Google and Microsoft Despoina Trikomitou Andreas Diavastos Class: EPL425 Σχεδιάγραμμα Εισαγωγή Τεχνολογίες Cloud Computing Περιγραφή Εργασίας Επιτεύγματα Εργασίας Συμπεράσματα Cloud

Διαβάστε περισσότερα

Εκπαιδευτικό Υλικό για την. «Βάση σχολικών μονάδων ΠΣΔ»

Εκπαιδευτικό Υλικό για την. «Βάση σχολικών μονάδων ΠΣΔ» ΕΠ ΚτΠ Χρηματοδότηση: Ευρωπαϊκό Κοινωνικό Ταμείο: 75% Εθνικοί Πόροι: 25% Εκπαιδευτικό Υλικό για την «Βάση σχολικών μονάδων ΠΣΔ» Ανάδοχος: Πανεπιστήμιο Αιγαίου Μάρτιος 2008 Αναπτύχθηκε στο πλαίσιο υλοποίησης

Διαβάστε περισσότερα

11β Δομικά πρότυπα σχεδίασης

11β Δομικά πρότυπα σχεδίασης 11β Δομικά πρότυπα σχεδίασης Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Δομικά πρότυπα

Διαβάστε περισσότερα

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth. Το πρόγραμμα HelloWorld.java Σχόλια στη Java HelloWorld Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Το πρόγραμμα HelloWorld 1 Java Το πρόγραμμα HelloWorld 2 Σχόλια στη Java ΗγλώσσαJava υποστηρίζει

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java

Διαβάστε περισσότερα

10 η Διάλεξη Python Βάσεις δεδομένων στη python

10 η Διάλεξη Python Βάσεις δεδομένων στη python 10 η Διάλεξη Python Βάσεις δεδομένων στη python ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Η standard διεπαφη της python για βάσεις δεδομένων βασίζεται στο DB-API Python Database API υποστηρίζει ένα ευρύ φάσμα βάσεων δεδομένων

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 11: Χειρισμός Σφαλμάτων Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΕΞΑΙΡΕΣΕΙΣ ΚΑΙ Ο ΧΕΙΡΙΣΜΟΣ ΤΟΥΣ

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΕΞΑΙΡΕΣΕΙΣ ΚΑΙ Ο ΧΕΙΡΙΣΜΟΣ ΤΟΥΣ Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΕΞΑΙΡΕΣΕΙΣ ΚΑΙ Ο ΧΕΙΡΙΣΜΟΣ ΤΟΥΣ EXCEPTIONS & EXCEPTION HANDLING Εξαιρέσεις (Exceptions) Γνωμικό της Μηχανικής Λογισμικού: το 80% της δουλειάς των μηχανικών

Διαβάστε περισσότερα

Προβλήµατα CGI, SSI CGI: Απόδοση Έναρξη νέας διαδικασίας για εκτέλεση (2 διαδικασιών σε περίπτωση διερµηνευόµενης γλώσσας, π.χ. perl). Κοινές διαδικασ

Προβλήµατα CGI, SSI CGI: Απόδοση Έναρξη νέας διαδικασίας για εκτέλεση (2 διαδικασιών σε περίπτωση διερµηνευόµενης γλώσσας, π.χ. perl). Κοινές διαδικασ Αρχιτεκτονική προηγµένων web εφαρµογών Σαράντης Πασκαλής Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 1 Προβλήµατα CGI, SSI CGI: Απόδοση Έναρξη νέας διαδικασίας για εκτέλεση (2 διαδικασιών

Διαβάστε περισσότερα

JAVA TUTORIAL ΠΕΡΙΕΧΟΜΕΝΑ. ΚΕΦΑΛΑΙΟ 1. Τί κάνει τη Java να ξεχωρίζει; Εγκαθιστώντας τη Java

JAVA TUTORIAL ΠΕΡΙΕΧΟΜΕΝΑ. ΚΕΦΑΛΑΙΟ 1. Τί κάνει τη Java να ξεχωρίζει; Εγκαθιστώντας τη Java JAVA TUTORIAL Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Εργαστήριο Παράλληλης Κατανεμημένης Επεξεργασίας ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 1. Τί κάνει τη Java να ξεχωρίζει; Εγκαθιστώντας τη Java ΚΕΦΑΛΑΙΟ

Διαβάστε περισσότερα

Java & Java EE 1o Μέρος: Servlets και Java Server Pages. Κακαρόντζας Γεώργιος

Java & Java EE 1o Μέρος: Servlets και Java Server Pages. Κακαρόντζας Γεώργιος Java & Java EE 1o Μέρος: Servlets και Java Server Pages Κακαρόντζας Γεώργιος Διάκριση μεταξύ Web και πλήρους προφίλ Στη Java EE υπάρχει η διάκριση μεταξύ web προφίλ και πλήρους προφίλ. Το Web προφίλ περιλαμβάνει

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP Αντώνης Χρυσόπουλος Κατερίνα Κυπριώτη Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP Για να γίνουμε όλοι καλύτεροι άνθρωποι Τι έχει το μενού σήμερα??? 1. Τι είναι η PHP??? Τι είναι

Διαβάστε περισσότερα

Διαδικτυακές Εφαρμογές. Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Διαδικτυακές Εφαρμογές. Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ Διαδικτυακές Εφαρμογές Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης

Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης Αξιολόγηση Υπηρεσιών ιαδικτύου µέσω Περιπτώσεων Μελέτης Κωστής Αϊβαλής Μηχανικός Πληροφορικής TU-Berlin 2/5/2008 ΕΑΠ-ΓΤΠ61-Κωστής Αϊβαλής 1 Εισαγωγή Η ταχύτητα επεξεργασίας των εφαρµογών διαδικτυακών υπηρεσιών

Διαβάστε περισσότερα

Java & Java EE 2o Μέρος: Διασφάλιση ευκολίας τροποποίησης με το πρότυπο MVC (Model View Controller) Κακαρόντζας Γεώργιος

Java & Java EE 2o Μέρος: Διασφάλιση ευκολίας τροποποίησης με το πρότυπο MVC (Model View Controller) Κακαρόντζας Γεώργιος Java & Java EE 2o Μέρος: Διασφάλιση ευκολίας τροποποίησης με το πρότυπο MVC (Model View Controller) Κακαρόντζας Γεώργιος Model-View-Controller (MVC) Όπως αναφέραμε ήδη σε εφαρμογές JEE οι JSPs χρησιμοποιούνται

Διαβάστε περισσότερα

Lecture 3: Introduction III

Lecture 3: Introduction III Department of Computer Science University of Cyprus EPL342 Databases Lecture 3: Introduction III System Concepts and Architecture (Chapters 2.2-2.7, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

Διαβάστε περισσότερα

ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός (Object-oriented programming)

ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός (Object-oriented programming) ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός (Object-oriented programming) Πληροφορίες Μαθήματος Διαλέξεις Δευτέρα, Πέμπτη 10:30-12:00 Κτήριο ΘΕΕ01, Αίθουσα 202 Εργαστήριο Τετάρτη 10:30-12:00, Κτήριο ΘΕΕ01,

Διαβάστε περισσότερα

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Στην Java εκτός από τις κλασικές εφαρμογές μπορούμε να δημιουργήσουμε και άλλους δύο τύπους εφαρμογών: τα Applets, τα οποία τρέχουν μέσα από κάποιο φυλλομετρητή (browser) και τρέχουν

Διαβάστε περισσότερα

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 3: Server Side Scripting II PHP & MySQL

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 3: Server Side Scripting II PHP & MySQL Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 3: Server Side Scripting II PHP & MySQL Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής Σκοποί ενότητας Σκοπός της παρούσας

Διαβάστε περισσότερα

Ανάπτυξη διαδικτυακών εφαρμογών με την Python Το εργαλείο Flask

Ανάπτυξη διαδικτυακών εφαρμογών με την Python Το εργαλείο Flask Ανάπτυξη διαδικτυακών εφαρμογών με την Python Το εργαλείο Flask Το Flask είναι ένα micro περιβάλλον για την ανάπτυξη διαδικτυακών εφαρμογών με βάση τη γλώσσα Python. Micro σημαίνει ότι περιλαμβάνει τις

Διαβάστε περισσότερα

Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795

Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795 Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795 Περιεχόμενα Εισαγωγή Εγκατάσταση Δημιουργία νέου project Java Editor Perspectives Δημιουργία source folders Προσθήκη νέου αρχείου στο project Εισάγωντας

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού Τύπος Α

Τεχνολογία Λογισμικού Τύπος Α Ν. Πεταλίδης Τύπος Α Ιανουάριος 2016 Τεχνολογία Λογισμικού Τύπος Α Οδηγίες Αρνητική βαθμολογία δεν υπάρχει Τα θέματα επιστρέφονται Φροντίστε να είστε σύντομοι και περιεκτικοί στις απαντήσεις σας Τεχνολογία

Διαβάστε περισσότερα

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αυγερινός Αραμπατζής avi@ee.duth.gr www.aviarampatzis.com Βάσεις Δεδομένων Stored Procedures 1 Stored Routines (1/2) Τμήματα κώδικα τα

Διαβάστε περισσότερα

ιαδικτυακές Εφαρµογές Πραγµατικού Χρόνου µε Java

ιαδικτυακές Εφαρµογές Πραγµατικού Χρόνου µε Java ιαδικτυακές Εφαρµογές Πραγµατικού Χρόνου µε Java Java Media Framework Ηβιβλιοθήκη JMF Εγκαθίσταται επιπρόσθετα στη Java Αναπαραγωγή πολυµέσων Αποστολή και λήψη πολυµέσων σε πραγµατικό χρόνο Γραφικά αντικείµενα

Διαβάστε περισσότερα

Injection Attacks. Protocol Host FilePath. field1=valuex&field2=valuey. Query String. Web server HTTP GET.

Injection Attacks. Protocol Host FilePath.  field1=valuex&field2=valuey. Query String. Web server HTTP GET. Πως γίνεται η πρόσβαση σήμερα; Το user input περνάει από ένα server-side script μέσω HTTP methods όπως POST/GET Το αίτημα επεξεργάζεται Ανάλογα ανοίγει πρόσβαση στη βάση Query database και ανάκτηση results

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 23: Εισαγωγή στην Δικτύωση (Networking) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Διευθύνσεις και Θύρες - Sockets και ServerSockets Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ233 Αντικειμενοστρεφής

Διαβάστε περισσότερα

Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται στο δίκτυο είναι είτε πελάτες (clients) είτε εξυπηρέτες (servers). Εξυπηρέτης: παθητικός,

Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται στο δίκτυο είναι είτε πελάτες (clients) είτε εξυπηρέτες (servers). Εξυπηρέτης: παθητικός, Αρχιτεκτονική web εφαρµογών Σαράντης Πασκαλής Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 1 Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται στο δίκτυο είναι είτε πελάτες

Διαβάστε περισσότερα

Δυναμικές Ιστοσελίδες Προγραμματισμός στην πλευρά του client

Δυναμικές Ιστοσελίδες Προγραμματισμός στην πλευρά του client ΕΣΔ516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Προγραμματισμός στην πλευρά του client Περιεχόμενα Περιεχόμενα Η Διεπίπέδη αρχιτεκτονική (2-tier architecture) Η τριεπίπεδη αρχιτεκτονική (3-tier architecture)

Διαβάστε περισσότερα

Γενικά (για τις γραπτές εξετάσεις)

Γενικά (για τις γραπτές εξετάσεις) Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #12 η : Επανάληψη Γαβαλάς Δαμιανός dgavalas@aegean.gr Γενικά (για τις γραπτές εξετάσεις) Δεν υπάρχει αυστηρά ορισμένη «ύλη εξετάσεων» (καθώς δεν έχετε

Διαβάστε περισσότερα

Εισαγωγή στις Βάσεις Δεδομζνων II

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Εισαγωγή στη LibreOffice Base Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες

Διαβάστε περισσότερα

2η Προγραµµατιστική Εργασία

2η Προγραµµατιστική Εργασία Προγραµµατισµός ικτύων (Ε-01) 2η Προγραµµατιστική Εργασία Επέκταση ϐασικής ϐιβλιοθήκης δικτυακού προγραµµατισµού και χρήση της για την υλοποίηση παράλληλου εξυπηρετητή πρωτοκόλλου µεταφοράς αρχείων ιδάσκων

Διαβάστε περισσότερα

, Evaluation of a library against injection attacks

, Evaluation of a library against injection attacks THE INSTITUTE OF ELECTRONICS, INFMATION AND COMMUNICATION ENGINEERS TECHNICAL REPT OF IEICE., () 211 8588 4 1 1 221 0835 2 14 1 E-mail: okubo@jp.fujitsu.com, tanaka@iisec.ac.jp Web,,,, Evaluation of a

Διαβάστε περισσότερα

ΑΠΟΘΕΤΗΡΙΟ ΕΦΑΡΜΟΓΩΝ ΥΠΠΕΘ ΚΑΙ ΕΠΟΠΤΕΥΟΜΕΝΩΝ ΦΟΡΕΩΝ (git.minedu.gov.gr)

ΑΠΟΘΕΤΗΡΙΟ ΕΦΑΡΜΟΓΩΝ ΥΠΠΕΘ ΚΑΙ ΕΠΟΠΤΕΥΟΜΕΝΩΝ ΦΟΡΕΩΝ (git.minedu.gov.gr) ΑΠΟΘΕΤΗΡΙΟ ΕΦΑΡΜΟΓΩΝ ΥΠΠΕΘ ΚΑΙ ΕΠΟΠΤΕΥΟΜΕΝΩΝ ΦΟΡΕΩΝ (git.minedu.gov.gr) Ι. ιαχείριση Εκδόσεων Πηγαίου Κώδικα ΙΙ. Ανοικτός Κώδικας ΙΙΙ. Εκτενης Τεκμηρίωση IV. Agile Μεθοδολογία Ομάδα Ανάπτυξης Λογισμικού

Διαβάστε περισσότερα

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΥΛΟΠΟΙΗΣΗ ΔΙΑΔΙΚΤΥΑΚΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ SUPER MARKET (e-shop), ΜΕ ΧΡΗΣΗ ΤΩΝ ΤΕΧΝΟΛΟΓΙΩΝ JAVA (JSP, servlets, JDBC) & MYSQL

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΥΛΟΠΟΙΗΣΗ ΔΙΑΔΙΚΤΥΑΚΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ SUPER MARKET (e-shop), ΜΕ ΧΡΗΣΗ ΤΩΝ ΤΕΧΝΟΛΟΓΙΩΝ JAVA (JSP, servlets, JDBC) & MYSQL ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΡΙΣΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ: ΥΛΟΠΟΙΗΣΗ ΔΙΑΔΙΚΤΥΑΚΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ SUPER MARKET

Διαβάστε περισσότερα

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 5 ο Α. Ύλη εργαστηρίου 5.1 Έννοιες αντικειμενοστραφούς προγραμματισμού,

Διαβάστε περισσότερα

Ανάπτυξη Υπηρεσίας Τηλεκπαίδευσης σε ΙP Δίκτυα. Υλοποίηση Σύγχρονης Τηλεκπαίδευσης

Ανάπτυξη Υπηρεσίας Τηλεκπαίδευσης σε ΙP Δίκτυα. Υλοποίηση Σύγχρονης Τηλεκπαίδευσης Ανάπτυξη Υπηρεσίας Τηλεκπαίδευσης σε ΙP Δίκτυα. Υλοποίηση Σύγχρονης Τηλεκπαίδευσης Σπουδαστές: Μιχαήλ Μιχάλης ΑΜ:5089 Αναγνωστόπουλος Σπύρος ΑΜ:3692 Υπεύθυνος καθηγητής: Αναλυτή Κατερίνα Άρτα 2006 E- learning

Διαβάστε περισσότερα

Σύγχρονα εργαλεία και τεχνολογίες ανάπτυξης I.S. Το Microsoft.NET

Σύγχρονα εργαλεία και τεχνολογίες ανάπτυξης I.S. Το Microsoft.NET Σύγχρονα εργαλεία και τεχνολογίες ανάπτυξης I.S. Το Microsoft.NET Δημήτριος Παπαδημητρίου Παπαδημητρίου Δημήτριος - MIS - Παν.Μακεδονίας 1 Microsoft.NET Πλατφόρμα επικοινωνίας ανθρώπων, συστημάτων και

Διαβάστε περισσότερα