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

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

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

Transcript

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

2 Πρόλογος Πρόλογος Αντικείμενο της παρούσας εργασίας είναι η διεπαφή του χρήστη με το Διαδύκτιο και κυρίως η ανάπτυξη διαδυκτιακών εφαρμογών με χρήση Java Servlets. Γίνεται αναλυτική παρουσίαση της τεχνολογίας και της αρχιτεκτονικής Servlet, των οποίων η κατανόηση είναι σημαντική για όσους ενδιαφέρονται για τον προγραμματισμό των Servlets. Εισχωρεί στο εσωτερικό τους για να δείξει τα στοιχεία του περιβάλλοντος τους και την διαμόρφωσή τους. Παρουσιάζει επίσης τις τάξεις, τα interfaces, τα πακέτα και τα χαρακτιριστικά τους που είναι σημαντικά για τον προγραμματισμό Servlet. Σελίδα 2 από 109

3 Πτυχιακή Εργασία της Μαριάννας Καραμάνη Περιεχόμενα Πρόλογος...2 Περιεχόμενα Εισαγωγή Τισυμβαίνειστηβιομηχανία Το Πρωτόκολλο Μεταφοράς Υπερκειμένου (Hypertext Transfer Protocol-HTTP) HTTP Αιτήσεις Μέθοδοι HTTP αίτησης HTTP Απαντήσεις Αρχιτεκτονική Συστήματος Η Αρχιτεκτονική Two-Tier (δύο βαθμίδων) Η Αρχιτεκτονική Three-Tier (τριών βαθμίδων) Η Αρχιτεκτονική n-tier Java 2, Enterprise Edition (J2EE) Αναπτύσσοντας Διαδικτυακές Εφαρμογές με Java Η Τεχνολογία Servlet Τα Πλεονεκτήματα των Servlets Αρχιτεκτονική Servlet εφαρμογών Πως δουλεύει ένας Servlet Ο Tomcat Servlet Container Έξι Βήματα για να Τρέξετε τον Πρώτο σας Servlet Βήμα 1: Δημιουργήστε μια δομή καταλόγου κάτω απ τον Tomcat Βήμα 2: Γράψτε τον πηγαίο κώδικα του servlet Βήμα 3: Μεταγλωττίστε τον πηγαίο κώδικά σας Βήμα 4: Δημιουργήστε έναν deployment descriptor Βήμα 5: Τρέξτε τον Tomcat Βήμα 6: Καλέστε τον servlet σας από έναν web browser Σύνοψη Μέσα στους Servlets Το Πακέτο javax.servlet...37 Σελίδα 3 από 109

4 Περιεχόμενα 3.2 Κύκλος Ζωής Ενός Servlet Η Μέθοδος init() Η Μέθοδος service() Η Μέθοδος destroy() Επίδειξη του Κύκλου Ζωής ενός Servlet Απόκτηση Πληροφοριών Διαμόρφωσης Διατήρηση του ServletConfig Το Πλαίσιο Servlet Μοίρασμα Πληροφοριών Μεταξύ των Servlets Αιτήσεις και Απαντήσεις Το ServletRequest Interface Το ServletResponse Interface Η Τάξη Συσκευαστής GenericServlet Δημιουργία Thread-Safe Servlets Σύνοψη Εγγραφή Servlet Εφαρμογών Η HttpServlet Class Το HttpServletRequest Interface Απόκτηση Http Request Headers από Το HttpServletRequest Απόκτηση του Query String Από Το HttpServletRequest Απόκτηση Των Παραμέτρων Από Το HttpServletRequest Χειρισμός Πολλαπλών Παραμετρικών Τιμών HttpServletResponse Αποστολή Λάθος Κώδικα Αποστολή Ειδικών Χαρακτήρων Αποθήκευση Της Απάντησης Συγκέντρωση Των Στοιχείων HTML Αποστολή Αίτησης Συμπεριλαμβάνοντας Άλλους Πόρους Συμπερίληψη Στατικού Περιεχομένου Συμπερίληψη Άλλου Servlet Σελίδα 4 από 109

5 Πτυχιακή Εργασία της Μαριάννας Καραμάνη Προώθηση Ελέγχου Επεξεργασίας Σύνοψη Βιβλιογραφία Σελίδα 5 από 109

6 1 Εισαγωγή 1. Εισαγωγή Το Internet είναι ακόμη νέο και ευάλωτο. Επομένως, η ιστορία του δεν είναι και μεγάλη. Το δίκτυο ξεκίνησε όταν τα πάντα ήταν απλά στατικές σελίδες. E ^ πολύ πιθανό να ζήσατε την εποχή όπου ένας ιστοχώρος δεν ήταν τίποτε περισσότερο από HTML σελίδες. Τις πρώτες μέρες, ένας ιστοχώρος είχε το πολύ μια σελίδα και τις περισσότερες φορές αυτή λεγόταν Αρχική. Οι όροι «εφαρμογή Διαδικτύου» ή «δικτυακή εφαρμογή» πλάστηκαν όταν εμφανίστηκε το δυναμικό περιεχόμενο. Σε χαλαρή μετάφραση, μια δικτυακή εφαρμογή είναι ένας δικτυακός χώρος του οποίου τα δεδομένα δημιουργούνται δυναμικά πριν αποσταλούν στον φυλλομετρητή. Πρέπει πρώτα να κατανοήσετε πως λειτουργεί το Διαδίκτυο πριν μάθετε πως λειτουργεί μια διαδικτυακή εφαρμογή. Όταν σερφάρετε στο Διαδίκτυο, βασικά ζητάτε ένα συγκεκριμένο αρχείο που βρίσκετε σε ένα συγκεκριμένο υπολογιστή σε μια τοποθεσία που καθορίζετε με τον Ενοποιημένο Εντοπιστή Πόρων (URL - Uniform Resource Locator). Ο υπολογιστής στον οποίο το αρχείο είναι αποθηκευμένο ονομάζεται διακομιστής διαδικτύου (web server). Η κύρια λειτουργία αυτού του υπολογιστή είναι να εξυπηρετεί οποιονδήποτε στο Internet ο οποίος ζητάει τα αρχεία που φιλοξενεί. Επειδή ποτέ δεν ξέρεις πότε κάποιος χρήστης θα επισκεφτεί και θα χρησιμοποιήσει τη δικτυακή εφαρμογή σου, ο web server πρέπει να λειτουργεί συνέχεια. Όταν κάνετε κλικ ή πληκτρολογείτε μια διεύθυνση URL στο πλαίσιο εισαγωγής διεύθυνσης του φυλλομετρητή σας, συμβαίνουν τα παρακάτω: - Ο φυλλομετρητής - πελάτης εγκαθιστά μια σύνδεση TCP/IP με το διακομιστή. - Ο φυλλομετρητής στέλνει μια αίτηση στο διακομιστή. Σελίδα 6 από 109

7 Πτυχιακή Εργασία της Μαριάννας Καραμάνη - Ο διακομιστής (server) στέλνει μια απάντηση στον πελάτη. - Ο διακομιστής κλείνει τη σύνδεση. Σημειώστε πως αφού στείλει την ζητούμενη σελίδα στον φυλλομετρητή, ο διακομιστής πάντα κλείνει τη σύνδεση, είτε ο χρήστης ζητήσει άλλες σελίδες από το server είτε όχι. 1.1 Τι συμβαίνει στη βιομηχανία Από την εμφάνιση του Internet, οι δικτυακές τεχνολογίες γίνονται ολοένα και πιο σημαντικές και οι δικτυακές εφαρμογές ολοένα και πιο συχνές. Η χρήση ενός φυλλομετρητή διαδικτύου δεν περιορίζεται πια σε περιήγηση στατικών σελίδων στο Internet. Είναι πια πολύ συνηθισμένο να βλέπουμε ένα φυλλομετρητή διαδικτύου να χρησιμοποιείται ως εφαρμογή - πελάτης. Αυτό σημαίνει πως, κάποιοι άνθρωποι πιστεύουν ότι όποιος ελέγχει το Internet, ελέγχει και το μέλλον των υπολογισμών ή ακόμη και το ίδιο το μέλλον. Τουλάχιστον, αυτό αποδεικνύεται από τις αγωνιώδεις προσπάθειες ορισμένων εταιρειών να κυριαρχήσουν στην αγορά φυλλομετρητών διαδικτύου στα τέλη του Ίσως το καλύτερο παράδειγμα, η Microsoft Corporation - που εξακολουθεί να είναι ο μεγαλύτερος παίχτης στην παραγωγή λογισμικού μέχρι και σήμερα - κατάλαβε ότι ήταν σημαντικό να χρησιμοποιεί ο καθένας στον πλανήτη το δικό του Internet Explorer. Αυτός είναι ο λόγος για τον οποίο χρησιμοποίησε τη συντριπτική της δύναμη σε τεχνολογία λογισμικού ώστε να δημιουργήσει τον γρηγορότερο και εξυπνότερο φυλλομετρητή που υπήρξε ποτέ και να τον διανείμει δωρεάν. Με την πτώση της Netscape, η Microsoft είχε κερδίσει τη μάχη των φυλλομετρητών. Μέσα στα επόμενα πέντε χρόνια, είναι ακόμη δύσκολο να φανταστούμε πως ένας φυλλομετρητής θα μπορούσε να ξεπεράσει την δημοτικότητα του Internet Explorer. Σελίδα 7 από 109

8 1 Εισαγωγή Παρόλα αυτά, από τη μεριά του server, είναι μια διαφορετική ιστορία. Ο πόλεμος απέχει πολύ από το τέλος του. Η Microsoft δεν μπορεί να προωθήσει την τεχνολογία server της τόσο εύκολα όσο όταν ανάγκασε τη Netscape να τα παρατήσει. Στην πραγματικότητα, η πιο διαδεδομένη τεχνολογία server είναι η Java. Και για να είμαστε ακριβείς, η Java 2, Enterprise Edition (J2EE) της Sun Microsystems. Η Microsoft ακόμη προσπαθεί να προλάβει με την ανάπτυξη της.νετ τεχνολογίας που αντικαθιστά τις προηγούμενες Κατανεμημένες Διαδικτυακές Εφαρμογές (Distributed internet Applications - DNA) που ήταν μια πλατφόρμα για ανάπτυξη επιχειρηματικών εφαρμογών. Με την έκδοσή του στις αρχές του 2002, το.net θα συγκρουστεί μετωπικά με την J2EE. Στα επόμενα χρόνια θα βλέπουμε το.net και τη J2EE σαν δύο ανταγωνιστικές τεχνολογίες server. Αυτή τη στιγμή, είναι πολύ πρώιμο να προβλέψουμε ποιος θα αποδειχτεί νικητής. Στρατηγικά σκεφτόμενη, η Microsoft ακολουθεί μια εντελώς διαφορετική προσέγγιση από τη Sun, στην προσπάθειά της να κερδίσει. Η Microsoft προσφέρει τη λύση ενός μοναδικού προμηθευτή, πουλώντας από το λειτουργικό σύστημα μέχρι και το διακομιστή βάσης δεδομένων. Η J2EE, από την άλλη μεριά, υποστηρίζεται από ολόκληρη τη βιομηχανία. (Για μια λίστα των προμηθευτών που παρέχουν servers συμβατούς με J2EE, δείτε το παράρτημα G, «Σχετικές Πηγές»). Αναλυτές έχουν προσπαθήσει να συγκρίνουν τα.net και J2EE σε πολλά τεχνικά έγγραφα δημοσιευμένα στο Διαδίκτυο. Δυστυχώς, τα συμπεράσματα ποικίλουν πάρα πολύ. Για να βρείτε περισσότερες πληροφορίες σχετικά με τη σύγκριση του.net με τη J2EE, μπορείτε να συμβουλευτείτε τα ακόλουθα άρθρα, τα οποία είναι διαθέσιμα στο Διαδίκτυο: -I- Microsoft.NET vs. J2EE: How Do They Stack Up?, html -I- Java 2 Enterprise Edition (J2EE) versus The.NET Platform: Two Visions for ebusiness, Σελίδα 8 από 109

9 Πτυχιακή Εργασία της Μαριάννας Καραμάνη DotNet.doc -I- J2EE vs. Microsoft.NET: A Comparison of Building XML- Based Web Services, E-vs-DOTNE -I- Compare Microsoft.NET to J2EE Technology, Σ αυτό το σημείο, πρέπει να έχετε την γενική εικόνα του τι συμβαίνει στη βιομηχανία. Μπορείτε να βρείτε περισσότερα σχετικά με το.net στο Επίσης σημειώστε ότι ο όρος Web Server μπορεί να χρησιμοποιηθεί για να αναφερθούμε στο πακέτο λογισμικού το οποίο χρησιμοποιείται από τον server υπολογιστή για να διαχειρίζεται τις αιτήσεις και να απαντάει σε αυτές. Ο πρώτος γνωστός web server - ο NCSA HTTPd - δημιουργήθηκε από τον Rob McCool στο Εθνικό Κέντρο για Εφαρμογές Υπερυπολογιστών. Η εφεύρεση αυτή του McCool βοήθησε το Internet να μπει στη ζωή μας και πάνω της βασίστηκε ο Apache web server - ο συχνότερα χρησιμοποιούμενος web server στις μέρες μας. 1.2 Το Πρωτόκολλο Μεταφοράς Υπερκειμένου (Hypertext Transfer Protocol - HTTP) Το πρωτόκολλο HTTP επιτρέπει στους διακομιστές και στους φυλλομετρητές να ανταλλάζουν δεδομένα μέσω διαδικτύου. Είναι πρωτόκολλο αίτησης - απάντησης. Ο πελάτης ζητά ένα αρχείο και ο server απαντά στην αίτηση. Το HTTP χρησιμοποιεί αξιόπιστες συνδέσεις TCP - εξ ορισμού στην TCP θύρα 80. Καθορίστηκε πρώτα στον RFC Σελίδα 9 από 109

