Προγραμματισμός

Ποιο βιβλίο JSP εξυπηρετεί το καλύτερο μάθημα;

Ψάχνετε για αυτό το βιβλίο JavaServer Pages που θα σας κάνει να ξεκινήσετε να δημιουργείτε ιστότοπους με βάση το JSP; Σε αυτό το άρθρο, θα εξετάσω έξι από τα τελευταία βιβλία JSP που προσφέρονται. Αυτά τα βιβλία περιλαμβάνουν:

  1. Pure JSP: Java Server Pagesαπό τον James Goodwill (Σαμς, 2000)
  2. Σελίδες JavaServerαπό τη Larne Pekowsky (Addison-Wesley, 2000)
  3. Στιγμιαίες σελίδες JavaServerαπό τον Paul Tremblett (Osborne McGraw-Hill, 2000)
  4. Ανάπτυξη Ιστού με JavaServer Pagesτων Duane K. Fields και Mark A. Kolb (Εκδόσεις επάνδρωσης, 2000)
  5. Core Servlets και JavaServer Pagesαπό τον Marty Hall (Prentice Hall, 2000)
  6. Επαγγελματικό JSPαπό τους Dan Malks, et al. (Wrox Press, 2000)

Ο Πίνακας 1 παρακάτω παρέχει μια γρήγορη επισκόπηση των κύριων χαρακτηριστικών των βιβλίων που εξετάστηκαν. Θα αναφερθώ σε περισσότερες λεπτομέρειες, εξετάζοντας κάθε βιβλίο ξεχωριστά, αργότερα στο άρθρο.

