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

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

Java & Java EE 3o Μέρος: Διασφάλιση ασφάλειας σε εφαρμογές Java Enterprise Edition. Κακαρόντζας Γεώργιος

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

Κέντρο Αριστείας Ανοιχτού Λογισμικού ΑΠΘ

Εργαστήριο 6. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο. Στόχος. Προετοιμασία περιβάλλοντος εργασίας. a) Εκκίνηση XAMPP

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

XAMPP Apache MySQL PHP javascript xampp

Δημιουργία μιας εφαρμογής Java με το NetBeans

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

Εργαστήριο 8. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο

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

Εφαρμοσμένη Πληροφορική ΙΙ (Ε) To Ολοκληρωμένο Περιβάλλον Ανάπτυξης (Integrated Development Environment-IDE) Netbeans 8

Εργαστήριο 9. Προγραμματιστικές Εφαρμογές στο Διαδίκτυο. Στόχος. Προετοιμασία περιβάλλοντος εργασίας

Διαδικτυακές Εφαρμογές Ενότητα 3: Ανάπτυξη JavaEE 6 εφαρμογής με JSF2, EJB3 και JPA

Συλλογή και Επεξεργασία Δεδομένων με Φόρμες

Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων Kεφάλαιο 13 Ανάλυση δεδομένων...

Εργαστήριο 1-1 η Άσκηση - Ανάλυση

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

1. Απαιτήσεις εργασίας

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

Δημιουργία ενός κενού πίνακα

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

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

Τεχνολογίες Διαδικτύου - Εργαστήριο 1 ο

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

Σχεδόν όλες οι ιστοσελίδες βασίζονται σε μεγάλο βαθμό σε πίνακες. Για να εισάγουμε έναν πίνακα επιλέγουμε από το μενού Insert->Table.

ΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Υπολογιστικών Φύλλων. 2. Κύρια Οθόνη Της Εφαρμογής Υπολογιστικών Φύλλων ΣΤΟΧΟΙ:

2. ΕΙΣΑΓΩΓΗ ΣΤΗΝ HTML ΓΙΩΡΓΟΣ ΓΙΑΝΝΑΚΑΚΗΣ, ΜΑΝΩΛΗΣ ΤΣΙΚΝΑΚΗΣ

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

Οδηγίες Χρήσης της MySQL

Επεξεργασία πολλαπλών φύλλων εργασίας - Γραφημάτων Excel

Επαναληπτική Άσκηση ΕΤΙΚΕΤΕΣ HTML

Άσκηση 6 Επαναληπτική Άσκηση HTML

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

Προσομείωση ασύρματων δικτύων με τη χρήση του OPNET Modeler

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Python. 1η Ομάδα Ασκήσεων

Εγχειρίδιο χρήσης συστήματος ηλεκτρονικής αλληλογραφίας της Ελληνικής Ομοσπονδίας Μπριτζ

ΔΙΑΔΙΚΑΣΙA ΜΕΤΑΦΟΡΑΣ ΥΛΙΚΟΥ ΜΑΘΗΜΑΤΟΣ ΑΠΟ BLACKBOARD VISTA ΣΕ MOODLE

Δραστηριότητα 1. Προγραμματίζω τον υπολογιστή (10 ώρες).

Σε αυτό το μάθημα θα ασχοληθούμε με τη βελτίωση της εμφάνισης ενός ιστοτόπου, αλλά και τον εύκολο χειρισμό όλων των αλλαγών τις οποίες επιθυμούμε να

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

ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΕΝΙΣΧΥΤΙΚΗΣ ΔΙΔΑΣΚΑΛΙΑΣ (ΕΚΔΟΣΗ 2.0 ΣΕΠΤΕΜΒΡΙΟΣ 2016) ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ

Άσκηση 5 -Δηµιουργία ιστοσελίδων µε HTML µέρος 5 ο

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

ΤΟ MICROSOFT WORD XP. Ας ξεκινήσουμε λοιπόν!

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

ηµιουργία Αρχείου Πρότζεκτ (.qpf)

Ράβδος Εργαλείων, σχεδόν τα ίδια εργαλεία και εικονίδια υπάρχουν όπως στα άλλα προγράμματα που έχετε μάθει μέχρι σήμερα.

Οδηγίες Χρήσης της MySQL

