Ετικέτα στοιχείων JSP

⚡ Έξυπνη Σύνοψη

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

  • 📝 Ετικέτα δήλωσης: Η ετικέτα <%! %> δηλώνει μεταβλητές και μεθόδους σε επίπεδο κλάσης servlet, εκτός της μεθόδου service.
  • ⚙️ Ετικέτα Scriptlet: Η ετικέτα <% %> places Java Δηλώσεις που εκτελούνται μέσα στην _jspservice() σε κάθε αίτημα πελάτη.
  • 🔢 Ετικέτα έκφρασης: Η ετικέτα <%= %> αξιολογεί μια αριθμητική ή λογική παράσταση και γράφει το αποτέλεσμά της στην έξοδο.
  • 💬 Ετικέτα σχολίου: Η ετικέτα <%– –%> αποκρύπτει τις σημειώσεις από το κοντέινερ και το πρόγραμμα περιήγησης, keeping κώδικας τεκμηριωμένος και καθαρός.
  • 🚀 Εκτέλεση σε διακομιστή: Μια ολοκληρωμένη σελίδα JSP συσκευάζεται σε ένα αρχείο WAR και αναπτύσσεται σε έναν διακομιστή ιστού όπως ο JBoss.
  • 📁 Δομή καταλόγου: Τα αρχεία JSP βρίσκονται εκτός του φακέλου WEB-INF, ενώ τα αρχεία διαμόρφωσης και βιβλιοθήκης παραμένουν μέσα στον φάκελο WEB-INF.

Ετικέτες JSP

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

Δήλωση JSP

  • Μια ετικέτα δήλωσης είναι ένα κομμάτι Java κώδικας για τη δήλωση μεταβλητών, μεθόδων και κλάσεων. Αν δηλώσουμε μια μεταβλητή ή μια μέθοδο μέσα στην ετικέτα δήλωσης, σημαίνει ότι η δήλωση γίνεται εντός της κλάσης servlet αλλά εκτός της μεθόδου υπηρεσίας.
  • Μπορούμε να δηλώσουμε ένα στατικό μέλος, μια μεταβλητή στιγμιότυπου (μπορεί να δηλώσει έναν αριθμό ή συμβολοσειρά) και μεθόδους μέσα στην ετικέτα δήλωσης.

Σύνταξη ετικέτας δήλωσης:

<%!  Dec var  %>

Εδώ Dec var είναι η μέθοδος ή μια μεταβλητή μέσα στην ετικέτα δήλωσης.

Παράδειγμα:

Σε αυτό το παράδειγμα, θα χρησιμοποιήσουμε τις ετικέτες δήλωσης

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Declaration Tag</title>
</head>
<body>
<%! int count =10; %>
<% out.println("The Number is " +count); %>
</body>
</html>

Εξηγήστε τον κωδικό:

Code Γραμμή 10: Εδώ χρησιμοποιούμε την ετικέτα δήλωσης για να αρχικοποιήσουμε ένα πλήθος μεταβλητών στο 10.

Όταν εκτελείτε τον παραπάνω κώδικα, λαμβάνετε την ακόλουθη έξοδο:

Δήλωση JSP

Παραγωγή:

Η μεταβλητή που δηλώνεται στην ετικέτα δήλωσης εκτυπώνεται ως έξοδος.

JSP Scriptlet

  • Η ετικέτα scriptlet επιτρέπει την εγγραφή Java κώδικα σε αρχείο JSP.
  • Το κοντέινερ JSP μετακινεί εντολές στη μέθοδο _jspservice() ενώ δημιουργεί servlet από το jsp.
  • Για κάθε αίτημα του πελάτη, καλείται η μέθοδος εξυπηρέτησης του JSP, επομένως ο κώδικας μέσα στο Scriptlet εκτελείται για κάθε αίτημα.
  • Ένα Scriptlet περιέχει κώδικα java που εκτελείται κάθε φορά που γίνεται κλήση του JSP.

Σύνταξη ετικέτας Scriptlet:

<% java code %>

Εδώ οι ετικέτες <%%> είναι ετικέτες scriptlet και μέσα σε αυτήν, μπορούμε να τοποθετήσουμε κώδικα java.

Παράδειγμα:

Σε αυτό το παράδειγμα, παίρνουμε ετικέτες Scriptlet που περικλείουν κώδικα java.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Scriplet</title>
</head>
<body>
<% int num1=10;
   int num2=40;
   int num3 = num1+num2;
   out.println("Scriplet Number is " +num3);
%>
</body>
</html>

Επεξήγηση του κώδικα:

Code Γραμμή 10-14: Στις ετικέτες Scriptlet όπου παίρνουμε δύο μεταβλητές num1 και num2 . Λαμβάνεται η τρίτη μεταβλητή num3 που αθροίζεται ως num1 και num2. Η έξοδος είναι num3.