Πίνακας 1: Επισκόπηση βιβλίων JSP
Καθαρό JSPΣελίδες JavaServerΣτιγμιαίες σελίδες JavaServerΑνάπτυξη Ιστού με JavaServer PagesCore Servlets και JavaServer PagesΕπαγγελματικό JSP
Τιμή 4.99 9.95 9.99 4.95 2.99 9.99
Σύνολο σελίδων 325 300 510 560 580 900
CD-ROM / Πηγή από το Web Οχι όχι Ναι όχι Ναι ναι Οχι Ναι Οχι Ναι Οχι Ναι
Συγγραφείς 1 1 1 2 1 21
Servlets / εκδόσεις JSP 2.2 / 1.1 2.2 / 1.1 2.1 / 1.0 2.2 / 1.1 2.2 / 1.1 2.2 / 1.1
JavaBeans Μέση τιμή Μέση τιμή Μέση τιμή Πολύ καλά Μέση τιμή Μέση τιμή
JDBC Καλός Καλός Καλός Πολύ καλά Καλός* Καλός
Επεκτάσεις ετικετών Κανένας Φτωχός Φτωχός* Πολύ καλά Καλός Καλός
XML Μέση τιμή Φτωχός Φτωχός Φτωχός Κανένας Καλός
J2EE Κανένας Κανένας Κανένας Μέση τιμή Κανένας Καλός
Καλάθι αγορών Μέση τιμή Μέση τιμή Καλός Κανένας Μέση τιμή Μέση τιμή
Αναφορά API Πολύ καλά Κανένας Πολύ καλά Μέση τιμή Κανένας* Πολύ καλά
Διακομιστές Web / βάσεις δεδομένων Γάτος PostgreSQL Apache, JServ, PostgreSQL Γάτος Tomcat, JSWDK, Java Web Server Apache, Tomcat
Κλίμακα:ΚανέναςΦτωχόςΜέση τιμήΚαλόςΠολύ καλά
Ένα αστέρι (*) σε ένα πεδίο σημαίνει ότι αυτή η κριτική παρέχει περισσότερες λεπτομέρειες για την κατάταξη.

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

  • Το Servlets API έχει περάσει από 1,0 σε 2,0 σε 2,1 και τώρα είναι έως 2,2. Το JSP API έχει περάσει από 0,91 (και νωρίτερα) σε 0,92 σε 1,0 στην τρέχουσα έκδοση 1,1. Σχεδόν όλα τα βιβλία καλύπτουν την πιο πρόσφατη έκδοση API.
  • Για κάλυψη συνδεσιμότητας σελίδας JavaBeans-JSP, έψαχνα κυρίως για χρήση με το jsp: useBean.
  • Η κάλυψη J2EE είναι εκτός από servlets, JDBC και XML.
  • Η αναφορά API δείχνει την κάλυψη του βιβλίου για το javax.servlet.jsp(και πιθανώς javax.servletΤεκμηρίωση API. Προσωπικά, δεν χρειάστηκε ποτέ να κοιτάξω το javax.servlet.jsp Αναφορά API. Για λόγους σαφήνειας, πρέπει να αναφέρω ότι η αναφορά API δεν είναι η λίστα των σιωπηρών αντικειμένων και των οδηγιών JSP. Εννοώ τεκμηρίωση API στο JspEngineInfo και JspFactoryτάξεις.
  • Όσο για τους διακομιστές Web / βάσεις δεδομένων, η απλή αναφορά ενός διακομιστή στο βιβλίο δεν αρκεί για να αναφερθεί εδώ. Βασικά, είναι απαραίτητη η οδηγία σχετικά με τη ρύθμιση παραμέτρων του διακομιστή Web ή την προσθήκη αρχείου JSP / εφαρμογής στο διακομιστή Web και / ή τον τρόπο ρύθμισης / χρήσης του διακομιστή βάσης δεδομένων.

Πριν ξεκινήσω τις κριτικές, ένα πράγμα που πρέπει να αναφέρω είναι ότι είμαι ο συγγραφέας ενός κεφαλαίου Επαγγελματικό JSP (Wrox Press). Δεδομένης της μικρής συνεισφοράς που έκανα Επαγγελματικό JSP, Πιστεύω ότι μπορώ ακόμα να δώσω μια αντικειμενική επισκόπηση αυτού του βιβλίου και των άλλων. Επειδή σαφώς δεν είναι το αγαπημένο μου βιβλίο, ελπίζω να αισθανθείτε το ίδιο.

Στο υπόλοιπο αυτού του άρθρου, θα εξετάσω κάθε βιβλίο ξεχωριστά. Δίπλα στον τίτλο κάθε βιβλίου υπάρχει μια βαθμολογία με αστέρια, η οποία βασίζεται στη συνολική κάλυψη του βιβλίου JavaServer Pages. Ένα αστέρι ισοδυναμεί με κακή βαθμολογία και η υψηλότερη βαθμολογία (πέντε αστέρια) μεταφράζεται σε εξαιρετική κάλυψη.

Pure JSP: Java Server Pages(4 αστέρια)

Σπάνια βρίσκω βιβλία που εκδόθηκαν από τον Sams που μου αρέσουν, αλλά χαίρομαι που λέω ότι βρήκα μια εξαίρεση. Ενώ Pure JSP: Java Server Pages από τον James Goodwill είναι το μικρότερο από τα βιβλία JSP, βρήκα ότι η κάλυψη JSP ήταν πολύ σύντομη και σχεδόν ολοκληρωμένη. Το κύριο στοιχείο που λείπει ήταν ο τρόπος δημιουργίας προσαρμοσμένων βιβλιοθηκών ετικετών. Η καλή θέληση ξεκινά με μια εννοιολογική επισκόπηση του JSP και πώς ταιριάζει με Servlets, JavaBeans και JDBC. Περιλαμβάνει επίσης τεχνικές για τον χειρισμό σφαλμάτων, την εργασία με τα έμμεσα αντικείμενα, τη χρήση τυπικών ενεργειών, την επικοινωνία με JavaBeans, την επικοινωνία με μια βάση δεδομένων μέσω μιας ομάδας σύνδεσης, τη χρήση του προγράμματος ανάλυσης SAX με XML και την αποστολή αλληλογραφίας με το JavaMail API. Αν και κανένα από τα κεφάλαια δεν είναι εκτεταμένο ή σε βάθος, το περιεχόμενο του βιβλίου είναι περισσότερο από αρκετό για να ξεκινήσετε με το JSP.

Δεδομένου του μικρού μεγέθους του βιβλίου, με εξέπληξε όταν είδα το τελευταίο τρίτο του βιβλίου να αναφέρεται στην αναφορά API. Μπορείτε να εντοπίσετε τον πηγαίο κώδικα για Καθαρό JSP από τον ιστότοπο του Sam (βλ. πόρους). Μια άλλη μικρή σημείωση: Καθαρό JSP είναι το μόνο βιβλίο στο οποίο ο τίτλος είχε την ακατάλληλη χρήση του Java Server σε JavaServer Pages.

Σελίδες JavaServer(2 1/2 αστέρια)

Σελίδες JavaServerαπό τον Larne Pekowsky απευθύνεται στον σχεδιαστή Ιστού αντί για τον προγραμματιστή Java (σε αντίθεση με αυτό Καθαρό JSP). Θα βρείτε μια εισαγωγή για τη δημιουργία δυναμικού περιεχομένου, τη γλώσσα προγραμματισμού Java και τη σύνταξη JavaBeans καθώς και μια εισαγωγή στο JDBC. Μπορείτε να χρησιμοποιήσετε το JavaBeans προτού μάθετε πώς να τα δημιουργείτε και πρέπει να τραβήξετε τα αρχεία προέλευσης / τάξης από το CD για να χρησιμοποιήσετε τα παραδείγματα. Δυστυχώς, το Pekowsky δεν δείχνει πώς να ρυθμίσετε τον διακομιστή Web ή το JDK προκειμένου να δημιουργήσετε μια σελίδα JSP, να συντάξετε μια κλάση Java ή να δείξετε πού να βάλετε την κατηγορία φασολιών. Μια αναφορά στην τεκμηρίωση σχετικά με τη διαμόρφωση του Tomcat βρίσκεται στο συνοδευτικό CD, αν και είναι σύντομη. Βασικά, το Pekowsky σας έχει αποσυμπιέσει ένα αρχείο zip αλλά δεν σας επιτρέπει να δημιουργήσετε οτιδήποτε εσείς.

Στην εκμάθηση όλων αυτών των τεχνολογιών, Σελίδες JavaServer σας οδηγεί στην ανάπτυξη ενός φανταστικού ιστότοπου που μοιάζει με Slashdot Ειδήσεις Java σήμερα, αυξάνοντας την ποσότητα του υποστηριζόμενου δυναμικού περιεχομένου. Στην ανάπτυξη Ειδήσεις Java σήμερα, Το Pekowsky δεν παρέχει την τυπική κάλυψη JSP για αντικείμενα όπως σιωπηρά αντικείμενα και οδηγίες. Στην πραγματικότητα, δεν υπάρχει λίστα με υπονοούμενα αντικείμενα πουθενά και η λίστα ετικετών JSP υποβιβάζεται σε ένα παράρτημα.

Το υπόλοιπο του βιβλίου φαίνεται να πηδάει με διαφορετικά θέματα, με πολύ κώδικα SQL για να ρυθμίσετε πίνακες για τα παραδείγματα. Για τους αναγνώστες, βρήκα πολλές από τις περιγραφές συγκεχυμένες ή ανεπαρκείς. Εάν ενδιαφέρεστε να χρησιμοποιήσετε το JSP για να προσθέσετε JavaBeans στις ιστοσελίδες σας, τότε αυτό το βιβλίο θα σας δείξει πώς; Διαφορετικά, δεν θα ενοχλούσα να το διαβάσω για οτιδήποτε άλλο.

Στιγμιαίες σελίδες JavaServerπροσεγγίζει τη διδασκαλία του JSP κατά τρόπο μεταξύ του Καθαρό JSP και Σελίδες JavaServer. Λαμβάνετε μια λεπτομερή περιγραφή του τι είναι το JSP και πώς μπορείτε να το χρησιμοποιήσετε, ακολουθούμενο από μια περιγραφή της σύνταξης με τα πάντα, από οδηγίες σελίδας έως υπονοούμενα αντικείμενα, συνεδρίες και σελίδες σφαλμάτων. Πέρα από την εισαγωγή υπάρχουν οκτώ κεφάλαια που καλύπτουν τυπικές εφαρμογές JSP Web, που σας διδάσκουν βασικές αρχές JSP. Αυτά περιλαμβάνουν έναν διαχειριστή σύνδεσης, μια βάση δεδομένων συχνών ερωτήσεων, έναν τηλεφωνικό κατάλογο, έναν αποστολέα ηλεκτρονικής ταχυδρομικής κάρτας και πολλά άλλα. Γνωρίζοντας κάθε ένα από αυτά τα βασικά, μπορείτε εύκολα να επεκτείνετε έναν υπάρχοντα ιστότοπο. Το παράδειγμα XML είναι λίγο αδύναμο. δημιουργεί απλώς το XML αλλά δεν αναλύει τίποτα.

Στιγμιαίες σελίδες JavaServerπεριλαμβάνει επίσης εκτεταμένες οδηγίες εγκατάστασης για Linux των Apache, JServ και PostgreSQL. Αυτό αποκαλύπτει την αδυναμία του βιβλίου - είναι το μόνο βιβλίο JSP που περιγράφει την γρήγορα ξεπερασμένη προδιαγραφή JSP 1.0. Αυτό σημαίνει ότι η περιγραφή της λειτουργικότητας, όπως οι επεκτάσεις ετικετών, είναι προκαταρκτική και χρησιμοποιεί μόνο την έκδοση Servlets 2.1 API. Παρά το μειονέκτημα αυτό, το βιβλίο είναι γενικά μια καλή προσέγγιση εκμάθησης-παραδείγματος στο JSP.

Ανάπτυξη Ιστού με JavaServer Pages(5 αστέρια)

Ανάπτυξη Ιστού με JavaServer Pagesαπό το Manning Publications είναι σίγουρα για τον προγραμματιστή Java υψηλότερου επιπέδου. Οι σχεδιαστές ιστοσελίδων θα το βρουν επίσης χρήσιμο αν αγνοήσουν το δεύτερο μισό του βιβλίου. Οι συγγραφείς Duane Fields και Mark Kolb ξεκινούν με την τυπική εισαγωγή στο JavaServer Pages, συγκρίνοντάς τα με άλλες δυναμικές τεχνολογίες περιεχομένου. Επιπλέον, πηγαίνουν σε περισσότερες λεπτομέρειες με εργασίες όπως ο διαχωρισμός της παρουσίασης από την εφαρμογή για την επίτευξη καταμερισμού εργασίας.

Μετά την εισαγωγή, το Fields και το Kolb παρέχουν μια εις βάθος ματιά στη σύνταξη JSP, από τα φασόλια και τη διαχείριση συνεδριών έως τις οδηγίες, τις ενέργειες και τα έμμεσα αντικείμενα. Ενώ τα περισσότερα από τα άλλα βιβλία JSP δίνουν μια συνοπτική επισκόπηση αυτών των στοιχείων, Ανάπτυξη Ιστού με JavaServer Pages προσπαθεί να είναι πιο χρήσιμο, προσφέροντας μεγαλύτερη σε βάθος κάλυψη, όπως έναν πίνακα με τις μεθόδους για κάθε ένα από τα έμμεσα αντικείμενα.

Και, με την περιγραφή ενοποίησης JavaBean, έχετε περισσότερα από το πώς να χρησιμοποιήσετε το jsp: useBean σύνταξη αλλά και μια ωραία συζήτηση για την αρχιτεκτονική του JavaBeans και, για τον αρχάριο, πώς να χρησιμοποιήσετε ευρετηριασμένες ιδιότητες από το JSP.

Το Κεφάλαιο 6 είναι όπου το βιβλίο φαίνεται να επικεντρώνεται περισσότερο στον προγραμματιστή Java παρά στον σχεδιαστή Ιστού. Προσφέρει μια ματιά στη δημιουργία στοιχείων JavaBean με το μοντέλο συμβάντων JavaBean καθώς και με δεσμευμένες και περιορισμένες ιδιότητες. Η συζήτηση JDBC με JSP και σύνδεση-συγκέντρωση περιλαμβάνει επίσης λίγα πρόσθετα, όπως η χρήση του JNDI για αναζήτηση της πηγής δεδομένων. Υπάρχει ακόμη και ένα παράδειγμα χρήσης ενός CachedRowSet για να διαδώσετε τα αποτελέσματα του ερωτήματος σε πολλές σελίδες. Λαμβάνετε επίσης μια εφαρμογή βάσης δεδομένων FAQ και οδηγίες για το πώς να την αναπτύξετε ως εφαρμογή Web με το εργαλείο ανάπτυξης J2EE.

Εάν αυτό δεν είναι αρκετό, τα Fields και το Kolb καλύπτουν επίσης την εκτέλεση κοινών εργασιών, όπως η διαχείριση cookie, ο χειρισμός σφαλμάτων JSP, η αποστολή email με το JavaMail API, καθώς και η δημιουργία XML. Υπάρχουν επίσης δύο κεφάλαια για την εργασία με προσαρμοσμένες βιβλιοθήκες ετικετών από την κατασκευή έως τη συσκευασία και πολλές εργασίες στο μεταξύ. Τα παραρτήματα περιλαμβάνουν οδηγίες εγκατάστασης Tomcat και σας βοηθούν να ενσωματώσετε μικροεφαρμογές σε σελίδες JSP. Το μόνο πράγμα που βρήκα να λείπει στο βιβλίο ήταν ένα τυπικό καλάθι αγορών με βάση το JSP.

Δεδομένου του τίτλου του Core Servlets και JavaServer Pages, Δεν ήμουν σίγουρος αν πρέπει να το συμπεριλάβω στην κριτική. Είναι ένα καλό βιβλίο, αλλά δεν είναι το καλύτερο για να μάθετε μόνο για JavaServer Pages, ειδικά επειδή η κάλυψη JSP δεν ξεκινάει μέχρι το Κεφάλαιο 10. Είναι ένα εξαιρετικό βιβλίο για τον προγραμματιστή Java να μάθει για servlets, πώς να χρησιμοποιεί σελίδες JSP με servlets και πώς να συνδέσετε servlets σε ένα backend JDBC. Δεν είναι απλώς για κάποιον που ενδιαφέρεται αυστηρά να μάθει για τις σελίδες JavaServer. Ως εκ τούτου, δεν το αξιολόγησα ως πόρο εκμάθησης JSP.

Με αυτό είπε, πώς είναι η κάλυψη JSP; Ο συγγραφέας Marty Hall παρέχει επαρκή κάλυψη JSP για τον προγραμματιστή Java, αλλά σίγουρα όχι το βάθος κάλυψης που προσφέρεται Ανάπτυξη διαδικτύου. Θα βρείτε τις τυπικές περιγραφές στοιχείων δέσμης ενεργειών, οδηγίες και υποστήριξη JavaBeans. Υπάρχει ένα αξιοπρεπές κεφάλαιο για τη δημιουργία μιας προσαρμοσμένης βιβλιοθήκης ετικετών JSP και ένα ωραίο κεφάλαιο για την ενσωμάτωση σελίδων JSP με servlets. Αυτό είναι πραγματικά για κάλυψη JSP. Το υπόλοιπο του βιβλίου επικεντρώνεται περισσότερο σε περιεχόμενο ειδικά για servlet. Για παράδειγμα, τα παραδείγματα JDBC βασίζονται αποκλειστικά σε servlet, χωρίς συζήτηση για το JDBC με το JSP.

Το παράρτημα προσφέρει μια γρήγορη αναφορά που είναι μια συνδυασμένη κάρτα σύνταξης, μια μερική αναφορά API και έναν πόρο μελέτης εξετάσεων πιστοποίησης.

Εάν το βιβλίο ήταν διαθέσιμο όταν εξέτασα βιβλία servlet στο "Java servlet books: A συγκριτική κριτική", θα το συνιστούσα Προγραμματισμός Java Servlet από τον Jason Hunter, κυρίως επειδή καλύπτει την τελευταία έκδοση του Servlets API.

Επαγγελματικό JSP(4 αστέρια)

Η τελική καταχώρηση σε αυτήν τη συγκριτική ανασκόπηση των βιβλίων JSP προέρχεται από το Wrox Press με 21 επιβλητικούς διαφορετικούς συγγραφείς, συμπεριλαμβανομένου και εγώ. Εν συντομία, Επαγγελματικό JSP φαίνεται να πέφτει κάπου κάτω Ανάπτυξη διαδικτύου και παραπανω Καθαρή Java όσον αφορά το βάθος της κάλυψης JSP. Παρόλο που δεν έχει κάποιο βάθος, προσπαθεί να καλύψει το εύρος των θεμάτων που καλύπτονται, όπως ανάλυση WAP / WML, JMF και XML, καθώς και αρκετές σε βάθος μελέτες περιπτώσεων. Επιπλέον, με 21 διαφορετικούς συντάκτες, φαίνεται ότι υπάρχουν τουλάχιστον 21 διαφορετικά περιβάλλοντα χρόνου εκτέλεσης, γεγονός που σας επιτρέπει να πειραματιστείτε με πολλά διαφορετικά περιβάλλοντα. Και θα μπορείτε να δείτε 21 διαφορετικά στυλ κωδικοποίησης.

Το βιβλίο ξεκινά με την τυπική εισαγωγή σε JavaServer Pages και μια σύγκριση με δυναμικές τεχνολογίες περιεχομένου που είναι διαθέσιμες στον Ιστό. Μετά την εισαγωγή είναι μια επισκόπηση της σύνταξης JSP από οδηγίες σε ενέργειες και έμμεσα αντικείμενα. Τίποτα δεν είναι πολύ περίπλοκο και τα έμμεσα αντικείμενα αναφέρονται απλώς σε ποιο αντικείμενο από το Servlet API που αντιπροσωπεύουν, αλλά όχι τι μπορείτε να κάνετε μαζί τους.

Το κεφάλαιο για το JSP και το JavaBeans αφιερώνει περισσότερο χρόνο στην περιγραφή των προδιαγραφών JavaBeans και δεν αναφέρει τίποτα για τα διαφορετικά πεδία κατά τη χρήση του jsp: useBean ετικέτα. Παρ 'όλα αυτά, εισάγει μια ομάδα σύνδεσης JDBC, με μια άλλη που περιγράφεται πληρέστερα στο επόμενο κεφάλαιο σχετικά με την ενοποίηση JDBC. Η συζήτηση για τις συνεδρίες servlet και τις προσαρμοσμένες βιβλιοθήκες ετικετών είναι επαρκής. Υπάρχει ακόμη και ένα ωραίο κεφάλαιο για τον εντοπισμό σφαλμάτων στις εφαρμογές JSP.