10 1 Εισαγωγή 2068 και στην συνέχεια στον RFC 2616 που μπορείτε να το βρείτε στην διεύθυνση Στο HTTP, είναι πάντα ο πελάτης αυτός που ζητά μια συναλλαγή εγκαθιστώντας μια σύνδεση και στέλνοντας μια HTTP αίτηση. Ο διακομιστής δεν είναι σε θέση να ξεκινήσει την επικοινωνία με έναν πελάτη. Και οι δύο μπορούν να τερματίσουν πρόωρα μια σύνδεση. Για παράδειγμα, όταν χρησιμοποιείτε έναν web browser, πατώντας το Stop για να τερματίσετε το κατέβασμα ενός αρχείου, διακόπτετε και την σύνδεση με τον διακομιστή HTTP Αιτήσεις Η συναλλαγή ξεκινά με μια αίτηση από τον client browser και τελειώνει με την απάντηση του server. Η αίτηση αποτελείται από τρία μέρη: -I- Μέθοδος URI Protocol/Version (πρωτόκολλο/ έκδοση) -I- Επικεφαλίδες αίτησης -I- Κυρίως μέρος Το παρακάτω είναι παράδειγμα HTTP αίτησης: GET /servlet/default.jsp HTTP/1.1 Accept: text/plain; text/html Accept-Language: en-gb Connection: Keep-Alive Host: localhost Referer: User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98) Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip, deflate LastName=Franks&FirstName=Michael Σελίδα 10 από 109

11 Πτυχιακή Εργασία της Μαριάννας Καραμάνη Η μέθοδος URI protocol version εμφανίζεται την πρώτη γραμμή της αίτησης. GET /servlet/defaultjsp HTTP/1.1 Όπου GET είναι η μέθοδος, το /servlet/default.jsp αντιπροσωπεύει την URI και το HTTP/1.1 την έκδοση του πρωτόκολλου. Η μέθοδος αίτησης θα εξηγηθεί με λεπτομέρειες στο επόμενο κεφάλαιο «Μέθοδοι Αίτησης HTTP». Το URI περιγράφει επακριβώς έναν πόρο του Διαδικτύου. Μια URI συνήθως ερμηνεύεται ως σχετική με τον κεντρικό κατάλογο του διακομιστή. Για αυτό πρέπει πάντα να ξεκινάει με μία κάθετο (/). Η URL είναι ένας τύπος της URI. Το protocol version αντιπροσωπεύει την έκδοση του HTTP πρωτοκόλλου που χρησιμοποιείται. Η επικεφαλίδα περιέχει χρήσιμες πληροφορίες για το περιβάλλον του πελάτη και το κυρίως μέρος της αίτησης. Για παράδειγμα, μπορεί να περιέχει την γλώσσα του φυλλομετρητή, το μέγεθος του κυρίου μέρους κ.ά. Κάθε επικεφαλίδα χωρίζεται από μια ακολουθία carriage return/linefeed (CRLF). Μεταξύ επικεφαλίδων και κυρίως μέρους, υπάρχει μια κενή γραμμή (CRLF) η οποία είναι σημαντική για την μορφή της HTTP αίτησης. Η CRLF λέει στον διακομιστή HTTP από που ακριβώς αρχίζει το κυρίως μέρος. Σε ορισμένα βιβλία σχετικά με τον προγραμματισμό Internet, αυτή η CRLF αναφέρεται σαν το τέταρτο στοιχείο μιας HTTP αίτησης. Στο προηγούμενο παράδειγμα αίτησης, το κυρίως μέρος ήταν απλά η ακόλουθη γραμμή: LastName=Franks&FirstName=Michael Σελίδα 11 από 109

12 1 Εισαγωγή Μπορεί όμως να είναι πολύ μεγαλύτερο σε κάποια άλλη αίτηση Μέθοδοι ΗΤΤΡ αίτησης Κάθε αίτηση μπορεί να χρησιμοποιήσει μία από τις πολλές μεθόδους που καθορίζονται στα HTTP πρότυπα. Στον Πίνακα 1.1 δίνονται οι μέθοδοι και η περιγραφές τους. Πίνακας 1.1 Μέθοδος Μέθοδοι HTTP 1.1 request (Kurniawan, 2002: xxii) Περιγραφή GET Είναι η πιο απλή και η πιο συχνά χρησιμοποιούμενη μέθοδος. Αυτή απλώς παραλαμβάνει τα δεδομένα που αναγνωρίζονται από την URL. Αν η URL αναφέρεται σε ένα κομμάτι κώδικα (CGI, servlet ή άλλο), επιστρέφει τα δεδομένα που δημιουργούνται από αυτό. HEAD Εκτελεί την ίδια λειτουργία με την GET, αλλά η HEAD επιστρέφει μόνο τις επικεφαλίδες χωρίς το κυρίως κείμενο. POST Όπως η GET, η POST χρησιμοποιείται και αυτή πολύ συχνά. Τυπικά χρησιμοποιείται σε φόρμες HTML. Μεταφέρει μια ομάδα δεδομένων στον διακομιστή στο κυρίως μέρος της αίτησης. OPTIONS Η μέθοδος αυτή χρησιμοποιείται για να ρωτήσει έναν διακομιστή σχετικά με τις δυνατότητες που παρέχει. Τα ερωτήματα μπορεί να είναι γενικά ή συγκεκριμένα για ένα καθορισμένο πόρο. Σελίδα 12 από 109

13 Πτυχιακή Εργασία της Μαριάννας Καραμάνη PUT Η μέθοδος PUT συμπληρώνει την GET και αποθηκεύει το κυρίως μέρος του αιτήματος στη θέση που καθορίζεται από την URL. Είναι παρόμοια με την λειτουργία PUT του FTP. DELETE Διαγράφει ένα αρχείο από τον server. Το αρχείο προς διαγραφή καθορίζεται στο URI τμήμα της αίτησης. TRACE Χρησιμοποιείται για να παρακολουθεί την διαδρομή μιας αίτησης διαμέσου του τείχους προστασίας (firewall) και πολλαπλών διακομιστών αντιπροσώπων (proxy server). Η TRACE είναι χρήσιμη για αποσφαλμάτωση περίπλοκων προβλημάτων δικτύου και είναι παρόμοια με το εργαλείο traceroot. IΠροσοχή Η HTTP 1.0 έχει μόνο τρεις μεθόδους: GET, HEAD και POST Από τις εφτά αυτές μεθόδους μόνο η GET και η POST χρησιμοποιούνται συχνότερα σε μια εφαρμογή Internet HTTP Απαντήσεις Όπως και οι αιτήσεις, έτσι και οι απαντήσεις αποτελούνται από τρία μέρη: Πρωτόκολλο Status code Περιγραφή Επικεφαλίδες Κυρίως μέρος Το παρακάτω είναι παράδειγμα HTTP απάντησης: Σελίδα 13 από 109

14 1 Εισαγωγή HTTP/ OK Server: Microsoft-IIS/4.0 Date: Mon, 3 Jan :13:33 GMT Content-Type: text/html Last-Modified: Mon, 11 Jan :23:42 GMT Content-Length: 112 <HTML> <HEAD> <TITLE>HTTP Response Example</TITLE></HEAD><BODY> Welcome to Brainy Software </BODY> </HTML> Η πρώτη γραμμή της επικεφαλίδας της απάντησης είναι όμοια με την πρώτη γραμμή της επικεφαλίδας της αίτησης. Ενημερώνει ότι το πρωτόκολλο που χρησιμοποιείται είναι το HTTP 1.1, η αίτηση είναι πετυχημένη (200 = επιτυχία) και όλα είναι σωστά. Οι επικεφαλίδες περιέχουν χρήσιμες πληροφορίες όπως και αυτές της αίτησης. Το κυρίως μέρος είναι το ίδιο το HTML περιεχόμενο της απάντησης. Επικεφαλίδες και κυρίως μέρος χωρίζονται από μια ακολουθία CRLF. 1.3 Αρχιτεκτονική Συστήματος Αυτό το κεφάλαιο έχει στόχο να σας δώσει μια γενική εικόνα ενός συστήματος εφαρμογής λογισμικού που χρησιμοποιεί Java ή άλλες τεχνολογίες. Χρησιμοποιεί τη συνηθισμένη προσέγγιση της παρουσίασης της αρχιτεκτονικής του συστήματος λογισμικού και της παράλληλης παρατήρησης του πως αυτή έχει εξελιχθεί. Μια καλοσχεδιασμένη εφαρμογή λογισμικού χωρίζεται σε λογικά επίπεδα (layers). Το καθένα από αυτά έχει διαφορετική ευθύνη στην τελική Σελίδα 14 από 109

15 Πτυχιακή Εργασία της Μαριάννας Καραμάνη λειτουργικότητα. Τα επίπεδα είναι καθαρά αφηρημένες έννοιες και δεν ανταποκρίνονται σε φυσικές κατανομές. Τα τυπικά επίπεδα ενός συστήματος λογισμικού είναι: -I- Επίπεδο παρουσίασης (presentation layer). Εδώ υπάρχουν τμήματα που χειρίζονται τη διεπαφή - περιβάλλον εργασίας και την αλληλεπίδραση του χρήστη (user interface και user interaction). -I- Λογικό επίπεδο (business logic layer). Περιέχει στοιχεία που χειρίζονται τον λογικό προγραμματισμό της εφαρμογής. -I- Επίπεδο δεδομένων (data layer). Χρησιμοποιείται από το προηγούμενο επίπεδο για να διατηρήσει μόνιμα την κατάστασή του. Αποτελείται από μία ή περισσότερες βάσεις δεδομένων όπου εκεί αποθηκεύονται τα δεδομένα. Ωστόσο, μπορούν να χρησιμοποιηθούν και άλλοι τύποι αποθήκευσης δεδομένων. Για παράδειγμα, είναι συνηθισμένη η χρήση XML αρχείων σαν αποθηκευτικό χώρο για δεδομένα Η Αρχιτεκτονική Two-Tier (δύο βαθμίδων) Μια two - tiered εφαρμογή είναι μια απλή client-server εφαρμογή στην οποία την ευθύνη για την εργασία που πρέπει να εκτελεστεί την αναλαμβάνει ο πελάτης και ο διακομιστής απλά λειτουργεί σαν ελεγκτής κυκλοφορίας μεταξύ του πελάτη και των δεδομένων. Ο όρος "fat client σε αυτόν τον τύπο αρχιτεκτονικής οφείλεται στον όγκο των απαιτήσεων από την πλευρά του πελάτη. Σε αυτή την αρχιτεκτονική, το επίπεδο παρουσίασης και το λογικό επίπεδο βρίσκονται στη μία βαθμίδα και το Σελίδα 15 από 109

16 1 Εισαγωγή επίπεδο δεδομένων είναι στην άλλη. Η Εικόνα Ι.1 δείχνει μια αρχιτεκτονική two-tier. Εικόνα Ι.1 Εφαρμογή two-tier. (Kurniawan, 2002: xxiv) Το μειονέκτημα αυτού του τύπου αρχιτεκτονικής είναι ότι παρουσιάζει προβλήματα καθώς αυξάνεται ο αριθμός πελατών. Το πρώτο πρόβλημα οφείλεται στο γεγονός ότι όλες οι εργασίες εκτελούνται από τον πελάτη. Υπάρχει αυξημένη κυκλοφορία δικτύου επειδή κάθε πελάτης πρέπει να κάνει πολλές αιτήσεις για δεδομένα από τον διακομιστή - πριν παρουσιάσει οτιδήποτε στον χρήστη. Ένα ακόμη πρόβλημα είναι το κόστος λόγω του ότι κάθε πελάτης χρειάζεται ένα μηχάνημα με αρκετή δύναμη. Καθώς αυξάνεται ο αριθμός των πελατών, το κόστος μπορεί να γίνει αστρονομικό. Ωστόσο, το μεγαλύτερο πρόβλημα που μπορεί να αντιμετωπίσει αυτός ο τύπος αρχιτεκτονικής είναι αυτό της συντήρησης. Ακόμη και η πιο μικρή αλλαγή στην λογική διαδικασία ίσως βγάλει εκτός προγράμματος όλους τους χρήστες. Αν και η διαδικασία μπορεί να είναι αυτοματοποιημένη, πάντα εμφανίζονται προβλήματα στους μεγάλους οργανισμούς εξαιτίας μερικών χρηστών οι οποίοι δεν είναι έτοιμοι να αντιμετωπίσουν μια αναβάθμιση, ενώ κάποιοι άλλοι επιμένουν στην άμεση εκτέλεσή της. Σελίδα 16 από 109