ΕΡΓΑΣΤΗΡΙΟ FRONT PAGE 3

Δομές Δεδομένων. Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse. 5ο εξάμηνο. v1.0

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

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word

Φόρμες. Γενικοί κανόνες. Η ετικέτα <form>

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Hyper Text Markup Language (HTML) που σημαίνει γλώσσα σήμανσης υπερκειμένου.

<HTML> <HEAD> <TITLE> <BODY>

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

Μενού Προβολή. Προβολές εγγράφου

2. Εισαγωγή Δεδομένων σε Σχεσιακή Βάση Δεδομένων

Εργαστηριακή Άσκηση 4 Μορφοποίηση Κειμένου μέσω του

ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES

ΕΡΓΑΣΙΑ 2 - MOODLE ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ακ. Έτος ΔΙΔΑΣΚΩΝ: Π. Εφραιμίδης. Υπεύθυνος εργαστηρίου: Α. Κουτσιαμάνης

1. Απαιτήσεις εργασίας

Εργασία για το Facility Game Μάθημα: Δομές Δεδομένων Σωτήρης Γυφτόπουλος

Η γλώσσα HTML. Επιμέλεια: Δέγγλερη Σοφία

ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΜΑΘΗΤΙΚΩΝ ΑΓΩΝΩΝ (ΕΚΔΟΣΗ 1 ΣΕΠΤΕΜΒΡΙΟΣ 2017) ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ

Survey 123 User Manual

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

To περιβάλλον Ανάπτυξης εφαρμογών της Visual Basic 2008 Express Edition

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

ΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Επεξεργασίας Κειμένου. 2. Κύρια Οθόνη Της Εφαρμογής Κειμένου ΣΤΟΧΟΙ:

ΔΙΑΔΙΚΑΣΙA ΜΕΤΑΦΟΡΑΣ ΥΛΙΚΟΥ ΜΑΘΗΜΑΤΟΣ ΑΠΟ BLACKBOARD VISTA ΣΕ OPEN ECLASS

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

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

Μπορείτε τα δείτε βιντεάκι με τη διαδικασία εδώ:

Δημιουργία η-μαθήματος με τη. 3 ο Μέρος Εισαγωγή πληροφοριών: δημιουργία ιστοσελίδας

Το αποτέλεσμα αυτής της ενέργειας είναι ότι το μήνυμα δεν θα φτάσει ΠΟΤΕ στον φοιτητή που σας το έχει στείλει.

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

SPSS Statistical Package for the Social Sciences

Εργαστήριο #12. Βήμα 1 ο. Βήμα 2 ο. Βήμα 3 ο. Βήμα 4 ο.

ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : / id ot.com /

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

Προγραμματισμός Διαδικτύου Ασκήσεις Εργαστηρίου

Πρακτικές οδηγίες για την Επεξεργασία Κειμένου

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ. Κεφάλαιο 5. Αλληλεπιδραστικές ιστοσελίδες (χρήση ετικέτας <FORM> και η τεχνική CGI)

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access

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

PRISMA Win POS Sync Merge Replication

Λογισμικό Reload. Οδηγός. Συγγραφική Ομάδα: Κωνςταντίνοσ Τςακάλογλου, Ιωάννησ Εξηνταρίδησ, Κωνςταντίνοσ Τςιμπάνησ, Σταυροφλα Γεωργιάδη

Καθορισμός μεταβλητών και εισαγωγή δεδομένων

Τεχνολογίες Διαδικτύου (Εξασκηθείτε στην HTML)

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ: Εντολές κίνησης και στροφής στο προγραμματιστικό περιβάλλον Scratch. ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

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

Πρακτική Άσκηση Εισαγωγή στο Frontpage

Blog στο Wordpress. Επιμέλεια: Δέγγλερη Σοφία

Βάσεις δεδομένων (Access)

Transcript:

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

