Οδηγός ανάπτυξης διαδικτυακού τόπου - Τρόπος εργασίας


Σύνταξη: Σοφοκλής Στουραΐτης
Κατηγορία: Μαθήματα    5ο Εξάμηνο - Τεχνολογίες και Εφαρμογές Διαδικτύου    Οδηγίες για το Σπίτι
Τελευταία ενημέρωση: 10 Οκτωβρίου 2012

Περιεχόμενα Αρθρου

  1. Περιγραφή υποδομής εργαστηρίου
  2. Εργασία από το Εργαστήριο
    1. Εργασία των java servlets - html σελίδων από το Εργαστήριο
    2. Εργασία στη βάση δεδομένων από το Εργαστήριο
  3. Εργασία από το Σπίτι σας
    1. Εργασία των java servlets - html σελίδων από το Σπίτι σας
      1. Εγκατάσταση του Java Servlet API και του JDBC driver για MySQL
      2. Πρόσβαση των html σελίδων - Servlets για εργασία από το σπίτι
    2. Εργασία στη βάση δεδομένων από το Σπίτι
  4. Backup - Restore mysql database
    1. Backup mysql database (αντίγραφο ασφαλείας της βάσης)
    2. Restore mysql database (Αποκατάσταση αντιγράφου ασφαλείας της βάσης)
  5. Τρόπος εργασίας - Χρήσιμες Οδηγίες - Συμβουλές για την ανάπτυξη του Site σας
    1. html σελίδες
    2. Java Servlets

1. Περιγραφή υποδομής εργαστηρίου

Για την υλοποίηση της υποχρεωτικής εργασίας του μαθήματος «Τεχνολογίες και εφαρμογές Διαδικτύου» αλλά και για την πρακτική εξάσκηση των φοιτητών, το εργαστήριο διαθέτει την παρακάτω υποδομή:
  • Έναν Apache Tomcat Web Server version 6.0.14:
    Ο Tomcat είναι ένας σύγχρονος Web Server (ή αλλιώς Web Container) ανοιχτού κώδικα (open source) ο οποίος έχει ενσωματωμένα ένα Servlet engine (μηχανισμός εκτέλεσης προγραμμάτων Java Servlet) και ένα JSP engine (μηχανισμός εκτέλεσης προγραμμάτων Java Server Pages). Δηλαδή παρέχει την δυνατότητα στους φοιτητές του Τμήματος να μπορούν να εκτελούν («τρέχουν») προγράμματα σε Java Servlet και σε JSP.
  • Έναν MySQL Database Server version 5.0.45:
    Η MySQL είναι μια σύγχρονη Βάση δεδομένων ανοιχτού κώδικα (open source) η οποία δίνει την δυνατότητα στους φοιτητές να αναπτύξουν την βάση δεδομένων τους προκειμένου να φέρουν σε πέρας την εργασία του μαθήματος.
Η εργασία του μαθήματος είναι ομαδική, για αυτό το λόγο οι φοιτητές θα πρέπει να χωριστούν σε ομάδες (το πόσα άτομα θα αποτελείται κάθε ομάδα καθορίζεται από τον Διδάσκοντα καθηγητή). Κάθε ομάδα για να μπορέσει να υλοποιήσει την άσκηση θα πρέπει να παραλάβει από τον Διδάσκοντα καθηγητή ένα χαρτί με τους κωδικούς (username-password) των λογαριασμών (accounts) πρόσβασης (διαφορετικούς για κάθε ομάδα).
Συγκεκριμένα για την ανάπτυξη και υλοποίησης της άσκησης απαιτούνται οι παρακάτω δύο λογαριασμοί (accounts):
  1. Λογαριασμός (Account) για εργασία σε Java Servlets - Html:
    Ο λογαριασμός αυτός χρειάζεται για να μπορέσει κάθε ομάδα να έχει πρόσβαση σε έναν συγκεκριμένο φάκελο στον δίσκο του εξυπηρετητή (δηλαδή του Server που είναι εγκατεστημένος και ρυθμισμένος ο Tomcat) για να μπαίνει και να τοποθετεί τις html σελίδες και τα Servlet.
  2. Λογαριασμός (Account) για σύνδεση στη Βάση Δεδομένων:
    Ο λογαριασμός αυτός χρειάζεται για να μπορέσει κάθε ομάδα να έχει πρόσβαση στην βάση δεδομένων της.
info
Το Web Site κάθε ομάδας (group) είναι ορατό από παντού και έχει URL:
http://ism.dmst.aueb.gr/ismgroupX/
ή
http://195.251.249.131/ismgroupX/
,όπου Χ ο αριθμός του αντίστοιχου group.

note
Η υποδομή του εργαστηρίου δίνει την δυνατότητα στους φοιτητές να μπορούν να δουλεύουν την εργασία τους τόσο από το Εργαστήριο όσο και από το σπίτι τους.



2. Εργασία από το Εργαστήριο

2.1. Εργασία των java servlets - html σελίδων από το Εργαστήριο

Χρησιμοποιώντας τους κωδικούς πρόσβασης (username-password) του εντύπου (βλέπε 1 - πίνακα 1) που σας μοιράστηκε από τον Διδάσκοντα του Μαθήματος κάντε Log in στους υπολογιστές του εργαστηρίου, μέσα στον δικτυακό δίσκο σας W: θα δουλεύετε την εργασία σας. Ο τρόπος εργασίας που πρέπει να ακολουθήσετε περιγράφεται σε ειδική ενότητα παρακάτω (βλπ. § 5 . Τρόπος εργασίας - Χρήσιμες Οδηγίες - Συμβουλές για την ανάπτυξη του Site σας).

2.2. Εργασία στη βάση δεδομένων από το Εργαστήριο

Μόλις κάνετε Log in στους υπολογιστές του εργαστηρίου, στην επιφάνεια εργασίας (Desktop) υπάρχει ένα εικονίδιο με όνομα: MySQLQueryBrowser1.2.12 κάντε διπλό κλικ και θα εμφανιστεί το παρακάτω παράθυρο:
queryBrowser1.jpg
Εικόνα  2.2-1
Πατήστε στο κουμπί  ...  (βλέπε το βέλος 1) και στο παράθυρο που θα σας εμφανιστεί πατήστε "New Connection οπότε θα δείτε το παρακάτω παράθυρο:
queryBrowser2.jpg
Εικόνα  2.2-2

Στη συνέχεια κάντε τις παρακάτω ρυθμίσεις:

Σύνδεση: ismgroupx (όπου x ο αριθμός του group)
Όνομα Χρήστη: ismgroupx (π.χ ismgroup1 κλπ)
Κωδικός: ****** (το αντίστοιχο password)
Όνομα Host: 195.251.249.131
Θύρα: 3306
Τύπος: MySQL
Σχήμα: ismgroupx (όπου x ο αριθμός του group)
Και πατήστε  Εφαρμογή  και  Κλείσιμο .
attention
Οι κωδικοί (username και password) που πρέπει να δώσετε στο παραπάνω βήμα είναι αυτοί που αναγράφονται στον πίνακα 2 της παραγράφου 2 του Ειδικού Εντύπου που παραλάβατε από τον Διδάσκοντα Καθηγητή.

Κάθε φορά που θα ξεκινάτε το MySQL Query Browser θα έχετε μπροστά σας ένα παράθυρο σαν το παρακάτω :
queryBrowser3.jpg
Εικόνα  2.2-3

Αφού βάλετε το κατάλληλο password και πατήσετε  ΟΚ  θα σας εμφανιστεί το παρακάτω παράθυρο :
queryBrowser4.jpg
Εικόνα  2.2-4

Έτσι έχετε συνδεθεί επιτυχώς με την βάση σας!


3. Εργασία από το Σπίτι σας

3.1. Εργασία των java servlets - html σελίδων από το Σπίτι σας

Για να μπορείτε να γράψετε προγράμματα σε Java Servlets στο σπίτι σας πρέπει πρώτα να εγκαταστήσετε την γλώσσα προγραμματισμού Java (βλπ. Εγκατάσταση Java - Textpad στο σπίτι σας §1. Κατέβασμα και Εγκατάσταση της Java SE (Java Standard Edition)), στην συνέχεια πρέπει να εγκαταστήσετε την βιβλιοθήκη των Java Servlets (Java Servlet API). Επίσης, για να μπορείτε να συνδεθείτε από ένα πρόγραμμα Java (όχι μόνο Servlet) σε έναν MySQL Server (μέσο JDBC) για να εκτελέσετε τα Queries σας, χρειάζετε να εγκαταστήσετε έναν JDBC Driver για MySQL.

3.1.1. Εγκατάσταση του Java Servlet API και του JDBC driver για MySQL

Για να εγκαταστήσετε το βιβλιοθήκη το Java Servlet API (βιβλιοθήκη των Java Servlet) και τον JDBC Driver ακολουθήστε τα παρακάτω:
  1. Αποθηκεύστε τα αρχεία servlet-api.jar ...νέο παράθυρο και mysql-connector-java-5.0.7-bin.jar ...νέο παράθυρο σε ένα προσωρινό φάκελο στον υπολογιστή σας. Να σημειωθεί ότι τα αρχεία αυτά καθώς και όλο το λογισμικό που απαιτείται για την υλοποιήση της εργασία σας βρίσκεται στην τοποθεσία: (βλπ. Αντιγραφή Λογισμικού από το Εργαστήριο §2. Διαθέσιμα προγράμματα για τα εργαστηριακά μαθήματα).
  2. Αντιγράψτε τα στην τοποθεσία : C:\Program Files\Java\jdk1.6.0_02\jre\lib\ext του δίσκου σας.
  3. Αντιγράψτε τα στην τοποθεσία : C:\Program Files\Java\jre1.6.0_02\lib\ext του δίσκου σας.
attention
Εάν έχετε εγκαταστήσει στον υπολογιστή σας άλλη έκδοση της Java από την 1.6.0_02, τότε στα παραπάνω βήματα όπου : C:\Program Files\Java\jdk1.6.0_02 και C:\Program Files\Java\jre1.6.0_02 θα βάλετε τον αντίστοιχο installation folder της Java που έχετε εγκαταστήσει.
Για περισσότερη βοήθεια δείτε τις οδηγίες εγκατάστασης της Java (βλπ. Εγκατάσταση Java - Textpad στο σπίτι σας §1. Κατέβασμα και Εγκατάσταση της Java SE (Java Standard Edition))

3.1.2. Πρόσβαση των html σελίδων - Servlets για εργασία από το σπίτι


Αφού έχετε κάνει όλα τα παραπάνω, δηλαδή έχετε εγκαταστήσει στον υπολογιστή σας την Java, το Java Servlet API και τον JDBC driver , κατόπιν πρέπει να έχετε πρόσβαση στον δίσκο W:\ (βλπ. § 2.1 . Εργασία των java servlets - html σελίδων από το Εργαστήριο), η πρόσβαση αυτή είναι εφικτή μέσω ftp οπότε θα χρειαστείτε ένα ftp client πρόγραμμα για να συνδεθείτε. Προτείνουμε το winscp510 portable (θα το βρείτε εδώ ...νέο παράθυρο)
Αφού το κατεβάσετε και το κάνετε extract (με την βοήθεια πχ του WinZip) σε κάποιο φάκελο στον υπολογιστή σας, τρέξτε το αρχείο: WinSCP.exe
και θα σας παρουσιαστεί η παρακάτω οθόνη:

winscp429_1.PNG
Εικόνα  3.1.2-1

όπου βάζετε τις αντίστοιχες ρυθμίσεις που αναγράφονται στο ειδικό έντυπο που παραλάβατε από το Εργαστήριο-Διδάσκοντα καθηγητή.

Συγκεκριμένα βάζετε:
Host name: ism.dmst.aueb.gr
User name: eloi\ismgroupX (όπου Χ ο αριθμός της ομάδας σας)
Password: (το αντίστοιχο password)
File protocol: FTP
info
Παρακάτω φαίνονται οι ρυθμίσεις για την ομάδα ismgroup100

winscp429_2.PNG
Εικόνα  3.1.2-2

Στην συνέχεια πατήστε  Save...  και θα σας παρουσιαστεί η παρακάτω οθόνη

winscp_1_save.PNG
Εικόνα  3.1.2-3

βάζετε στο πεδίο Save session as: ismgroupΧ@ism.dmst.aueb.gr
όπου Χ ο αριθμός της ομάδας σας.
και πατήστε   OK  .
Κάθε φορά που ανοίγετε το WinScp θα σας παρουσιάζεται η παρακάτω οθόνη

winscp_2_save.PNG
Εικόνα  3.1.2-4
πατάτε  Login 

note
Με αυτό τον τρόπο έχετε πρόσβαση στον δίσκο W:\ (βλπ. § 2.1 . Εργασία των java servlets - html σελίδων από το Εργαστήριο), από το σημείο αυτό ο τρόπος εργασίας ταυτίζεται με τον τρόπο εργασίας από το εργαστήριο και αναφέρεται αναλυτικά σε επόμενη παράγραφο (βλπ. § 5 . Τρόπος εργασίας - Χρήσιμες Οδηγίες - Συμβουλές για την ανάπτυξη του Site σας).

3.2. Εργασία στη βάση δεδομένων από το Σπίτι

Για να συνδεθείτε από το σπίτι στην βάση δεδομένων σας πρέπει να εγκαταστήσετε στον υπολογιστή σας το πρόγραμμα MySQLQueryBrowser1.2.12.
Το πρόγραμμα αυτό υπάρχει στο cd με τα απαραίτητα εργαλεία του μαθήματος (βλπ. Αντιγραφή Λογισμικού από το Εργαστήριο §2. Διαθέσιμα προγράμματα για τα εργαστηριακά μαθήματα) (Το οποίο μπορείτε να το κάνετε download και από εδώ ...νέο παράθυρο). Συγκεκριμένα μέσα στο cd θα βρείτε έναv φάκελο με όνομα: MySQL_Client, εκεί θα βρείτε ένα αρχείο (zip) με όνομα : mysql-gui-tools-noinstall-5.0-r12-win32.zip το οποίο με την βοήθεια του προγράμματος WinZip (Το οποίο θα βρείτε εδώ ...νέο παράθυρο) θα το ξεπακετάρετε στον τοπικό δίσκο C: (ή σε άλλη τοποθεσία) του υπολογιστή σας. Στην τοποθεσία που το ξεπακετάρατε θα δημιουργήθεί ένας φάκελος με όνομα: MySQL GUI Tools 5.0, μέσα εκεί θα βρείτε ένα αρχείο με όνομα MySQLQueryBrowser.exe, κάντε διπλό κλικ και κατόπιν ακολουθείστε τις αντίστοιχες οδηγίες σύνδεσης από το Εργαστήριο.(βλπ. § 2.2 . Εργασία στη βάση δεδομένων από το Εργαστήριο)


4. Backup - Restore mysql database

4.1. Backup mysql database (αντίγραφο ασφαλείας της βάσης)

Για να δημιουργήσετε αντίγραφο ασφαλείας της βάσης σας πρέπει να εγκαταστήσετε στον υπολογιστή σας το πρόγραμμα MySQLAdministrator.
info
Το MySQLAdministrator είναι ήδη εγκατεστημένο στους υπολογιστές των εργαστηρίων του Τμήματος και μπορείτε να το βρείτε: «Start» «Programs» «MySQL GUI Tools» «MySQLAdministrator»