Όταν εκτελείτε τον κώδικα, λαμβάνετε την ακόλουθη έξοδο:

JSP Scriptlet

Παραγωγή:

Η έξοδος για τον Αριθμό Scriptlet είναι 50 που είναι πρόσθεση των num1 και num2.

Έκφραση JSP

  • Η ετικέτα έκφρασης αξιολογεί την έκφραση που τοποθετείται σε αυτήν.
  • Έχει πρόσβαση στα δεδομένα που είναι αποθηκευμένα στην αποθηκευμένη εφαρμογή.
  • Επιτρέπει τη δημιουργία εκφράσεων όπως αριθμητικές και λογικές.
  • Παράγει σελίδα JSP χωρίς σενάρια.

Σύνταξη:

<%= expression %>

Εδώ η έκφραση είναι η αριθμητική ή λογική έκφραση.

Παράδειγμα:

Σε αυτό το παράδειγμα, χρησιμοποιούμε ετικέτα έκφρασης

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Expression</title>
</head>
<body>
<% out.println("The expression number is "); %>
<% int num1=10; int num2=10; int num3 = 20; %>
<%= num1*num2+num3 %>
</body>
</html>

Επεξήγηση του κώδικα:

Code Γραμμή 12: Εδώ χρησιμοποιούμε ετικέτες έκφρασης όπου χρησιμοποιούμε μια παράσταση πολλαπλασιάζοντας δύο αριθμούς π.χ. num1 και num 2 και στη συνέχεια προσθέτοντας τον τρίτο αριθμό, δηλαδή num3.

Όταν εκτελείτε τον παραπάνω κώδικα, λαμβάνετε την ακόλουθη έξοδο:

Έκφραση JSP

Παραγωγή:

Ο αριθμός έκφρασης είναι 120 όπου πολλαπλασιάζουμε δύο αριθμούς num1 και num2 και προσθέτουμε αυτόν τον αριθμό με τον τρίτο αριθμό.

Σχόλια JSP

Τα σχόλια είναι αυτά όταν το κοντέινερ JSP θέλει να αγνοήσει ορισμένα κείμενα και δηλώσεις.

Όταν θέλουμε να αποκρύψουμε συγκεκριμένο περιεχόμενο, τότε μπορούμε να το προσθέσουμε στην ενότητα σχολίων.

Σύνταξη:

<% -- JSP Comments %>

Οι ετικέτες του χρησιμοποιούνται για σχόλια στο JSP και αγνοούνται από το κοντέινερ JSP.

Αυτό είναι σχόλιο HTML το οποίο αγνοείται από το πρόγραμμα περιήγησης

Παράδειγμα:

Σε αυτό το παράδειγμα, χρησιμοποιούμε σχόλια JSP

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Comments</title>
</head>
<body>
<%-- Guru Comments section --%>
<% out.println("This is comments example"); %>

</body>
</html>

Επεξήγηση του κώδικα:

Code Γραμμή 10: Εδώ προσθέτουμε σχόλια JSP στον κώδικα για να εξηγήσουμε τι έχει ο κώδικας. Αγνοήθηκε από το κοντέινερ JSP

Όταν εκτελείτε τον παραπάνω κώδικα, λαμβάνετε την ακόλουθη έξοδο:

Σχόλια JSP

Παραγωγή:

Λαμβάνουμε το αποτέλεσμα που εκτυπώνεται στη μέθοδο println. Τα σχόλια αγνοούνται από το κοντέινερ

Δημιουργία μιας απλής σελίδας JSP

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

Παράδειγμα:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru JSP Example</title>
</head>
<body>

<%-- This is a JSP example with scriplets, comments , expressions --%>
<% out.println("This is guru JSP Example"); %>
<% out.println("The number is "); %>
<%! int num12 = 12; int num32 = 12; %>
<%= num12*num32 %>
Today's date: <%= (new java.util.Date()).toLocaleString()%>
</body>
</html>

Επεξήγηση του κώδικα:

Code Γραμμή 1: Εδώ χρησιμοποιούμε οδηγίες όπως η γλώσσα, ο τύπος περιεχομένου και η κωδικοποίηση σελίδας. Η γλώσσα είναι Java και ο τύπος περιεχομένου είναι text/html με τυπικό σύνολο χαρακτήρων ISO 8859. Η κωδικοποίηση σελίδας είναι τυπικό σύνολο χαρακτήρων.

Code Γραμμή 11: Εδώ χρησιμοποιούμε σχόλια JSP για να προσθέσουμε σχόλια στο JSP

Code Γραμμή 14: Εδώ δηλώνουμε τις μεταβλητές num12 και num32 που αρχικοποιούνται με 12.