17 Πτυχιακή Εργασία της Μαριάννας Καραμάνη Η Αρχιτεκτονική Three-Tier (τριών βαθμίδων) Για να παρακαμφτούν τα προβλήματα, μια εφαρμογή two-tier γίνεται threetier. Στο πρώτο μέρος ανήκει το επίπεδο παρουσίασης, στο δεύτερο το λογικό επίπεδο και στο τρίτο το επίπεδο δεδομένων. Η Εικόνα Ι.2 δείχνει μια αρχιτεκτονική three-tier. Client Server Εικόνα Ι.2 Εφαρμογή three-tier. (Kurniawan, 2002: xxv) Η Αρχιτεκτονική n-tier Για περισσότερη ευελιξία, τα τρία μέρη της εφαρμογής three-tier μπορούν να χωριστούν σε περισσότερα μέρη. Μια τέτοια εφαρμογή λέγεται n-tier. Σε αυτήν την αρχιτεκτονική, το λογικό επίπεδο διαιρείται με βάση τις λειτουργίες και όχι φυσικά. Χωρίζεται στα επιμέρους μέρη: -I- User interface. Χειρίζεται την αλληλεπίδραση του χρήστη με την εφαρμογή. Για το Internet, αυτή την δουλειά την κάνει ο φυλλομετρητής ο οποίος αποδίδει HTML tags. -I- Presentation logic. Προσδιορίζει τι εμφανίζει το περιβάλλον του χρήστη και τι γίνεται με τις αιτήσεις των χρηστών. -I- Business logic. Διαμορφώνει την λογική της εφαρμογής. -I- Infrastructure services. Εφοδιάζει με λειτουργίες που απαιτούνται από τα στοιχεία της εφαρμογής. -I- Data layer. Φιλοξενεί τα δεδομένα της εφαρμογής. Σελίδα 17 από 109

18 1 Εισαγωγή 1.4 Java 2, Enterprise Edition (J2EE) Η J2EE δεν είναι προϊόν. Καθορίζει την σχέση που υπάρχει μεταξύ των εφαρμογών και του υποδοχέα εφαρμογών (container). Σε αυτή την περίπτωση ο container αναφέρεται σε ένα τυποποιημένο περιβάλλον εκτέλεσης, ο οποίος παρέχει συγκεκριμένες υπηρεσίες για στοιχεία που αναπτύσσονται σε αυτόν. 1.5 Αναπτύσσοντας Διαδικτυακές Εφαρμογές με Java Συνήθως χρησιμοποιούνται δύο βασικές αρχιτεκτονικές όταν αναπτύσσονται διαδικτυακές εφαρμογές με Java. Η πρώτη αρχιτεκτονική χρησιμοποιεί τους servlets και την JSP στο μεσαίο tier για να εξυπηρετήσει τους πελάτες και να επεξεργαστεί τη λογική της εφαρμογής. Αυτή η αρχιτεκτονική απεικονίζεται στην Eικόνα Ι.3 Εικόνα Ι.3 Servlets/ JSP αρχιτεκτονική. (Kurniawan, 2002: xxvi) Μικρού και μεσαίου μεγέθους εφαρμογές χρησιμοποιούν αυτό το μοντέλο. Η δεύτερη αρχιτεκτονική περιλαμβάνει την χρήση J2EE διακομιστή και Enterprise JavaBeans (EJB) και αυτό είναι πολύ χρήσιμο για τις μεγάλες εφαρμογές που πρέπει να είναι ευέλικτες. Η αρχιτεκτονική αυτή φαίνεται στην Eικόνα Ι.4. Σελίδα 18 από 109

19 Πτυχιακή Εργασία της Μαριάννας Καραμάνη Client Servlets JSP pages Database Enterprise bean EJB container Εικόνα Ι.4 J2EE αρχιτεκτονική. (Kurniawan, 2002: xxvi) Σελίδα 19 από 109

20 2 Η Τεχνολογία Servlet 2. Η Τεχνολογία Servlet Η τεχνολογία Servlet είναι το θεμέλιο της ανάπτυξης web εφαρμογών, χρησιμοποιώντας τη γλώσσα προγραμματισμού Java. Είναι μία από τις σημαντικότερες java τεχνολογίες και είναι η υποκείμενη τεχνολογία για μια άλλη δημοφιλή τεχνολογία java για την ανάπτυξη web εφαρμογών: JavaServer Pages (JSP). Ως εκ τούτου, η κατανόηση της τεχνολογίας Servlet και της αρχιτεκτονικής του είναι σημαντική σε όσους θέλουν να γίνουν προγραμματιστές Servlet. Ακόμη και αν σχεδιάζετε να αναπτύξετε τη δικτυακή εφαρμογή σας σε Java χρησιμοποιώντας μόνο JSP Pages, η κατανόηση της Servlet τεχνολογίας θα σας βοηθήσει να χτίσετε μια πιο αποδοτική και αποτελεσματική JSP εφαρμογή. Ο στόχος αυτού του κεφαλαίου είναι να μας εισάγει στην τεχνολογία Servlet και να μας εξοικειώσει με αυτήν παρουσιάζοντας βήμα-βήμα οδηγίες που βοηθούν στο χτίσιμο και εκτέλεση μιας Servlet εφαρμογής. Ειδικότερα, το κεφάλαιο διαπραγματεύεται τα ακόλουθα θέματα: -I- Τα πλεονεκτήματα των Servlets -I- Αρχιτεκτονική Servlet εφαρμογών -I- Πως δουλεύει ένα Servlet -I- Πώς να γράψετε και να τρέξετε την πρώτη σας Servlet εφαρμογή Σ αυτό το κεφάλαιο, θα μάθετε πώς να εγκαταστήσετε τον Tomcat γρήγορα για να τρέξετε την πρώτη μας Servlet εφαρμογή. Σελίδα 20 από 109

21 Πτυχιακή Εργασία της Μαριάννας Καραμάνη 2.1 Τα Πλεονεκτήματα των Servlets Όταν εμφανίστηκε για πρώτη φορά, το σπουδαίο αυτό πράγμα που αποκαλούμε Internet αποτελούνταν μόνο από στατικά στοιχεία γραμμένα σε Hypertext Markup Language (HTML). Εκείνη την εποχή, όποιος μπορούσε να γράψει σελίδες HTML θεωρούνταν ειδικός του Internet. Ωστόσο, αυτό δεν κράτησε πολύ. Σύντομα εμφανίστηκαν τα δυναμικά δικτυακά στοιχεία χάρη στην τεχνολογία Common Gateway Interface (CGI). Το CGI επιτρέπει στον web server να καλεί ένα εξωτερικό πρόγραμμα και να περνάει μια HTTP αίτηση πληροφορίας σ αυτό το πρόγραμμα για να επεξεργαστεί την αίτηση. Μετά η απάντηση απ το εξωτερικό πρόγραμμα περνάει πίσω στον web server, που την προωθεί στον client browser. Τα προγράμματα CGI μπορούν να γραφτούν σε οποιαδήποτε γλώσσα μπορεί να καλέσει ο web server. Με τον καιρό, η Perl έγινε η πιο γνωστή γλώσσα για προγράμματα CGI. Παρόλα αυτά, καθώς το Internet γινόταν όλο και πιο γνωστό, ο αριθμός των χρηστών ενός διάσημου δικτυακού χώρου αυξανόταν εκθετικά και έγινε φανερό ότι το CGI απέτυχε στην παράδοση εφαρμογών Internet μεγάλης κλίμακας. Το ψεγάδι του CGI είναι ότι κάθε αίτηση client κάνει τον web server να δημιουργεί μια νέα διεργασία για το CGI πρόγραμμα. Όπως ήδη γνωρίζουμε, η δημιουργία διεργασιών είναι μια ακριβή διαδικασία που καταναλώνει πολλούς CPU κύκλους και μνήμη. Σταδιακά, νέες και καλύτερες τεχνολογίες θα αντικαταστήσουν το CGI σαν την κύρια τεχνολογία για ανάπτυξη web εφαρμογών. Ο κόσμος έχει παρακολουθήσει τις παρακάτω τεχνολογίες να προσπαθούν να κυριαρχήσουν στην δικτυακή ανάπτυξη: Σελίδα 21 από 109

22 2 Η Τεχνολογία Servlet -I- ColdFusion. Η ColdFusion της Allaire παρέχει tags τύπου HTML τα οποία χρησιμοποιούνται για να εκτελέσουν έναν αριθμό λειτουργιών, ειδικά να υποβάλλουν ερωτήσεις σε βάσεις δεδομένων. Αυτή η τεχνολογία είχε την τιμητική της στην ιστορία του Παγκόσμιου Ιστού σαν η κύρια τεχνολογία για προγραμματισμό web εφαρμογών. Όμως ξεπεράστηκε με την εύρεση άλλων τεχνολογιών. -I- Server-side JavaScript (SSJS). Η SSJS είναι μια προέκταση της γλώσσας JavaScript, της γλώσσας που ακόμη κυβερνά στον δικτυακό προγραμματισμό client-side. Η SSJS μπορεί να προσπελάσει τις τάξεις Java που αναπτύσσονται στην πλευρά του server χρησιμοποιώντας την LiveWire τεχνολογία από τη Netscape. 4- PHP. Η PHP είναι μια συναρπαστική open-source τεχνολογία που έχει ωριμάσει με τα χρόνια. Η τεχνολογία παρέχει εύκολη ανάπτυξη δικτυακών εφαρμογών με την διαχείριση συνόδων της, και περιλαμβάνει κάποια ενσωματωμένη λειτουργικότητα, όπως για παράδειγμα «ανέβασμα» αρχείων (file upload). Ο αριθμός των προγραμματιστών που υιοθετούν την PHP ως την τεχνολογία της προτίμησής τους αυξήθηκε ραγδαία τα τελευταία χρόνια. -I- Servlet. Η τεχνολογία Servlet παρουσιάστηκε από τη Sun Microsystems το I- JavaServer Pages (JSP). Η JSP είναι προέκταση της τεχνολογίας Servlet. -I- Active Server Pages (ASP). Η ASP της Microsoft χρησιμοποιεί scripting τεχνολογίες που δουλεύουν σε πλατφόρμες Windows, αν και έχουν γίνει προσπάθειες να εισαχθεί και σ' άλλα λειτουργικά συστήματα. Δουλεύει με το Internet Information Server διακομιστή διαδικτύου. Σύντομα θα αντικατασταθεί από την Active Server Pages.NET. Σελίδα 22 από 109

23 Πτυχιακή Εργασία της Μαριάννας Καραμάνη -I- Active Server Pages.NET (ASP.NET). Η τεχνολογία αυτή είναι μέρος της συνολικής πατφόρμας Microsoft.NET. Το.NET Framework χρησιμοποιεί την λεγόμενη Κοινή Γλώσσα Εκτέλεσης (Common Language Runtime) που είναι παρόμοια με την Εικονική Μηχανή της Java (Java Virtual Machine) και παρέχει μια τεράστια βιβλιοθήκη διαθέσιμη σε όλες τις.net γλώσσες και σε όλες τις ASP.NET σελίδες. Η ASP.NET είναι μια πολύ καλή τεχνολογία. Εισήγαγε πολλές νέες τεχνολογίες, συμπεριλαμβανόμενης της διαχείρισης κατάστασης (state management) που δεν εξαρτάται από cookies ή τροποποίηση της URL. 4- Στο παρελθόν, η ASP και η servlet / JSP ήταν οι κύριες τεχνολογίες που χρησιμοποιήθηκαν στην ανάπτυξη web εφαρμογών. Με την εμφάνιση της ASP.NET, δεν είναι δύσκολο να δούμε ότι αυτή η τεχνολογία θα γίνει ο βασικός ανταγωνιστής της servlet/ JSP. Η ASP (και η ASP.NET) και η servlet/ JSP έχουν η κάθε μία τούς υποστηρικτές τους και δεν είναι εύκολο να πούμε ποια είναι η καλύτερη. Το πιο πιθανό είναι ότι καμία δεν θα αναδειχθεί απόλυτος νικητής που θα μονοπωλήσει την αγορά. Αντίθετα, αυτές οι τεχνολογίες θα ανταγωνίζονται η μία την άλλη τα επόμενα χρόνια. Η servlet και η JSP προσφέρουν τα παρακάτω πλεονεκτήματα που δεν τα έχουν απαραίτητα και οι άλλες τεχνολογίες: -I- Απόδοση. Η εκτέλεση των servlets υπερτερεί της CGI λόγω του ότι δεν δημιουργεί μια νέα διεργασία για κάθε αίτηση client. Αντ αυτού, κάθε αίτηση χειρίζεται από την διεργασία του Java container. Όταν τελειώσει ένας servlet την εκτέλεση της αίτησης, μένει στην μνήμη, περιμένοντας γι άλλη αίτηση. Σελίδα 23 από 109

