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

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

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

  • 📨 Αίτημα πελάτη: Το πρόγραμμα περιήγησης στέλνει δεδομένα στον διακομιστή σε κεφαλίδες αιτημάτων HTTP, τα οποία διαβάζονται μέσω του HttpServletRequest.
  • 🧾 Κεφαλίδες αιτημάτων: Οι όροι Αποδοχή, Αποδοχή γλώσσας, Σύνδεση, Cookie, Κεντρικός υπολογιστής και Παράγοντας χρήστη περιγράφουν τον πελάτη.
  • 📤 Απόκριση διακομιστή: Η συνάρτηση HttpServletResponse επιστρέφει μια γραμμή κατάστασης, κεφαλίδες απόκρισης και το έγγραφο.
  • 🔧 Μέθοδοι απόκρισης: Οι συναρτήσεις addHeader(), sendRedirect(), sendError() και setStatus() διαμορφώνουν την απόκριση.
  • 🔢 Κατάσταση Codes: Ομαδοποιούνται στις κατηγορίες 100–599. Οι πιο συνηθισμένες περιλαμβάνουν τις 200, 301, 404 και 500.
  • 🧪 Παραδείγματα: Οι λειτουργικές σελίδες JSP διαβάζουν κεφαλίδες, ορίζουν ένα διάστημα ανανέωσης και στέλνουν ένα σφάλμα 404.

Αίτημα πελάτη 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:

  1. Cookie[] getCookies() – επιστρέφει έναν πίνακα που περιέχει αντικείμενα cookie που έχει στείλει ο πελάτης
  2. Απαρίθμηση getAttributeNames() – περιέχει απαρίθμηση ονομάτων χαρακτηριστικών για αίτημα
  3. Απαρίθμηση getHeaderNames() – Περιέχει απαρίθμηση των ονομάτων της κεφαλίδας.
  4. Απαρίθμηση getParameterNames() – περιέχει απαρίθμηση των ονομάτων παραμέτρων στο αίτημα.
  5. HttpSession getSession() – επιστρέφει την τρέχουσα συνεδρία που σχετίζεται με το αίτημα ή εάν δεν έχει συνεδρία τότε θα δημιουργήσει μια νέα.
  6. Τοπικές ρυθμίσεις getLocale() – επιστρέφει την προτιμώμενη τοπική ρύθμιση στην οποία ο πελάτης θα δέχεται περιεχόμενο. Έχει αντιστοιχιστεί στην απάντηση. Από προεπιλογή, η τιμή θα είναι η προεπιλεγμένη τοπική ρύθμιση του διακομιστή.
  7. Αντικείμενο getAttribute (όνομα συμβολοσειράς) – επιστρέφει την τιμή του named χαρακτηριστικό ως αντικείμενο.
  8. ServletInputStream getInputStream() – ανακτά το σώμα του αιτήματος ως δυαδικά δεδομένα.
  9. Συμβολοσειρά getAuthType() – επιστρέφει το όνομα του συστήματος ελέγχου ταυτότητας για την προστασία του servlet
  10. Συμβολοσειρά getCharacterEncoding() – επιστρέφει το όνομα της κωδικοποίησης χαρακτήρων που χρησιμοποιείται στο σώμα της αίτησης.
  11. Συμβολοσειρά getContentType() – επιστρέφει τον τύπο MIME του σώματος της αίτησης.
  12. Συμβολοσειρά getContextPath() – επιστρέφει το τμήμα του αιτήματος Το URI υποδεικνύει τη διαδρομή περιβάλλοντος του URI
  13. String getHeader (Όνομα συμβολοσειράς) – επιστρέφει την κεφαλίδα αιτήματος ως συμβολοσειρά
  14. String getMethod() – επιστρέφει το όνομα της μεθόδου HTTP όπως GET, POST
  15. String getParameter (όνομα συμβολοσειράς) – επιστρέφει την παράμετρο του αιτήματος ως συμβολοσειρά.
  16. Συμβολοσειρά getPathInfo() – επιστρέφει τις πληροφορίες διαδρομής που σχετίζονται με το URL
  17. Συμβολοσειρά getQueryString() – επιστρέφει τη συμβολοσειρά ερωτήματος που σχετίζεται με το αίτημα URL
  18. Συμβολοσειρά getServletPath() – επιστρέφει το μέρος του URLτου αιτήματος που καλεί το JSP
  19. 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>");
    }

%>

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

Code Γραμμή 17: Χρησιμοποιώντας το αντικείμενο αιτήματος, λαμβάνουμε το αντικείμενο συνεδρίας αυτής της συγκεκριμένης συνεδρίας και παίρνουμε την τιμή αντικειμένου αυτής της συνεδρίας

Code Γραμμή 19: Χρησιμοποιώντας το αντικείμενο request, λαμβάνουμε τις τοπικές ρυθμίσεις αυτής της συγκεκριμένης συνεδρίας, δηλαδή τις τοπικές ρυθμίσεις en_US για αυτό το JSP.

Code Γραμμή 21: Χρησιμοποιώντας το αντικείμενο request, λαμβάνουμε πληροφορίες διαδρομής για αυτό το JSP. Σε αυτήν την περίπτωση, είναι null καθώς δεν υπάρχει διαδρομή για URL που αναφέρθηκαν.

Code Γραμμή 23: Χρησιμοποιώντας το αντικείμενο αιτήματος, λαμβάνουμε τη διαδρομή περιβάλλοντος, δηλαδή τη διαδρομή ρίζας

Code Γραμμή 25: Χρησιμοποιώντας το αντικείμενο αιτήματος, παίρνουμε το όνομα διακομιστή.

Code Γραμμή 27: Χρησιμοποιώντας το αντικείμενο αιτήματος, λαμβάνουμε θύρα διακομιστή.

Code Γραμμή 29-35: Χρησιμοποιώντας το αντικείμενο αιτήματος, λαμβάνουμε ονόματα κεφαλίδων που βγαίνουν ως απαρίθμηση και επομένως παίρνουμε όλες τις τιμές κεφαλίδων στα ονόματα κεφαλίδων.

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

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

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

Παραγωγή:

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

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

  • Όταν ένα αίτημα υποβάλλεται σε επεξεργασία και στη συνέχεια δημιουργείται η απάντηση από τον διακομιστή web. Αποτελείται από μια γραμμή κατάστασης, κεφαλίδες απόκρισης, μια κενή γραμμή και έγγραφο.
  • Είναι το αντικείμενο της κλάσης HTTPServletResponse, η οποία είναι ένα αντικείμενο απόκρισης.
  • Η γραμμή κατάστασης είναι μια έκδοση του HTML.

Κεφαλίδες απόκρισης στο JSP

Οι κεφαλίδες απόκρισης στο JSP αναφέρονται παρακάτω:

επικεφαλίδα Περιγραφή
Επιτρέψτε Καθορίζει τις μεθόδους αιτήματος όπως GET, POST που ζητά ο διακομιστής
Cache-έλεγχος Το έγγραφο απάντησης μπορεί να αποθηκευτεί προσωρινά. Μπορεί να είναι δημόσιο, ιδιωτικό και χωρίς κρυφή μνήμη. Καμία κρυφή μνήμη δεν καθορίζει ότι το έγγραφο δεν πρέπει να αποθηκευτεί προσωρινά
σύνδεση Καθοδηγεί εάν το πρόγραμμα περιήγησης θα πρέπει να χρησιμοποιεί savedHTTPConnections ή όχι. Η τιμή κλεισίματος αντιπροσωπεύει ότι το πρόγραμμα περιήγησης δεν πρέπει να χρησιμοποιεί μόνιμες συνδέσεις HTTP και το "keep-alive" σημαίνει τη χρήση μόνιμων συνδέσεων
Περιεχόμενο-διάθεση Για να ρωτήσετε τον χρήστη εάν θα αποθηκεύσει την απάντηση στο δίσκο ή όχι
Κωδικοποίηση περιεχομένου Η σελίδα πρέπει να κωδικοποιείται κατά τη μετάδοση
Μήκος περιεχομένου Αριθμός byte στην απάντηση
Τύπος περιεχομένου Καθορίζει τον τύπο απόκρισης MIME
Λήγει Καθορίζει μέχρι πότε το περιεχόμενο θα πρέπει να θεωρείται μη ενημερωμένο και δεν θα πρέπει να αποθηκευτεί προσωρινά
Τελευταία ενημέρωση: Υποδεικνύει πότε το έγγραφο τροποποιήθηκε τελευταία φορά
Θα πρέπει να συμπεριληφθεί σε όλες τις απαντήσεις που έχουν κωδικό κατάστασης το 300 ως κωδικό κατάστασης
Φρεσκάρω Καθορίζει τον τρόπο εύρεσης της ενημερωμένης σελίδας.
Επανάληψη-μετά Μπορεί να χρησιμοποιηθεί με απόκριση 503 για να πει στον πελάτη πόσο σύντομα μπορεί να επαναλάβει το αίτημα
Set-cookie Καθορίζει το cookie που σχετίζεται με τη σελίδα

Μέθοδοι κεφαλίδας απόκρισης HTTP στο JSP

Ακολουθούν οι μέθοδοι στο JSP που χρησιμοποιούν αντικείμενο απόκρισης:

  1. Συμβολοσειρά encodeRedirectURL(Σειρά URL) - κωδικοποιεί το URL σε ανακατεύθυνσηURL μέθοδος.
  2. Κωδικοποίηση συμβολοσειράςURL(Σειρά URL) - κωδικοποιεί το URL συμπεριλαμβάνοντας το αναγνωριστικό περιόδου σύνδεσης.
  3. Ο Boolean περιέχει κεφαλίδα (όνομα συμβολοσειράς) - περιέχει μια κεφαλίδα στο JSP ή όχι.
  4. Boolean isCommited() – απάντηση έχει δεσμευτεί ή όχι.
  5. Άκυρο addCookie (cookie cookie) – προσθέτει cookie στην απάντηση
  6. Άκυρο addDateHeader (Όνομα συμβολοσειράς, τιμή συμβολοσειράς) – προσθέτει όνομα και τιμή ημερομηνίας κεφαλίδας απάντησης
  7. Άκυρο addHeader (Όνομα συμβολοσειράς, τιμή συμβολοσειράς) – προσθέτει κεφαλίδα απάντησης με όνομα και τιμή
  8. Άκυρο addIntHeader (Όνομα συμβολοσειράς, τιμή int) – προσθέτει κεφαλίδα απάντησης με όνομα και ακέραια τιμή
  9. Κενό ξέπλυμαBuffer() - αναγκάζει το περιεχόμενο του buffer στην έξοδο στον πελάτη.
  10. Κενή επαναφορά () – διαγράφει δεδομένα στο buffer.
  11. Μηδενισμός κενούBuffer - διαγράφει την προσωρινή μνήμη περιεχομένου στην απόκριση χωρίς διαγραφή κωδικών κατάστασης.
  12. Άκυρο sendError(int sc,String msg) – στέλνει μια απάντηση σφάλματος στον πελάτη χρησιμοποιώντας τον κωδικό κατάστασης.
  13. Void sendRedirect (Τοποθεσία συμβολοσειράς) – στέλνει μια προσωρινή απάντηση ανακατεύθυνσης στον πελάτη.
  14. Κενό σύνολοBufferΜέγεθος (μέγεθος int) – καθορίζει το μέγεθος του buffer του σώματος
  15. Void setCharacterEncoding (σύνολο χαρακτήρων συμβολοσειράς) – ορίζει την κωδικοποίηση χαρακτήρων
  16. Void setContentType (τύπος συμβολοσειράς) – ορίζει τον τύπο περιεχομένου της απάντησης
  17. Κενό setContentLength(int len) – ορίζει το μήκος περιεχομένου της απάντησης
  18. Void setLocale (Locale lcl) – ορίζει τον τύπο τοπικής ρύθμισης της απόκρισης
  19. Void setStatus(int sc) – ορίζει τον κωδικό κατάστασης της απάντησης

Παράδειγμα:

Σε αυτό το παράδειγμα, καλύπτουμε διαφορετικές μεθόδους getLocale, flushbuffer, getWriter, getContentType, 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>

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

Code Γραμμή 13: Χρησιμοποιώντας το αντικείμενο απόκρισης, λαμβάνουμε αντικείμενο τοπικής ρύθμισης αυτής της περιόδου λειτουργίας JSP

Code Γραμμή 15: Χρησιμοποιώντας το αντικείμενο απόκρισης, το flushbuffer χρησιμοποιείται για να εξαναγκάσει το περιεχόμενο του buffer στον πελάτη

Code Γραμμή 16: Χρησιμοποιώντας το αντικείμενο απόκρισης, παίρνουμε αντικείμενο εγγραφής που βγαίνει στη ροή εξόδου

Code Γραμμή 18: Χρησιμοποιώντας το αντικείμενο απόκρισης, παίρνουμε τον τύπο περιεχομένου, δηλαδή τον τύπο MIME του αντικειμένου απόκρισης

Code Γραμμή 21: Χρησιμοποιώντας το αντικείμενο απόκρισης, χρησιμοποιείται για αυτόματη φόρτωση κάθε 5 δευτερόλεπτα καθώς το 5 έχει οριστεί ως δεύτερη παράμετρος

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

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

Παραγωγή:

  • Εδώ παίρνουμε την έξοδο όπως αυτή είναι από το αντικείμενο writer από το getWriter, το οποίο μας δίνει ένα αντικείμενο και μπορούμε να το εξάγουμε στη ροή εξόδου.
  • Λαμβάνουμε την τοπική ρύθμιση ως en_us και τον τύπο περιεχομένου ως κείμενο/html
  • Λαμβάνουμε σύνολο χαρακτήρων ως ISO 8859
  • Η σημερινή ημερομηνία είναι η τρέχουσα ημερομηνία.

Κατάσταση HTTP JSP Codes

  • Όταν το αίτημα υποβάλλεται σε επεξεργασία, δημιουργείται η απάντηση. Η γραμμή κατάστασης απόκρισης αποτελείται από την έκδοση 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 Code Μέθοδοι σε JSP

Μερικές από τις μεθόδους κωδικού κατάστασης στο JSP παρατίθενται παρακάτω:

  1. Δημόσιο void setStatus(int statusCode): Ορίζει τον κωδικό κατάστασης όποιον θέλουμε να ορίσουμε σε αυτήν τη Σελίδα JSP. Αυτό θα μας δώσει το μήνυμα του κωδικού κατάστασης που έχει οριστεί
  2. Δημόσιο void sendRedirect(Συμβολοσειρά URL): Παράγει απόκριση 302 μαζί με την κεφαλίδα τοποθεσίας που δίνει URL του νέου εγγράφου
  3. Δημόσιο void sendError(int code,String msg): Στέλνει τον κωδικό κατάστασης μαζί με το σύντομο μήνυμα και μορφοποιείται σε έγγραφο 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>

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

Code Γραμμή 10: Χρησιμοποιώντας το αντικείμενο απόκρισης στέλνουμε το σφάλμα σε μια σελίδα με δύο παραμέτρους.

  1. Κωδικός κατάστασης – Μπορεί να είναι οποιοδήποτε από τα παραπάνω. Σε αυτή την περίπτωση, έχουμε περιγράψει ως 404
  2. Μήνυμα – Μπορεί να είναι οποιοδήποτε συγκεκριμένο μήνυμα που θέλουμε να εμφανίσουμε το σφάλμα

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

Κατάσταση HTTP JSP Codes

Παραγωγή:

Εδώ λαμβάνουμε τον κωδικό σφάλματος 404, ο οποίος στάλθηκε από τον κώδικα και εμφανίζει επίσης την ένδειξη "Guru Εμφανίζεται το μήνυμα "Η σελίδα δεν βρέθηκε" στην έξοδο.

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

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

Ο κωδικός κατάστασης 404 σημαίνει ότι ο ζητούμενος πόρος δεν βρέθηκε στον διακομιστή. Στο JSP, μπορείτε να τον στείλετε ρητά με response.sendError(404, “message”) για να εμφανίσετε μια προσαρμοσμένη σελίδα που δεν βρέθηκε.

Χρησιμοποιήστε το αντικείμενο request: η getHeaderNames() επιστρέφει μια απαρίθμηση ονομάτων κεφαλίδων και η getHeader(name) επιστρέφει κάθε τιμή κεφαλίδας. Επαναλάβετε τα ονόματα για να διαβάσετε κάθε κεφαλίδα που αποστέλλεται από τον πελάτη.

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

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

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