Code Γραμμή 15: Εδώ χρησιμοποιούμε μια έκφραση όπου πολλαπλασιάζουμε δύο αριθμούς num12 και num32.

Code Γραμμή 16: Εδώ ανακτούμε τη σημερινή ημερομηνία χρησιμοποιώντας το αντικείμενο ημερομηνίας.

Όταν εκτελείτε τον παραπάνω κώδικα, λαμβάνετε την ακόλουθη έξοδο

Δημιουργία μιας απλής σελίδας JSP

Παραγωγή:

Εκτυπώνουμε εδώ,

  • Αυτό είναι παράδειγμα γκουρού JSP.
  • Ο αριθμός είναι num12*num32 (12*12).
  • Η σημερινή ημερομηνία είναι η τρέχουσα ημερομηνία

Πώς να εκτελέσετε την απλή σελίδα JSP

  • Το JSP μπορεί να εκτελεστεί σε διακομιστές ιστού ή διακομιστές εφαρμογών.
  • Εδώ θα χρησιμοποιήσουμε έναν διακομιστή ιστού και μπορούμε να τον αναπτύξουμε στον διακομιστή που τον περικλείει σε μια πολεμική εφαρμογή.
  • Μπορούμε να δημιουργήσουμε JSP σε μια εφαρμογή (war).

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

Εκτελέστε την απλή σελίδα JSP

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

Εκτελέστε την απλή σελίδα JSP

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

Για να εκτελέσετε το JSP στον webserver, κάντε δεξί κλικ στο έργο του IDE (έκλειψη χρησιμοποιείται σε αυτήν την περίπτωση) και υπάρχουν πολλές επιλογές. Επιλέξτε την επιλογή εκτέλεσης στον διακομιστή. Εμφανίζεται στο στιγμιότυπο οθόνης παρακάτω.

Από το διάγραμμα επεξηγούνται τα ακόλουθα σημεία:

  1. Υπάρχουν δύο επιλογές είτε να επιλέξετε διακομιστή είτε να προσθέσετε μη αυτόματα τον διακομιστή σε αυτήν την εφαρμογή. Σε αυτήν την περίπτωση, έχουμε ήδη προσθέσει διακομιστή JBoss στην εφαρμογή, επομένως επιλέγουμε τον υπάρχοντα διακομιστή.
  2. Μόλις επιλέξουμε τον διακομιστή, η επιλογή διακομιστή εμφανίζεται στο σημείο 2 τον διακομιστή που θέλουμε να επιλέξουμε. Μπορεί να υπάρχουν πολλοί διακομιστές ρυθμισμένοι σε αυτήν την εφαρμογή. Μπορούμε να επιλέξουμε έναν διακομιστή από όλες αυτές τις επιλογές
  3. Μόλις επιλεγεί αυτή η επιλογή, κάντε κλικ στο κουμπί τερματισμού και η εφαρμογή θα εκτελεστεί σε αυτόν τον διακομιστή.

Εκτελέστε την απλή σελίδα JSP

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

Εκτελέστε την απλή σελίδα JSP

Δομή καταλόγου του JSP

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

Τα αρχεία JSP βρίσκονται εκτός του φακέλου WEB-INF

Δομή καταλόγου του JSP

Δομή καταλόγου του JSP

Παράδειγμα:

Σε αυτό το παράδειγμα υπάρχει δοκιμαστική εφαρμογή που έχει δομή φακέλου έχει τα εξής:

Δομή καταλόγου του JSP

Συχνές Ερωτήσεις

Μια ετικέτα δήλωσης τοποθετεί μεταβλητές και μεθόδους σε επίπεδο κλάσης servlet, εκτός της μεθόδου service. Μια ετικέτα scriptlet τοποθετεί κώδικα μέσα στη μέθοδο service, έτσι ώστε να εκτελείται σε κάθε αίτημα πελάτη.

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

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

Η Τεχνητή Νοημοσύνη μπορεί να δημιουργήσει ετικέτες δήλωσης, scriptlet και έκφρασης από μια απλή περιγραφή, να επισημάνει συντακτικά λάθη και να προτείνει καθαρότερες εναλλακτικές λύσεις όπως JSTL, hel.ping Οι αρχάριοι δημιουργούν σωστές σελίδες JSP πιο γρήγορα.

Ναι. Τα εργαλεία τεχνητής νοημοσύνης μπορούν να αναδιαμορφώσουν σελίδες με πολλά scriptlets σε Expression Language και JSTL, μειώνοντας τα ενσωματωμένα JavaΟι προγραμματιστές θα πρέπει να ελέγξουν την έξοδο για να επιβεβαιώσουν ότι η λογική και η συμπεριφορά του πεδίου εφαρμογής παραμένουν οι ίδιες.

Συνοψίστε αυτήν την ανάρτηση με: