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

JSP – Γρήγορος οδηγός για αρχάριους

30 Οκτωβρίου 2021

Πίνακας περιεχομένων

Τι είναι οι Σελίδες JavaServer;

ο Σελίδες JavaServer (JSP) , μια τεχνολογία διακομιστή, βοηθά τους προγραμματιστές να αναπτύξουν ιστοσελίδες, οι οποίες χρησιμοποιούν HTML , XML , ΣΑΠΟΥΝΙ , κλπ. Αναφέρεται και ως Σελίδες διακομιστή Τζακάρτα . Στο JSP, οι προγραμματιστές μπορούν να ενσωματώσουν τον κώδικα java στο HTML Γλώσσα. Υπάρχουν μοναδικές ετικέτες στο JSP, το οποίο επιτρέπει τη χρήση του Ιάβα κώδικα σε HTML. Αυτές οι ετικέτες αρχίζουν και τελειώνουν με '<%’ και '%>' σύμβολα, αντίστοιχα. Για την εκτέλεση JSP, χρειάζεστε έναν διακομιστή web που περιέχει το κοντέινερ servlet. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε Apache Tomcat ή Προβλήτα .

Το JSP έχει διαμορφωθεί από το Java servlets . Java servlet ονομάζεται επίσης Jakarta Servlet. Κατά τη διάρκεια του χρόνου εκτέλεσης, τα JSP μετατρέπονται σε servlets. Ως εκ τούτου, ονομάζονται servlets. Γενικά, τα JSP γράφονται σε αρχεία κειμένου και ενσωματώνουν κώδικα HTML ή XHTML, ενέργειες JSP, στοιχεία XML και εντολές JSP. Το JSP παίζει το ρόλο των διεπαφών χρήστη σε εφαρμογές web Java. Όλα τα έμμεσα αντικείμενα JSP, όπως αίτημα, περίοδος λειτουργίας, διαμόρφωση, έξοδος, απόκριση, εφαρμογή, σελίδα και πλαίσιο σελίδας, δημιουργούνται από το περιέκτης ιστού .

Μπορεί να έχετε συναντήσει φόρμες ιστοσελίδων. Σκοπός αυτών των φορμών είναι η συλλογή δεδομένων από διαφορετικούς χρήστες. Σε αυτές τις φόρμες ιστοσελίδας, το JSP χρησιμοποιείται για τη λήψη δεδομένων από τους χρήστες ως είσοδο, τακτοποιεί αυτά τα δεδομένα με τη μορφή βάσης δεδομένων και δημιουργεί ιστοσελίδες. Ο πρωταρχικός στόχος του JSP είναι να παρουσιάσει τύπους εγγράφων XML και HTML. Αλλά, μπορεί επίσης να παρουσιάσει έγγραφα σε άλλες μορφές, όπως χρησιμοποιεί OutputStream . Η επέκταση αρχείου για το JSP είναι .jsp, .jspx, .jspf και το τύπος μέσων διαδικτύου είναι εφαρμογή/jsp.

Μπορείτε να μετατρέψετε οποιοδήποτε αρχείο HTML σε αρχείο JSP αλλάζοντας την επέκταση αρχείου .html προς το .jsp . Αφού αλλάξετε την επέκταση, χρησιμοποιήστε ετικέτες JSP για να προσθέσετε κώδικα java σε σελίδες HTML. Χρησιμοποιώντας JPS, Οι προγραμματιστές μπορούν να δημιουργήσουν δυναμικό ιστό σελίδες και ιστοσελίδες ανεξάρτητες από πλατφόρμα. Ας δούμε μερικά σημαντικά χαρακτηριστικά του JSP.

Ρίξτε μια ματιά στο δικό μας Οδηγός διεπαφής ανθρώπινου υπολογιστή που θα είναι καλό για αρχάριους.

Χαρακτηριστικά JSP

Το JSP είναι ένας από τους βολικούς τρόπους δημιουργίας δυναμικού περιεχομένου Ιστού. Υπάρχουν διάφοροι λόγοι για τους οποίους οι προγραμματιστές επιλέγουν το JSP για τη δημιουργία πολλών εφαρμογών. Ακολουθούν ορισμένα επιλεγμένα χαρακτηριστικά των σελίδων διακομιστή της Τζακάρτα.

  • Υπάρχουν ενέργειες και προσαρμοσμένες ετικέτες στο JSP. Επομένως, το μήκος του κώδικα του JSP είναι μικρό σε μέγεθος.
  • Η σύνταξη κώδικα σε JSP είναι απλή, καθώς ενσωματώνει τη γλώσσα προγραμματισμού java σε σελίδες HTML ή XML.
  • Το JSP επιτρέπει στους προγραμματιστές να συλλέγουν τα δεδομένα και να τα τοποθετούν στη βάση δεδομένων ή να διαβάζουν ή να γράφουν τα δεδομένα στη βάση δεδομένων.
  • Αυτή η τεχνολογία διακομιστή είναι εξαιρετικά ευέλικτη, φορητή και στιβαρή, επειδή δεν εξαρτάται από κανένα πρόγραμμα περιήγησης ή διακομιστή.
  • Δεν απαιτείται η μεταγλώττιση του κώδικα JSP ξανά και ξανά. Είναι ανεξάρτητο από πλατφόρμα και μπορεί να εκτελεστεί σε οποιαδήποτε κονσόλα χωρίς επαναμεταγλώττιση.
  • Το JSP ενσωματώνει έμμεσα αντικείμενα, servlets και προσαρμοσμένες ετικέτες. Επομένως, οι προγραμματιστές δημιουργούν διαδραστικές ιστοσελίδες σε πραγματικό χρόνο.
  • Μπορούμε επίσης να ενσωματώσουμε άλλες γλώσσες δέσμης ενεργειών σε προγράμματα JSP, όπως JavaScript, Perl, VBScript, κ.λπ. Από προεπιλογή, η Java είναι η γλώσσα δέσμης ενεργειών του JSP.

Γιατί να χρησιμοποιήσετε τις σελίδες διακομιστή Java;

Υπάρχουν πολλά πλεονεκτήματα από τη χρήση JSP. Ενεργούν παρόμοια με αυτή του Κοινή διεπαφή πύλης (CGI) . Οι διακομιστές Ιστού εκτελούν όλα τα προγράμματα που δημιουργούν δυναμικές ιστοσελίδες στην κοινή διεπαφή πύλης. Όταν συγκρίνουμε το JSP με το CGI, το JSP είναι πιο ισχυρό και προσφέρει περισσότερα οφέλη στους προγραμματιστές. Ακολουθούν μερικοί λόγοι που θα σας βοηθήσουν να κατανοήσετε πώς το JSP είναι πιο συμφέρον από το CGI.

  • Οι προγραμματιστές μπορούν να προσθέσουν δυναμικά στοιχεία σε HTML χρησιμοποιώντας JSP. Εάν χρησιμοποιούν CGI, πρέπει να δημιουργήσουν ένα ξεχωριστό αρχείο CGI για τα Dynamic Elements.
  • Τα JSP μεταγλωττίζονται και εκτελούνται αργότερα σε οποιαδήποτε πλατφόρμα. Από την άλλη πλευρά, το CGI φορτώνει τον διερμηνέα και ερμηνεύει τον κώδικα κάθε φορά που ζητάτε την ιστοσελίδα.
  • Μπορείτε να χρησιμοποιήσετε JSP και servlets μαζί για την παρακολούθηση της επιχειρηματικής λογικής. Οι μηχανές προτύπων servlet Java υποστηρίζουν αυτό το συνδυασμένο μοντέλο JSP και servlet.
  • Το JSP είναι μια αφαίρεση υψηλού επιπέδου servlets Java. Αυτές οι σελίδες δημιουργούνται στο ανώτερο επίπεδο της διεπαφής Java servlet. Ως εκ τούτου, μπορούν να έχουν πρόσβαση σε όλες τις κύριες διεπαφές Java, όπως JAXP, JDBC, JNDI κ.λπ.
  • Στην αρχιτεκτονική MVC, το JSP χρησιμοποιείται ως επίπεδο προβολής.
  • Όλες οι εφαρμογές σε επίπεδο επιχείρησης εκτελούνται στην πλατφόρμα, που ονομάζεται Java EE. Η πλατφόρμα Java EE ενσωματώνει JSP.

Πλεονεκτήματα του JSP

Το JSP είναι πιο αποτελεσματικό και ανθεκτικό από άλλες τεχνολογίες, όπως JavaScript, Static HTML, Pure Servlets, κ.λπ. Εδώ θα δούμε πόσο πλεονεκτικό το JSP σε σχέση με άλλες τεχνολογίες.

  • Ένα από τα πιο επιθυμητά πλεονεκτήματα του JSP είναι ότι χρησιμοποιεί τη γλώσσα προγραμματισμού Java για τη σύνταξη του δυναμικού του μέρους. Δεν χρησιμοποιεί Visual Basic για τη σύνταξη του κώδικα. Δεύτερον, είναι συμβατό με άλλα λειτουργικός συστήματα.
  • Χρησιμοποιώντας JSP, ενσωματώνουμε τον κώδικα Java σε σελίδες HTML. Ως εκ τούτου, είναι εύκολο να τροποποιήσετε το HTML.
  • Ανακτά δεδομένα από φόρμες Ιστού και τα συνδέει με τη βάση δεδομένων.
  • Στην εφαρμογή web, το JSP διαχωρίζει το επίπεδο επιχειρηματικής λογικής από το επίπεδο παρουσίασης.
  • Το JSP χρησιμοποιεί τη γλώσσα προγραμματισμού Java. Ως εκ τούτου, υποστηρίζει επίσης την έννοια πολλαπλών νημάτων της Java.

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

Πώς να ρυθμίσετε ένα περιβάλλον JSP;

Γιατί χρειάζεται να ρυθμίσετε το περιβάλλον JSP; Είναι απαραίτητο να διορθώσετε το περιβάλλον JSP στην επιφάνεια εργασίας; Εάν επιθυμείτε να δημιουργήσετε δυναμικό περιεχόμενο Ιστού ή εφαρμογές Ιστού χρησιμοποιώντας JSP, πρέπει να ρυθμίσετε το περιβάλλον JSP. Αυτό το περιβάλλον επιτρέπει στους προγραμματιστές να γράψουν τα προγράμματα JSP, να τα μεταγλωττίσουν, να τα εκτελέσουν σε οποιαδήποτε πλατφόρμα. Θα εξηγήσουμε τη ρύθμιση του περιβάλλοντος JSP στα παρακάτω βήματα:

Ρύθμιση κιτ ανάπτυξης Java

Το πρώτο βήμα είναι να διορθώσετε το Java Development Kit (JDK) στην επιφάνεια εργασίας σας. Το Java Development Kit είναι απαραίτητο γιατί ενσωματώνουμε τον κώδικα java σε κώδικα HTML χρησιμοποιώντας JSP. Επομένως, το περιβάλλον JSP απαιτεί πρώτα τη διόρθωση του περιβάλλοντος JDK.

Αρχικά, πρέπει να κατεβάσετε το Java Software Development Kit (SDK) από το επίσημο γραφείο της Oracle δικτυακός τόπος

Μετά τη λήψη, ανοίξτε το αρχείο .exe και εγκαταστήστε το και ρυθμίστε το χρησιμοποιώντας τις οδηγίες που δίνονται. Αργότερα, πρέπει να ορίσετε δύο μεταβλητές περιβάλλοντος, ΜΟΝΟΠΑΤΙ και JAVA_HOME . Πρέπει να ρυθμίσετε το ΜΟΝΟΠΑΤΙ μεταβλητή στη θέση της επιφάνειας εργασίας Ιάβα , δηλ. java_install_dir/bin, και το JAVA_HOME μεταβλητή στην τοποθεσία όπου υπάρχει javac , δηλ. java_install_dir .