Διάκριση μεταξύ Web και πλήρους προφίλ Στη Java EE υπάρχει η διάκριση μεταξύ web προφίλ και πλήρους προφίλ. Το Web προφίλ περιλαμβάνει όλα όσα χρειάζονται για τη δημιουργία εφαρμογών διαδικτύου χωρίς κάποια χαρακτηριστικά που έχουν σχέση με υπηρεσίες διαδικτύου (web services), απομακρυσμένη χρήση εφαρμογών (remoting), επικοινωνία μέσω μηνυμάτων (messaging) κ.α. Οι περισσότερες περιπτώσεις εφαρμογών διαδικτύου καλύπτονται από το web προφίλ, για μεγάλες εφαρμογές διαδικτύου όμως πολλές φορές απαιτείται το πλήρες προφίλ. Η Εικόνα δείχνει λεπτομερώς όλα εκείνα τα APIs που υποστηρίζονται στην μία και στην άλλη έκδοση Ειδικά τα Enterprise Java Beans 3.1 διαχωρίζονται και αυτά σε πλήρες και web προφίλ με κάποιες λειτουργίες να υποστηρίζονται μόνο στο πλήρες προφίλ. Για παράδειγμα τα Message Driven Beans (δηλαδή συστατικά που επικοινωνούν μέσω μηνυμάτων) υποστηρίζονται μόνο στο πλήρες προφίλ.

Δημιουργία έργου με το NetBeans Το NetBeans υποστηρίζει την δημιουργία έργων και των 2 αυτών προφίλ. Όταν δημιουργούμε ένα έργο με το NetBeans επιλέγουμε File->New Project Από τις διαθέσιμες κατηγορίες μπορούμε να επιλέξουμε Java Web (για το web προφίλ) ή Java EE (για το πλήρες προφίλ). Προς το παρόν θα επικεντρωθούμε στο web προφίλ.

Ο ρόλος των Java Server Pages Οι Java Server Pages (JSPs), από αρχιτεκτονική άποψη, ανήκουν στο επίπεδο της διασύνδεσης χρήστη. Είναι μία τεχνολογία που μπορεί να χρησιμοποιηθεί για την δημιουργία εφαρμογών διαδικτύου με παρόμοιο τρόπο με αυτόν της PHP. Συνηθέστερα όμως σε εφαρμογές JEE οι JSPs χρησιμοποιούνται ως η όψη (View) σε μία αρχιτεκτονική ModelView-Controller όπου: Μοντέλο (Model) είναι ένα Java Bean (μία κλάση Java που ακολουθεί κάποιες συμβάσεις) Όψη (View) είναι μία JSP, και Ελεγκτής (Controller) είναι ένα Servlet Για περισσότερες πληροφορίες για το αρχιτεκτονικό πρότυπο Model-View-Controller (MVC) δείτε το: http://en.wikipedia.org/wiki/model-view-controller

Παράδειγμα Java Server Pages Θα δημιουργήσουμε ένα web project με μία ιστοσελίδα (HTML) και μία JSP σελίδα. Η HTML ιστοσελίδα θα συγκεντρώνει κάποιες πληροφορίες από έναν χρήστη και αυτές τις πληροφορίες θα τις ανακτά η JSP και θα τις εμφανίζει. Η JSP απλά θα εμφανίζει το αποτέλεσμα αλλά θα μπορούσε να κάνει οτιδήποτε (π.χ. Θα μπορούσε να αποθηκεύσει αυτά τα στοιχεία στη ΒΔ). Κάνοντας αυτό το παράδειγμα θα συζητήσουμε και κάποιες νέες δυνατότητες του NetBeans για την δημιουργία εφαρμογών διαδικτύου. Η εφαρμογή αυτή αρχικά δεν θα ακολουθεί το πρότυπο MVC. Στη συνέχεια θα βάλουμε ένα Servlet και ένα Java Bean για να βελτιώσουμε την δομή της εφαρμογής και να υλοποιήσουμε το πρότυπο MVC

Δημιουργία του project Βήμα 1: Επιλογή τύπου project Για την δημιουργία του project επιλέγουμε File->New Project... Στο πλαίσιο διαλόγου 'New Project' επιλέγουμε Κατηγορία: Java Web Projects: Web Application Πατάμε το 'Next>' για το επόμενο βήμα του οδηγού.

Δημιουργία του project Βήμα 2: Καθορισμός ονόματος του project Στο πεδίο 'Project Name' δίνουμε το όνομα του project. Για το project θα δημιουργηθεί ένας νέος φάκελος στον οποίο θα περιέχονται όλα τα αρχεία του project. Ο φάκελος αυτός θα δημιουργηθεί στον φάκελο 'Project Location' Ο υποφάκελος του project (Project Folder) θα έχει το όνομα που έχουμε δώσει στο project και θα περιέχεται στον φάκελο 'Project Location'. Όπως πληκτρολογείτε το όνομα του project αλλάζει και το 'Project Folder' Δώστε 'Project Name' το όνομα 'Questionnaire' και πατήστε 'Next>'

Δημιουργία του project Βήμα 3: Καθορισμός του εξυπηρετητή Αν και το NetBeans εξ ορισμού χρησιμοποιεί τον Glassfish application server μπορείτε να χρησιμοποιήσετε και άλλους εξυπηρετητές αν το επιθυμείτε. Για τους σκοπούς του δικού μας μαθήματος θα χρησιμοποιήσουμε τον Glassfish Server. Επίσης μπορούμε να καθορίσουμε και την έκδοση της Java EE στην οποία στοχεύουμε. Εξ ορισμού είναι η τελευταία έκδοση (εδώ η 7) Τέλος καθορίζουμε το context path που θα εμφανίζεται στο browser μετά την διεύθυνση του εξυπηρετητή για την εφαρμογή μας. Εξ ορισμού εδώ τοποθετείται το όνομα της εφαρμογής. Έτσι αν η εφαρμογή μας εκτελείται στον localhost και στη θύρα 8080 τότε η διεύθυνση της αρχικής σελίδας (index.html) στο browser θα είναι http://localhost:8080/questionnaire/index.html Κρατάμε τις εξ ορισμού ρυθμίσεις και πατάμε το πλήκτρο 'Next>'

Δημιουργία του project Βήμα 4: Καθορισμός πλαισίων Για τη Java EE έχουν δημιουργηθεί πολλά πλαίσια (frameworks) τα οποία έχουν ως στόχο την διευκόλυνση των προγραμματιστών για διάφορες λειτουργίες μιας τυπικής διαδικτυακής εφαρμογής. Προς το παρόν δεν θα χρειαστούμε κάποιο πλαίσιο οπότε εδώ δεν επιλέγουμε τίποτα και πατάμε το 'Finish' για να ολοκληρώσουμε τη δημιουργία της εφαρμογής.

Η καρτέλα των έργων και ο εκδότης Όπως φαίνεται από την Εικόνα στα αριστερά και στην καρτέλα του έργου ('Projects') εμφανίζεται το νέο έργο που δημιουργήθηκε. Η βασική σελίδα του έργου ανοίγει για επεξεργασία και ονομάζεται index.html. Όταν τρέχετε το έργο με το F6 αυτή η σελίδα θα φορτώνεται ως η αρχική σελίδα. Στα δεξιά έχει ανοίξει ο εκδότης των ιστοσελίδων και εμφανίζεται η σελίδα index.html την οποία μπορείτε να επεξεργαστείτε.

Αλλαγή τίτλου και εμφάνιση παλέτας Σαν ένα πρώτο βήμα θα αλλάξουμε τον τίτλο της σελίδας σε 'Εγγραφή Μουσικού' γράφοντας αυτό το κείμενο ανάμεσα από τις ετικέτες <title> και </title>. Επίσης μέσα στο <body> θα εισάγουμε την επικεφαλίδα <h1>σελίδα Εγγραφής Μουσικού</h1>. Επίσης θα εμφανίσουμε την παλέτα με τα εργαλεία για τη γρήγορη εισαγωγή ετικετών HTML που θα χρησιμοποιήσουμε στη συνέχεια. Για να εμφανίσουμε την παλέτα επιλέγουμε το μενού Window-->Palette ή πατάμε το συνδυασμό πλήκτρων Ctrl+Shift+8. Η παλέτα θα εμφανισθεί στα δεξιά του παραθύρου του εκδότη όπως φαίνεται στην εικόνα.

Εισαγωγή HTML φόρμας Προκειμένου ένας μουσικός να εγγραφεί στην εφαρμογή μας θα πρέπει να δώσει κάποια βασικά στοιχεία (όνομα, μουσικά όργανα που παίζει κ.α.). Για να εισάγει αυτά τα στοιχεία θα χρειαστούμε μία φόρμα. Τραβάμε με το ποντίκι από την παλέτα το εργαλείο 'Form' (φόρμα) και το αφήνουμε κάτω από την επικεφαλίδα <h1>...</h1>. Θα εμφανισθεί ένα πλαίσιο διαλόγου στο οποίο δίνουμε τις τιμές που απεικονίζονται στην εικόνα.

