Βασική διαφορά: 'JSP (Java Server Pages)' είναι μια τεχνολογία server-side, ενώ το 'Servlet' είναι ένα μικρό πρόγραμμα που τρέχει στο διακομιστή. Και οι δύο αυτές τεχνολογίες Java χρησιμοποιούνται για τη δημιουργία δυναμικών ιστοσελίδων.
Η Sun Microsystems κυκλοφόρησε το JSP (Java Server Pages) το 1999. Οι JSP είναι γλώσσες δέσμης Java που χρησιμοποιούνται γενικά για τη δημιουργία ιστοσελίδων τύπου HTML, XML ή άλλων τύπων εγγράφων. Αυτές οι σελίδες έχουν δυνατότητα δυναμικής δέσμης ενεργειών για τον διαχωρισμό της λογικής σελίδας από εκείνη των στατικών στοιχείων της σελίδας. Ο βασικός σχεδιασμός τους κάνει την HTML πιο λειτουργική και καθιστά τα ερωτήματα της βάσης δεδομένων πιο δυναμικά. Ένας συμβατός διακομιστής ιστού με ένα δοχείο servlet (όπως Apache Tomcat ή Jetty) απαιτείται για την ανάπτυξη και εκτέλεση των σελίδων διακομιστή Java (JSP). Ένα JSP είναι η αρχιτεκτονική αφαίρεσης υψηλού επιπέδου ενός Java Servlet. Κατά την εκτέλεση, αυτά τα JSPs μεταφράζονται σε servlets. Οι εξυπηρετητές JSP αποθηκεύονται προσωρινά και επαναχρησιμοποιούνται μέχρι να τροποποιηθεί το αρχικό JSP. Το JSP μπορεί να χρησιμοποιηθεί ανεξάρτητα και μπορεί επίσης να θεωρηθεί ως ένα στοιχείο του σχεδιασμού μοντέλου-προβολέα-ελεγκτή. Οι προγραμματιστές κάνουν χρήση του κώδικα Java μαζί με κάποιες προκαθορισμένες ενέργειες για τη δημιουργία σελίδων περιεχομένου ιστού. οι σελίδες αυτές καταρτίζονται και εκτελούνται περαιτέρω από την πλευρά του διακομιστή για την παράδοση των εγγράφων.
Οι σελίδες JSP χρησιμοποιούν αρκετούς οριοθέτες για τις λειτουργίες δέσμης ενεργειών. Το πιο βασικό, το οποίο περικλείει ένα scriptlet JSP. Ένα scriptlet είναι ένα κομμάτι κώδικα Java που εκτελείται όταν ο χρήστης ζητά τη σελίδα.
Το ακόλουθο είναι ένας έγκυρος βρόχος σε μια σελίδα JSP:
Μετρώντας σε τρεις:
<% για (int i = 1, i
Αυτός ο αριθμός είναι <% = i%>.
ΕΝΤΑΞΕΙ.
Η παραγωγή του θα εκπροσωπείται ως:
Μετρώντας σε τρεις:
Αυτός ο αριθμός είναι 1.
Αυτός ο αριθμός είναι 2.
Αυτός ο αριθμός είναι 3.
ΕΝΤΑΞΕΙ.
Servlets είναι μικρά προγράμματα Java που σχετίζονται με τα Java Applets. Βασικά λειτουργούν μέσα σε ένα περιβάλλον web server. Η προδιαγραφή Servlet δημιουργήθηκε από την Sun Microsystems, με την έκδοση 1.0 οριστικοποιημένη τον Ιούνιο του 1997. Η αρχική της έκδοση ήταν 2, 3, ενώ η τρέχουσα έκδοση της, από το 2013, ήταν 3, 1. Ένα servlet είναι μια κλάση Java που χρησιμοποιείται για την επέκταση των δυνατοτήτων ενός διακομιστή. Απαντούν σε κάθε είδους αιτήσεις με τη μορφή κατάλληλων απαντήσεων. Το βασικό πακέτο Servlet ορίζει αντικείμενα Java που αντιπροσωπεύουν τα αιτήματα και απαντήσεις του εξυπηρετητή. Τα servlets μπορούν να δημιουργηθούν αυτόματα από τις σελίδες διακομιστή Java (JSP) από τον μεταγλωττιστή των σελίδων JavaServer. Από τεχνική άποψη, ένα "servlet" μπορεί να οριστεί ως Java class σε Java EE που συμμορφώνεται με το Java Servlet API.
Τα εξυπηρετητικά είναι επικοινωνούντες με ένα πρωτόκολλο πελάτη-διακομιστή και χρησιμοποιούνται συχνότερα με το πρωτόκολλο HTTP. Βασικοί στόχοι τους είναι:
- Για να επεξεργαστείτε ή να αποθηκεύσετε και να υποβάλετε τα δεδομένα φόρμας HTML.
- Για την παροχή δυναμικού περιεχομένου, όπως τα αποτελέσματα ενός ερωτήματος βάσης δεδομένων.
- Διαχειριστείτε πληροφορίες κατάστασης που δεν υπάρχουν στο πρωτόκολλο HTTP ανιθαγένειας, όπως η πλήρωση των αντικειμένων στο καλάθι αγορών του κατάλληλου πελάτη.
Το servlet λειτουργεί σε κύκλο ζωής servlet, υπάρχουν βασικά τρεις μέθοδοι servlet που καθορίζουν τον κύκλο ζωής servlet:
- μέσα σε αυτό(),
- υπηρεσία (), και
- καταστρέφω()
Σύγκριση μεταξύ JSP και Servlet:
JSP | Servlet | |
Τι είναι | Το JSP είναι μια γλώσσα δέσμης ενεργειών ιστοσελίδας, που χρησιμοποιείται γενικά για τη δημιουργία του δυναμικού περιεχομένου ιστού. | Τα Servlets είναι προγράμματα Java που έχουν ήδη δημιουργηθεί και δημιουργούν επίσης δυναμικό περιεχόμενο ιστού. |
Τυπικά | Το JSP είναι συνήθως περισσότερο προσανατολισμένο προς την προβολή πληροφοριών. | Το Servlet είναι περισσότερο προσανατολισμένο προς την επεξεργασία πληροφοριών. |
Ρόλος σε MVC (ελεγκτής προβολής μοντέλου) | Το JSP ενεργεί ως θεατής. | Το Servlet λειτουργεί ως ελεγκτής. |
Ισχύει κατά το χρόνο | Γενικά προτιμώνται όταν δεν απαιτείται μεγάλη επεξεργασία δεδομένων. | Γενικά προτιμώνται όταν υπάρχει περισσότερη επεξεργασία και χειρισμός. |
Τρέχουσα ταχύτητα | Το JSP τρέχει πιο αργά σε σύγκριση με ένα Servlet. Το JSP μεταγλωττίζεται σε Java Servlets. | Τα servlets τρέχουν πιο γρήγορα σε σύγκριση με το JSP. |
Επιπλοκές κώδικα | Ο προγραμματισμός κώδικα είναι εύκολος σε σύγκριση με αυτόν των Servlets. | Ο προγραμματισμός κώδικα είναι δύσκολος σε σύγκριση με τον προγραμματισμό του JSP. |
Ευκολία | Εδώ μπορούμε να δημιουργήσουμε προσαρμοσμένες ετικέτες οι οποίες μπορούν να καλέσουν απευθείας τα φασόλια Java. | Αυτή η διευκόλυνση δεν είναι διαθέσιμη σε εξυπηρετητές. |
Αποτελείται από | Τα JSP είναι αναπαράσταση Java HTML αναμεμειγμένα με δέσμες ενεργειών JAVA. | Servlet είναι πλήρεις λειτουργικοί κώδικες Java. |
Συνάφεια αντικειμένων | Το JSP έχει Ενεργοποιημένα αντικείμενα. | Τα σέρβλα δεν έχουν τέτοιου είδους αντικείμενα. |
Παραδείγματα | Για να εμφανίσετε μια αναφορά. | Για να επεξεργαστείτε μια φόρμα που υποβλήθηκε από τον χρήστη. |