24 2 Η Τεχνολογία Servlet -I- Φορητότητα. Παρόμοια με άλλες Java τεχνολογίες, οι εφαρμογές servlet είναι φορητές. Μπορείτε να τις μετακινήσετε σε άλλα λειτουργικά συστήματα χωρίς σοβαρές δυσκολίες. -I- Γρήγορος κύκλος ανάπτυξης. Όπως κάθε Java τεχνολογία, οι servlets έχουν πρόσβαση σε μια πλούσια Java βιβλιοθήκη, που βοηθά στην επιτάχυνση της λειτουργίας ανάπτυξης. -I- Ευρωστία. Οι servlets διαχειρίζονται από την Java Virtual Machine. Δεν χρειάζεται να ανησυχείτε για διαρροές μνήμης ή για συλλογή «σκουπιδιών», κάτι που βοηθά στη συγγραφή εύρωστων εφαρμογών. -I- Ευρεία αποδοχή. Η Java είναι μια τεχνολογία ευρέως αποδεκτή. Αυτό σημαίνει ότι τεράστιος αριθμός χρηστών δουλεύουν πάνω σε Java τεχνολογίες. Ένα απ τα πλεονεκτήματα της ευρείας αποδοχής είναι ότι μπορείτε εύκολα να βρείτε και ν αγοράσετε στοιχεία εφαρμογών που ταιριάζουν στις ανάγκες σας και να γλιτώσετε πολύτιμο χρόνο ανάπτυξης. 2.2 Αρχιτεκτονική Servlet εφαρμογών Ένας servlet είναι μια τάξη Java που μπορεί να φορτώσει δυναμικά και να τρέξει από έναν ειδικό web server. Αυτός ονομάζεται servlet container και ήταν γνωστός και σαν servlet engine τον πρώτο καιρό. Οι servlets αλληλεπιδρούν με τους clients μέσω ενός μοντέλου αίτησηςαπάντησης βασισμένο στο HTTP. Επειδή η servlet τεχνολογία δουλεύει πάνω από το HTTP, ένας servlet container πρέπει να υποστηρίζει το HTTP ως το πρωτόκολλο για αιτήσεις client και απαντήσεις server. Ωστόσο, ένας servlet container μπορεί επίσης να υποστηρίξει παρόμοια πρωτόκολλα, όπως το HTTPS (HTTP over SSL) για ασφαλή διαχείριση. Σελίδα 24 από 109

25 Πτυχιακή Εργασία της Μαριάννας Καραμάνη Η Eικόνα 2. 1 δείχνει την αρχιτεκτονική μιας servlet εφαρμογής. Εικόνα 2.1 (Kurniawan, 2002: 6) Σε μια εφαρμογή JSP, ο servlet container αντικαθίσταται από έναν JSP υποδοχέα (container). Και οι δύο συχνά αναφέρονται σαν web container ή servlet/ JSP container, ιδίως αν μια δικτυακή εφαρμογή αποτελείται και από servlets και από JSP σελίδες. Όπως βλέπουμε στην Eικόνα 2.1, μια servlet εφαρμογή μπορεί να περιλαμβάνει επίσης στατικό περιεχόμενο, όπως σελίδες HTML. Δεν προτιμούμε την μεταχείριση στατικών στοιχείων απ τον servlet container γιατί το περιεχόμενο είναι γρηγορότερο αν παραδίδεται από έναν πιο σταθερό HTTP server, όπως ο Apache web server ή ο Microsoft Internet Information server. Έτσι, είναι κοινή πρακτική να βάζουμε έναν web server μπροστά για να χειρίζεται όλες τις αιτήσεις των clients. Ο web server διαχειρίζεται τα στατικά στοιχεία και περνάει στους servlet containers όλες τις αιτήσεις πελατών για τους servlets. Η Eικόνα 2.2 δείχνει μια πιο κοινή αρχιτεκτονική για μια εφαρμογή servlet. Σελίδα 25 από 109

26 2 Η Τεχνολογία Servlet 2.3 Πως δουλεύει ένας Servlet Ένας servlet φορτώνεται από τον servlet container την πρώτη φορά που γίνεται αίτηση στον servlet. Τότε ο servlet προωθεί την αίτηση, την επεξεργάζεται και επιστρέφει την απάντηση στον servlet container, που με την σειρά του την στέλνει στον χρήστη. Μετά απ αυτό ο servlet παραμένει στην μνήμη περιμένοντας γι άλλες αιτήσεις - δεν ξεφορτώνεται απ την μνήμη αν δεν διαπιστώσει ο servlet container κάποια ανεπάρκεια μνήμης. Κάθε φορά που γίνεται αίτηση στον servlet, ωστόσο, ο servlet container συγκρίνει το timestamp (χρονική υπογραφή) του φορτωμένου servlet με το servlet class file. Αν το class file timestamp είναι πρόσφατο, ο servlet φορτώνεται στην μνήμη. Μ αυτόν τον τρόπο, δεν χρειάζεται να κάνουμε επανεκκίνηση στον servlet container κάθε φορά που αναβαθμίζουμε ένα servlet. Ο τρόπος με τον οποίο δουλεύει ένας servlet μέσα στον servlet container περιγράφεται στο διάγραμμα της Εικόνας 2.3. Σελίδα 26 από 109

27 Πτυχιακή Εργασία της Μαριάννας Καραμάνη Εικόνα 2.3 (Kurniawan, 2002: 8) 2.4 Ο Tomcat Servlet Container Πολλοί servlet containers είναι διαθέσιμοι σήμερα. Ο πιο διάσημος - και αναγνωρισμένος σαν επίσημος servlet/ JSP υποδοχέας - είναι ο Tomcat. Σχεδιασμένος απ την Sun Microsystems, ο πηγαίος κώδικας Tomcat μεταβιβάστηκε στο Apache Software Foundation τον Οκτώβριο του Στο νέο του σπίτι, ο Tomcat συμπεριλήφθηκε στο Jakarta Project, ένα από τα σχέδια του Apache Software Foundation. Η Apache, η Sun και άλλες εταιρίες - με την βοήθεια εθελοντών προγραμματιστών παγκοσμίωςμετέτρεψαν τον Tomcat σε μια παγκοσμίου φήμης εφαρμογή αναφοράς servlet. Δυο μήνες μετά την παράδοση, βγήκε ο Tomcat version 3.0. Ο Tomcat βγήκε σε πολλές 3.χ εκδόσεις μέχρι που εμφανίστηκε ο 3.3. Σελίδα 27 από 109

28 2 Η Τεχνολογία Servlet Ο διάδοχος της έκδοσης 3.3 είναι η τρέχουσα έκδοση 4.0. Ο 4.0 servlet container (Catalina) βασίζεται σε μια εντελώς νέα αρχιτεκτονική και αναπτύχθηκε από κάτω προς τα πάνω για ευελιξία. Η έκδοση 4.0 υλοποιεί τον servlet 2.3 και τον JSP 1.2. Ένας άλλος γνωστός servlet container είναι ο JRun από την Allaire Corporation. Ο JRun διατίθεται σε τρεις εκδόσεις: Developer, Professional και Enterprise. Η έκδοση Developer είναι ελεύθερη αλλά χωρίς άδεια γι ανάπτυξη. Οι εκδόσεις Professional και Enterprise δίνουν άδεια γι ανάπτυξη με κάποιο κόστος. Μπορείτε να κατεβάσετε τον JRun απ τη σελίδα Ο Tomcat είναι από μόνος του ένας web server. Αυτό σημαίνει ότι μπορείτε να τον χρησιμοποιήσετε για να εξυπηρετήσετε αιτήσεις HTTP για servlets, όπως και στατικά αρχεία (HTML, image files κ.ά). Στην πράξη, ωστόσο, αφού είναι γρηγορότερος για αιτήσεις χωρίς servlet, χωρίς JSP, ο Tomcat χρησιμοποιείται μαζί μ έναν άλλον πιο εύρωστο web server, όπως ο Apache web server ή ο Microsoft Internet Information server. Μόνο αιτήσεις για servlets ή σελίδες JSP περνάνε στον Tomcat. Για να γράψετε έναν servlet, χρειάζεστε τουλάχιστον την έκδοση 1.2 της Java Development Kit. Αν δεν την έχετε, μπορείτε να κατεβάσετε την JDK 1.2 από την σελίδα Η σύσταση εφαρμογής και για τους servlets και για τον JSP δεν περιλαμβάνεται στην J2SE, αλλά περιλαμβάνεται στον Tomcat. Ο Tomcat είναι γραμμένος σε Java. Αν δεν έχετε ακόμη εγκαταστήσει και ρυθμίσει τον Tomcat, τώρα είναι η ώρα να το κάνετε. Σελίδα 28 από 109

29 Πτυχιακή Εργασία της Μαριάννας Καραμάνη 2.5 Έξι Βήματα για να Τρέξετε τον Πρώτο σας Servlet Αφού εγκαταστήσετε και διαμορφώσετε τον Tomcat, μπορείτε να τον βάλετε σε λειτουργία. Βασικά, χρειάζεται ν ακολουθήσετε έξι βήματα για να πάτε από το γράψιμο του servlet σας στο τρέξιμό του. Τα βήματα αυτά είναι περιληπτικά τα παρακάτω: 1. Δημιουργήστε μια δομή καταλόγου κάτω από τον Tomcat για την εφαρμογή σας. 2. Γράψτε τον πηγαίο κώδικα του servlet. Θα χρειαστεί να εισάγετε το πακέτο javax.servlet και το πακέτο javax.servlet.http στον source file σας. 3. Μεταγλωττίστε (compile) τον κώδικα πηγής σας. 4. Δημιουργήστε έναν deployment descriptor. 5. Τρέξτε τον Tomcat. 6. Καλέστε τον servlet σας από έναν web browser. Ας δούμε τα βήματα ένα - ένα Βήμα 1: Δημιουργήστε μια δομή καταλόγου κάτω απ τον Tomcat Όταν εγκαταστήσετε τον Tomcat, πολλοί υποφάκελοι δημιουργήθηκαν αυτόματα στον Tomcat home directory (%CATALINA_HOME%). Ένας από τους υποφακέλους είναι ο webapps. Ο webapps είναι εκεί που αποθηκεύετε τις εφαρμογές web. Μια εφαρμογή web είναι μια συλλογή από servlets και άλλα στοιχεία εγκατεστημένα σ ένα συγκεκριμένο υποσύνολο του URL namespace του server. Ένας ξεχωριστός φάκελος αφιερώνεται για κάθε εφαρμογή servlet. Το πρώτο πράγμα που πρέπει να κάνετε όταν κατασκευάζετε μια εφαρμογή servlet είναι να δημιουργήσετε τον φάκελο της εφαρμογής. Για να δημιουργήσετε μια δομή φακέλων για μια εφαρμογή που λέγεται myapp, ακολουθήστε αυτά τα βήματα: Σελίδα 29 από 109

30 2 Η Τεχνολογία Servlet 1. Δημιουργήστε έναν φάκελο που λέγεται myapp στον φάκελο webapps. Τ όνομα του φακέλου είναι σημαντικό γιατί εμφανίζεται επίσης στην URL του servlet. 2. Δημιουργήστε τους φακέλους WEB-INF στον myapp και δημιουργήστε έναν φάκελο με όνομα classes στον WEB- INF. Αυτός είναι για τις Java τάξεις. Αν έχετε φακέλους HTML, βάλτε τους κατευθείαν στον myapp. Ίσως θελήσετε να δημιουργήσετε έναν φάκελο με όνομα images στον myapp για όλα τα αρχεία εικόνων σας Βήμα 2: Γράψτε τον πηγαίο κώδικα του servlet Σ αυτό το βήμα ετοιμάζετε τον πηγαίο κώδικα. Μπορείτε να γράψετε τον πηγαίο κώδικα μόνοι σας χρησιμοποιώντας τον κειμενογράφο της αρεσκείας σας ή να τον αντιγράψετε από το συνοδευτικό CD. Ο κώδικας στον Πίνακα 2.1 δείχνει έναν απλό servlet που λέγεται TestingServlet. Ο φάκελος ονομάζεται TestingServlet.java. Ο servlet στέλνει μερικές HTML ετικέτες και κάποιο κείμενο στον browser. Προς το παρόν, μην ανησυχείτε αν δεν έχετε ιδέα πως δουλεύει. Πίνακας 2.1 TestingServlet.java (Kurniawan, 2002: 11) import javax.servlet.*; import javax.servlet.http.*; import java.io.* ; import java.util.* ; public class TestingServlet extends HttpServlet { public void doget (HttpServletRequest request, HttpServletResponse response) Throws ServletException, IOException { PrintWriter out = response.getwriter(); Σελίδα 30 από 109

31 2 Η Τεχνολογία Servlet out.println ( <HTML> ); out.println ( <HEAD> ); out.println ( <TITLE>Servlet Testing</TITLE> ); out.println ( </HEAD > ); out.println ( <BODY> ); out.println ( Welcome to the Servlet Testing Center ); out.println ( </BODY> ); out.println ( </HTML> ); Τώρα, σώστε τον φάκελο TestingServlet.java στον φάκελο WEB- INF/classes στον myapp. Η τοποθέτηση του κώδικά σας εδώ θα τον κάνει απροσπέλαστο από έναν web browser. Στατικά αρχεία, όπως σελίδες HTML και αρχεία εικόνων, πρέπει να τοποθετηθούν κατευθείαν στον myapp ή έναν φάκελο πιο κάτω απ αυτόν. ΠΡΟΣΟΧΗ: Τοποθετώντας τους φακέλους του κώδικα πηγής έξω απ τον WEB-INF τους κάνετε φανερούς στον browser Βήμα 3: Μεταγλωττίστε τον πηγαίο κώδικά σας Για να μετατρέψετε τον πηγαίο κώδικά σας, πρέπει να συμπεριλάβετε τη διαδρομή για το αρχείο servlet.jar στη μεταβλητή περιβάλλοντος CLASSPATH. Ο servlet.jar βρίσκεται στον υποφάκελο common\lib\ μέσα στον %CATAUNAJHOME%. Για παράδειγμα, αν εγκαταστήσατε τον Tomcat στον δίσκο C:\ στα Windows και ονομάσατε τον φάκελο tomcat, γράψτε την παρακάτω εντολή απ τον φάκελο όπου βρίσκεται ο TestingServlet.java. javac classpath C:\tomcat\common\lib\servlet.jar TestingServlet.java Σελίδα 31 από 109

32 2 Η Τεχνολογία Servlet Εναλλακτικά, για να γλιτώσετε την πληκτρολόγηση κάθε φορά που μεταφράζετε τον κώδικα πηγής, μπορείτε να προσθέσετε την πλήρη διαδρομή για το αρχείο servlet.jar στην μεταβλητή περιβάλλοντος CLASSPATH. Επίσης, αν εγκαταστήσατε τον Tomcat στον C:\ και ονομάσατε τον φάκελο tomcat, πρέπει να προσθέσετε C:\tomcat\common\lib\servlet.jar στην μεταβλητή περιβάλλοντος CLASSPATH. Έπειτα, μπορείτε να μεταγλωττίσετε τον κώδικα γράφοντας απλά το παρακάτω. javac TestingServlet.java Αν χρησιμοποιείτε Windows, θυμηθείτε ότι οι νέες μεταβλητές περιβάλλοντος θα ισχύουν μόνο για νέα παράθυρα κονσόλας εκτέλεσης. Μ άλλα λόγια, αφού αλλάξετε μια νέα μεταβλητή περιβάλλοντος, ανοίξτε ένα νέο παράθυρο γραμμής εντολών για να πληκτρολογήσετε τις εντολές σας Βήμα 4: Δημιουργήστε έναν deployment descriptor Ένας deployment descriptor είναι ένα προαιρετικό συστατικό σε μια εφαρμογή servlet. Ο descriptor παίρνει την μορφή εγγράφου XML που λέγεται web.xml και πρέπει να βρίσκεται στον φάκελο WEB-INF της servlet εφαρμογής. Όταν υπάρχει, ο deployment descriptor περιέχει ρυθμίσεις ειδικά γι αυτή την εφαρμογή. Για να δημιουργήσετε τον deployment descriptor, χρειάζεται να δημιουργήσετε ένα αρχείο web.xml και να το τοποθετήσετε στον φάκελο WEB-INF μέσα στον myapp. Ο web.xml γι αυτό το παράδειγμα εφαρμογής πρέπει να έχει το παρακάτω περιεχόμενο. <?xml version-ί.0 encoding- ISO ?> Σελίδα 32 από 109

33 Πτυχιακή Εργασία της Μαριάννας Καραμάνη <!DOCTYPE web-app PUBLIC -//Sun Microsystems, Inc.//DTD Web Application 2.3//EN p_2_3.dtd > <web-app> <servlet> <servlet-name>testing</servlet-name> <servlet-class>testingservlet</servlet-class> </servlet> </web-app> Το αρχείο web.xml έχει ένα στοιχείο, το web-app. Πρέπει να γράψετε όλους τους servlets σας στο <web-app>. Για κάθε servlet, έχετε ένα <servlet> στοιχείο και χρειάζεστε τα στοιχεία <servlet-name> και <servletclass>. Το <servlet-name> είναι το όνομα για τον servlet σας, με το οποίο είναι γνωστός στον Tomcat. Το <servlet-class> είναι ο φάκελος του servlet χωρίς το πρόσθετο.class. Το να υπάρχουν περισσότεροι από έναν servlet σε μια εφαρμογή είναι σύνηθες. Για κάθε servlet, χρειάζεστε ένα στοιχείο <servlet> στο αρχείο web.xml. Για παράδειγμα, το παρακάτω δείχνει πως είναι το web.xml αν προσθέσετε άλλον servlet που λέγεται Login: <?xml version-ί.0 encoding- ISO ?> <!DOCTYPE web-app PUBLIC -//Sun Microsystems, Inc.//DTD Web Application 2.3//EN p_2_3.dtd > <web-app> <servlet> <servlet-name>testing</servlet-name> <servlet-class>testingservlet</servlet-class> </servlet> <servlet> Σελίδα 33 από 109

34 2 Η Τεχνολογία Servlet <servlet-name>login</servlet-name> <servlet-class> LoginServlet</servlet-class> </servlet> </web-app> Βήμα 5: Τρέξτε τον Tomcat Α ο Tomcat δεν τρέχει ήδη, πρέπει να τον αρχίσετε Βήμα 6: Καλέστε τον servlet σας από έναν web browser Τώρα, μπορείτε να καλέσετε τον servlet από έναν web browser. Εξ ορισμού ο Tomcat τρέχει στην θύρα 8080 στον εικονικό φάκελο myapp στον υποφάκελο του servlet. Ο servlet που γράψατε στα παραπάνω βήματα λέγεται Testing. Η URL γι αυτόν τον servlet έχει την παρακάτω μορφή: Κάθε στατικός φάκελος είναι προσβάσιμος με την παρακάτω URL: Για παράδειγμα, το αρχείο Logo.gif στον φάκελο myapp/images/ είναι προσβάσιμο με την παρακάτω URL: Αν τρέχετε τον web browser στον ίδιο υπολογιστή με τον Tomcat, μπορείτε ν αντικαταστήσετε το μέρος domain-name με το localhost. Σ αυτή την περίπτωση, η URL για τον servlet είναι: Σελίδα 34 από 109

35 Πτυχιακή Εργασία της Μαριάννας Καραμάνη Στον deployment descriptor που γράψατε στο βήμα 4, στην ουσία χαρτογραφήσατε το αρχείο τάξης του servlet που λέγεται TestingServlet με τ όνομα "Testing, έτσι ώστε ο servlet σας να μπορεί να κληθεί προσδιορίζοντας είτε το όνομα του αρχείου της τάξης του (TestingServlet) ή το όνομά του (Testing). Χωρίς έναν deployment descriptor, πρέπει να καλείτε τον servlet προσδιορίζοντας το όνομα τάξης του, που είναι, TestingServlet. Αυτό σημαίνει πως αν δεν γράψατε έναν deployment descriptor στο βήμα 4, πρέπει να χρησιμοποιήσετε την παρακάτω URL για να καλέσετε τον servlet: Πληκτρολογώντας την URL στην διεύθυνση του web browser θα σας δώσει το string "Welcome to the Servlet Testing Center. Συγχαρητήρια. Μόλις γράψατε τον πρώτο σας servlet. Αν δεν θέλετε να γράφετε τον αριθμό θύρας κάθε φορά, μπορείτε ν αλλάξετε την εξ ορισμού θύρα του Tomcat για να τρέχει στην θύρα 80, την εξ ορισμού θύρα για έναν web server. 2.6 Σύνοψη Αυτό το κεφάλαιο σας έδωσε μια γενική εικόνα του πως να χτίζετε μια servlet εφαρμογή. Ειδικότερα, μάθατε για τα πλεονεκτήματα των servlets, εξερευνήσατε την αρχιτεκτονική των servlet εφαρμογών και ανακαλύψετε πως ένας servlet λειτουργεί μέσα σε έναν υποδοχέα servlet. Επίσης είδατε πως να ρυθμίζετε τον Tomcat και ακολουθήσατε τα έξι βήματα που χρειάζονται για να χτίσετε τους δικούς σας servlets. Το επόμενο κεφάλαιο εμβαθύνει περισσότερο στην τεχνολογία των servlets παρουσιάζοντας τις προδιαγραφές της Προγραμματιστικής Διεπαφής Εφαρμογών (API - Application Programming Interface) των Java Serlvets. Σελίδα 35 από 109

36 3 Μέσα στους Servlets 3. Μέσα στους Servlets Παρακολουθώντας τον servlet σε δράση, αποκτούμε κάποια οικειότητα. Και, όπως λένε μερικοί άνθρωποι, το να έχουμε αυτοπεποίθηση είναι η μισή μάχη για να μάθουμε οτιδήποτε. Για να γίνει κανείς ειδικός, ωστόσο, πρέπει να καταλάβει τις λεπτομέρειες του Application Programming Interface (API) της προδιαγραφής Java Servlet. Δυο πακέτα είναι διαθέσιμα για προγραμματιστές servlet: javax.servlet και javax.servlet.http. Το πρώτο περιέχει βασικές τάξεις και interfaces που μπορείτε να χρησιμοποιήσετε για να γράψετε servlets από την αρχή. Το δεύτερο πακέτο, javax.servlet.http, προσφέρει πιο ανεπτυγμένες τάξεις και interfaces που είναι επέκταση των τάξεων και των interfaces του πρώτου πακέτου. Είναι πιο βολική η χρήση του δεύτερου πακέτου. Όταν κάποιος μαθαίνει κάτι, καλύτερα να ξεκινά από τα βασικά και να χτίζει σε γερά θεμέλια. Για παράδειγμα, η κατανόηση του javax.servlet.servlet interface είναι πολύ σημαντική γιατί εμπεριέχει μεθόδους του κύκλου ζωής ενός servlet και είναι το interface που πρέπει όλοι οι servlets να υλοποιούν. Πρέπει επίσης να ξέρει τα στοιχεία του servlet, που αντιπροσωπεύουν το περιβάλλον ενός servlet και την διαμόρφωση του servlet. Εξαιτίας της σπουδαιότητας αυτών των στοιχείων, αυτό το κεφάλαιο σας εισάγει στα μέλη του πακέτου javax.servlet. Σε αυτό το κεφάλαιο θα δείτε επίσης ότι συχνά υπάρχουν πολλού τρόποι για να κάνουμε το ίδιο πράγμα. Μετά από κάποια παραδείγματα, θα δούμε την τάξη GenericServlet, μέλος του πακέτου javax.servlet που δρα σαν συσκευαστής για το javax.servlet.servlet interface. Επεκτείνοντας αυτή την τάξη κάνετε τον κώδικα πιο απλό επειδή θα χρειαστεί να παρέχετε υλοποιήσεις μόνο για τις μεθόδους που θα χρειαστεί να χρησιμοποιήσετε. Σελίδα 36 από 109

37 Πτυχιακή Εργασία της Μαριάννας Καραμάνη Για να τρέξετε κάθε παράδειγμα σ αυτό το κεφάλαιο, πρέπει να μεταγλωττίσετε (compile) τον πηγαίο κώδικα και να αντιγράψετε το αρχείο class στον φάκελο classes μέσα στον φάκελο WEB-INF της εφαρμογής σας. Το υπόλοιπο κεφάλαιο εξηγεί και χρησιμοποιεί τα interfaces και τις τάξεις του πακέτου javax.servlet. 3.1 Το Πακέτο javax.servlet Το πακέτο javax.servlet περιέχει εφτά interfaces, τρεις τάξεις και δύο τάξεις εξαιρέσεων. Αντί να χρησιμοποιήσουμε τη συμβατική προσέγγιση εξηγώντας κάθε interface και τάξη σε αλφαβητική θα δούμε συζητήσεις και παραδείγματα που επιδεικνύουν τη χρήση κάθε function. Η γνώση όλων των μελών του πακέτου είναι σημαντική. Τα εφτά interfaces είναι: -I- RequestDispatcher -I- Servlet -I- ServletConfig -I- ServletContext -I- ServletRequest -I- ServletResponse -I- Single ThreadModel Οι τρεις τάξεις είναι: -I- GenericServlet -I- ServletInputStream -I- ServletOutputStream Σελίδα 37 από 109

38 3 Μέσα στους Servlets Οι exception τάξεις είναι: -I- ServletException -I- UnavailableException Το μοντέλο του πακέτου javax.servlet φαίνεται στην EiK0va 3.1. Εικόνα 3.1 (Kurniawan, 2002: 19) 3.2 Κύκλος Ζωής Ενός Servlet Πρέπει να υπάρχει servlet. Το interface στο πακέτο javax.servlet είναι η πηγή όλων των δραστηριοτήτων στον προγραμματισμό servlet. Ο Servlet είναι το κέντρο της java servlet τεχνολογίας. Κάθε servlet που γράφετε πρέπει ν αναπτύξει αυτό το javax.servlet.servlet interface, είτε άμεσα είτε έμμεσα. Ο κύκλος ζωής ενός servlet καθορίζεται από τρεις μεθόδους του: init, service και destroy. Σελίδα 38 από 109

39 Πτυχιακή Εργασία της Μαριάννας Καραμάνη Η Μέθοδος init() Η μέθοδος init καλείται από τον servlet container μετά την εγκατάσταση της servlet τάξης. Ο servlet container καλεί αυτή την μέθοδο για να δείξει στον servlet ότι ο servlet τοποθετήθηκε στο σύστημα. Η μέθοδος init πρέπει να ολοκληρωθεί με επιτυχία πριν δεχτεί ο servlet οποιαδήποτε αίτηση. Μπορείτε ν ακυρώσετε αυτήν την μέθοδο για να γράψετε τον κώδικα που χρειάζεται να τρέξει μόνο μια φορά, όπως όταν φορτώνετε έναν οδηγό βάσης δεδομένων, αρχικές τιμές κ.τ.λ. Σ άλλες περιπτώσεις, αφήνετε αυτή την μέθοδο κενή. Η υπογραφή αυτής της μεθόδου είναι: public void init(servletconfig config) throws ServletException Η μέθοδος init είναι επίσης σημαντική επειδή ο servlet container περνάει ένα αντικείμενο ServletConfig, που περιέχει τιμές διαμόρφωσης που υπάρχουν στο αρχείο web.xml γι αυτή την εφαρμογή. Επίσης η μέθοδος μπορεί να ρίξει μια ServletException. Ο servlet container δεν μπορεί να βάλει τον servlet στο σύστημα αν η μέθοδος init πετάξει μια ServletException ή αν η μέθοδος δεν επιστρέψει σε συγκεκριμένη χρονική περίοδο από τον web server Η Μέθοδος service() Η μέθοδος service καλείται από τον servlet container μετά την μέθοδο init για να επιτρέψει στον servlet ν απαντήσει σε μια αίτηση. Σελίδα 39 από 109

40 3 Μέσα στους Servlets Οι servlets τρέχουν μέσα σε πολυνηματικούς περιέκτες servlets (multithreaded servlet containers) που μπορούν να χειριστούν σύνθετες αιτήσεις. Πρέπει να γνωρίζετε να συγχρονίζετε την πρόσβαση σε οποιοδήποτε διαμοιραζόμενο πόρο, όπως αρχεία, συνδέσεις δικτύου και τα αρχεία τάξης του servlet. Για παράδειγμα, αν ανοίξετε ένα αρχείο και γράψετε σ αυτό το αρχείο από έναν servlet, πρέπει να θυμάστε ότι ένα διαφορετικό νήμα του ίδιου servlet μπορεί επίσης να ανοίξει το ίδιο αρχείο. Αυτή η μέθοδος έχει την παρακάτω υπογραφή: public void service(servletrequest request, ServletResponse response) throws ServletException, java.io.ioexception Ο servlet container περνάει ένα αντικείμενο ServletRequest και το αντικείμενο ServletResponse. Το αντικείμενο ServletRequest περιέχει την αίτηση του πελάτη και το ServletResponse περιέχει την απάντηση του servlet. Τα δυο αυτά αντικείμενα είναι σημαντικά επειδή σας βοηθούν να γράψετε δικό σας κώδικα που θα καθορίζει πως ο servlet θα εξυπηρετεί την αίτηση του πελάτη. Η μέθοδος service πετάει μια ServletException αν μια exception παρεμβαίνει στην κανονική λειτουργία του servlet. Επίσης η μέθοδος μπορεί να πετάξει μια java.io.ioexception αν μια εξαίρεση εισόδου ή εξόδου συμβεί κατά την διάρκεια της εκτέλεσης αυτής της μεθόδου. Όπως δηλώνει και τ όνομα, η μέθοδος service υπάρχει για να μπορείτε να γράψετε κώδικα που να κάνει τον servlet να λειτουργεί όπως υποτίθεται ότι πρέπει Η Μέθοδος destroy() Ο servlet container καλεί την μέθοδο destroy πριν μετακινήσει κάποιο στιγμιότυπο servlet από το σύστημα. Κανονικά αυτό συμβαίνει όταν ο Σελίδα 40 από 109

41 Πτυχιακή Εργασία της Μαριάννας Καραμάνη servlet container είναι κλειστός ή όταν ο servlet container χρειάζεται ελεύθερη μνήμη. Η μέθοδος αυτή καλείται μόνο όταν όλα τα νήματα μέσα στην μέθοδο service του servlet έχουν τερματιστεί ή όταν έχει περάσει μια χρονική περίοδος. Μετά την κλήση της μεθόδου, ο servlet container δεν θα ξανακαλέσει την μέθοδο service σ αυτόν τον servlet. Η μέθοδος destroy δίνει στον servlet μια ευκαιρία να καθαρίσει όποιους πόρους κρατούνται (π.χ. μνήμη, φάκελο και νήμα) και να βεβαιώσει ότι κάποια «μόνιμη» κατάσταση (persistent state) είναι συγχρονισμένη με την τρέχουσα κατάσταση του servlet στην μνήμη. Η υπογραφή αυτής της μεθόδου είναι: public void destroy() Επίδειξη του Κύκλου Ζωής ενός Servlet Ο Πίνακας 3.1 περιέχει τον κώδικα για έναν servlet που ονομάζεται PrimitiveServlet, έναν πολύ απλό servlet που υπάρχει για να δείχνει τον κύκλο ζωής ενός servlet. Η τάξη PrimitiveServlet αναπτύσσει το javax.servlet.servlet (όπως πρέπει να κάνουν όλοι οι servlets) και παρέχει εφαρμογές για όλες τις μεθόδους του servlet. Αυτό που συμβαίνει είναι πολύ απλό. Κάθε φορά που κάποια απ τις init, service ή destroy μεθόδου καλείται, ο servlet γράφει τ όνομα της μεθόδου στην οθόνη. Πίνακας 3.1 PrimitiveServlet.java (Kurniawan, 2002: 21) import javax.servlet.* ; import java.io.ioexception ; public class PrimitiveServlet implements Servlet { Σελίδα 41 από 109

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

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

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

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) Ένα πρόγραμμα (λογισμικό) που έχει εγκατασταθεί σε ένα υπολογιστικό σύστημα (έναν ή περισσότερους υπολογιστές)

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

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

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

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

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης Σελίδα 1από ΤΕΙ ΚΑΒΑΛΑΣ Πτυχιακή εργασία Δικτυακή Εφαρμογή διαχείρισης ηλεκτρονικών εγγράφων υπηρεσίας. ΕΙΣΑΓΩΓΗ Μιλτιάδης Κακλαμάνης Σελίδα 2από Κατάλογος περιεχομένων ΕΙΣΑΓΩΓΗ...1 Σχετιζόμενα πρόσωπα...3

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

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

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

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

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

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

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

Ενότητα 1: HTTP, Clients και Servers. (Web, το θεμέλιο του Σημασιολογικού Ιστού)

Ενότητα 1: HTTP, Clients και Servers. (Web, το θεμέλιο του Σημασιολογικού Ιστού) Ενότητα 1: HTTP, Clients και Servers (Web, το θεμέλιο του Σημασιολογικού Ιστού) Τα επίπεδα του Σημασιολογικού Ιστού Θα το βρούμε με πολλές μικρές παραλλαγές Θα ασχοληθούμε σε επόμενα εργαστήρια Ποια είναι

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

Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο

Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο Δρ. Χρήστος Όροβας Τεχνικός Υπεύθυνος 1 Διαδικασία «Φόρτωσης» μιας Ιστοσελίδας Internet Explorer, Mozilla, Chrome, κτλ HTTP Server ΠΣΔ Αίτημα για επικοινωνία

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

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

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

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

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

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

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

Π17: Μορφοσυντακτικός και Σηµασιολογικός Σχολιαστής (λογισµικό)

Π17: Μορφοσυντακτικός και Σηµασιολογικός Σχολιαστής (λογισµικό) ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΠΡΑΞΗ «ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΩΝ, ΗΧΟΥ ΚΑΙ ΓΛΩΣΣΑΣ» στο πλαίσιο του ΜΕΤΡΟΥ 3.3 «Έρευνα και Τεχνολογική Ανάπτυξη στην Κοινωνία της Πληροφορίας» ΕΡΓΟ - 9: ΙΑΤΡΟΛΕΞΗ

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

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

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

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

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

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

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

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

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

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

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

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

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

/software/web_tools/webapps/speller/.

/software/web_tools/webapps/speller/. ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΠΡΑΞΗ «ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΩΝ, ΗΧΟΥ ΚΑΙ ΓΛΩΣΣΑΣ» στο πλαίσιο του ΜΕΤΡΟΥ 3.3 «Έρευνα και Τεχνολογική Ανάπτυξη στην Κοινωνία της Πληροφορίας» ΕΡΓΟ - 9: ΙΑΤΡΟΛΕΞΗ

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

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο FrontPage 2003 Πρακτικός Οδηγός Χρήσης Το FrontPage είναι ένα πρόγραμμα δημιουργίας ιστοσελίδων και δικτυακών τόπων που επιτρέπει το σχεδιασμό ιστοσελίδων μέσα από γραφικό περιβάλλον αλλά και την ταυτόχρονη

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

6 Εισαγωγή στο Wordpress 3.x

6 Εισαγωγή στο Wordpress 3.x Περιεχόμενα 1 Εγκατάσταση του WordPress... 11 Ελάχιστες απαιτήσεις... 11 Easy PHP... 12 Εγκατάσταση Easy PHP... 12 Βήματα εγκατάστασης EasyPHP με εικόνες... 13 Το EasyPHP στα Ελληνικά... 17 Κατέβασμα και

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

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Μάθημα Πρώτο Εισαγωγή στις Υπηρεσίες Ιστού (Web Services) Μοντέλα WS JSON Χρήση (consume) WS μέσω python Πρόσβαση σε WS και άντληση δεδομένων Παραδείγματα

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

ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓIΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΑΡΤΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ:ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ

ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓIΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΑΡΤΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ:ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓIΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΑΡΤΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ:ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ ΕΓΚΑΤΑΣΤΑΣΗ APACHE WEB SERVER ΣΕ WINDOWS XP ΣΠΟΥΔΑΣΤEΣ: ΕΙΣΗΓΗΤΗΣ: ΑΛΕΞΑΚΗΣ

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

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΚΟΤΣΟΓΙΑΝΝΙΔΗΣ ΛΑΖΑΡΟΣ Επιβλέπων καθηγητής Σφέτσος Παναγιώτης ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Ως Ηλεκτρονικό Εμπόριο ή

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

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Μέρος 1 1 Βασικοί όροι... 11 2 Βασική δομή κώδικα HTML... 25 3 Μορφοποίηση κειμένου... 39 4 Μορφοποίηση παραγράφων... 51 5 Εισαγωγή εικόνας... 63 6 Λίστες με

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

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Σ ε λ ί δ α 1 Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Περιεχόμενα 1. Download Arebas Easy... 2 2. Εγκατάσταση Arebas Easy... 3 3. Εγγραφή στον Arebas Server... 7 4. Παραμετροποίηση Arebas Easy...

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

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

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

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

α) η καταγραφή και η σύλληψη της δικτυακής κίνησης (capture) και β) η ανάλυση της δικτυακής κίνησης.

α) η καταγραφή και η σύλληψη της δικτυακής κίνησης (capture) και β) η ανάλυση της δικτυακής κίνησης. Εργαστηριακή Άσκηση 3 Σκοπός της τρίτης σειράς ασκήσεων είναι η γνωριµία µε τον αναλυτή πρωτοκόλλων Wireshark. Το πρόγραµµα Wireshark είναι ένας ανιχνευτής πακέτων (packet sniffer) και διατίθεται ως ανοιχτό

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

XAMPP Apache MySQL PHP javascript xampp

XAMPP Apache MySQL PHP javascript xampp XAMPP Το xampp είναι ένα δωρεάν πρόγραμμα με το οποίο μπορούμε να κάνουμε εγκατάσταση τον Apache, τη MySQL και την PHP. Apache. Ο Apache είναι ένας Web Server. Είναι δηλαδή πρόγραμμα το οποίο τρέχει μόνιμα

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

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Β5.1.2 Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Τι θα μάθουμε σήμερα: Να ορίζουμε τι είναι πρωτόκολλο επικοινωνίας Να εξηγούμε τη χρησιμότητα των πρωτοκόλλων επικοινωνίας Να ονομάζουμε τα σημαντικότερα

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

Μια καλή επιλογή θα ήταν www.epipla-onomasas.gr (χωρίζοντας τις λέξεις με παύλα -) ή

Μια καλή επιλογή θα ήταν www.epipla-onomasas.gr (χωρίζοντας τις λέξεις με παύλα -) ή Τι είναι ένα CMS CMS ή Σύστημα Διαχείρισης Περιεχομένου (Content Management System) ονομάζουμε ένα λογισμικό που μας βοηθά να ελέγχουμε και να διαχειριζόμαστε έναν ιστότοπο δημόσιας ή περιορισμένης πρόσβασης.

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

ΕΓΧΕΙΡΙ ΙΟ ΡΥΘΜΙΣΕΩΝ ΓΙΑ ΤΗΝ ΠΡΟΣΒΑΣΗ ΣΕ ΗΛΕΚΤΡΟΝΙΚΟΥΣ ΠΟΡΟΥΣ ΙΚΤΥΟ ΒΙΒΛΙΟΘΗΚΩΝ ΤΟΥ ΙΝΣΤΙΤΟΥΤΟΥ ΘΕΡΒΑΝΤΕΣ

ΕΓΧΕΙΡΙ ΙΟ ΡΥΘΜΙΣΕΩΝ ΓΙΑ ΤΗΝ ΠΡΟΣΒΑΣΗ ΣΕ ΗΛΕΚΤΡΟΝΙΚΟΥΣ ΠΟΡΟΥΣ ΙΚΤΥΟ ΒΙΒΛΙΟΘΗΚΩΝ ΤΟΥ ΙΝΣΤΙΤΟΥΤΟΥ ΘΕΡΒΑΝΤΕΣ ΕΓΧΕΙΡΙ ΙΟ ΡΥΘΜΙΣΕΩΝ ΓΙΑ ΤΗΝ ΠΡΟΣΒΑΣΗ ΣΕ ΗΛΕΚΤΡΟΝΙΚΟΥΣ ΠΟΡΟΥΣ ΙΚΤΥΟ ΒΙΒΛΙΟΘΗΚΩΝ ΤΟΥ ΙΝΣΤΙΤΟΥΤΟΥ ΘΕΡΒΑΝΤΕΣ σ. 1 από 18 _ Εγχειρίδιο ρυθµίσεων για την πρόσβαση σε ηλεκτρονικούς πόρους bibliotecas Εγχειρίδιο

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

Θεματογράφος (ή ο βοηθός του Καθηγητή)

Θεματογράφος (ή ο βοηθός του Καθηγητή) Θεματογράφος (ή ο βοηθός του Καθηγητή) Τι είναι ο Θεματογράφος; Σύντομη Περιγραφή Ο Θεματογράφος είναι μία εφαρμογή με την οποία ο χρήστης μπορεί εύκολα να δημιουργήσει, να ταξινομήσει και να αποθηκεύσει

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

ΘΕΜΑ ΠΤΥΧΙΑΚΗΣ : ΜΗΧΑΝΙΣΜΟΙ ΣΥΛΛΟΓΗΣ ΣΤΟΙΧΕΙΩΝ ΣΤΟ ΔΙΑΔΥΚΤΙΟ (COOKIES)

ΘΕΜΑ ΠΤΥΧΙΑΚΗΣ : ΜΗΧΑΝΙΣΜΟΙ ΣΥΛΛΟΓΗΣ ΣΤΟΙΧΕΙΩΝ ΣΤΟ ΔΙΑΔΥΚΤΙΟ (COOKIES) ΘΕΜΑ ΠΤΥΧΙΑΚΗΣ : ΜΗΧΑΝΙΣΜΟΙ ΣΥΛΛΟΓΗΣ ΣΤΟΙΧΕΙΩΝ ΣΤΟ ΔΙΑΔΥΚΤΙΟ (COOKIES) ΣΕΡΕΣΙΩΤΗ ΜΑΡΙΑ ΕΞΑΜΗΝΟ : ΠΤΥΧΙΟ Α.Μ 1999 ΥΠΕΥΘΥΝΟΣ ΚΑΘΗΓΗΤΗΣ κος ΛΕΩΝΙΔΑΣ ΤΣΙΑΝΤΗΣ ΔΩΡΟ -ΕΚΠΛΗΞΗ COOKIES ΤΙ ΕΙΝΑΙ ΤΑ COOKIES ΕΙΝΑΙ

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

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΘΕΣΣΑΛΟΝΙΚΗ, 2016 ΕΙΣΑΓΩΓΗ Μια διαδικτυακή υπηρεσία μπορεί να περιγραφεί απλά σαν μια οποιαδήποτε

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

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 ELab Π Τ Υ Χ Ι Α

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

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

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

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

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

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

Πλοήγηση www / Με τον Internet Explorer

Πλοήγηση www / Με τον Internet Explorer Πλοήγηση www / Με τον Internet Explorer Περιεχόμενα 1.Eισαγωγή 2.Το περιβάλλον του Internet Explorer 3.Οδηγίες πλοήγησης 4.Αποθήκευση αρχείων 5.Αγαπημένα 6.Ασφαλής σύνδεση 7.Διακομιστής μεσολάβησης 1.Εισαγωγή

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

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

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

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

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

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης ΕΓΚΑΤΑΣΤΑΣΗ & ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ INTERNET INFORMATION SERVER (IIS) ΓΙΑ ΥΛΟΠΟΙΗΣΗ ΥΠΗΡΕΣΙΩΝ ΔΙΑΔΙΚΤΥΟΥ (WEB SERVICES) ΣΠΟΥΔΑΣΤΡΙΑ:Μπάρδα Μαρία ΕΙΣΗΓΗΤΗΣ: Τσιαντής

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

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές Σκοπός του εργαστηρίου αυτού είναι η εξοικείωση με κάποιες εφαρμογές που θα μας φανούν πολύ χρήσιμες κατά τη διάρκεια του μαθήματος της Εισαγωγής στον Προγραμματισμό.

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

Ενότητα 1η. Εισαγωγή στην Πληροφορική

Ενότητα 1η. Εισαγωγή στην Πληροφορική Ενότητα 1η Εισαγωγή στην Πληροφορική 1.1 Τι είναι Πληροφορική Ένας σύντομος ορισμός για το τι είναι πληροφορική είναι ο παρακάτω: όλα εκείνα που χρειάζεται κανείς για να παράγει, να οργανώνει και να διαχειρίζεται

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

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

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

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

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

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

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

Τεχνολογίες Παγκόσμιου Ιστού. 1η διάλεξη

Τεχνολογίες Παγκόσμιου Ιστού. 1η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού 1η διάλεξη Χαρακτηριστικά Μαθήματος Μάθημα προγραμματισμού (και όχι μόνον) Μπορεί να εξελιχθεί σε εφιάλτη αν δεν έχετε καλή γνώση και αρκετή εμπειρία προγραμματισμού (Java)

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

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο Το περιβάλλον εργασίας Ανοίγοντας την Ελληνική Έκδοση του FrontPage, για πρώτη φορά, η εικόνα που θα συναντήσουμε είναι αυτή της Εικόνας 1 με τα Μενού Εντολών και τη Γραμμή Εργαλείων, στο πάνω μέρος της

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

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr»

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Επεξήγηση web site με λογικό διάγραμμα «Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Web : www.e-base.gr E-mail : support@e-base.gr Facebook : Like Twitter : @ebasegr Πολλοί άνθρωποι

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

ΔΙΚΤΥΑ. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Π. Αγγελάτος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΔΙΚΤΥΑ. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Π. Αγγελάτος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΔΙΚΤΥΑ Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Π. Αγγελάτος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network).

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network). ΙΔΡΥΜΑ ΝΕΟΛΑΙΑΣ ΚΑΙ ΔΙΑ ΒΙΟΥ ΜΑΘΗΣΗΣ ΥΠΗΡΕΣΙΕΣ ΔΙΑΔΙΚΤΥΟΥ Καλαμάτα, 2015 Το Διαδίκτυο Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network). Πρόκειται

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

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; Εισαγωγή Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; 1. Σελίδα μαθήματος Εγγραφή Ο κάθε φοιτητής πρέπει να κάνει εγγραφή στη σελίδα του μαθήματος στην πλατφόρμα e-class

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

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

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

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

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

Οδηγίες για τη Χρήση του Google Drive

Οδηγίες για τη Χρήση του Google Drive Οδηγίες για τη Χρήση του Google Drive Χαρπαντίδου Ζαχαρούλα Επιμορφώτρια Β επιπέδου ΠΕ 19-20 Υπεύθυνη ΚΕ.ΠΛΗ.ΝΕ.Τ. Δράμας 2013 Περιεχόμενα Δημιουργία λογαριασμού στο Google Drive. 3 Διαχείριση του GoogleDrive..

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

Εγκατάσταση Joomla 1. Στο Π.Σ.Δ. (www.sch.gr) 2. Τοπικά 3. Σε δωρεάν Server

Εγκατάσταση Joomla 1. Στο Π.Σ.Δ. (www.sch.gr) 2. Τοπικά 3. Σε δωρεάν Server Γεώργιος Χρ. Μακρής Εγκατάσταση Joomla 1. Στο Π.Σ.Δ. (www.sch.gr) 2. Τοπικά 3. Σε δωρεάν Server 2012 Γ ε ώ ρ γ ι ο ς Χ ρ. Μ α κ ρ ή ς ( h t t p : / / u s e r s. s c h. g r / g m a k r i s ) Περιεχόμενα

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

6.2 Υπηρεσίες Διαδικτύου

6.2 Υπηρεσίες Διαδικτύου 6.2 Υπηρεσίες Διαδικτύου 1 / 34 Όλες οι υπηρεσίες στο Διαδίκτυο, όπως και πολλές εφαρμογές λογισμικού, στηρίζονται στο μοντέλο Πελάτη Εξυπηρετητή. 2 / 34 Σύμφωνα με αυτό το μοντέλο ο Εξυπηρετητής οργανώνει,

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

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college.

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college. Χρήση της Διεπαφής Προγραμματισμού Εφαρμογής Google Maps για τη δημιουργία διαδραστικού χάρτη με τα Μνημεία Παγκόσμιας Πολιτιστικής Κληρονομιάς της ΟΥΝΕΣΚΟ στη Θεσσαλονίκη Εμμανουήλ Τσάμης 1, Κωνσταντίνος

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

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές Σκοπός του εργαστηρίου αυτού είναι η χρησιμοποίηση κάποιων εφαρμογών που θα μας φανούν πολύ χρήσιμες κατά τη διάρκεια του μαθήματος της Εισαγωγής στον Προγραμματισμό.

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

Περιεχόμενα Πώς να χρησιμοποιήσετε το βιβλίο... 7 Αντί προλόγου... 9 Κεφάλαιο 1: Κεφάλαιο 2: Κεφάλαιο 3: Κεφάλαιο 4: Κεφάλαιο 5: Πώς να δημιουργήσω το Προφίλ μου και να γίνω μέλος στο Facebook;... 15 Τι

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

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών World Wide Web (WWW) Θέματα Επεξεργασία δεδομένων στο Web Δημιουργία απλών σελίδων HTML Περιγραφή κάποιων XHTML στοιχείων (tags) Εξέλιξης του WWW Το WWW

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

Εισαγωγή στις ΤΠΕ ΙΙ Γιάννης Βρέλλης ΠΤΔΕ-Πανεπιστήμιο Ιωαννίνων. World Wide Web. Παγκόσμιος Ιστός

Εισαγωγή στις ΤΠΕ ΙΙ Γιάννης Βρέλλης ΠΤΔΕ-Πανεπιστήμιο Ιωαννίνων. World Wide Web. Παγκόσμιος Ιστός Εισαγωγή στις ΤΠΕ ΙΙ Γιάννης Βρέλλης ΠΤΔΕ-Πανεπιστήμιο Ιωαννίνων World Wide Web Παγκόσμιος Ιστός Internet - WWW Internet: παγκόσμιο δίκτυο υπολογιστών που βασίζεται στο πρωτόκολο επικοινωνίας TCP/IP και

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

FTP - (File Transfer Protocol ) Πρωτόκολλο Μεταφοράς Αρχείων

FTP - (File Transfer Protocol ) Πρωτόκολλο Μεταφοράς Αρχείων FTP - (File Transfer Protocol ) Πρωτόκολλο Μεταφοράς Αρχείων Το File Transfer Protocol (FTP), (Πρωτόκολλο Μεταφοράς Αρχείων) είναι ένα ευρέως χρησιμοποιούμενο πρωτόκολλο σε δίκτυα τα οποία υποστηρίζουν

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

Περιεχόμενα. Πρόλογος... xiii

Περιεχόμενα. Πρόλογος... xiii Περιεχόμενα Πρόλογος... xiii Κεφάλαιο 1 ο Εισαγωγή στις τεχνολογίες Διαδικτύου... 1 1.1 Σύντομη ιστορία του Διαδικτύου... 3 1.2 Σύνδεση στο Διαδίκτυο μέσω Παρόχου (ISP)... 6 1.3 Μοντέλα Επικοινωνίας...

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

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

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1 Διαχείριση Πληροφοριών στο Διαδίκτυο Εργαστήριο 1 Τεχνολογικό Εκπαιδευτικό Ίδρυμα Καβάλας Σχολή Διοίκησης & Οικονομίας Τμήμα Διαχείρισης Πληροφοριών Διδάσκων Μαρδύρης Βασίλειος, Διπλ. Ηλ. Μηχανικός & Μηχ.

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

Το πρωτόκολλο ΗΤΤΡ (HyperText Transfer Protocol)

Το πρωτόκολλο ΗΤΤΡ (HyperText Transfer Protocol) Το πρωτόκολλο ΗΤΤΡ (HyperText Transfer Protocol) Το όχηµα για την επικοινωνία πελάτηεξυπηρετητή στο Web Χρήστος Ηλιούδης, Πέτρος Λάµψας & Σπύρος Λάλης, 2003 Στόχοι της Ενότητας Η παρουσίαση των χαρακτηριστικών

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

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

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

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

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

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

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ Α2Α

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ Α2Α 1 ΤΕΧΝΙΚΕΣ ΠΡΟΔΙΑΓΡΑΦΕΣ ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ Α2Α 1.1 ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ Το λειτουργικό σύστημα θα πρέπει να είναι Windows XP, 2000 και 2003. Ο λογαριασμός χρήστη του υπολογιστή, θα πρέπει να έχει πλήρη

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

Πληροφορική Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου & Επίπλου Αντώνιος Καραγεώργος Ευανθία Τσιλιχρήστου. Μάθημα 5 ο Τεχνολογίες Διαδικτύου: HTML I

Πληροφορική Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου & Επίπλου Αντώνιος Καραγεώργος Ευανθία Τσιλιχρήστου. Μάθημα 5 ο Τεχνολογίες Διαδικτύου: HTML I Πληροφορική Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου & Επίπλου Αντώνιος Καραγεώργος Ευανθία Τσιλιχρήστου Μάθημα 5 ο Τεχνολογίες Διαδικτύου: HTML I Διαδικτυακή Εφαρμογή (1/2) Ως διαδικτυακή εφαρμογή μπορούμε

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

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Πως θα κατασκευάσω το πρώτο πρόγραμμα; Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να γίνει εξοικείωση το μαθητών με τον ΗΥ και το λειτουργικό σύστημα. - Επίδειξη του My Computer

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

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού Κεφάλαιο 6 ο Διαχείριση στοιχείων λογισμικού Διδακτικοί στόχοι Να περιγραφούν οι κύριοι τύποι λογισμικού Να εξεταστεί το λογισμικό συστήματος και τα λειτουργικά συστήματα Να αναλυθούν οι πιο σημαντικές

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

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στην Python Σύνοψη Σε αυτό το κεφάλαιο κάνουμε μια σύντομη εισαγωγή στην Python και στα εργαλεία λογισμικού που θα χρησιμοποιήσουμε στη συνέχεια του συγγράμματος. Προαπαιτούμενη γνώση

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

Σχεδιασμός Web εφαρμογής διαχείρισης συσκευών σε γλώσσα ASP.NET και βάση δεδομένων SQL Server 2000

Σχεδιασμός Web εφαρμογής διαχείρισης συσκευών σε γλώσσα ASP.NET και βάση δεδομένων SQL Server 2000 Σχεδιασμός Web εφαρμογής διαχείρισης συσκευών σε γλώσσα ASP.NET και βάση δεδομένων SQL Server 2000 Πτυχιακή Εργασία 1 Περιεχόμενα Πρόλογος Ιστορική Αναδρομή;......1 Εισαγωγή Τι είναι η ΑSP.NET;...5 Αντικειμενοστραφής

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

Εισαγωγη στην html. Η δομή μιας ιστοσελίδας (αρχείο html) Η βασική δομή ενός αρχείου html είναι η εξής: <html> <head>

Εισαγωγη στην html. Η δομή μιας ιστοσελίδας (αρχείο html) Η βασική δομή ενός αρχείου html είναι η εξής: <html> <head> Εισαγωγη στην html Ο παγκόσμιος ιστός (αγγ.: World Wide Web ή www) είναι η πιο δημοφιλής υπηρεσία που μας παρέχει το Διαδίκτυο (Internet) και είναι ένα σύστημα διασυνδεδεμένων πληροφοριών (κειμένου, εικόνας,

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

Δημιουργία. Ιστολογίου (blog) 7/5/2015. Χρυσάνθη Γιομέλου ΚΔΒΜ ΝΙΚΑΙΑΣ

Δημιουργία. Ιστολογίου (blog)  7/5/2015. Χρυσάνθη Γιομέλου ΚΔΒΜ ΝΙΚΑΙΑΣ Δημιουργία 7/5/2015 Ιστολογίου (blog) www.blogger.com Χρυσάνθη Γιομέλου ΚΔΒΜ ΝΙΚΑΙΑΣ ΠΕΡΙΕΧΟΜΕΝΑ TI EINAI TO ΙΣΤΟΛΟΓΙΟ... 2 ΓΙΑΤΙ ΙΣΤΟΛΟΓΙΟ;... 2 ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΤΗΣ ΧΡΗΣΗΣ ΙΣΤΟΛΟΓΙΟΥ... 2 ΔΗΜΙΟΥΡΓΙΑ ΛΟΓΑΡΙΑΣΜΟΥ

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

Ενηµερώσεις λογισµικού Οδηγός χρήσης

Ενηµερώσεις λογισµικού Οδηγός χρήσης Ενηµερώσεις λογισµικού Οδηγός χρήσης Copyright 2009 Hewlett-Packard Development Company, L.P. Η ονοµασία Windows είναι σήµα κατατεθέν της Microsoft Corporation στις Ηνωµένες Πολιτείες. Οι πληροφορίες στο

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

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

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

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

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

Περιεχόμενα. Visio / White paper 1

Περιεχόμενα. Visio / White paper 1 Περιεχόμενα Τι είναι η πλατφόρμα Visio Αρχιτεκτονική Δουλεύοντας με το Περιεχόμενο Πηγές Περιεχόμενου Διαγραφή Περιεχομένου Βασικές Λειτουργίες Προφίλ Χρήστη Διαχείριση Χρηστών Σύστημα Διαφημίσεων Αποθήκευση

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

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών Οδηγός Εργαστηρίου

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

ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ.

ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ. ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ. Το πρώτο πράγμα που βλέπουμε μόλις ξεκινάμε το παιχνίδι είναι μια λίστα με όλα τα διαθέσιμα βίντεο με τα οποία μπορούμε να εξασκηθούμε. Σε αυτή περιλαμβάνονται επίσης πληροφορίες

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

Διαδίκτυο: Ιστορία, Δομή, Υπηρεσίες

Διαδίκτυο: Ιστορία, Δομή, Υπηρεσίες Διαδίκτυο: Ιστορία, Δομή, Υπηρεσίες 1 η Ερώτηση (Ορισμός): Τι είναι το Διαδίκτυο; Διαδίκτυο είναι το παγκόσμιο δίκτυο όλων των επιμέρους δικτύων που έχουν συμφωνήσει σε κοινούς κανόνες επικοινωνίας και

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

Epsilon Net PYLON Platform

Epsilon Net PYLON Platform Epsilon Net PYLON Platform Οδηγίες Εγκατάστασης Top 1 / 31 Περιεχόμενα 1 ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ... 3 2 ΕΓΚΑΤΑΣΤΑΣΗ ΕΦΑΡΜΟΓΗΣ... 5 3 ΕΓΚΑΤΑΣΤΑΣΗ DEMO... 7 4 ΕΓΚΑΤΑΣΤΑΣΗ ΠΡΟΤΥΠΗΣ ΒΑΣΗΣ... 8 4.1 Φόρτωση πρότυπης

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

Κοινή χρήση πόρων με τα Windows XP

Κοινή χρήση πόρων με τα Windows XP Κοινή χρήση πόρων με τα Windows XP Α. Κοινή χρήση αρχείων και φακέλων Θα μάθετε: Να θέτετε σε κοινή χρήση ένα αρχείο ή ένα φάκελο του υπολογιστή με τα Windows XP. Να θέτετε σε κοινή χρήση στο δίκτυο μουσική,

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

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

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

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

Unity Editor #02 Κεντρικό Μενού: File, Build Settings και Build & Run

Unity Editor #02 Κεντρικό Μενού: File, Build Settings και Build & Run Unity Editor #02 Κεντρικό Μενού: File, Build Settings και Build & Run Καλώς ήλθες. Στο προηγούμενο μάθημα είδαμε τις λειτουργίες του μενού File του Editor της Unity. Όπως είπαμε οι δύο επιλογές που διαφέρουν

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει

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

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας Δίκτυα Υπολογιστών Firewalls Χάρης Μανιφάβας 1 Επικοινωνία Βασίζεται στη μεταβίβαση μηνυμάτων (λόγω απουσίας διαμοιραζόμενης μνήμης) Απαιτείται συμφωνία φόρμας μηνυμάτων Πρότυπο Στόχος τυποποίησης = Συνεργασία

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

PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet.

PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet. PROXY SERVER Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet. Αποτελεσματικό εργαλείο για την απόκρυψη των εσωτερικών λεπτομερειών και διευθύνσεων IP του δικτύου. Αυξάνει τη συνολική

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

BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P.

BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P. BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P. Πριν την έναρξη της διαδικασίας θα θέλαμε να σας ενημερώσουμε ότι η αναβάθμιση διαφέρει σε κάποιες λεπτομέρειες, ανάλογα με το τύπο της βάσης δεδομένων της κάθε χρήσης.

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

Javascript. του project /software/web_tools/webapps/search_engine/.

Javascript. του project  /software/web_tools/webapps/search_engine/. ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΠΡΑΞΗ «ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΩΝ, ΗΧΟΥ ΚΑΙ ΓΛΩΣΣΑΣ» στο πλαίσιο του ΜΕΤΡΟΥ 3.3 «Έρευνα και Τεχνολογική Ανάπτυξη στην Κοινωνία της Πληροφορίας» ΕΡΓΟ - 9: ΙΑΤΡΟΛΕΞΗ

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

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Στέλλα Λάμπουρα Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί

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

Διαδικτυακές Υπηρεσίες Αναζήτησης, Απεικόνισης και Απευθείας Πρόσβασης στα δεδομένα ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ. Έκδοση 0.1.

Διαδικτυακές Υπηρεσίες Αναζήτησης, Απεικόνισης και Απευθείας Πρόσβασης στα δεδομένα ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ. Έκδοση 0.1. Κομβικό Σημείο Επαφής Υπουργείου Εσωτερικών Διαδικτυακές Υπηρεσίες Αναζήτησης, Απεικόνισης και Απευθείας Πρόσβασης στα δεδομένα ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ Έκδοση 0.1. Νοέμβρης 2014 Περιεχόμενα 1. ΕΙΣΑΓΩΓΗ... 2 2.

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

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

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

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

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

Ενημερώσεις λογισμικού Οδηγός χρήσης

Ενημερώσεις λογισμικού Οδηγός χρήσης Ενημερώσεις λογισμικού Οδηγός χρήσης Copyright 2008 Hewlett-Packard Development Company, L.P. Η ονομασία Windows είναι σήμα κατατεθέν της εταιρείας Microsoft Corporation στις Η.Π.Α. Οι πληροφορίες στο

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

Οδηγίες χρήσης Πώς να χρησιμοποιήσετε το FastBanner

Οδηγίες χρήσης Πώς να χρησιμοποιήσετε το FastBanner Οδηγίες χρήσης Πώς να χρησιμοποιήσετε το FastBanner 1 P a g e Περιεχόμενα Περιεχόμενα... 2 1. Τι είναι το FastBanner... 3 2. Χειρισμός του FastBanner... 3 3. Πώς να χρησιμοποιήσετε το FastBanner... 5 3.1.

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

ΟΔΗΓΟΣ ΕΓΚΑΤΑΣΤΑΣΗΣ ΠΙΣΤΟΠΟΙΗΤΙΚΟΥ ΑΣΦΑΛΕΙΑΣ WEBMAIL ΤΕΙ ΚΑΛΑΜΑΤΑΣ

ΟΔΗΓΟΣ ΕΓΚΑΤΑΣΤΑΣΗΣ ΠΙΣΤΟΠΟΙΗΤΙΚΟΥ ΑΣΦΑΛΕΙΑΣ WEBMAIL ΤΕΙ ΚΑΛΑΜΑΤΑΣ ΟΔΗΓΟΣ ΕΓΚΑΤΑΣΤΑΣΗΣ ΠΙΣΤΟΠΟΙΗΤΙΚΟΥ ΑΣΦΑΛΕΙΑΣ WEBMAIL ΠΕΡΙΕΧΟΜΕΝΑ 1. URL Διεύθυνση WebMail... 3 2. Εγκατάσταση Πιστοποιητικού Ασφάλειας... 3 2.1 Εγκατάσταση Πιστοποιητικού στον Internet Explorer... 3 2.2

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

Άνοιγμα (και κλείσιμο) της εφαρμογής Εγγράφου Κειμένου

Άνοιγμα (και κλείσιμο) της εφαρμογής Εγγράφου Κειμένου 3.1.1.1 Άνοιγμα (και κλείσιμο) της εφαρμογής Εγγράφου Κειμένου Ως επί το πλείστον δεν υπάρχουν διαφορές στη χρήση του Εγγράφου Κειμένου στα λειτουργικά Windows ή Linux. Η σημαντικότερη διαφορά παρουσιάζεται

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Τηλ/νιών Τομέας Προγ/σμού & Τεχνολογίας Λογισμικού Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Δρ. Νικόλαος Θ. Λιόλιος Καθηγητής Φεβρουάριος 2012 1. Εισαγωγή Το Visual

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

Όταν αποθηκεύετε μία παρουσίαση, την ονομάζετε και καθορίζετε πού θα την αποθηκεύσετε

Όταν αποθηκεύετε μία παρουσίαση, την ονομάζετε και καθορίζετε πού θα την αποθηκεύσετε Αποθήκευση μίας παρουσίασης σε μία τοποθεσία σε έναν οδηγό Όταν εργάζεστε με το, η φόρμα εργασίας καταχωρείται στη μνήμη RAM. Πρόκειται για μία προσωρινή μνήμη που χρησιμοποιείται για τις τρέχουσες δραστηριότητες

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