Παραγόμενος HTML κώδικας για τη φόρμα Με το εργαλείο εισαγωγής φόρμας παράχθηκε αυτόματα ο κώδικας για τη φόρμα και εισάχθηκε στο κατάλληλο σημείο (εκεί όπου ήταν ο δρομέας κατά την εισαγωγή). Ο κώδικας σημαίνει πως όταν ο χρήστης κάνει την υποβολή της φόρμας τα στοιχεία θα αποσταλούν στη JSP σελίδα 'confirmation.jsp' (το στοιχείο 'action' της φόρμας) με τη μέθοδο αποστολής 'post'. Τη JSP σελίδα θα την κάνουμε αργότερα. Ανάμεσα από το <form> και </form> στη συνέχεια θα εισάγουμε τις κατάλληλες ετικέτες για την είσοδο των στοιχείων και την υποβολή της φόρμας.

Εισαγωγή πίνακα για τη στοίχιση των στοιχείων της φόρμας Ένας εύκολος τρόπος για να στοιχίσουμε τις ετικέτες και τα πεδία της φόρμας είναι να τα βάλουμε σε ένα HTML πίνακα. Σύρετε το εργαλείο εισαγωγής πίνακα (Table) από την παλέτα και αφήστε το ανάμεσα από το <form> και το </form>. Δώστε στα πεδία τις τιμές που φαίνονται στην πάνω εικόνα (Insert Table) και πατήστε 'OK' για να δημιουργήσετε έναν πίνακα με 7 γραμμές και 2 στήλες χωρίς γραμμές πλαισίου (Border Size=0). Ο HTML κώδικας του πίνακα θα είναι όπως εμφανίζεται στην κάτω εικόνα. Το <thead> στοιχείο δεν θα μας χρειαστεί οπότε σβήστε το και αφήστε μόνο το <tbody>.

Εισαγωγή πεδίου για το όνομα Για να εισάγουμε ένα πεδίο φόρμας για το όνομα θα χρησιμοποιήσουμε μία γραμμή (<tr>) και στο πρώτο κελί της γραμμής (<td>) θα βάλουμε την ετικέτα 'Όνομα'. Στο δεύτερο κελί της γραμμής (στο άλλο <td> του <tr>) θα τραβήξουμε ένα εργαλείο εισαγωγής 'Text input' από την παλέτα και θα δώσουμε τις τιμές που φαίνονται στην πάνω εικόνα. Η σημασία του κώδικα είναι πως το πεδίο υποδοχής της τιμής που θα εισαχθεί ονομάζεται 'fname', είναι πεδίο κειμένου και έχει πλάτος 15 χαρακτήρες.

Πρόσθετα πεδία κειμένου Παρομοίως προσθέστε πεδία κειμένου (Text Input) για το επώνυμο και το υποκοριστικό του μουσικού στις δύο επόμενες γραμμές με τις τιμές που φαίνονται στις δύο εικόνες.

Πλαίσια ελέγχου για τα μουσικά όργανα (1) Στην συνέχεια εισάγουμε την ετικέτα 'Κιθάρα' και στο διπλανό <td> εισάγουμε ένα πλαίσιο ελέγχου το οποίο θα επιλέξει ο μουσικός αν γνωρίζει κιθάρα. Το πλαίσιο ελέγχου εισάγεται με το εργαλείο 'Checkbox' από την παλέτα και τις τιμές που φαίνονται στην πάνω εικόνα. Ο κώδικας που παράγεται φαίνεται στην κάτω εικόνα.

Πλαίσια ελέγχου για τα μουσικά όργανα (2) Στις επόμενες δύο γραμμές θα εισάγετε πλαίσια ελέγχου για το μπάσο και τα ντραμς. Οι τιμές φαίνονται στις δύο εικόνες. Παρατηρείστε πως για όλα τα πεδία χρησιμοποιούμε το ίδιο όνομα: instrument. Αυτό σημαίνει πως θα περαστεί στη JSP σελίδα υποδοχής ένας πίνακας από αλφαριθμητικά με το όνομα instrument. Αν ο χρήστης έχει επιλέξει την κιθάρα τότε ο πίνακας instrument θα περιέχει την τιμή 'guitar', αν έχει επιλέξει μπάσο την τιμή 'bass' και αν έχει επιλέξει ντραμς την τιμή 'drums'.