attention
Τα προγράμματα MySQLAdministrator και MySQLQueryBrowser βρίσκονται στο ίδιο πακέτο: MySQL GUI Tools 5.0, οπότε αν έχετε ήδη εγκαταστήσει το MySQLQueryBrowser αγνοήστε το παρακάτω βήμα.

Το πρόγραμμα αυτό υπάρχει στο cd με τα απαραίτητα εργαλεία του μαθήματος (βλπ. Αντιγραφή Λογισμικού από το Εργαστήριο §2. Διαθέσιμα προγράμματα για τα εργαστηριακά μαθήματα) (Το οποίο μπορείτε να το κάνετε download και από εδώ ...νέο παράθυρο). Συγκεκριμένα μέσα στο cd θα βρείτε έναv φάκελο με όνομα: MySQL_Client, εκεί θα βρείτε ένα αρχείο (zip) με όνομα : mysql-gui-tools-noinstall-5.0-r12-win32.zip το οποίο με την βοήθεια του προγράμματος WinZip (Το οποίο θα βρείτε εδώ ...νέο παράθυρο) θα το ξεπακετάρετε στον τοπικό δίσκο C: (ή σε άλλη τοποθεσία) του υπολογιστή σας. Στην τοποθεσία που το ξεπακετάρατε θα δημιουργήθεί ένας φάκελος με όνομα: MySQL GUI Tools 5.0, μέσα εκεί θα βρείτε ένα αρχείο με όνομα MySQLAdministrator.exe, κάντε διπλό κλικ και ακολουθήστε τις παρακάτω οδηγίες προκειμένου να δημιουργήσετε αντίγραφο ασφαλείας της βάσης σας.

backupmysql_1.JPG
Εικόνα  4.1-1

Βάζετε όπου:
Server Host:ism.dmst.aueb.gr
Username:ismgroupX, όπου X ο αριθμός του αντίστοιχου group.
attention
Οι κωδικοί (username και password) που πρέπει να δώσετε στο παραπάνω βήμα είναι αυτοί που αναγράφονται στον πίνακα 2 της παραγράφου 2 του Ειδικού Εντύπου που παραλάβατε από τον Διδάσκοντα Καθηγητή.

Αφού βάλετε το κατάλληλο password και πατήσετε  ΟΚ  θα σας εμφανιστεί το παρακάτω παράθυρο :

backupmysql_2.JPG
Εικόνα  4.1-2

Επιλέξτε στην αριστερή περιοχή Αντίγραφα Ασφαλείας και θα εμφανιστεί εικόνα παρόμοια με την παρακάτω:

backupmysql_3.JPG
Εικόνα  4.1-3

Βάζετε όπου:
Όνομα Έργου: όποιο όνομα θέλετε (με λατινικούς χαρακτήρες)
Στην περιοχή Σχήματα: επιλέξτε την βάση σας και πατήστε:  > , στην δεξιά περιοχή (Περιεχόμενο Αντ. Ασφ.) επιλέξτε ολόκληρη την βάσης σας (ή όποιους πίνακες θέλετε να κρατήσετε αντίγραφο ασφαλείας).
info
Αν επιθυμείτε να αποθηκεύσετε τις ρυθμίσεις που μόλις κάνατε πατήστε  Αποθήκευση Έργου 


backupmysql_4.JPG
Εικόνα  4.1-4

Στην συνέχεια πατήστε:  Εκτέλεση Αντιγρ. Τώρα  και θα δείτε την παρακάτω εικόνα:

backupmysql_5.JPG
Εικόνα  4.1-5

Από όπου δίνετε το όνομα (πχ backup_ismgroup100) και το που θα αποθηκευτεί το αντίγραφο ασφαλείας της βάσης σας και πατήστε:  Save 
Μόλις τελειώσει η διαδικασία δημιουργίας του αντιγράφου ασφαλείας θα σας παρουσιαστεί η παρακάτω οθόνη:

backupmysql_6.JPG
Εικόνα  4.1-6

Με αυτόν τον τρόπο όλοι οι πίνακες που επιλέξατε παραπάνω (ή όλη η βάση σας εαν την επιλέξατε ολόκληρη) μαζί με όλες τους τις εγγραφές έχουν αποθηκευτεί σε ένα αρχείο (πχ το backup_ismgroup100).

4.2. Restore mysql database (Αποκατάσταση αντιγράφου ασφαλείας της βάσης)

Για να αποκαταστήσετε ένα αντίγραφο ασφαλείας να εγκαταστήσετε στον υπολογιστή σας το πρόγραμμα MySQLAdministrator.
info
Το MySQLAdministrator είναι ήδη εγκατεστημένο στους υπολογιστές των εργαστηρίων του Τμήματος και μπορείτε να το βρείτε: «Start» «Programs» «MySQL GUI Tools» «MySQLAdministrator»

Το πρόγραμμα αυτό υπάρχει στο cd με τα απαραίτητα εργαλεία του μαθήματος (βλπ. Αντιγραφή Λογισμικού από το Εργαστήριο §2. Διαθέσιμα προγράμματα για τα εργαστηριακά μαθήματα) (Το οποίο μπορείτε να το κάνετε download και από εδώ ...νέο παράθυρο). Συγκεκριμένα μέσα στο cd θα βρείτε έναv φάκελο με όνομα: MySQL_Client, εκεί θα βρείτε ένα αρχείο (zip) με όνομα : mysql-gui-tools-noinstall-5.0-r12-win32.zip το οποίο με την βοήθεια του προγράμματος WinZip (Το οποίο θα βρείτε εδώ ...νέο παράθυρο) θα το ξεπακετάρετε στον τοπικό δίσκο C: (ή σε άλλη τοποθεσία) του υπολογιστή σας. Στην τοποθεσία που το ξεπακετάρατε θα δημιουργήθεί ένας φάκελος με όνομα: MySQL GUI Tools 5.0, μέσα εκεί θα βρείτε ένα αρχείο με όνομα MySQLAdministrator.exe, κάντε διπλό κλικ και ακολουθήστε τις παρακάτω οδηγίες προκειμένου να αποκαταστήσετε ένα αντίγραφο ασφαλείας της βάσης σας.

Επιλέξτε στην αριστερή περιοχή Αποκατάσταση Αντιγράφων και θα εμφανιστεί εικόνα παρόμοια με την παρακάτω:

restore_backup1.JPG
Εικόνα  4.2-1

Πατήστε  Open Backup File , επιλέξτε το αντίγραφο ασφαλείας που θέλετε να αποκαταστήσετε και πατήστε  Open  (βλέπε παρακάτω εικόνα)

restore_backup2.JPG
Εικόνα  4.2-2

Στην περιοχή Σχήμα Στόχος επιλέξτε Another schema από την λίστα επιλέξτε την βάση σας (πχ. ismgroup100).

restore_backup3.JPG
Εικόνα  4.2-3

Στην συνέχεια επιλέγετε την καρτέλα Περιεχόμενο Αποκατάστασης και πατήστε  Analyze Backup File Content 

restore_backup3_1.JPG
Εικόνα  4.2-4

Μόλις το MySQLAdministrator τελειώσει την ανάλυση του περιεχομένου του αντιγράφου ασφαλείας πατήστε  Κλείσιμο 

restore_backup3_2.JPG
Εικόνα  4.2-5

Επιλέξτε τους πίνακες που θέλετε να αποκαταστήσετε (ή όλη την βάση σας) και πατήστε  Start Restore 

restore_backup5.JPG
Εικόνα  4.2-6

Τέλος, μόλις τελειώσει η διαδικασία της αποκατάστασης πατήστε  Κλείσιμο  και η αποκατάσταση του Αντιγράφου ασφαλείας της βάσης σας έχει τελειώσει.


5. Τρόπος εργασίας - Χρήσιμες Οδηγίες - Συμβουλές για την ανάπτυξη του Site σας

Την εργασία σας θα πρέπει να την αναπτύξετε εξολοκλήρου μέσα στον δικτυακό δίσκο W:, παρακάτω αναφέρεται που ακριβώς θα πρέπει να τοποθετήσετε τα Java Servlet και που τις html σελίδες.
attention
Απαγορεύεται αυστηρά να βάλετε μέσα στον δίσκο W: οποιοδήποτε υλικό που δεν είναι σχετικό με την εργασία σας!

5.1. html σελίδες

Στον δίσκο W: θα βάζετε τις html σελίδες σας ακολουθώντας τα παρακάτω:
  • Όλες τις Html σελίδες θα τις βάλετε στην τοποθεσία W:\
  • Η κεντρική σελίδα του Site (Homepage) που θα φτιάξετε θα πρέπει να έχει όνομα: index.html ή index.htm.
  • Όποιες εικόνες θέλετε να βάλετε στο Site σας να τις αποθηκεύσετε στον φάκελο: W:\images.
Η κεντρική σελίδα (homepage) του Web Site σας έχει URL: http://ism.dmst.aueb.gr/ismgroupX/
, όπου Χ ο αριθμός του αντίστοιχου group που ανήκετε.
Για να δείτε μια άλλη html σελίδα π.χ την test.html (αντί της index.html) πληκτρολογείτε :
http://ism.dmst.aueb.gr/ismgroupX/test.html
, όπου Χ ο αριθμός του αντίστοιχου group που ανήκετε.
Αναφορά με φόρμα
Μέσα στις φόρμες των html σελίδων σας οι οποίες στέλνουν δεδομένα σε Servlet η αναφορά θα γίνεται όπως στην γραμμή 6 του παρακάτω παραδείγματος:

Παράδειγμα 1
plaincode
 1           <html>
 2              <head>
 3                  <title>1ο παράδειγμα</title>
 4              </head>
 5              <body>
 6                  <form name="form1" method="post" action="servlet/Χ">
 7                       <input type="text" name="textfield">
 8                       <br>
 9                       <input type="submit" name="Submit" value="Submit">
10                  </form>
11              </body>
12          </html>
13          
14              

, όπου Χ το όνομα του Servlet χωρίς το πρόθεμα .class
attention
Όλα τα δεδομένα που θέλετε να στείλετε από μια σελίδα html σε ένα Servlet θα πρέπει να είναι μέσα σε φόρμα (form)

attention
Όταν θέλετε να στείλετε δεδομένα από μια σελίδα html σε ένα Servlet θα πρέπει η μέθοδος αποστολής στοιχείων της φόρμας (get ή post) να "συμφωνεί" με την μέθοδο του Servlet (doGet ή doPost) αντίστοιχα.
Έτσι στο παραπάνω παράδειγμα, το Servlet Χ θα πρέπει να έχει την μέθοδο doPost, αφού στο action της φόρμας αναφέρεται η μέθοδος post (βλέπε γραμμή 6 παραπάνω)

Αναφορά με link
Οι σύνδεσμοι (links) των html σελίδων που έχουν target κάποια Servlet η αναφορά θα γίνεται όπως στην γραμμή 6 του παρακάτω παραδείγματος:

Παράδειγμα 2
plaincode
 1               <html>
 2                  <head>
 3                      <title>2ο παράδειγμα</title>
 4                  </head>
 5                  <body>
 6                      <a href="servlet/X">go to servlet X</a> 
 7                  </body>
 8              </html>
 9              
10              

, όπου Χ το όνομα του Servlet χωρίς το πρόθεμα .class
attention
Προσοχή:
Για να έχετε πρόσβαση από html σελίδα σε Servlet μέσο Link πρέπει το Servlet να έχει οποσδήποτε την μέθοδο doGet.

note
Από τα παραπάνω συμπεραίνουμε ότι το path για να πάμε από μια html σελίδα σε ένα Servlet είναι το: servlet/X
, όπου Χ το όνομα του Servlet.

5.2. Java Servlets

Τα Servlets (αφού τα κάνετε πρώτα Compile) θα πρέπει να τα βάζετε στην τοποθεσία: W:\WEB-INF\classes.
Για να δείτε ένα Servlet π.χ τo test.class πληκτρολογείτε:
http://ism.dmst.aueb.gr/ismgroupX/servlet/test
Όπου X ο αριθμός του group.
attention
Προσοχή:
Για να βλέπετε κάθε φορά τις αλλαγές που κάνετε πρέπει πρώτα να κάνετε compile και μετά να τα βάλετε (και τα .class) στο W:\WEB-INF\classes.

link απο Servlet σε html σελίδα
Από Servlet κάνετε Link σε Html σελίδα όπως φαίνεται στην γραμμή 20 του παρακάτω παραδείγματος (link από το Servlet ExampleServlet στην σελίδα test.html):

Παράδειγμα 3
plaincode
 1  import java.io.*;
 2  import javax.servlet.*;
 3  import javax.servlet.http.*;
 4  
 5  public class ExampleServlet extends HttpServlet {
 6  
 7    public void doGet(HttpServletRequest request, HttpServletResponse response)
 8      throws IOException, ServletException {
 9  
10          response.setContentType("text/html; charset=ISO-8859-7");
11          PrintWriter out = new PrintWriter(response.getWriter(), true);
12  
13          try {
14              out.println("<html>");
15              out.println("<head>");
16              out.println("<Meta Http-Equiv='Content-Type' Content='text/html; Charset=windows-1253'>");
17              out.println("<title>Παράδειγμα Servlet</title>");
18              out.println("</head>");
19              out.println("<body>");
20              out.println("<a href='../test.html'>go to test</a>");
21              out.println("</body>");
22              out.println("</html>");
23  
24          } catch (Exception ex) {
25              out.println("Exception: " + ex.getMessage());
26              out.println("</body>");
27              out.println("</html>");
28          }
29    }
30  }// End of class     
31           
32              

Παράδειγμα link απο Servlet σε Servlet
Εάν αντικαταστήσουμε την 20η γραμμή του παραπάνω παραδείγματος με την παρακάτω:


plaincode
        out.println("<a href='X'>go to servlet X</a>");
        
                


, όπου Χ το όνομα του Servlet που θέλουμε να πάμε.


Παράδειγμα απόστολής στοιχείων από Servlet σε Servlet μέσο φόρμας
Εάν αντικαταστήσουμε την 20η γραμμή του παραπάνω παραδείγματος με τις παρακάτω:

plaincode
            out.println("<form name='form1' method='post' action='Χ'>");
            out.println("     <input type='text' name='textfield'>");
            out.println("     <br>");
            out.println("     <input type='submit' name='Submit' value='Submit'>  ");
            out.println("</form>");
            
                    


, όπου Χ το όνομα του Servlet που θέλουμε να στείλουμε στοιχεία.
note
Από τα παραπάνω συμπεραίνουμε ότι:
Για να πάμε από ένα Servlet σε ένα άλλο μέσο link είτε μέσο φόρμας (στέλνοντας δεδομένα ή όχι) αρκεί στο target του link ή στο action της φόρμας αντίστοιχα, να αναφέρουμε μόνο το όνομα του Servlet.

note
Κοιτώντας προσεκτικά τις γραμμές 16 και 20 του Παραδείγματος 3, τις γραμμές 6-9 του Παραδείγματος 1 παρατηρούμε-συμπεραίνουμε ότι σε όλα τα attibutes των tags του html κώδικα των Servlet χρησιμοποιούμε μονά εισαγωγικά (') αντί διπλών εισαγωγικών (") που χρησιμοποιούμε στις html σελίδες.

attention
Ερώτημα:
Ποία μέθοδο πρέπει οπωσδήποτε να περιέχει το Servlet Χ του παραπάνω παραδείγματος;




Valid XHTML 1.0!