Αίτημα πελάτη JSP
Ενέργειες JSP που χρησιμοποιούν δομές στη σύνταξη XML για τον έλεγχο της συμπεριφοράς του μηχανισμού servlet. Θα μάθουμε λεπτομερέστερα για διάφορα στοιχεία ενεργειών JSP, όπως αίτημα πελάτη, απόκριση διακομιστή, κωδικούς κατάστασης HTTP.
Αίτημα πελάτη JSP
- Όταν ζητείται η ιστοσελίδα, στέλνει πληροφορίες στον διακομιστή ιστού στην κεφαλίδα HTTP.
- Μπορούμε να χρησιμοποιήσουμε αυτές τις πληροφορίες χρησιμοποιώντας το αντικείμενο HTTPServletRequest.
- Οι πληροφορίες που αποστέλλονται από το πρόγραμμα περιήγησης αποθηκεύονται στην κεφαλίδα αιτήματος του αιτήματος HTTP.
- Χρησιμοποιούμε διαφορετικές κεφαλίδες για να στείλουμε πληροφορίες στο αντικείμενο αιτήματος.
Κεφαλίδες στο JSP
Οι διαφορετικές κεφαλίδες στο JSP περιγράφονται παρακάτω:
επικεφαλίδα | Τεχνικές Περιγραφές | Παράδειγμα |
---|---|---|
Αποδέχομαι | Καθορίζει τύπους MIME που μπορούν να χειριστούν το πρόγραμμα περιήγησης ή άλλοι πελάτες | Εικόνα/png ή εικόνα/jpeg |
Αποδοχή-σετ χαρακτήρων | Χρησιμοποιεί το σύνολο χαρακτήρων που χρησιμοποιείται από το πρόγραμμα περιήγησης για την εμφάνιση των πληροφοριών | ISO-8859-1 |
Αποδοχή-Κωδικοποίηση | Καθορίζει τον τύπο της κωδικοποίησης που χειρίζεται το πρόγραμμα περιήγησης | Gzip ή συμπίεση |
Αποδοχή-γλώσσα | Καθορίζει τη γλώσσα που καθορίζεται από τους πελάτες | En, en_us |
εξουσιοδότηση | Κεφαλίδα που χρησιμοποιείται από πελάτες όταν προσπαθούν να αποκτήσουν πρόσβαση σε ιστοσελίδες που προστατεύονται με κωδικό πρόσβασης | |
σύνδεση | Υποδεικνύει εάν ο πελάτης μπορεί να χειριστεί μόνιμες συνδέσεις HTTP (το πρόγραμμα περιήγησης μπορεί να ανακτήσει πολλά αρχεία) | Κρατήσει ζωντανή |
Μήκος περιεχομένου | Ισχύει για ανάρτηση αιτημάτων. Δίνει μέγεθος των δεδομένων ανάρτησης byte | |
Cookie | Επιστρέφει το cookie στο διακομιστή (αυτά που είχαν σταλεί προηγουμένως στο πρόγραμμα περιήγησης) | |
Οικοδεσπότης | Καθορίζει τον κεντρικό υπολογιστή και τη θύρα της αρχικής διεύθυνσης URL | |
Εάν τροποποιηθεί από τότε | Υποδεικνύει ότι απαιτεί μόνο μια σελίδα εάν έχει αλλάξει ή τροποποιηθεί | |
Αν δεν έχει τροποποιηθεί από τότε | Υποδεικνύει ότι απαιτεί μια σελίδα μόνο εάν δεν έχει αλλάξει ή τροποποιηθεί | |
Αναφέρων | Υποδεικνύει τη διεύθυνση URL της σελίδας URL αναφοράς | |
Χρήστης-πράκτορας | Προσδιορίζει το αίτημα δημιουργίας προγράμματος περιήγησης ή πελάτη |
Μέθοδοι κεφαλίδας HTTP στο JSP
Οι ακόλουθες μέθοδοι χρησιμοποιούνται για την ανάγνωση της κεφαλίδας HTTP στη σελίδα JSP:
- Cookie[] getCookies() – επιστρέφει έναν πίνακα που περιέχει αντικείμενα cookie που έχει στείλει ο πελάτης
- Απαρίθμηση getAttributeNames() – περιέχει απαρίθμηση ονομάτων χαρακτηριστικών για αίτημα
- Απαρίθμηση getHeaderNames() – περιέχει απαρίθμηση ονομάτων κεφαλίδας.
- Απαρίθμηση getParameterNames() – περιέχει απαρίθμηση των ονομάτων παραμέτρων στο αίτημα.
- HttpSessiongetSession() – επιστρέφει την τρέχουσα συνεδρία που σχετίζεται με το αίτημα ή εάν δεν έχει συνεδρία τότε θα δημιουργήσει μια νέα.
- Τοπικές ρυθμίσεις getLocale() – επιστρέφει την προτιμώμενη τοπική ρύθμιση στην οποία ο πελάτης θα δέχεται περιεχόμενο. Έχει αντιστοιχιστεί στην απάντηση. Από προεπιλογή, η τιμή θα είναι η προεπιλεγμένη τοπική ρύθμιση του διακομιστή.
- Αντικείμενο getAttribute (όνομα συμβολοσειράς) – επιστρέφει την τιμή του named χαρακτηριστικό ως αντικείμενο.
- ServletInputStreamgetInputStream() – ανακτά το σώμα της αίτησης ως δυαδικά δεδομένα.
- Συμβολοσειρά getAuthType() – επιστρέφει το όνομα του συστήματος ελέγχου ταυτότητας για την προστασία του servlet
- Συμβολοσειρά getCharacterEncoding() – επιστρέφει το όνομα της κωδικοποίησης χαρακτήρων που χρησιμοποιείται στο σώμα της αίτησης.
- Συμβολοσειρά getContentType() – επιστρέφει τον τύπο MIME του σώματος της αίτησης.
- Συμβολοσειρά getContextPath() – επιστρέφει το τμήμα του αιτήματος Το URI υποδεικνύει τη διαδρομή περιβάλλοντος του URI
- String getHeader (Όνομα συμβολοσειράς) – επιστρέφει την κεφαλίδα αιτήματος ως συμβολοσειρά
- String getMethod() – επιστρέφει το όνομα της μεθόδου HTTP όπως GET, POST
- String getParameter (όνομα συμβολοσειράς) – επιστρέφει την παράμετρο του αιτήματος ως συμβολοσειρά.
- Συμβολοσειρά getPathInfo() – επιστρέφει τις πληροφορίες διαδρομής που σχετίζονται με τη διεύθυνση URL
- Συμβολοσειρά getQueryString() – επιστρέφει τη συμβολοσειρά ερωτήματος που συσχετίζεται με τη διεύθυνση URL αιτήματος
- Συμβολοσειρά getServletPath() – επιστρέφει το τμήμα των διευθύνσεων URL του αιτήματος που καλεί το JSP
- String[] getParameterValues(Όνομα συμβολοσειράς) – επιστρέφει τον πίνακα αντικειμένων συμβολοσειράς που περιέχουν τις τιμές που έχει η παράμετρος αιτήματος
Παράδειγμα:
Στο παρακάτω παράδειγμα, χρησιμοποιούμε διαφορετικές μεθόδους χρησιμοποιώντας αντικείμενο αίτησης
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ page import="java.io.* java.util.*" %> <!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>Client Request Guru JSP</title> </head> <body> <h2>Client Request Guru JSP</h2> <table border="1"> <tr> <th>guru header</th><th>guru header Value(s)</th> </tr> <% HttpSession gurusession = request.getSession(); out.print("<tr><td>Session Name is </td><td>" +gurusession+ "</td.></tr>"); Locale gurulocale = request.getLocale (); out.print("<tr><td>Locale Name is</td><td>" +gurulocale + "</td></tr>"); String path = request.getPathInfo(); out.print("<tr><td>Path Name is</td><td>" +path+ "</td></tr>"); String lpath = request.get(); out.print("<tr><td>Context path is</td><td>" +lipath + "</td></tr>"); String servername = request.getServerName(); out.print("<tr><td>Server Name is </td><td>" +servername+ "</td></tr>"); int portname = request.getServerPort(); out.print("<tr><td>Server Port is </td><td>" +portname+ "</td></tr>"); Enumeration hnames = request.getHeaderNames(); while(hnames.hasMoreElements()) { String paramName = (String)hnames.nextElement(); out.print ("<tr><td>" + paramName + "</td>" ); String paramValue = request.getHeader(paramName); out.println("<td> " + paramValue + "</td></tr>"); } %>
Επεξήγηση του κώδικα:
Κωδικός Γραμμή 17: Χρησιμοποιώντας το αντικείμενο αιτήματος, λαμβάνουμε το αντικείμενο συνεδρίας αυτής της συγκεκριμένης συνεδρίας και παίρνουμε την τιμή αντικειμένου αυτής της συνεδρίας
Κωδικός Γραμμή 19: Χρησιμοποιώντας το αντικείμενο αιτήματος, λαμβάνουμε τοπικές ρυθμίσεις της συγκεκριμένης περιόδου λειτουργίας i.een_US για αυτό το JSP.
Κωδικός Γραμμή 21: Χρησιμοποιώντας το αντικείμενο αιτήματος, λαμβάνουμε πληροφορίες διαδρομής για αυτό το JSP. Σε αυτήν την περίπτωση, είναι μηδενική καθώς δεν αναφέρεται διαδρομή για τη διεύθυνση URL.
Κωδικός Γραμμή 23: Χρησιμοποιώντας το αντικείμενο αιτήματος, λαμβάνουμε τη διαδρομή περιβάλλοντος, δηλαδή τη διαδρομή ρίζας
Κωδικός Γραμμή 25: Χρησιμοποιώντας το αντικείμενο αιτήματος, παίρνουμε το όνομα διακομιστή.
Κωδικός Γραμμή 27: Χρησιμοποιώντας το αντικείμενο αιτήματος, λαμβάνουμε θύρα διακομιστή.
Κωδικός Γραμμή 29-35: Χρησιμοποιώντας το αντικείμενο αιτήματος, λαμβάνουμε ονόματα κεφαλίδων που βγαίνουν ως απαρίθμηση και επομένως παίρνουμε όλες τις τιμές κεφαλίδων στα ονόματα κεφαλίδων.
Σε αυτό, λαμβάνουμε όλες τις τιμές κεφαλίδας ως α Cookie, κεντρικός υπολογιστής, σύνδεση, αποδοχή γλώσσας, αποδοχή κωδικοποίησης.
Όταν εκτελείτε τον παραπάνω κώδικα, λαμβάνετε την ακόλουθη έξοδο:
Παραγωγή:
Λαμβάνουμε τη σειρά τιμών όπως όνομα συνεδρίας, όνομα τοπικής ρύθμισης, όνομα διαδρομής, όνομα διακομιστή, όνομα θύρας, κεντρικός υπολογιστής, διαδρομή περιβάλλοντος και όλες οι τιμές κεφαλίδας αυτού JSP.
Απόκριση διακομιστή JSP
- Όταν ένα αίτημα υποβάλλεται σε επεξεργασία και στη συνέχεια δημιουργείται η απάντηση από τον διακομιστή web. Αποτελείται από μια γραμμή κατάστασης, κεφαλίδες απόκρισης, μια κενή γραμμή και έγγραφο.
- Είναι το αντικείμενο του HTTPServletResponseclass, το οποίο είναι ένα αντικείμενο απόκρισης.
- Η γραμμή κατάστασης είναι μια έκδοση του HTML.
Κεφαλίδες απόκρισης στο JSP
Οι κεφαλίδες απόκρισης στο JSP αναφέρονται παρακάτω:
επικεφαλίδα | Τεχνικές Περιγραφές |
---|---|
Επιτρέψτε | Καθορίζει τις μεθόδους αιτήματος όπως GET, POST που ζητά ο διακομιστής |
Cache-έλεγχος | Το έγγραφο απάντησης μπορεί να αποθηκευτεί προσωρινά. Μπορεί να είναι δημόσιο, ιδιωτικό και χωρίς κρυφή μνήμη. Καμία κρυφή μνήμη δεν καθορίζει ότι το έγγραφο δεν πρέπει να αποθηκευτεί προσωρινά |
σύνδεση | Καθοδηγεί εάν το πρόγραμμα περιήγησης θα πρέπει να χρησιμοποιεί savedHTTPConnections ή όχι. Η τιμή κλεισίματος αντιπροσωπεύει ότι το πρόγραμμα περιήγησης δεν πρέπει να χρησιμοποιεί μόνιμες συνδέσεις HTTP και το "keep-alive" σημαίνει τη χρήση μόνιμων συνδέσεων |
Περιεχόμενο-διάθεση | Για να ρωτήσετε τον χρήστη εάν θα αποθηκεύσει την απάντηση στο δίσκο ή όχι |
Κωδικοποίηση περιεχομένου | Η σελίδα πρέπει να κωδικοποιείται κατά τη μετάδοση |
Μήκος περιεχομένου | Αριθμός byte στην απάντηση |
Τύπος περιεχομένου | Καθορίζει τον τύπο απόκρισης MIME |
Λήγει | Καθορίζει μέχρι πότε το περιεχόμενο θα πρέπει να θεωρείται μη ενημερωμένο και δεν θα πρέπει να αποθηκευτεί προσωρινά |
Τελευταία ενημέρωση: | Υποδεικνύει πότε το έγγραφο τροποποιήθηκε τελευταία φορά |
Τοποθεσία | Θα πρέπει να συμπεριληφθεί σε όλες τις απαντήσεις που έχουν κωδικό κατάστασης το 300 ως κωδικό κατάστασης |
Φρεσκάρω | Καθορίζει τον τρόπο εύρεσης της ενημερωμένης σελίδας. |
Επανάληψη-μετά | Μπορεί να χρησιμοποιηθεί με απόκριση 503 για να πει στον πελάτη πόσο σύντομα μπορεί να επαναλάβει το αίτημα |
Set-cookie | Καθορίζει το cookie που σχετίζεται με τη σελίδα |
Μέθοδοι κεφαλίδας απόκρισης HTTP στο JSP
Ακολουθούν οι μέθοδοι στο JSP που χρησιμοποιούν αντικείμενο απόκρισης:
- String encodeRedirectURL (URL συμβολοσειράς) – κωδικοποιεί τη διεύθυνση URL στη μέθοδο redirectURL.
- EncodeURL συμβολοσειράς (URL συμβολοσειράς) – κωδικοποιεί τη διεύθυνση URL συμπεριλαμβάνοντας το αναγνωριστικό περιόδου σύνδεσης.
- Ο Boolean περιέχει κεφαλίδα (όνομα συμβολοσειράς) - περιέχει μια κεφαλίδα στο JSP ή όχι.
- Boolean isCommited() – απάντηση έχει δεσμευτεί ή όχι.
- Άκυρο addCookie (Cookie cookie) – προσθέτει cookie στην απάντηση
- Άκυρο addDateHeader (Όνομα συμβολοσειράς, τιμή συμβολοσειράς) – προσθέτει όνομα και τιμή ημερομηνίας κεφαλίδας απάντησης
- Άκυρο addHeader (Όνομα συμβολοσειράς, τιμή συμβολοσειράς) – προσθέτει κεφαλίδα απάντησης με όνομα και τιμή
- Άκυρο addIntHeader (Όνομα συμβολοσειράς, τιμή int) – προσθέτει κεφαλίδα απάντησης με όνομα και ακέραια τιμή
- Κενό ξέπλυμαBuffer() - αναγκάζει το περιεχόμενο του buffer στην έξοδο στον πελάτη.
- Κενή επαναφορά () – διαγράφει δεδομένα στο buffer.
- Μηδενισμός κενούBuffer - διαγράφει την προσωρινή μνήμη περιεχομένου στην απόκριση χωρίς διαγραφή κωδικών κατάστασης.
- Άκυρο σφάλμα αποστολής (intsc,Stringmsg) – στέλνει μια απάντηση σφάλματος στον πελάτη χρησιμοποιώντας τον κωδικό κατάστασης.
- Void sendRedirect (Τοποθεσία συμβολοσειράς) – στέλνει μια προσωρινή απάντηση ανακατεύθυνσης στον πελάτη.
- Κενό σύνολοBufferΜέγεθος (μέγεθος int) – καθορίζει το μέγεθος του buffer του σώματος
- Void setCharacterEncoding (σύνολο χαρακτήρων συμβολοσειράς) – ορίζει την κωδικοποίηση χαρακτήρων
- Void setContentType (τύπος συμβολοσειράς) – ορίζει τον τύπο περιεχομένου της απάντησης
- Void setContentLength(intlen) – ορίζει το μήκος περιεχομένου της απάντησης
- Void setLocale (Locale lcl) – ορίζει τον τύπο τοπικής ρύθμισης της απόκρισης
- Void setStatus(intsc) – ορίζει τον κωδικό κατάστασης της απάντησης
Παράδειγμα:
Σε αυτό το παράδειγμα, καλύπτουμε διαφορετικές μεθόδους getLocale, flushbuffer, getWriter, get ContentType, setIntHeader.
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ page import="java.io.* java.util.*" %> <!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 Action Response</title> </head> <body> <center> <h2>Guru Response</h2> <% Locale lcl = response.getLocale(); out.println("Locale is : " + lcl + "\n"); response.flushBuffer(); PrintWriter output = response.getWriter(); output.println("This is from writer object"); String type = response.getContentType(); out.println("The content type : " + type + "\n"); // Set refresh,autoload time as 5 seconds response.setIntHeader("Refresh", 5); //Get current time Date dt = new Date(); out.println("Today's date is : " +dt.toString() + "\n"); %> </center> </body> </html>
Επεξήγηση του κώδικα:
Κωδικός Γραμμή 13: Χρησιμοποιώντας το αντικείμενο απόκρισης, λαμβάνουμε αντικείμενο τοπικής ρύθμισης αυτής της περιόδου λειτουργίας JSP
Κωδικός Γραμμή 15: Χρησιμοποιώντας το αντικείμενο απόκρισης, το flushbuffer χρησιμοποιείται για να εξαναγκάσει το περιεχόμενο του buffer στον πελάτη
Κωδικός Γραμμή 16: Χρησιμοποιώντας το αντικείμενο απόκρισης, παίρνουμε αντικείμενο εγγραφής που βγαίνει στη ροή εξόδου
Κωδικός Γραμμή 18: Χρησιμοποιώντας το αντικείμενο απόκρισης, παίρνουμε τον τύπο περιεχομένου, δηλαδή τον τύπο MIME του αντικειμένου απόκρισης
Κωδικός Γραμμή 21: Χρησιμοποιώντας το αντικείμενο απόκρισης, χρησιμοποιείται για αυτόματη φόρτωση κάθε 5 δευτερόλεπτα καθώς το 5 έχει οριστεί ως δεύτερη παράμετρος
Όταν εκτελείτε τον παραπάνω κώδικα, λαμβάνετε την ακόλουθη έξοδο:
Παραγωγή:
- Εδώ παίρνουμε την έξοδο όπως αυτή είναι από το αντικείμενο εγγραφής από το getWriter, το οποίο μας δίνει αντικείμενο και μπορούμε να εξάγουμε στη ροή εξόδου.
- Λαμβάνουμε την τοπική ρύθμιση ως en_us και τον τύπο περιεχομένου ως κείμενο/html
- Λαμβάνουμε σύνολο χαρακτήρων ως ISO 8859
- Η σημερινή ημερομηνία είναι η τρέχουσα ημερομηνία.
Κωδικοί κατάστασης JSP HTTP
- Όταν το αίτημα υποβάλλεται σε επεξεργασία, δημιουργείται η απάντηση. Η γραμμή κατάστασης απόκρισης αποτελείται από την έκδοση HTTP, έναν κωδικό κατάστασης και ένα σχετικό μήνυμα.
- Το μήνυμα σχετίζεται άμεσα με τον κωδικό κατάστασης και την έκδοση HTTP και καθορίζεται από τον διακομιστή.
- Από προεπιλογή, το 200 ορίζεται ως κωδικός κατάστασης στο JSP, επομένως δεν χρειάζεται να ορίσουμε ρητά.
- Μπορούμε να ορίσουμε ως μέθοδο answer.setStatus().
Οι κωδικοί εμπίπτουν στις ακόλουθες 5 κατηγορίες:
- 100-199 - Εδώ ο πελάτης υποδεικνύει ότι πρέπει να ανταποκριθεί με κάποια ενέργεια
- 200-299 - Σημαίνει ότι το αίτημα είναι επιτυχές
- 300-399 – Χρησιμοποιούνται για αρχεία που έχουν μετακινηθεί και συνήθως περιλαμβάνουν μια κεφαλίδα τοποθεσίας που υποδεικνύει τη νέα διεύθυνση
- 400-499 – Υποδεικνύει σφάλμα από τον πελάτη
- 500-599 – Υποδεικνύει σφάλμα από τον διακομιστή
Μερικοί από τους κοινούς κωδικούς κατάστασης είναι παρακάτω:
- 200 – Υποδεικνύει ότι όλα είναι καλά
- 301 – Μετακόμισε οριστικά
- 304 – Δεν έχει τροποποιηθεί από την τελευταία αλλαγή
- 400 - Κακό αίτημα
- 404 δεν βρέθηκε
- 405 – Η μέθοδος δεν βρέθηκε
- 500 Εσωτερικό σφάλμα διακομιστή
- 503 Υπηρεσία Μη Διαθέσιμη
- 505 – Η έκδοση HTTP δεν υποστηρίζεται
Μέθοδοι κώδικα κατάστασης HTTP στο JSP
Μερικές από τις μεθόδους κωδικού κατάστασης στο JSP παρατίθενται παρακάτω:
- Public void setStatus(intstatusCode): Ορίζει τον κωδικό κατάστασης όποιον θέλουμε να ορίσουμε σε αυτήν τη Σελίδα JSP. Αυτό θα μας δώσει το μήνυμα του κωδικού κατάστασης που έχει οριστεί
- Public void sendRedirect (URL συμβολοσειράς): Δημιουργεί απόκριση 302 μαζί με την κεφαλίδα τοποθεσίας που δίνει τη διεύθυνση URL του νέου εγγράφου
- Public void sendError(intcode,Stringmsg): Στέλνει τον κωδικό κατάστασης μαζί με το σύντομο μήνυμα και μορφοποιείται σε έγγραφο 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 Status Code</title> </head> <body> <% response.sendError(404,"Guru Page Not Found"); %> </body> </html>
Επεξήγηση του κώδικα:
Κωδικός Γραμμή 10: Χρησιμοποιώντας το αντικείμενο απόκρισης στέλνουμε το σφάλμα σε μια σελίδα με δύο παραμέτρους.
- Κωδικός κατάστασης – Μπορεί να είναι οποιοδήποτε από τα παραπάνω. Σε αυτή την περίπτωση, έχουμε περιγράψει ως 404
- Μήνυμα – Μπορεί να είναι οποιοδήποτε συγκεκριμένο μήνυμα που θέλουμε να εμφανίσουμε το σφάλμα
Εάν εκτελέσετε τον παραπάνω κώδικα, λαμβάνετε την ακόλουθη έξοδο:
Παραγωγή:
Εδώ λαμβάνουμε τον κωδικό σφάλματος ως 404, ο οποίος στάλθηκε από τον κωδικό και εμφανίζει επίσης το μήνυμα "Η σελίδα γκουρού δεν βρέθηκε" που φαίνεται στην έξοδο.
Περίληψη
- Σε αυτό το άρθρο, μάθαμε για το αίτημα πελάτη και την απάντηση διακομιστή σχετικά με τον τρόπο υποκλοπής του αιτήματος και τον τρόπο χειραγώγησης των απαντήσεων.
- Δράσεις JSP τα οποία χρησιμοποιούν κατασκευές στη σύνταξη XML για να ελέγχουν τη συμπεριφορά της μηχανής servlet.
- Όταν ζητείται η ιστοσελίδα, στέλνει πληροφορίες στον διακομιστή ιστού στην κεφαλίδα HTTP.
- Όταν ένα αίτημα υποβάλλεται σε επεξεργασία και στη συνέχεια δημιουργείται η απάντηση από τον διακομιστή web. Αποτελείται από μια γραμμή κατάστασης, κεφαλίδες απόκρισης, μια κενή γραμμή και έγγραφο.
- Όταν το αίτημα υποβάλλεται σε επεξεργασία, δημιουργείται η απάντηση. Η γραμμή κατάστασης απόκρισης αποτελείται από την έκδοση HTTP, έναν κωδικό κατάστασης και ένα σχετικό μήνυμα.