Εισαγωγή πλήκτρου υποβολής Στην τελευταία γραμμή και στο δεύτερο κελί εισάγετε ένα πλήκτρο υποβολής των στοιχείων της φόρμας (το πρώτο κελί το αφήνουμε κενό). Τραβήξτε και αφήστε το εργαλείο 'Button' από την παλέτα δίνοντας τις τιμές που φαίνονται στην πάνω Εικόνα. Ο κώδικας φαίνεται στην κάτω εικόνα. Όταν οι χρήστες πατήσουν το πλήκτρο με την ετικέτα 'Εγγραφή' τα στοιχεία της φόρμας θα αποσταλούν στη σελίδα 'confirmation.jsp' την οποία θα προγραμματίσουμε στη συνέχεια.

Εκτέλεση εφαρμογής Σε αυτό το σημείο μπορείτε να τρέξετε την εφαρμογή πατώντας το F6. Θα εμφανισθεί η ιστοσελίδα (βλ. Εικόνα). Μπορείτε να βάλετε τιμές αν θέλετε και να πατήσετε το πλήκτρο 'Εγγραφή' αν και σ' αυτό το σημείο αφού δεν έχουμε κάνει την 'confirmation.jsp' η υποβολή των στοιχείων της φόρμας θα οδηγήσει σε λάθος.

Ο ολοκληρωμένος κώδικας της ιστοσελίδας index.html <!DOCTYPE html> <html> <tr> 1 <td>κιθάρα:</td> <head> 2 <td><input type="checkbox" name="instrument" value="guitar" <title>εγγραφή Μουσικού</title> /></td> </tr> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <tr> </head> <td>μπάσο:</td> <body> <td><input type="checkbox" name="instrument" value="bass" /></td> <h1>σελίδα Εγγραφής Μουσικού</h1> </tr> <form action="confirmation.jsp" method="post"> <tr> <table border="0"> <td>ντραμς:</td> <tbody> <tr> <td>όνομα:</td> <td><input type="checkbox" name="instrument" value="drums" /></td> </tr> <td><input type="text" name="fname" value="" size="15" /></td> <tr> </tr> <td></td> <tr> <td><input type="submit" value="εγγραφή" /></td> <td>επώνυμο:</td> </tr> <td><input type="text" name="lname" value="" size="30" /></td> </tbody> </tr> </table> <tr> <td>υποκοριστικό:</td> <td><input type="text" name="nickname" value="" size="15" /></td> </tr> </form> </body> </html>

Διάκριση μεταξύ στατικών & δυναμικών σελίδων Η ιστοσελίδα index.html είναι στατική. Πάντοτε θα εμφανίσει το ίδιο ακριβώς περιεχόμενο και θα συμπεριφερθεί με τον ίδιο ακριβώς τρόπο. Αντιθέτως η confirmation.jsp είναι δυναμική. Θα χρειαστεί να εμφανίσει τα στοιχεία του χρήστη-μουσικού που εγγράφηκε. Αυτά τα στοιχεία φυσικά είναι μεταβλητά και ως εκ τούτου το αποτέλεσμα που θα εμφανισθεί θα πρέπει να παραχθεί δυναμικά κατά το χρόνο εκτέλεσης. Στο παράδειγμά μας θα εμφανίσει πάντα την ίδια φόρμα και θα στείλει πάντοτε τα στοιχεία που εισήγαγε ο χρήστης στη φόρμα, στην confirmation.jsp. Στο παράδειγμά μας θα ανακτήσει τα στοιχεία του μουσικού όπως το όνομα, επώνυμο κλπ. και θα τα εμφανίσει. Αλλά επειδή τα στοιχεία αυτά αλλάζουν κάθε φορά θα είναι μεταβλητές μιας γλώσσας προγραμματισμού η δυναμική εκτέλεση των εντολών της οποίας θα παράγει δυναμικά το επιθυμητό αποτέλεσμα κάθε φορά. Στην περίπτωση της Java Enterprise Edition και των δυναμικών σελίδων JSP οι εντολές αυτές είναι γραμμένες στη γλώσσα προγραμματισμού Java. Στην περίπτωση της PHP οι εντολές είναι γραμμένες στη γλώσσα PHP κ.ο.κ.