Εάν έχετε το σύστημα Windows και έχετε εγκαταστήσει το αρχείο SDK στο C:jdk1.5.0_20 τοποθεσία, προσθέστε αυτήν τη διαδρομή στο C:autoexec.bat αρχείο.

|_+_|

Εάν έχετε εγκαταστήσει το αρχείο SDK στο σύστημα Windows NT, 2000 ή XP, υπάρχει διαφορετικός τρόπος ρύθμισης ΜΟΝΟΠΑΤΙ και JAVA_HOME μεταβλητές περιβάλλοντος. Πρέπει να κάνετε δεξί κλικ Ο υπολογιστής μου , επιλέξτε Ιδιότητες , σιγά σιγά Προχωρημένος , και πηγαίνετε στο Μεταβλητές Περιβάλλοντος . Εδώ, πρέπει να ρυθμίσετε το ΜΟΝΟΠΑΤΙ στη θέση του Ιάβα , δηλ. Cjdk1.5.0_20in . Αφού αλλάξετε το PATH, κάντε κλικ στο Εντάξει κουμπί.

Τώρα θα ξέρουμε πώς να ορίσουμε τις μεταβλητές περιβάλλοντος PATH και JAVA_HOEM για συστήματα UNIX, όπως το Solaris, Linux , κ.λπ. Ας υποθέσουμε ότι έχουμε εγκαταστήσει το αρχείο SDK στο /usr/local/jdk1.5.0_20 . Πρέπει να προσθέσετε τις παρακάτω δύο εντολές στο .cshrc αρχείο. Σκεφτείτε ότι χρησιμοποιούμε το κέλυφος C.

|_+_|

Εάν χρησιμοποιείτε εργαλεία Integrated Development Environment (IDE), όπως Eclipse, Sun ONE Studio, JBuilder κ.λπ., πάρτε ένα δείγμα προγράμματος java, μεταγλωττίστε και εκτελέστε το για να ελέγξετε ότι το εργαλείο IDE σας γνωρίζει πού είναι εγκατεστημένη η Java στο σύστημά σας.

Αφού εγκαταστήσετε το Java Development Kit και ρυθμίσετε τις μεταβλητές περιβάλλοντος PATH και JAVA_HOME, το επόμενο βήμα είναι να ρυθμίσετε τον διακομιστή web.

Ρύθμιση του διακομιστή Web Tomcat

Υπάρχουν πολλοί διακομιστές ιστού που είναι διαθέσιμοι σήμερα που υποστηρίζουν την ανάπτυξη δυναμικών εφαρμογών Ιστού μέσω JSP ή Servlets. Θα χρησιμοποιήσουμε τον διακομιστή web Tomcat, ο οποίος είναι ανοιχτού κώδικα και δωρεάν στη χρήση. Το Tomcat είναι ένα σύντομο όνομα για το Apache Tomcat. Είναι δωρεάν για χρήση από οποιονδήποτε και είναι συμβατό με πολλές τεχνολογίες διακομιστών, όπως JavaServer Pages, Servlets, WebSocket και Java Expression Language. Ο κώδικας Java στο Tomcat εκτελείται στο καθαρή Java Διακομιστής ιστού HTTP.

Υπάρχουν πολλά στοιχεία στο Apache Tomcat. Ενημερώστε μας κάθε στοιχείο και τη χρήση του.

  • Το κοντέινερ servlet για Tomcat είναι Αικατερίνη , το οποίο χρησιμοποιεί τις προδιαγραφές της Sun Microsystem για JSP και servlets. Το όνομα χρήστη, ο κωδικός πρόσβασης και οι ρόλοι των χρηστών υπάρχουν στο στοιχείο Realm.
  • Το στοιχείο σύνδεσης για το Tomcat είναι Λύκος της Βόρειας Αμερικής , το οποίο είναι συμβατό με το πρωτόκολλο HTTP 1.1.
  • Ο κινητήρας JSP στο Tomcat είναι Ιασπις . Αυτή η μηχανή αναλύει το αρχείο κειμένου JSP και το μεταγλωττίζει στον κώδικα Java.
  • Ένα άλλο συστατικό του Tomcat είναι Σύμπλεγμα , που διαχειρίζεται μεγάλες διαδικτυακές εφαρμογές.

Ακολουθούν τα βήματα για τη λήψη του διακομιστή ιστού Apache Tomcat.

Πρέπει να κάνετε λήψη της πιο πρόσφατης έκδοσης του Apache Tomcat.

  • Μετά τη λήψη του λογισμικού, τοποθετήστε το ληφθέν σε μια συγκεκριμένη τοποθεσία. Για παράδειγμα, εάν εγκαταστήσατε το Tomcat στο σύστημα των Windows, εντοπίστε το ληφθέν αρχείο C:apache-tomcat-5.5.29 . Για συστήματα Linux ή Unix, τοποθετήστε το αρχείο /usr/local/apache-tomcat-5.5.29 .
  • Αφού εντοπίσετε το αρχείο, δημιουργήστε το CATALINA_HOME μεταβλητή περιβάλλοντος. Ορίστε αυτήν τη μεταβλητή στη θέση του αρχείου tomcat, όπως αναφέρθηκε παραπάνω, δηλαδή, για συστήματα Windows, ορίστε τη μεταβλητή σε C:apache-tomcat-5.5.29 και για συστήματα Linux, ορίστε τη μεταβλητή σε /usr/local/apache-tomcat-5.5.29 .

Η εγκατάσταση του Apache Tomcat ολοκληρώθηκε με επιτυχία. Εάν έχετε εγκαταστήσει το Tomcat στο σύστημα Windows, ακολουθήστε οποιαδήποτε από τις δύο εντολές για την εκκίνηση της εφαρμογής Tomcat.

|_+_|

ή

|_+_|

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

|_+_|

Ή

|_+_|

Μόλις ανοίξετε με επιτυχία την εφαρμογή Tomcat, επισκεφθείτε http://localhost:8080/ . Θα παρατηρήσετε όλες τις προεπιλεγμένες εφαρμογές που υπάρχουν στο Tomcat. Μπορείτε να πραγματοποιήσετε διαμόρφωση και εκτέλεση της εφαρμογής Tomcat χρησιμοποιώντας την τεκμηρίωση που είναι διαθέσιμη στον επίσημο ιστότοπο της Tomcat.

Τώρα, θα δούμε εντολές για το κλείσιμο της εφαρμογής Tomcat σε συστήματα Windows και Linux. Υπάρχουν δύο εντολές για τον τερματισμό της εφαρμογής Tomcat στα συστήματα Windows. Είναι οι εξής:

|_+_|

Ή

|_+_|

Για τα συστήματα Linus, μπορείτε να ακολουθήσετε οποιαδήποτε από τις δύο εντολές για το κλείσιμο της εφαρμογής Tomcat.

|_+_|

Ή

|_+_|

Ρύθμιση CLASSPATH

Θα συζητήσουμε πώς να ρυθμίσετε το CLASSPATH για συστήματα Windows και Linux. Εάν εγκαταστήσατε το Tomcat στο σύστημα των Windows, ακολουθήστε τις παρακάτω γραμμές κώδικα για τη ρύθμιση του CLASSPATH.

|_+_|

Εάν το σύστημά σας Windows έχει εκδόσεις NT, 2000 ή XP, πρέπει να κάνετε δεξί κλικ στο Ο υπολογιστής μου , επιλέξτε Ιδιότητες , κάντε κλικ στο Προχωρημένος , και πηγαίνετε στο Μεταβλητές Περιβάλλοντος . Εδώ, πρέπει να αλλάξετε την τιμή CLASSPATH και να κάνετε κλικ στο Εντάξει κουμπί.

Εάν έχετε εγκαταστήσει το Tomcat στο σύστημα Linux, προσθέστε τις ακόλουθες δύο γραμμές στο αρχείο .cshrc. Σκεφτείτε ότι χρησιμοποιούμε το κέλυφος C.

|_+_|

Πώς είναι η αρχιτεκτονική του JSP;

Έχουμε δημιουργήσει το περιβάλλον για το JSP. Χρησιμοποιήσαμε το Apache Tomcat για την εκτέλεση σελίδων JSP. Για την επεξεργασία σελίδων JSP, υπάρχει μια μηχανή JSP που ονομάζεται κοντέινερ. Στο Apache Tomcat, υπάρχει ένας ενσωματωμένος κινητήρας JSP που ονομάζεται Ιασπις . Επομένως, χρησιμοποιώντας το Jasper, οι προγραμματιστές μπορούν να δημιουργήσουν σελίδες JSP. Το κοντέινερ και ο διακομιστής Ιστού συνεργάζονται για να παρέχουν το περιβάλλον χρόνου εκτέλεσης ή JSP και όλες τις άλλες υπηρεσίες που απαιτούνται από την JSP.

JSP

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

  • Πρώτον, ο πελάτης ή το πρόγραμμα περιήγησης από το σύστημα Windows, Linux ή macOS στέλνει το αίτημα HTTP στον διακομιστή ιστού μέσω του διαδικτύου, όπως φαίνεται στο παραπάνω διάγραμμα.
  • Ο διακομιστής web έχει τη μηχανή JSP, όπου αποθηκεύονται όλα τα αρχεία JSP. Κατά τη λήψη του αιτήματος HTTP από τον πελάτη, ο διακομιστής web αναγνωρίζει ότι το αίτημα αφορά τη σελίδα JSP. Μετά από αυτό, μεταδίδει αυτό το αίτημα στον κινητήρα JSP. Ο διακομιστής Ιστού μεταδίδει το αίτημα HTTP στη σελίδα JSP χρησιμοποιώντας ένα αρχείο με επέκταση .jsp ή .html ή μέσω μιας διεύθυνσης URL.
  • Τώρα, το JSP λαμβάνει το αίτημα HTTP που στάλθηκε από τον πελάτη στον διακομιστή web. Γνωρίζουμε ότι το αίτημα HTTP αφορούσε μια σελίδα JSP. Επομένως, ο κινητήρας φορτώνει τη συγκεκριμένη σελίδα από το δίσκο και τη μετατρέπει σε περιεχόμενο servlet. Με άλλα λόγια, όλο το κείμενο του προτύπου μετατρέπεται σε δηλώσεις println(). Από την άλλη πλευρά, αυτός ο μετασχηματισμός μετατρέπει επίσης όλες τις σελίδες JSP σε κώδικα Java.
  • Η ζητούμενη σελίδα JSP μετατρέπεται σε servlet. Επομένως, το servlet μεταγλωττίζεται από τη μηχανή JSP σε μια εκτελέσιμη κλάση. Αργότερα, το αίτημα HTTP από τον πελάτη αποστέλλεται στη μηχανή servlet από τη μηχανή JSP.
  • Τόσο οι μηχανές servlet όσο και οι μηχανές JSP είναι μέρη του διακομιστή ιστού. Η μηχανή servlet εκτελεί την εκτελέσιμη κλάση που έχει μεταγλωττιστεί από τη μηχανή JSP και δημιουργεί την έξοδο μορφής HTML. Υπάρχει ένα άλλο στοιχείο στον διακομιστή ιστού, η απόκριση HTTP. Η μηχανή servlet στέλνει την έξοδο HTML στην απόκριση HTTP.
  • Τέλος, ο διακομιστής Ιστού στέλνει την απόκριση HTTP στο πρόγραμμα περιήγησης μέσω του Διαδικτύου με τη μορφή στατικού περιεχομένου HTML.

Επομένως, μπορείτε να γράψετε το servlet χρησιμοποιώντας τη σελίδα JSP με πολύ λίγες δεξιότητες προγραμματισμού Java. Από την παραπάνω επεξεργασία του JSP, μπορούμε να συμπεράνουμε ότι λειτουργεί το ίδιο με αυτό του servlet, εκτός από τη φάση της μετάφρασης. Ακολουθεί την αρχιτεκτονική 3 επιπέδων, έχοντας τον διακομιστή web να υποστηρίζει τη σελίδα JSP. Τώρα, θα προχωρήσουμε προς τον κύκλο ζωής του JSP. Εδώ θα συζητήσουμε πώς το αρχείο JSP διέρχεται από τις διάφορες φάσεις και πώς είναι παρόν στο κοντέινερ Ιστού.

Κύκλος Ζωής του JSP

Ο κύκλος ζωής οποιουδήποτε στοιχείου ξεκινά όταν δημιουργείται και τελειώνει όταν καταστραφεί. Ο κύκλος ζωής του JSP είναι παρόμοιος με τον κύκλο ζωής του servlet. Μια πρόσθετη φάση στον κύκλο ζωής JSP χρησιμοποιείται για τη μετατροπή και τη μεταγλώττιση της σελίδας JSP σε servlet. Ο κύκλος ζωής JSP μπορεί να οριστεί ως η δημιουργία της σελίδας JSP, η μετατροπή της σε servlet, ο κύκλος ζωής του servlet και η καταστροφή της σελίδας JSP. Ας παρακολουθήσουμε τώρα τον κύκλο ζωής του JSP λεπτομερώς παρακάτω.

Ο κύκλος ζωής του JSP περιλαμβάνει τέσσερις κύριες διαδρομές ως εξής:

  1. Συλλογή
  2. Αρχικοποίηση
  3. Εκτέλεση
  4. Καθάρισε

Και οι τέσσερις αυτές διαδρομές κύκλου ζωής JSP είναι παρόμοιες με τις διαδρομές κύκλου ζωής του servlet. Το παρακάτω διάγραμμα απεικονίζει τις παραπάνω φάσεις.

JSP

Ας συζητήσουμε τώρα κάθε φάση του κύκλου ζωής του JSP και την περιγραφή του λεπτομερώς.

    JSP Compilation

Όταν ο πελάτης ή το πρόγραμμα περιήγησης στέλνει το αίτημα HTTP για τη σελίδα JSP, η μηχανή JSP που υπάρχει στον διακομιστή web επαληθεύει εάν η σελίδα αιτήματος πρέπει να μεταγλωττιστεί ή όχι. Η μηχανή JSP μεταγλωττίζει τη σελίδα που ζητήθηκε εάν δεν είχε μεταγλωττιστεί προηγουμένως ή δεν είχε μεταγλωττιστεί μετά την τροποποίηση της σελίδας. Η συλλογή σελίδων περιλαμβάνει τρία βήματα ως εξής:

  • Η ζητούμενη σελίδα αναλύεται από τη μηχανή JSP.
  • Στη συνέχεια, μετατρέπει τη σελίδα JSP σε servlet.
  • Τέλος, το servlet μεταγλωττίζεται.

Όταν η σελίδα JSP μετατρέπεται σε servlet, το .jsp το αρχείο μετατρέπεται σε α .Ιάβα αρχείο. Κατά τη στιγμή της σύνταξης, το .Ιάβα το αρχείο στη συνέχεια μετατρέπεται σε α .τάξη αρχείο.

    Εκκίνηση JSP

Αφού ολοκληρωθεί η μεταγλώττιση, πραγματοποιείται η διαδικασία φόρτωσης της τάξης. Η πηγή JSP φορτώνει την κλάση servlet και αυτή η κλάση servlet στη συνέχεια φορτώνεται στο κοντέινερ. Η παρουσία της κλάσης servlet δημιουργείται στο κοντέινερ. Αφού δημιουργηθεί η παρουσία της κλάσης servlet, το jspInit () γίνεται επίκληση της μεθόδου. Αυτή η μέθοδος χρησιμοποιείται μόνο μία φορά στον κύκλο ζωής του JSP. Για την εκκίνηση ειδικά για JSP, πρέπει να παρακάμψετε το jspInit () μέθοδος ως εξής:

|_+_|

Οταν ο jspInit () Η μέθοδος εκκινείται, πρέπει να δημιουργήσετε τη σύνδεση της βάσης δεδομένων και να δημιουργήσετε τους πίνακες αναζήτησης στο αρχείο.

    Εκτέλεση JSP

Μετά το jspInit () μέθοδος είναι instantiated, η _jspService() χρησιμοποιείται μέθοδος. Αυτή η μέθοδος εξυπηρετεί όλα τα αιτήματα που αποστέλλονται από τον πελάτη στον διακομιστή web έως ότου καταστραφεί το JSP.

ο _jspService() Η μέθοδος περιλαμβάνει δύο διαφορετικές παραμέτρους, HttpServletRequest και HttpServletResponse . Αυτή η μέθοδος ορίζεται ως εξής:

|_+_|

ο _jspService() μέθοδος ανταποκρίνεται σε όλα τα αιτήματα του πελάτη. Κάθε φορά που ο πελάτης υποβάλλει το αίτημα, το _jspService() γίνεται επίκληση της μεθόδου. Επίσης, ανταποκρίνεται και στα επτά αιτήματα HTTP, όπως ΠΑΙΡΝΩ , ΔΙΑΓΡΑΦΩ , ΘΕΣΗ , ΒΑΖΩ , κ.λπ. Μπορείτε να παρακάμψετε το _jspService() μέθοδος.

    Εκκαθάριση JSP:

Το τελευταίο στάδιο του κύκλου ζωής του JSP είναι το Cleanup, όπου το JSP καταστρέφεται. Το δοχείο αφαιρεί το JSP και δεν το χρησιμοποιεί. Αυτή η μέθοδος είναι ίδια με αυτή μιας μεθόδου καταστροφής servlet. Όταν θέλετε να κλείσετε οποιοδήποτε αρχείο στη βάση δεδομένων ή να κλείσετε τη σύνδεση της βάσης δεδομένων, μπορείτε να παρακάμψετε το jspDestroy() μέθοδος. Η σύνταξη της μεθόδου jspDestroy() είναι η εξής:

|_+_|

Συντακτικές στο JSP

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

    Σενάριο:

Το Scriptlet είναι ένα από τα ισχυρά στοιχεία JSP. Μπορούμε να αποθηκεύσουμε δηλώσεις Java, μεθόδους, μεταβλητές και εκφράσεις στο scriptlet. Επιπλέον, μπορεί επίσης να αποθηκεύσει στοιχεία οποιασδήποτε γλώσσας δέσμης ενεργειών. Παρακάτω είναι το στοιχείο Scriptlet Σύνταξη:

Σύνταξη:

|_+_|

Η παραπάνω σύνταξη Scriptlet μπορεί να γραφτεί ως ισοδύναμο XML στην ακόλουθη μορφή:

|_+_|

Όλες οι ετικέτες HTML, τα στοιχεία JSP και οποιοδήποτε άλλο κείμενο γράφεται πάντα έξω από τις ετικέτες Scriptlet. Θα δούμε ένα απλό παράδειγμα JSP μέσα στη σελίδα HTML.

Παράδειγμα:

|_+_|

Ο διακομιστής Tomcat θα πρέπει να είναι εγκατεστημένος στην επιφάνεια εργασίας σας και το περιβάλλον του θα πρέπει να έχει ρυθμιστεί για την εκτέλεση αυτού του προγράμματος. Ακολουθήστε τα παραπάνω βήματα ρύθμισης περιβάλλοντος για τη ρύθμιση του περιβάλλοντος διακομιστή Tomcat. Θα αποθηκεύσουμε το παραπάνω αρχείο ως firstjsp.jsp στο C:apache-tomcat7.0.2webappsROOT ντοσιέ. Αφού αποθηκεύσετε το αρχείο, μεταβείτε στο πρόγραμμα περιήγησης και πληκτρολογήστε τη διεύθυνση URL, http://localhost:8080/firstjsp.jsp. Ο παραπάνω κωδικός θα εμφανίσει τον Γρήγορο Οδηγό JSP και τη διεύθυνση IP του συστήματός σας.

    Δηλώσεις

Όταν χρειάζεστε μεταβλητές ή μεθόδους για χρήση στον κώδικα Java, οι δηλώσεις JSP τις δηλώνουν. Πριν χρησιμοποιήσετε οποιαδήποτε μεταβλητή ή μέθοδο στον κώδικα Java, πρέπει να τη δηλώσετε χρησιμοποιώντας τη δήλωση JSP. Η σύνταξη των Δηλώσεων JSP έχει ως εξής:

Σύνταξη:

|_+_|

Η παραπάνω σύνταξη είναι γραμμένη σε XML ως εξής:

|_+_|

Τώρα, ας δούμε ένα παράδειγμα των δηλώσεων JSP.

Παράδειγμα:

|_+_|
    Εκφραση

Μια έκφραση στο JSP περιέχει εκφράσεις της γλώσσας δέσμης ενεργειών. Αυτές οι εκφράσεις μπορούν να αξιολογηθούν, να μετατραπούν σε συμβολοσειρά και να προστεθούν στο αρχείο JSP, όπου εμφανίζεται η έκφραση. Μπορείτε να χρησιμοποιήσετε εκφράσεις JSP με το κείμενο, καθώς μπορεί να μετατραπεί σε συμβολοσειρά. Δεν είναι υποχρεωτική η προσθήκη ετικετών σε εκφράσεις JSP μέσα σε ετικέτες HTML. Ένα σημαντικό πράγμα που πρέπει να θυμάστε κατά τη σύνταξη της έκφρασης JSP είναι ότι δεν χρησιμοποιούν το ερωτηματικό για να τερματίσουν την έκφραση.

Σύνταξη:

|_+_|

Η παραπάνω σύνταξη μπορεί να γραφτεί στο ισοδύναμο XML της ως εξής:

|_+_|

Το παρακάτω παράδειγμα θα σας βοηθήσει να αναγνωρίσετε πώς να χρησιμοποιήσετε την έκφραση JSP σε HTML.

|_+_|

Θα λάβετε την έξοδο ως την τρέχουσα ημερομηνία και ώρα ως εξής:

|_+_|
    Σχόλια

Τα σχόλια είναι δηλώσεις που δεν προορίζονται για εκτέλεση. Προορίζονται μόνο για προγραμματιστές και αναγνώστες. Στο JSP, τα σχόλια αγνοούνται από το κοντέινερ. Εάν θέλετε να αποκρύψετε κάποιο μέρος του προγράμματος JSP, μπορείτε να σχολιάσετε αυτό το τμήμα χρησιμοποιώντας σχόλια JSP. Ακολουθεί η σύνταξη για τα σχόλια JSP.

Σύνταξη:

|_+_|

Θα εκτελέσουμε το παρακάτω παράδειγμα που περιέχει το σχόλιο JSP σε αυτό.

Παράδειγμα:

|_+_|

Το αποτέλεσμα αυτού του κώδικα δίνεται παρακάτω.

|_+_|

Υπάρχουν πολλοί άλλοι τρόποι στο JSP για τον καθορισμό σχολίων. Ακολουθούν έξι διαφορετικές συντακτικές σχολίων και οι χρήσεις τους:

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

    %>

υπονοεί μια στατική κυριολεξία.

    <\%

Το παραπάνω σχόλιο αναφέρεται επίσης ως στατικό κυριολεκτικό.

Καθορίζει ένα διπλό εισαγωγικό που χρησιμοποιείται σε ένα χαρακτηριστικό.

    '

Καθορίζει ένα μεμονωμένο εισαγωγικό που χρησιμοποιείται σε ένα χαρακτηριστικό.

    οδηγίες

Υπάρχουν τρεις οδηγίες στο JSP, , , και . ο Η οδηγία χρησιμοποιείται για τον καθορισμό χαρακτηριστικών σελίδας, όπως η σελίδα σφάλματος, η γλώσσα δέσμης ενεργειών και οι απαιτήσεις προσωρινής αποθήκευσης. Η άλλη οδηγία, , περιλαμβάνει ένα συγκεκριμένο αρχείο που χρησιμοποιείται κατά τη φάση μετάφρασης του κύκλου ζωής του JSP. Τέλος, το Η οδηγία χρησιμοποιείται για τη δήλωση βιβλιοθήκης καρτελών και προσαρμοσμένων ενεργειών που απαιτούνται στη σελίδα JSP. Όταν χρησιμοποιούνται οδηγίες JSP, επηρεάζουν τη δομή της κλάσης servlet. Εδώ είναι η σύνταξη για την οδηγία JSP.

|_+_|
    Ενέργειες

Οι ενέργειες είναι συναρτήσεις που έχουν ήδη καθοριστεί. Οι ενέργειες JSP χρησιμοποιούνται για τον έλεγχο της συμπεριφοράς του servlet engine. Αυτές οι ενέργειες προσθέτουν την κατασκευή στον κώδικα XML. Χρησιμοποιώντας ενέργειες JSP, μπορείτε να εισαγάγετε οποιοδήποτε αρχείο δυναμικά, να δημιουργήσετε το HTML για την προσθήκη Java ή να χρησιμοποιήσετε ξανά τα στοιχεία JavaBeans. Παρακάτω είναι η σύνταξη των ενεργειών JSP.

Σύνταξη:

|_+_|

Παραθέτουμε μερικές σημαντικές ενέργειες JSP και την περιγραφή τους παρακάτω:

    jsp:useBean: Αυτή η ενέργεια δημιουργεί ή προσδιορίζει ένα JavaBean.jsp:getProperty: Μπορείτε να χρησιμοποιήσετε την ενέργεια jsp:getProperty για να προσθέσετε την ιδιότητα JavaBean στην έξοδο.jsp:setProperty: Αυτή η ενέργεια διορθώνει την ιδιότητα JavaBean.jsp:include: Όταν ο χρήστης ζητά τη σελίδα, αυτή η ενέργεια προσθέτει το αρχείο.jsp:πρόσθετο: Δημιουργεί μια ετικέτα OBJECT ή EMBED και κώδικα συγκεκριμένου προγράμματος περιήγησης για την προσθήκη Java.jsp: χαρακτηριστικό: Αυτή η ενέργεια χρησιμοποιείται για τον καθορισμό της ιδιότητας του στοιχείου XML που ορίζεται δυναμικά.jsp: εμπρός: Αυτή η ενέργεια οδηγεί τον χρήστη στη νέα σελίδα.jsp:στοιχείο: Όταν πρέπει να ορίσετε στοιχεία XML δυναμικά, χρησιμοποιήστε αυτήν την ενέργεια.jsp:text: Αυτή η ενέργεια επιτρέπει στους χρήστες να προσθέσουν το κείμενο του προτύπου στη σελίδα JSP.jsp:body: Χρησιμοποιείται για τον ορισμό του σώματος του στοιχείου XML, το οποίο ορίζεται δυναμικά.
    Έννοια αντικείμενα

Υπάρχουν εννέα σιωπηρά αντικείμενα στο JSP, αίτημα, απόκριση, περίοδος λειτουργίας, out, pageContext, config, εφαρμογή, σελίδα και εξαίρεση. Ενημερώστε μας για κάθε σιωπηρό αντικείμενο λεπτομερώς εδώ.

    αίτηση: Το αντικείμενο αιτήματος είναι HttpServletRequest, που σχετίζεται με το αίτημα του πελάτη.απάντηση: Το αντικείμενο απόκρισης είναι το HttpServletResponse, που σχετίζεται με την απόκριση του διακομιστή στον πελάτη.συνεδρίαση: Αυτό το αντικείμενο περιλαμβάνει HttpSession και σχετίζεται με το αντικείμενο αιτήματος του πελάτη.έξω: Ένα άλλο άρρητο αντικείμενο είναι έξω. Χρησιμοποιείται για την αποστολή της εξόδου στον πελάτη χρησιμοποιώντας το αντικείμενο PrintWriter.pageContext: Αυτό το σιωπηρό αντικείμενο καθορίζει την εφαρμογή των χαρακτηριστικών του διακομιστή. Ένα παράδειγμα της δυνατότητας για συγκεκριμένο διακομιστή είναι το JspWriters.config: Αυτό το αντικείμενο περιλαμβάνει το αντικείμενο ServletConfig, το οποίο χρησιμοποιείται με τη σελίδα JSP.εφαρμογή: Το αντικείμενο ServletContext του JSP χρησιμοποιείται με το περιβάλλον εφαρμογής.σελίδα: Το σιωπηρό αντικείμενο σελίδας καλεί όλες τις μεθόδους, οι οποίες ορίζονται από την κλάση servlet.Εξαίρεση: Το καθορισμένο JSP μπορεί να έχει πρόσβαση στα δεδομένα εξαίρεσης χρησιμοποιώντας το αντικείμενο Εξαίρεση.
    Δηλώσεις ελέγχου-ροής

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

Δηλώσεις Λήψης Αποφάσεων

Οι δηλώσεις λήψης αποφάσεων χρησιμοποιούνται για τη λήψη αποφάσεων σχετικά με τις διαθέσιμες επιλογές. Υπάρχουν δύο τρόποι εφαρμογής μιας δήλωσης λήψης αποφάσεων. Το ένα χρησιμοποιεί την εντολή if_else και το άλλο χρησιμοποιεί την εντολή switch-case. Κάθε συνθήκη if και else περικλείεται σε ξεχωριστά scriptlet. Ας δούμε ένα παράδειγμα μιας δήλωσης if_else στο JSP.

Παράδειγμα:

|_+_|

Εδώ, έχουμε δηλώσει «month=3» και προσδιορίσαμε τις συνθήκες στις δηλώσεις if_else. Επομένως η έξοδος θα είναι:

|_+_|

Τώρα, θα εφαρμόσουμε τις δηλώσεις μεταγωγής...περίπτωσης. Ο παρακάτω κώδικας είναι αρκετά διαφορετικός από τον παραπάνω κώδικα, καθώς οι συνθήκες στον παρακάτω κώδικα καθορίζονται σε ένα Scriptlet.

Παράδειγμα:

|_+_|

Παραγωγή:

|_+_|

Δηλώσεις βρόχου

Χρησιμοποιούμε τον βρόχο στο πρόγραμμα για να επαναλάβουμε μια συγκεκριμένη εντολή συγκεκριμένες φορές. Υπάρχουν τρεις διαφορετικοί τύποι βρόχων που υποστηρίζονται από το JSP, for, while και do…while. Ας δούμε παραδείγματα για κάθε τύπο βρόχου παρακάτω.

Για βρόχο:

|_+_|

Παραγωγή:

|_+_|

Ενώ βρόχος:

|_+_|

Παραγωγή:

|_+_|
    Χειριστές σε JSP

Όλοι οι λογικοί και αριθμητικοί τελεστές που υποστηρίζονται από την Java χρησιμοποιούνται στο JSP. Οι τελεστές χρησιμοποιούνται σε εκφράσεις JSP για την αξιολόγησή τους. Ο χειριστής που έχει την υψηλότερη προτεραιότητα αξιολογείται πρώτος και με τη χαμηλότερη προτεραιότητα αξιολογείται τέλος. Έχουμε παραθέσει όλους τους τελεστές JSP με την υψηλότερη προτεραιότητα πρώτη, τη δεύτερη υψηλότερη προτεραιότητα την επόμενη και ούτω καθεξής.

    Postfix: Υπάρχουν τρεις τελεστές postfix «()». '[]', και '.'. Όλοι αυτοί οι τελεστές έχουν συσχετισμό από αριστερά προς τα δεξιά.Unary: Οι ενιαίοι τελεστές είναι «++», «–», «!» και «~» που έχουν συσχετισμό από το δικαίωμα προς τα αριστερά.Πολλαπλασιαστικός: Υπάρχουν τρεις πολλαπλασιαστικοί τελεστές, «*», «/» και «%». Έχουν συσχετισμό από αριστερά προς τα δεξιά.Πρόσθετος: Οι τελεστές πρόσθετων είναι «+» και «-». Έχουν επίσης συσχετισμό από αριστερά προς τα δεξιά.Μετατόπιση: τελεστές Shift, '>>', '>>>' και '<<’ have left to right associativity. Σχετικός: Υπάρχουν τέσσερις σχεσιακές τελεστές, «>», «=» και «<=’. All of them have left to right associativity. Ισότητα: Οι τελεστές ισότητας είναι «==» και «!=» που έχουν συσχετισμό από αριστερά προς τα δεξιά.Bitwise ΚΑΙ: Ο τελεστής AND (&) έχει συσχετισμό από αριστερά προς τα δεξιά.Bitwise XOR: Ο τελεστής XOR (^) έχει συσχετισμό από αριστερά προς τα δεξιά.Bitwise Ή: Ο τελεστής OR (|) έχει συσχετισμό από αριστερά προς τα δεξιά.Λογικό ΚΑΙ: Ο λογικός τελεστής AND (&&) έχει συσχετισμό από αριστερά προς τα δεξιά.Λογικό Ή: Ο λογικός τελεστής OR (||) έχει συσχετισμό από αριστερά προς τα δεξιά.Υποθετικός: Ο τελεστής υπό όρους (?:) έχει το δικαίωμα στην αριστερή συσχέτιση.ΑΝΑΘΕΣΗ ΕΡΓΑΣΙΑΣ: Υπάρχουν αρκετοί τελεστές ανάθεσης, όπως =, +=, -+, *=, %=, /=, >>=,<<=, &=, ^=, and |=. All these operators have the right to left associativity. Παράγραφος: Ο τελεστής κόμματος (‘) έχει συσχετισμό από αριστερά προς τα δεξιά.

Το JSP υποστηρίζει πέντε διαφορετικά literals ή τύπους δεδομένων, Boolean, integer, floating-point, String και NULL. Το Boolean κυριολεκτικά επιστρέφει είτε true είτε false ως αποτέλεσμα. Ένας ακέραιος χρησιμοποιείται για τον καθορισμό του αριθμού και το Floating-point χρησιμοποιείται για τη δήλωση των δεκαδικών αριθμών στο πρόγραμμα JSP. Ο τύπος δεδομένων String στο JSP είναι διαφορετικός από αυτόν της γλώσσας Java. Ο τύπος δεδομένων NULL καθορίζει την τιμή null.

Δράσεις JSP

Είδαμε ποιες είναι οι ενέργειες του JSP. Είδαμε επίσης όλες τις ενέργειες JSP στην παραπάνω συνοπτική περιγραφή. Οι ενέργειες δεν είναι παρά λειτουργίες που ρυθμίζουν τη συμπεριφορά του κινητήρα JSP. Ας θυμηθούμε τη σύνταξη της ενέργειας JSP.

Σύνταξη:

|_+_|

Οι ενέργειες JSP είναι jsp:include, jsp:useBean, jsp:setProperty, jsp:getProperty, jsp:forward, jsp:element, jsp:plugin, jsp:attribute, jsp:body και jsp:text. Όλες αυτές οι ενέργειες JSP έχουν δύο κοινά στοιχεία, το ID και το Scope.

Το στοιχείο ID χρησιμοποιείται για τον μοναδικό προσδιορισμό οποιασδήποτε ενέργειας JSP. Αυτό το στοιχείο της ενέργειας JSP χρησιμοποιείται στο πρόγραμμα JSP, ορίζοντας την ενέργεια που πρέπει να εκτελεστεί. Ένα άλλο στοιχείο είναι το Scope, το οποίο χρησιμοποιείται για τον προσδιορισμό του κύκλου ζωής της δράσης JSP. Χρησιμοποιώντας το αναγνωριστικό της ενέργειας, προσδιορίζεται η διάρκεια ζωής της. Επομένως, το στοιχείο ID και το στοιχείο Scope είναι ευθέως ανάλογα. Το στοιχείο Scope μπορεί να λάβει τις πιθανές τιμές: σελίδα, περίοδος λειτουργίας, αίτημα ή εφαρμογές.

Η δράση

Η ενέργεια useBean στο JSP εντοπίζει πρώτα ένα αντικείμενο που διαθέτει τα χαρακτηριστικά ID και Scope. Εάν το αντικείμενο δεν βρεθεί, αυτή η ενέργεια δημιουργεί το αντικείμενο για τα συγκεκριμένα χαρακτηριστικά ID και Scope. Ακολουθεί ο τρόπος φόρτωσης της κλάσης useBean.

|_+_|

Αφού φορτώσετε την κλάση Bean, μπορείτε να χρησιμοποιήσετε τις άλλες δύο ενέργειες JSP, jsp:setProperty και jsp:getProperty . Αυτές οι ενέργειες χρησιμοποιούνται για την τροποποίηση και την ανάκτηση των ιδιοτήτων του φασολιού. Η ενέργεια useBean χρησιμοποιεί τρία διαφορετικά γνωρίσματα , τάξη , τύπος , και beanName. ο τάξη Το χαρακτηριστικό εκχωρεί το όνομα πακέτου του φασολιού. Μπορείτε να χρησιμοποιήσετε το τύπος στοιχείο για τον καθορισμό του τύπου μεταβλητής για το αντικείμενο στο οποίο αναφερόμαστε. Τέλος, το beanName παρέχει το όνομα του φασολιού. Η μέθοδος instantiate() καθορίζει το όνομα του bean.

Η δράση

Η ενέργεια χρησιμοποιείται για τον ορισμό της ιδιότητας του Bean. Η μόνη απαίτηση για τον ορισμό της ιδιότητας του φασολιού είναι ότι πρέπει πρώτα να οριστεί το bean. Υπάρχουν δύο τρόποι χρήσης της ενέργειας ως εξής:

Ο πρώτος τρόπος είναι να χρησιμοποιήσετε το εξωτερικό και μετά το εξάρτημα.

|_+_|

Στην παραπάνω σύνταξη, ακόμη και αν το νέο στοιχείο δεν έχει δημιουργηθεί ή δεν βρεθεί ένα υπάρχον, η ενέργεια εκτελείται.

Ένας άλλος τρόπος ορισμού της ενέργειας είναι μέσα στο στοιχείο jsp:useBean.

|_+_|

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

Η jsp:setProperty περιλαμβάνει τέσσερα διαφορετικά χαρακτηριστικά, όνομα , ιδιοκτησία , αξία , και να σταματήσει . ο όνομα χαρακτηριστικό εκχωρεί το όνομα στο bean του οποίου η ιδιότητα πρόκειται να οριστεί. Ένα άλλο χαρακτηριστικό, ιδιοκτησία , ορίζει την ιδιοκτησία. ο αξία είναι η τιμή που αποδίδεται στην ιδιοκτησία και το να σταματήσει Το χαρακτηριστικό ορίζει το όνομα της παραμέτρου που έλαβε η ιδιότητα.

Η δράση

Είδαμε ότι η ενέργεια jsp:setProperty ορίζει την τιμή της ιδιότητας. Εδώ, η ενέργεια φέρνει την αξία του ακινήτου. Μετά την ανάκτηση της τιμής, τη μετατρέπει στη συμβολοσειρά και την προσθέτει στο αποτέλεσμα.

Η ενέργεια έχει μόνο δύο χαρακτηριστικά, όνομα και ιδιότητα. ο όνομα Το χαρακτηριστικό ορίζει το όνομα του φασολιού που περιέχει μια συγκεκριμένη ιδιότητα και το ιδιοκτησία Το χαρακτηριστικό ορίζει το όνομα της ιδιότητας του Bean. Ακολουθεί η σύνταξη της ενέργειας:

|_+_|

Ας παρατηρήσουμε ένα παράδειγμα που περιέχει το παράδειγμα φασόλι. Αποθηκεύστε το παρακάτω αρχείο ως ExampleBean.java .

|_+_|

Αφού γράψετε αυτόν τον κωδικό στο ExampleBean.java αρχείο, μεταγλωττίστε το για να δημιουργήσετε το ExampleBean.class αρχείο. Τώρα, αντιγράψτε το ExampleBean.class αρχείο στο C:apache-tomcat-7.0.2webappsWEB-INFclassesaction ντοσιέ. Βεβαιωθείτε ότι έχετε επίσης ρυθμίσει το ΤΑΞΙΚΟΔΡΟΜΙΑ μεταβλητός.

Πρέπει τώρα να δημιουργήσετε το αρχείο main.jsp και να γράψετε τον παρακάτω κώδικα σε αυτό.

|_+_|

Παραγωγή:

|_+_|

Η δράση

Όταν θέλετε να εισαγάγετε στοιχεία Java στο πρόγραμμα JSP, χρησιμοποιείται η ενέργεια. Αυτή η ενέργεια προσδιορίζει επίσης τον τύπο του προγράμματος περιήγησης και προσθέτει ή ετικέτες στο πρόγραμμα JSP. Ας υποθέσουμε ότι χρειάζεστε το στοιχείο Java, του οποίου η προσθήκη δεν είναι διαθέσιμη. Η ενέργεια κατεβάζει την προσθήκη που απαιτείται για την εκτέλεση του στοιχείου Java, όπως το Applet ή το Bean. Υπάρχουν πολλά χαρακτηριστικά στη δράση της προσθήκης, η οποία αντιστοιχεί στις ετικέτες HTML.

Παρακάτω είναι ένα απλό παράδειγμα της δράσης.

|_+_|

Στον παραπάνω κώδικα, μπορούμε να παρατηρήσουμε το νέο στοιχείο, . Όταν το στοιχείο αποτύχει, αυτό το στοιχείο στέλνει τη συμβολοσειρά σφάλματος στον χρήστη.

Οι ενέργειες, όπως , , και ορίζει στοιχεία XML. Όλα τα στοιχεία XML δημιουργούνται κατά το χρόνο εκτέλεσης και όχι κατά το χρόνο μεταγλώττισης, δηλαδή δημιουργούνται δυναμικά.

Η δράση

Όταν θέλετε να τερματίσετε τη δράση της τρέχουσας σελίδας και να την προωθήσετε στον άλλο πόρο, μπορείτε να χρησιμοποιήσετε το δράση. Η σύνταξη αυτής της ενέργειας δίνεται ως εξής:

|_+_|

Μόνο ένα χαρακτηριστικό σχετίζεται με τη δράση, το σελίδα . Αυτή η σελίδα πρέπει να περιλαμβάνει τη σχετική διεύθυνση URL του πόρου, όπου μεταφέρεται η ενέργεια. Ο πόρος μπορεί να είναι η σελίδα JSP, το Java Servlet και η στατική σελίδα.

Τώρα, θα δούμε ένα απλό παράδειγμα της δράσης. Θα δημιουργήσουμε δύο αρχεία, ημερομηνία.jsp και main.jsp . Το αρχείο date.jsp θα εμφανίσει την τρέχουσα ημερομηνία και το αρχείο main.jsp περιέχει την ενέργεια.

αρχείο date.jsp

|_+_|

αρχείο main.jsp

|_+_|

Πρέπει να αποθηκεύσετε και τα δύο αρχεία στον κατάλογο ROOT. Τώρα θα έχουμε πρόσβαση στο αρχείο main.jsp για το αποτέλεσμα. Δεν θα εμφανίσει το περιεχόμενο από το αρχείο main.jsp. Αντίθετα, θα εμφανίσει το περιεχόμενο από το αρχείο date.jsp, καθώς πρόκειται για ένα προωθημένο αρχείο.

Παραγωγή:

|_+_|

Η δράση

Χρησιμοποιώντας την ενέργεια, μπορούμε να γράψουμε πρότυπα κειμένου ή έγγραφα σε σελίδες JSP. Παρακάτω είναι η σύνταξη της ενέργειας:

|_+_|

Εδώ, το πρότυπο περιέχει μόνο κείμενο και εκφράσεις EL. Δεν μπορούν να υπάρχουν άλλα στοιχεία στο πρότυπο. Στα αρχεία XML, μην χρησιμοποιείτε την έκφραση as ${whatever > 0} , καθώς αυτή η πινακίδα δεν επιτρέπεται ή παράνομη. Αντίθετα, μπορείτε να χρησιμοποιήσετε ${whatever gt 0} .

Οδηγίες ΚΕΠ

Στην ενότητα της σύνταξης, είδαμε τι είναι οι κατάλογοι στο JSP. Εδώ, θα μάθουμε αναλυτικά τους καταλόγους JSP. Οι οδηγίες είναι απαραίτητες στο JSP, καθώς διοικούν και κατευθύνουν το δοχείο JSP για το χειρισμό και τη ρύθμιση συγκεκριμένων στοιχείων επεξεργασίας JSP. Ολόκληρη η δομή της κλάσης servlet επηρεάζεται λόγω των οδηγιών JSP.

Σύνταξη:

|_+_|

Τα χαρακτηριστικά στις οδηγίες είναι της μορφής κλειδιού-τιμής. Μπορεί να υπάρχουν πολλά χαρακτηριστικά σε οδηγίες και το καθένα χωρίζεται με κόμμα. Στην παραπάνω σύνταξη, μπορούμε να παρατηρήσουμε ένα κενό μεταξύ '<%@’ και το όνομα της οδηγίας, και η τιμή και '%>.' Αυτοί οι χώροι είναι προαιρετικοί. Δεν υπάρχει ανησυχία εάν δεν προσθέσετε κενά μεταξύ τους. Είδαμε παραπάνω ότι υπάρχουν τρεις ετικέτες οδηγιών, , , και . Ας συζητήσουμε λεπτομερώς καθεμία από αυτές τις ετικέτες οδηγιών.

Η οδηγία για τη σελίδα

Η οδηγία Σελίδα παρέχει οδηγίες στην τρέχουσα σελίδα του κοντέινερ. Μπορείτε να συμπεριλάβετε την οδηγία σελίδας οπουδήποτε στο πρόγραμμα JSP σας. Γενικά, η οδηγία σελίδας χρησιμοποιείται στο επάνω μέρος της σελίδας JSP. Η σύνταξη της οδηγίας σελίδας είναι:

|_+_|

Η παραπάνω σύνταξη είναι γραμμένη σε XML όπως δίνεται παρακάτω:

|_+_|

Υπάρχουν 13 χαρακτηριστικά που σχετίζονται με την οδηγία σελίδας, όπως εξηγείται παρακάτω.

    Αυτόματη έκπλυση: Αυτό το χαρακτηριστικό ρυθμίζει τη συμπεριφορά του buffer εξόδου servlet.errorPage: Το errorPage εμφανίζει τη διεύθυνση URL του άλλου JSP, το οποίο εμφανίζει μη επιλεγμένες εξαιρέσεις χρόνου εκτέλεσης της Java.εκτείνεται: Το δημιουργημένο servlet θα πρέπει να επεκτείνει την καθορισμένη υπερκλάση.ρυθμιστής: Το χαρακτηριστικό buffer καθορίζει το μοντέλο προσωρινής αποθήκευσης της ροής εξόδου.Τύπος περιεχομένου: Αυτό το χαρακτηριστικό ορίζει το σχήμα για την κωδικοποίηση χαρακτήρων.isErrorPage: Υποδεικνύει εάν η τρέχουσα σελίδα JSP είναι η διεύθυνση URL που ορίζεται από το χαρακτηριστικό errorPage της άλλης σελίδας JSP.πληροφορίες: Καθορίζει μια συμβολοσειρά, στην οποία είναι δυνατή η πρόσβαση με τη μέθοδο getServletInfo().Γλώσσα: Αυτό το χαρακτηριστικό υποδεικνύει τη γλώσσα προγραμματισμού που χρησιμοποιείται στις σελίδες JSP.isELIgnored: Καθορίζει εάν η έκφραση EL στη σελίδα JSP θα αγνοηθεί.εισαγωγή: Αυτή η δήλωση υποδεικνύει όλα τα πακέτα και τις κλάσεις που απαιτούνται για προσθήκη στο JSP. Στην Java, η δήλωση εισαγωγής Java καθορίζει όλες τις κλάσεις και τα πακέτα που απαιτούνται να συμπεριληφθούν στο πρόγραμμα Java.isThreadSafe: Αυτό το χαρακτηριστικό καθορίζει το μοντέλο νήματος του servlet.συνεδρίαση: Το χαρακτηριστικό session επαληθεύει εάν η σελίδα JSP συμμετέχει στην περίοδο λειτουργίας HTTP ή όχι.isScriptingEnabled: Αυτό το στοιχείο καθορίζει εάν θα χρησιμοποιηθούν τα στοιχεία δέσμης ενεργειών στη σελίδα JSP.

Οδηγία Συμπερίληψης

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

Σύνταξη:

|_+_|

Η παραπάνω σύνταξη είναι γραμμένη σε XML ως εξής:

|_+_|

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

Ο κατάλογος taglib

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

|_+_|

Η παραπάνω σύνταξη μπορεί να γραφτεί σε XML ως εξής:

|_+_|

Η ιδιότητα, μισώ , καθορίζει τη θέση που μπορεί να κατανοήσει το κοντέινερ και το πρόθεμα χαρακτηριστικό ενημερώνει το κοντέινερ για τη σύνθεση των προσαρμοσμένων ενεργειών.

JSP Implicit Objects

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

Το αντικείμενο της αίτησης

ο javax.servlet.http.HttpServletRequest το αντικείμενο δημιουργεί ένα στιγμιότυπο που ονομάζεται το αίτηση αντικείμενο. Όταν ένας πελάτης ή ένας χρήστης ζητά μια συγκεκριμένη σελίδα, η μηχανή JSP δημιουργεί ένα νέο αντικείμενο που αντιπροσωπεύει το αίτημα του πελάτη. ο αίτηση Το αντικείμενο προσφέρει πολλές μεθόδους για την εξαγωγή των πληροφοριών της κεφαλίδας HTTP, όπως μεθόδους HTTP, cookies κ.λπ.

Η απάντηση Αντικείμενο

ο javax.servlet.http.HttpServletResponse το αντικείμενο δημιουργεί ένα στιγμιότυπο που ονομάζεται το απάντηση αντικείμενο. Καθώς η μηχανή JSP δημιουργεί το νέο αντικείμενο κάθε φορά που ο χρήστης ζητά μια συγκεκριμένη σελίδα, δημιουργεί επίσης ένα αντικείμενο που αντιπροσωπεύει την απόκρισή του. Χρησιμοποιώντας το αντικείμενο απόκρισης, μπορείτε να συμπεριλάβετε νέα cookie στο πρόγραμμα JSP, όπως κωδικούς κατάστασης HTTP, σφραγίδες κ.λπ.

Το έξω αντικείμενο

ο javax.servlet.jsp.JspWriter το αντικείμενο δημιουργεί ένα στιγμιότυπο που ονομάζεται το έξω αντικείμενο. Η μηχανή JSP μπορεί να προσθέσει περιεχόμενο στην απάντηση που ζητά ο πελάτης. ο JspWriter αντικείμενο έχει σχεδόν τις ίδιες μεθόδους που υπάρχουν στο java.io.PrintWriter τάξη. Υπάρχουν μερικές πρόσθετες μέθοδοι στο JspWriter αντικείμενο που χρησιμοποιείται για buffering και ρίχνει IOException.

Το αντικείμενο της εφαρμογής

ο javax.servlet.ServletContext δημιουργεί ένα παράδειγμα που ονομάζεται an εφαρμογή αντικείμενο, το οποίο λειτουργεί ως περιτύλιγμα για το ServletContext αντικείμενο. Αυτό το αντικείμενο αντιπροσωπεύει τη σελίδα JSP. Όταν αρχικοποιείται η σελίδα JSP, δημιουργείται ένα αντικείμενο εφαρμογής. Αυτό το αντικείμενο καταργείται, καθώς η σελίδα JSP καταστρέφεται χρησιμοποιώντας τη μέθοδο jspDestroy().

Το αντικείμενο της συνεδρίας

ο javax.servlet.http.HttpSession δημιουργεί ένα παράδειγμα που ονομάζεται το συνεδρίαση αντικείμενο. Αυτό το αντικείμενο λειτουργεί παρόμοια όπως λειτουργεί σε Java Servlets. Ο πρωταρχικός στόχος του αντικειμένου περιόδου λειτουργίας είναι να παρακολουθεί τη συνεδρία μεταξύ των αιτημάτων πελάτη.

Η εξαίρεση Αντικείμενο

Ένα περιτύλιγμα που περιέχει την εξαίρεση από την προηγούμενη σελίδα JSP ονομάζεται αντικείμενο εξαίρεσης. Όταν παρουσιάζεται μια συνθήκη σφάλματος, χρησιμοποιείται ένα αντικείμενο εξαίρεσης για τον χειρισμό της.

Η σελίδα Αντικείμενο

Το αντικείμενο σελίδας παρέχει την αναφορά στην παρουσία της σελίδας. Αντιπροσωπεύει ολόκληρη τη σελίδα JSP. Ο ' Αυτό' αντικείμενο και το αντικείμενο σελίδας είναι συνώνυμα μεταξύ τους.

Το αντικείμενο pageContext

ο javax.servlet.jsp.PageContext δημιουργεί ένα παράδειγμα που ονομάζεται pageContext αντικείμενο. Σαν το σελίδα αντικείμενο, το pageContext Το αντικείμενο αντιπροσωπεύει επίσης την πλήρη σελίδα JSP. Χρησιμοποιώντας τα χαρακτηριστικά του αντικειμένου pageContext, μπορούμε να εξαγάγουμε άλλα έμμεσα αντικείμενα, όπως εφαρμογή , config , συνεδρίαση , και έξω . Αυτό το αντικείμενο αποθηκεύει επίσης πληροφορίες, όπως το εύρος της σελίδας, το errorPageURL και πληροφορίες προσωρινής αποθήκευσης. Υπάρχουν 40 μέθοδοι που υποστηρίζονται από το αντικείμενο pageContext.

Το αντικείμενο διαμόρφωσης

ο javax.servlet.ServletConfig δημιουργεί ένα παράδειγμα που ονομάζεται το config αντικείμενο. Αυτό το αντικείμενο λειτουργεί ως περιτύλιγμα για το ServletConfig αντικείμενο. Οι χρήστες μπορούν να χρησιμοποιήσουν αυτό το αντικείμενο για πρόσβαση στις παραμέτρους αρχικοποίησης του μηχανισμού servlet ή JSP. Η παρακάτω μέθοδος είναι αυτή που χρησιμοποιείται στη σελίδα JSP χρησιμοποιώντας το αντικείμενο διαμόρφωσης.

|_+_|

Αίτημα πελάτη JSP

Ο διακομιστής Ιστού λαμβάνει πολλές πληροφορίες όταν το πρόγραμμα περιήγησης ή ο πελάτης ζητά μια συγκεκριμένη ιστοσελίδα. Αυτές οι πληροφορίες δεν μπορούν να χρησιμοποιηθούν απευθείας, καθώς ταξιδεύουν μέσω της κεφαλίδας του αιτήματος HTTP. Η κεφαλίδα HTTP περιέχει πολλά στοιχεία που αποθηκεύουν τις πληροφορίες όταν το πρόγραμμα περιήγησης ζητά την ιστοσελίδα. Αυτά τα στοιχεία είναι αποδοχή, αποδοχή-σύνολο χαρακτήρων, αποδοχή-κωδικοποίηση, αποδοχή-γλώσσα, σύνδεση, εξουσιοδότηση, cookie, μήκος περιεχομένου, εάν-τροποποιήθηκε-από τότε, κεντρικός υπολογιστής, σύνδεσμος παραπομπής, αν-μη τροποποιημένο-από, και παράγοντας χρήστη.

Το αντικείμενο HTTPServletRequest

Το αντικείμενο javax.servlet.http.HttpServletRequest δημιουργεί μια παρουσία που ονομάζεται αντικείμενο αίτησης. Κάθε φορά που κάποιος χρήστης ζητά μια συγκεκριμένη σελίδα, η μηχανή JSP δημιουργεί το νέο αντικείμενο. Ο πρωταρχικός στόχος του αντικειμένου αιτήματος είναι να ανακτήσει τις πληροφορίες HTTP, όπως δεδομένα, μεθόδους HTTP, cookie κ.λπ. Παρακάτω παρατίθενται ορισμένες μέθοδοι που διαβάζουν τις πληροφορίες κεφαλίδας HTTP από το πρόγραμμα JSP.

    Απαρίθμηση getAttributeNames(): Αυτή η μέθοδος έχει ως αποτέλεσμα την απαρίθμηση, η οποία περιέχει ονόματα χαρακτηριστικών που είναι διαθέσιμα για αυτό το αίτημα.Cookie[] getCookies(): Όταν ο πελάτης στέλνει το αίτημα, περιέχει αντικείμενα cookie. Επομένως, αυτή η μέθοδος παράγει έναν πίνακα, ο οποίος κρατά όλα αυτά τα αντικείμενα cookie.Απαρίθμηση getParameterNames(): Αυτή η μέθοδος έχει ως αποτέλεσμα την απαρίθμηση των αντικειμένων String. Αυτή η απαρίθμηση περιέχει τα ονόματα των παραμέτρων που υπάρχουν στο αίτημα.Απαρίθμηση getHeaderNames(): Παράγει μια απαρίθμηση που περιέχει τα ονόματα κεφαλίδων που υπάρχουν σε αυτό το αίτημα.HttpSession getSession (δημιουργία boole): Η μέθοδος HttpSession getSession(boolean create) έχει ως αποτέλεσμα το τρέχον HttpSession που σχετίζεται με αυτό το αίτημα. Εάν δεν υπάρχει περίοδος λειτουργίας εκείνη τη στιγμή και το boolean για τη δημιουργία είναι αληθές, αυτή η μέθοδος οδηγεί σε μια νέα περίοδο λειτουργίας.HttpSession getSession(): Αυτή η μέθοδος επιστρέφει την τρέχουσα περίοδο λειτουργίας που σχετίζεται με το αίτημα. Εάν η περίοδος λειτουργίας δεν είναι διαθέσιμη, αυτή η μέθοδος δημιουργεί μια νέα και την επιστρέφει.Αντικείμενο getAttribute (Όνομα συμβολοσειράς): Παράγει την τιμή του χαρακτηριστικού που έχει το όνομα ως αντικείμενο. Εάν δεν υπάρχει όνομα για το χαρακτηριστικό, επιστρέφει NULL.Τοπικό getLocale (): Επιστρέφει το Locale, όπου ο πελάτης θα αποδεχτεί το περιεχόμενο.Συμβολοσειρά getAuthType(): Αυτή η μέθοδος καθορίζει το όνομα του σχήματος ελέγχου ταυτότητας που χρησιμοποιείται για τη διατήρηση του servlet. Εάν το JSP δεν διατηρηθεί, επιστρέφει NULL.ServletInputStream getInputStream(): Το ServletInputStream ανακτά το σώμα της αίτησης σε δυαδική μορφή.Συμβολοσειρά getContent Type(): Αυτή η μέθοδος δίνει πίσω τον τύπο MIME του σώματος της αίτησης. Εάν ο τύπος δεν είναι γνωστός, επιστρέφει NULL.Συμβολοσειρά getCharacterEncoding(): Το όνομα κωδικοποίησης χαρακτήρων που υπάρχει στο σώμα της αίτησης παράγεται με αυτήν τη μέθοδο.String getHeader (Όνομα συμβολοσειράς): Επιστρέφει την τιμή της κεφαλίδας αιτήματος στη μορφή συμβολοσειράς.Συμβολοσειρά getContextPath(): Παράγει το τμήμα του αιτήματος του URI.String getParameter (Όνομα συμβολοσειράς): Αυτή η μέθοδος έχει ως αποτέλεσμα την τιμή της παραμέτρου αιτήματος στη φόρμα String. Εάν η παράμετρος του αιτήματος δεν υπάρχει, επιστρέφει NULL.String getMethod(): Η μέθοδος String getMethod() παράγει το όνομα του αιτήματος HTTP, το οποίο χρησιμοποιήθηκε με το τρέχον αίτημα.Συμβολοσειρά getProtocol(): Τα αιτήματα στο JSP χρησιμοποιούν συγκεκριμένα πρωτόκολλα. Αυτή η μέθοδος επιστρέφει το όνομα και την έκδοση του πρωτοκόλλου.Συμβολοσειρά getPathInfo(): Όταν ο πελάτης κάνει το αίτημα, στέλνει τη διεύθυνση URL. Η μέθοδος String getPathInfo() επιστρέφει επιπλέον πληροφορίες σχετικά με τη διαδρομή που σχετίζεται με τη διεύθυνση URL.Συμβολοσειρά getRemoteAddr(): Αυτή η μέθοδος έχει ως αποτέλεσμα τη διεύθυνση Πρωτοκόλλου Διαδικτύου (IP) του συστήματος του πελάτη.Συμβολοσειρά getRemoteUser(): Παράγει τα στοιχεία σύνδεσης του πιστοποιημένου πελάτη που υποβάλλει το αίτημα. Εάν ο χρήστης δεν έχει πιστοποιηθεί, επιστρέφει NULL.Συμβολοσειρά getRemoteHost(): Εάν πρόκειται να ανακτηθεί το όνομα του πελάτη που υποβάλλει το αίτημα, μπορεί να χρησιμοποιηθεί η μέθοδος String getRemoteHost().Συμβολοσειρά getRequestedSessionId(): Αυτή η μέθοδος δίνει πίσω το αναγνωριστικό περιόδου σύνδεσης, το οποίο ορίζεται από τον πελάτη.Συμβολοσειρά getRequestURI(): Επιστρέφει τη διεύθυνση URL του αιτήματος από το όνομα του πρωτοκόλλου.String[] getParameterValues(Όνομα συμβολοσειράς): Αυτή η μέθοδος δίνει πίσω έναν πίνακα που περιέχει αντικείμενα String. Αυτά τα αντικείμενα διατηρούν τις τιμές όλων των παραμέτρων που υπάρχουν στο αίτημα.Συμβολοσειρά getServletPath(): Επιστρέφει επίσης τη διεύθυνση URL του αιτήματος.int getContentLength(): Επιστρέφει το μήκος του σώματος της αίτησης σε byte.boolean isSecure(): Επιστρέφει τη δυαδική τιμή προσδιορίζοντας εάν το αίτημα γίνεται μέσω ασφαλούς καναλιού ή όχι.int getServletPort(): Αυτή η μέθοδος δίνει τον αριθμό θύρας του αιτήματος.int getIntHeader (Όνομα συμβολοσειράς): Αυτή η μέθοδος έχει ως αποτέλεσμα την τιμή της κεφαλίδας αιτήματος σε ακέραια μορφή.

Παράδειγμα αιτήματος κεφαλίδας HTTP

Εδώ, θα δούμε ένα απλό παράδειγμα του αιτήματος κεφαλίδας HTTP. Στο παράδειγμα του αιτήματος κεφαλίδας HTTP, θα εφαρμόσουμε το getHeaderName() μέθοδος για την ανάγνωση των πληροφοριών κεφαλίδας HTTP. Παράγει μια απαρίθμηση που περιέχει τις πληροφορίες κεφαλίδας HTTP του αιτήματος. Η μέθοδος hasmoreElements() καθορίζει πότε θα σταματήσει η μέθοδος nextElement().

Παράδειγμα:

|_+_|

Γράψτε τον παραπάνω κωδικό στο main.jsp αρχείο και αποκτήστε πρόσβαση σε αυτό για ανάγνωση των πληροφοριών της κεφαλίδας αιτήματος HTTP. Θα σας δώσει όλες τις πληροφορίες σχετικά με την κεφαλίδα αιτήματος HTTP, όπως κεντρικός υπολογιστής, σύνδεση, έλεγχος προσωρινής μνήμης, παράγοντας χρήστη, αποδοχή, αποδοχή-γλώσσα και αποδοχή-κωδικοποίηση.

Απόκριση διακομιστή JSP

Όταν ο πελάτης ή το πρόγραμμα περιήγησης ζητά την ιστοσελίδα, ο διακομιστής ιστού ανταποκρίνεται στο αίτημα HTTP που ονομάζεται απάντηση. Αυτή η απάντηση περιλαμβάνει μια κενή γραμμή, ένα έγγραφο, τη γραμμή κατάστασης και κάποια κεφαλίδα απάντησης. Η απόκριση HTTP έχει ως εξής:

|_+_|

Στον παραπάνω κώδικα, η έκδοση HTTP είναι HTTP/1.1 , 200 είναι ο κωδικός κατάστασης και Εντάξει είναι το μήνυμα στον κωδικό κατάστασης. Υπάρχουν πολλές κεφαλίδες απόκρισης, με την έκδοση HTTP/1.1 που αποστέλλεται από τον διακομιστή web στο πρόγραμμα περιήγησης. Αυτές οι κεφαλίδες απόκρισης είναι έλεγχος κρυφής μνήμης, άδεια, διάθεση περιεχομένου, σύνδεση, μήκος περιεχομένου, κωδικοποίηση περιεχομένου, γλώσσα περιεχομένου, λήγει, τύπος περιεχομένου, τοποθεσία, τελευταία τροποποίηση, ρύθμιση cookie, ανανέωση και επανάληψη δοκιμής μετά .

Το αντικείμενο HttpServletResponse

Το javax.servlet.http.HttpServletResponse δημιουργεί ένα στιγμιότυπο που ονομάζεται αντικείμενο απόκρισης. Αυτό το αντικείμενο δημιουργείται από τον διακομιστή web, ο οποίος αντιπροσωπεύει την απάντηση που αποστέλλεται στον πελάτη. Το αντικείμενο απόκρισης συσχετίζεται επίσης με τις διεπαφές που απαιτούνται για τη δημιουργία κεφαλίδων HTTP. Οι προγραμματιστές μπορούν να προσθέσουν νέα cookie, κωδικούς κατάστασης HTTP και σφραγίδες ημερομηνίας στο πρόγραμμα JSP. Ακολουθούν ορισμένες μέθοδοι ή συναρτήσεις που χρησιμοποιούνται για την προσθήκη της κεφαλίδας απόκρισης HTTP στο πρόγραμμα servlet.

    EncodeURL συμβολοσειράς (URL συμβολοσειράς): Αυτή η μέθοδος χρησιμοποιείται για την κωδικοποίηση μιας συγκεκριμένης διεύθυνσης URL που περιλαμβάνει το αναγνωριστικό περιόδου σύνδεσης. Εάν απαιτείται η κωδικοποίηση, αυτή η μέθοδος στέλνει τη διεύθυνση URL χωρίς αλλαγή.String encodeRedirectURL (url συμβολοσειράς): Η διεύθυνση URL που περιλαμβάνεται στη συνάρτηση sendRedirect είναι κωδικοποιημένη. Εάν δεν απαιτείται η κωδικοποίηση, η διεύθυνση URL παραμένει αμετάβλητη.boolean isCommitted(): Αυτή η συνάρτηση έχει ως αποτέλεσμα τη δυαδική τιμή, προσδιορίζοντας εάν η απόκριση έχει δεσμευτεί.boolean containHeader(Όνομα συμβολοσειράς): Έχει επίσης ως αποτέλεσμα τη δυαδική τιμή που καθορίζει εάν έχει οριστεί η κεφαλίδα απόκρισης με το όνομα.void addHeader (Όνομα συμβολοσειράς, τιμή συμβολοσειράς): Αυτή η συνάρτηση περιλαμβάνει μια κεφαλίδα απόκρισης με το όνομα και την τιμή της.void addDateHeader (Όνομα συμβολοσειράς, μεγάλη ημερομηνία): Περιλαμβάνει επίσης μια νέα κεφαλίδα απάντησης με το όνομα και την ημερομηνία της.void flushBuffer(): Αυτή η συνάρτηση εγγράφει με δύναμη το περιεχόμενο που υπάρχει στο buffer στον πελάτη.void addIntHeader (Όνομα συμβολοσειράς, τιμή int): Αυτή η συνάρτηση περιλαμβάνει μια νέα κεφαλίδα απάντησης με το όνομά της και μια ακέραια τιμή.void resetBuffer(): Καταργεί ή διαγράφει όλο το περιεχόμενο από το υποκείμενο buffer, αλλά δεν διαγράφει τις κεφαλίδες και τους κωδικούς κατάστασης.void reset(): Αυτή η συνάρτηση αφαιρεί ή διαγράφει όλα τα δεδομένα που υπάρχουν στο buffer, μαζί με τον κωδικό κατάστασης και τις κεφαλίδες.void sendError (int sc, String msg): Έχει ως αποτέλεσμα το μήνυμα σφάλματος να έχει μια συγκεκριμένη κατάσταση και αποστέλλεται στον πελάτη.void sendError (int sc): Αυτή η λειτουργία μεταδίδει επίσης το μήνυμα σφάλματος στον πελάτη με τον συγκεκριμένο κωδικό κατάστασης διαγράφοντας τα δεδομένα από το buffer.void setBufferSize (μέγεθος int): Αυτή η συνάρτηση καθορίζει το μέγεθος buffer για το σώμα απόκρισης.void setIntHeader (Όνομα συμβολοσειράς, τιμή int): Αυτή η συνάρτηση ορίζει την κεφαλίδα απόκρισης με το όνομά της και τη συγκεκριμένη ακέραια τιμή.

Παράδειγμα απόκρισης κεφαλίδας HTTP

Ακολουθεί ένα παράδειγμα της απόκρισης κεφαλίδας HTTP, η οποία χρησιμοποιεί τη συνάρτηση setIntHeader() για τη ρύθμιση της κεφαλίδας Ανανέωση.

Παράδειγμα:

|_+_|

Αποθηκεύστε τον παραπάνω κώδικα με το όνομα αρχείου, main.jsp . Μετά από κάθε 4 δευτερόλεπτα, εμφανίζεται η τρέχουσα ώρα του συστήματος, όπως φαίνεται παρακάτω.

Παραγωγή:

|_+_|

Κωδικός κατάστασης HTTP στο JSP

Το αίτημα HTTP και η απόκριση HTTP έχουν την ίδια δομή ως εξής:

  • Πρώτον, περιλαμβάνει τη γραμμή κατάστασης, το Carriage Return (CRLF) και το Line Feed. Η τροφοδοσία γραμμής υποδηλώνει μια νέα γραμμή.
  • Το επόμενο είναι μηδέν ή περισσότερες γραμμές κεφαλίδας και Επιστροφή Μεταφοράς (CRLF).
  • Στη συνέχεια έρχεται μια κενή γραμμή, CRLF.
  • Τέλος, το σώμα του μηνύματος είναι προαιρετικό. Το σώμα του μηνύματος μπορεί να περιέχει την έξοδο του ερωτήματος, τα δεδομένα ερωτήματος ή το αρχείο.

Στην παραπάνω ενότητα, είδαμε πώς μοιάζει η κεφαλίδα απόκρισης.

Ο διακομιστής web επιστρέφει ορισμένους κωδικούς HTTP και τα αντίστοιχα μηνύματά τους στον πελάτη. Αυτοί οι κωδικοί κατάστασης HTTP και τα μηνύματά τους περιγράφονται στην επόμενη ενότητα.

Κώδικας Μήνυμα
100Να συνεχίσει
101Πρωτόκολλα εναλλαγής
200Εντάξει
201Δημιουργήθηκε
202Δεκτός
203Μη Εξουσιοδοτημένες Πληροφορίες
204Χωρίς Περιεχόμενο
205Επαναφορά περιεχομένου
206Μερικό περιεχόμενο
300Πολλαπλές επιλογές
301Μετακινείται μόνιμα
302Βρέθηκαν
303Βλέπε Άλλα
304Μη Τροποποιημένο
305Χρήση διακομιστή μεσολάβησης
306Αχρησιμοποίητος
307Προσωρινή ανακατεύθυνση
400Κακό αίτημα
401Ανεξουσιοδότητος
402Απαιτείται πληρωμή
403Απαγορευμένος
404Δεν βρέθηκε
405μη επιτρεπτή μέθοδος
406Μη αποδεκτό
407Απαιτείται έλεγχος ταυτότητας διακομιστή μεσολάβησης
408Αίτημα χρονικού ορίου
409σύγκρουση
410Χαμένος
411Απαιτούμενο μήκος
412Η προϋπόθεση απέτυχε
413Αίτημα οντότητας πολύ μεγάλο
414Πολύ μεγάλο αίτημα-url
415Μη υποστηριζόμενος τύπος μέσου
417Η προσδοκία απέτυχε
500Εσωτερικό Σφάλμα Διακομιστή
501Δεν εφαρμόζεται
502κακή πύλη
503Μη διαθέσιμη υπηρεσία
504Πύλη Ώρα αναχώρησης
505Η έκδοση HTTP δεν υποστηρίζεται

Οι τρεις διαφορετικές μέθοδοι χρησιμοποιούνται για να ορίσετε τον κωδικό κατάστασης HTTP όπως δίνεται παρακάτω:

    δημόσιο κενό setStatus (int statusCode): Ορίζει τον κωδικό κατάστασης, ο οποίος χρησιμοποιεί την ακέραια τιμή για τον κωδικό κατάστασης ως όρισμα.δημόσιο κενό sendRedirect (url συμβολοσειράς): Αυτή η συνάρτηση δημιουργεί μια απόκριση με τον κωδικό 302. Δημιουργεί επίσης μια κεφαλίδα τοποθεσίας, η οποία καθορίζει τη διεύθυνση URL του νέου εγγράφου.public void sendError (κωδικός int, μήνυμα συμβολοσειράς): Αυτή η λειτουργία μεταδίδει τον κωδικό κατάστασης 404 HTTP στο πρόγραμμα περιήγησης με ένα σύντομο μήνυμα.

Θα δούμε ένα απλό παράδειγμα, το οποίο θα εμφανίσει τον κωδικό κατάστασης σφάλματος 407 στον πελάτη.

Παράδειγμα:

|_+_|

Ο παραπάνω κωδικός θα εμφανίσει τον κωδικό κατάστασης HTTP 407 με το Χρειάζεται έλεγχος ταυτότητας μήνυμα.

Επεξεργασία εντύπων στο JSP

Πολλές φορές, χρειάζεται να μεταδώσουμε τα δεδομένα από το πρόγραμμα περιήγησης στον web server και τέλος στο πρόγραμμα. Υπάρχουν δύο μέθοδοι, το GET και το POST που χρησιμοποιούνται από το πρόγραμμα περιήγησης για τη μετάδοση αυτών των δεδομένων στον διακομιστή ιστού. Οι τέσσερις μέθοδοι χρησιμοποιούνται για την ανάγνωση των δεδομένων χρησιμοποιώντας JSP, getParameter() , getParameterValues() , getParameterNames() , και getInputStream() .

Η μέθοδος GET

Η μέθοδος GET χρησιμοποιείται για τη μετάδοση των κωδικοποιημένων πληροφοριών χρήστη και την προσάρτησή τους στο αίτημα σελίδας. Οι κωδικοποιημένες πληροφορίες χρήστη και το αίτημα σελίδας διαχωρίζονται με το σύμβολο «?». Αυτή η μέθοδος είναι η προεπιλογή για τη μετάδοση των πληροφοριών χρήστη στον διακομιστή web από το πρόγραμμα περιήγησης. Επιστρέφει τη συμβολοσειρά που θα υπάρχει στο Τοποθεσία: κουτί του προγράμματος περιήγησης. Εάν έχετε εμπιστευτικά δεδομένα, όπως κωδικούς πρόσβασης, μην χρησιμοποιήσετε τη μέθοδο GET.

Παράδειγμα της μεθόδου GET με χρήση URL

Ας δημιουργήσουμε τη διεύθυνση URL που θα μεταβιβάσει δύο διαφορετικές τιμές στο πρόγραμμα GetURLForm χρησιμοποιώντας τη μέθοδο GET.

|_+_|

Θα γράψουμε τον παρακάτω κώδικα στο αρχείο main.jsp. Έχουμε χρησιμοποιήσει τις μεθόδους getParameter() για την ανάγνωση των δεδομένων χρησιμοποιώντας JSP.

Παράδειγμα:

|_+_|

Παραγωγή:

|_+_|

Χειρισμός cookies

Τι είναι τα cookies; Τα cookies είναι τα αρχεία κειμένου που υπάρχουν στην επιφάνεια εργασίας του πελάτη και χρησιμοποιούνται για σκοπούς παρακολούθησης. Τα cookies HTTP υποστηρίζονται από το JSP. Εδώ, θα δούμε την ανατομία του cookie HTTP, τον τρόπο ρύθμισης ή επαναφοράς του cookie και μεθόδους στα cookie.

Ανατομία ενός μπισκότου

Το cookie υπάρχει πάντα στην κεφαλίδα HTTP. Όταν το JSP ορίζει το cookie στην κεφαλίδα HTTP, έχει την ακόλουθη δομή.

|_+_|

Στο Κεφαλίδα Set-Cookie παραπάνω, μπορείτε να παρατηρήσετε το όνομα-τιμή ζεύγος, ημερομηνία σε GMT, α μονοπάτι , και το τομέα . Αυτό το ζεύγος ονόματος-τιμής υπάρχει στη μορφή URL. Ένα άλλο στοιχείο στο παραπάνω cookie είναι λήγει , το οποίο λέει στο πρόγραμμα περιήγησης να ξεχάσει αυτό το cookie μετά την καθορισμένη ημερομηνία και ώρα.

Μέθοδοι cookies

Ακολουθούν ορισμένες σημαντικές μέθοδοι που σχετίζονται με τα Cookies, μαζί με τις περιγραφές τους.

    δημόσια συμβολοσειρά getDomain(): Αυτή η συνάρτηση ανακτά τον τομέα του cookie.δημόσιο κενό setDomain (μοτίβο συμβολοσειράς): Μπορείτε να ορίσετε τον τομέα για το cookie σας χρησιμοποιώντας αυτήν τη λειτουργία.public int getMaxAge(): Φέρνει τη μέγιστη ηλικία ενός cookie. Η ηλικία αναπαρίσταται σε δευτερόλεπτα.δημόσιο κενό setMaxAge (int expiry): Αυτή η λειτουργία θα ορίσει τη χρονική διάρκεια που θα περάσει πριν από τη λήξη του cookie.δημόσια συμβολοσειρά getValue(): Ανακτά την αξία του cookie.δημόσια συμβολοσειρά getName(): Παίρνει το όνομα του cookie. Δεν μπορείτε να αλλάξετε το όνομα του cookie μετά τη δημιουργία του.δημόσιο κενό setValue (String newValue): Αυτή η συνάρτηση διορθώνει την τιμή του cookie.δημόσια συμβολοσειρά getPath(): Καταλήγει στη διαδρομή που σχετίζεται με το cookie.δημόσιο κενό setPath (String uri): Αυτή η συνάρτηση ορίζει τη διαδρομή για το cookie.δημόσια συμβολοσειρά getComment(): Καταλήγει στο σχόλιο, το οποίο προσδιορίζει τον σκοπό ή τη χρήση του cookie. Εάν το cookie δεν έχει σχόλιο, επιστρέφει NULL.δημόσιο κενό setSecure (σημαία boolean): Καθορίζει τη δυαδική τιμή που καθορίζει εάν θα σταλεί το cookie μέσω μιας κρυπτογραφημένης σύνδεσης.public void setComment (Σκοπός συμβολοσειράς): Αυτή η συνάρτηση ορίζει το σχόλιο για ένα cookie προσδιορίζοντας τον σκοπό του.

Πώς να ρυθμίσετε το Cookie;

Υπάρχουν τρεις απλές μέθοδοι για τη ρύθμιση του cookie. Αυτές οι μέθοδοι επεξηγούνται παρακάτω:

  1. Αρχικά, δημιουργήστε το αντικείμενο cookie. Καλέστε τον κατασκευαστή cookie με το όνομα και την αντίστοιχη τιμή του cookie. Τόσο το όνομα όσο και η τιμή αντιπροσωπεύονται στη συμβολοσειρά.
|_+_|

Κατά τη δημιουργία του cookie, πρέπει να θυμάστε ότι δεν πρέπει να υπάρχουν κενά κενά ή ειδικά σύμβολα στο όνομα και την τιμή.

  1. Αφού δημιουργήσουμε το cookie, θα ορίσουμε τώρα τη μέγιστη ηλικία για αυτό χρησιμοποιώντας το setMaxAge λειτουργία.
|_+_|

Η παραπάνω λειτουργία ορίζει τη μέγιστη ηλικία cookie των 24 ωρών.

  1. Τέλος, χρησιμοποιήστε το answer.addCookie για να προσθέσετε το cookie στην κεφαλίδα απόκρισης HTTP.
|_+_|

συμπέρασμα

JavaServer Pages ή Jakarta Server Pages (JSP) είναι η τεχνολογία που επιτρέπει στους προγραμματιστές να δημιουργούν δυναμικό περιεχόμενο ή ιστοσελίδες. Υπάρχουν πολλά προηγμένα πλεονεκτήματα του JSP, καθώς είναι εύκολο στη συντήρηση, απαιτεί λιγότερο κώδικα από τους servlets και προσφέρει γρήγορη ανάπτυξη. Αυτό το άρθρο είναι ένας γρήγορος οδηγός για την εκμάθηση JSP για αρχάριους χρήστες.

Καλύψαμε όλες τις πτυχές του JSP που απαιτούνται για να μάθουν οι αρχάριοι προγραμματιστές. Πριν ξεκινήσετε οποιοδήποτε πρόγραμμα JSP, ρυθμίστε πρώτα το περιβάλλον Java και τη διαδρομή τάξης Tomcat. Εδώ είναι ένα πλήρες σεμινάριο σχετικά με όλα τα βασικά στοιχεία JSP.

Έχουμε ένα Γρήγορος οδηγός θεωρίας γραφημάτων που μιλάει αναλυτικά για όλες τις λεπτομέρειες που σχετίζονται με τη Θεωρία Γραφημάτων.