Δημιουργία της confirmation.jsp: 1ο βήμα Για την δημιουργία της confirmation.jsp επιλέγουμε από το μενού File --> New File... και από την κατηγορία 'Web' επιλέγουμε 'JSP' ως τύπο αρχείου (file type) στο πρώτο βήμα του οδηγού δημιουργίας νέου αρχείου όπως δείχνει η εικόνα. Στην συνέχεια πατάμε το πλήκτρο 'Next>'

Δημιουργία της confirmation.jsp: 2ο βήμα Στο 2ο βήμα στο όνομα αρχείου δίνουμε confirmation χωρίς επέκταση (θα μπει αυτόματα η επέκταση jsp από το NetBeans. Παρατηρείστε πως προσδιορίζεται και το project αφού αυτό είναι ανοιχτό κατά την δημιουργία. Επίσης το αρχείο JSP θα δημιουργηθεί στον υποφάκελο 'web' στον φάκελο του project (βλ. Created File) Το αρχείο θα μπορούσε να δημιουργηθεί με την χρήση του όχι και τόσο δημοφιλούς XML συντακτικού (XML syntax) αντί για του πρότυπου συντακτικού (Standard Syntax). Εδώ επιλέξαμε το πρότυπο συντακτικό. Επίσης θα μπορούσαμε να δημιουργήσουμε ένα τμήμα μιας JSP (JSP segment) για συμπερίληψη σε πολλές σελίδες. Αυτό είναι κάτι που θα εξετάσουμε σε επόμενο μάθημα.

Δημιουργία της confirmation.jsp: 3ο βήμα Τελικά πατώντας Finish δημιουργείται η confirmation.jsp η οποία εμφανίζεται στον φάκελο Web Pages στον Project explorer (εκεί όπου τοποθετούνται και οι HTML σελίδες). Κάποιος αρχικός σκελετός της JSP παράγεται αυτόματα και εμφανίζεται στον εκδότη του αρχείου προς επεξεργασία.

Ρύθμιση του Glassfish για UTF-8 Πριν συνεχίσουμε και προκειμένου να μπορεί ο εξυπηρετητής εφαρμογών Glassfish να χειριστεί Ελληνικά θα πρέπει να κάνουμε επίσης το εξής: Κάνετε δεξί κλικ στο έργο και επιλέξτε 'New-->Other', και από την κατηγορία GlassFish επιλέξτε Glassfish Descriptor. Ο επεξεργαστής του Glassfish Descriptor θα εμφανισθεί. Πηγαίνετε στη καρτέλα 'XML' και προσθέστε την γραμμή <parameter-encoding default-charset="utf-8" /> στο σημείο που φαίνεται στην εικόνα.

Συγγραφή της confirmation.jsp <%@page contenttype="text/html" pageencoding="utf-8"%> 1 2 <li> <!DOCTYPE html> Ψευδώνυμο: <%= request.getparameter("nickname") %> <html> </li> <head> <% <meta http-equiv="content-type" String[] instruments = content="text/html; charset=utf-8"> <title>επιβεβαίωση Στοιχείων</title> </head> request.getparametervalues("instrument"); if (instruments!= null) { for (String instrument:instruments) <body> <h1>επιβεβαίωση Στοιχείων</h1> Ευχαριστούμε για την εγγραφή σας. Δώσατε τα ακόλουθα στοιχεία: <ul> %> <li>μουσικό όργανο: <%= instrument%></li> <% } <li> Όνομα: <%=request.getparameter("fname")+" "+ request.getparameter("lname")%> </li> { } %> </ul> </body> </html>

Εκτέλεση της εφαρμογής Τρέχοντας την εφαρμογή (F6) θα εμφανισθεί και πάλι η index.html στην οποία θα συμπληρώσουμε τη φόρμα και θα πατήσουμε το πλήκτρο Εγγραφή. Στην συνέχεια θα εμφανισθεί η confirmation.jsp που θα ανακτήσει τα στοιχεία της φόρμας και θα τα εμφανίσει όπως φαίνεται και στις δύο εικόνες.

Ερωτήσεις;