goeroe header | goeroe header Waarde (n) |
HttpSession-gurusession = request.getSession ();out.print ("
Sessienaam is | " + gurusession + " td.>
|
");Locale gurulocale = request.getLocale ();out.print ("
Locale naam is | " + gurulocale + " |
");Tekenreekspad = request.getPathInfo ();out.print ("
Padnaam is | " + pad + " |
");String lpath = request.get ();out.print ("
Contextpad is | " + lipath + " |
");String servernaam = request.getServerName ();out.print ("
Servernaam is | " + servernaam + " |
");int poortnaam = request.getServerPort ();out.print ("
Serverpoort is | " + poortnaam + " |
");Opsomming hnames = request.getHeaderNames ();while (hnames.hasMoreElements ()) {String paramName = (String) hnames.nextElement ();out.print ("
" + paramName + " | ");String paramValue = request.getHeader (paramName);out.println ("" + paramValue + " |
");
Uitleg van de code:
Coderegel 17: met een request-object krijgen we het sessie-object van die specifieke sessie en we krijgen de objectwaarde van die sessie
Coderegel 19: Met een request-object krijgen we de locale van die specifieke sessie i.een_US locale voor die JSP.
Coderegel 21: met behulp van een verzoekobject krijgen we padinformatie voor die JSP. In dit geval is het null omdat er geen pad voor de URL wordt vermeld.
Coderegel 23: Door het request-object te gebruiken, krijgen we het contextpad, dat wil zeggen het rootpad
Coderegel 25: met behulp van een verzoekobject krijgen we de servernaam.
Coderegel 27: met behulp van een verzoekobject krijgen we de serverpoort.
Coderegel 29-35: door request-object te gebruiken, krijgen we koptekstnamen die als opsomming verschijnen, en daarom krijgen we alle koptekstwaarden in de koptekstnamen.
Hierin krijgen we alle koptekstwaarden als een cookie, host, verbinding, taal accepteren, codering accepteren.
Als je de bovenstaande code uitvoert, krijg je de volgende output:
Uitgang :
We krijgen de reeks waarden zoals sessienaam, locale naam, padnaam, servernaam, poortnaam, host, contextpad en alle headerwaarden van die JSP.
Reactie van JSP-server
- Wanneer een verzoek wordt verwerkt, wordt het antwoord gegenereerd vanaf de webserver. Het bestaat uit een statusregel, antwoordkoppen, een lege regel en document.
- Het is het object van HTTPServletResponseclass, dat een responsobject is.
- De statusregel is een versie van HTML.
Reactiekoppen worden hieronder vermeld:
Koptekst | Omschrijving |
Toestaan | Het specificeert de verzoekmethoden zoals GET, POST die de server aanvraagt |
Cache-controle | Het antwoorddocument kan in de cache worden opgeslagen. Het kan openbaar, privé en geen cache zijn. Geen cache geeft aan dat het document niet in de cache mag worden bewaard |
Verbinding | Het geeft aan of de browser opgeslagenHTTPConnections moet gebruiken of niet. De close-waarde geeft aan dat de browser geen persistent mag gebruiken in HTTPConnections en "keep-alive" betekent dat persistente verbindingen worden gebruikt |
Content-dispositie | Om de gebruiker te vragen of hij het antwoord op schijf wil opslaan of niet |
Content-codering | De pagina moet tijdens de verzending worden gecodeerd |
Inhoud lengte | Aantal bytes in het antwoord |
Inhoudstype | Het specificeert het MIME-type antwoord |
Vervalt | Geeft aan tot wanneer de inhoud als verouderd moet worden beschouwd en niet in de cache mag worden opgeslagen |
Laatst gewijzigd | Het geeft aan wanneer het document voor het laatst is gewijzigd |
Plaats | Het moet worden opgenomen bij alle antwoorden met statuscode 300 als statuscode |
Vernieuwen | Het specificeert hoe de bijgewerkte pagina kan worden gevonden. |
Opnieuw proberen | Het kan worden gebruikt met 503-respons om de klant te vertellen hoe snel het verzoek kan herhalen |
Set-cookie | Specificeert de cookie die aan de pagina is gekoppeld |
Hieronder volgen de methoden die het responsobject gebruiken:
- String encodeRedirectURL (String URL) - codeert de URL in de redirectURL-methode.
- String encodeURL (String URL) - codeert de URL door sessie-ID op te nemen.
- Boolean bevatHeader (tekenreeksnaam) - het bevat een koptekst in de JSP of niet.
- Boolean isCommited () - reactie is vastgelegd of niet.
- Void addCookie (Cookie-cookie) - voegt een cookie toe aan het antwoord
- Void addDateHeader (Stringnaam, Stringwaarde) - voegt de datumnaam en waarde van de antwoordheader toe
- Void addHeader (Stringnaam, Stringwaarde) - voegt antwoordheader toe met naam en waarde
- Void addIntHeader (Stringnaam, int-waarde) - voegt antwoordheader toe met naam en integerwaarde
- Void flushBuffer () - dwingt inhoud in de buffer naar de uitvoer naar de client.
- Ongeldige reset () - wist gegevens in de buffer.
- Void resetBuffer - wist de inhoudsbuffer in het antwoord zonder de statuscodes te wissen.
- Void sendError (intsc, Stringmsg) - stuurt een foutreactie naar de client met behulp van statuscode.
- Void sendRedirect (String-locatie) - stuurt een tijdelijke omleidingsreactie naar de client.
- Void setBufferSize (int size) - stelt de buffergrootte van de body in
- Void setCharacterEncoding (String charset) - stelt de tekencodering in
- Void setContentType (String type) - stelt het inhoudstype van het antwoord in
- Void setContentLength (intlen) - stelt de inhoudslengte van het antwoord in
- Void setLocale (Locale lcl) - stelt het locale type van het antwoord in
- Void setStatus (intsc) - stelt de statuscode van het antwoord in
Voorbeeld:
In dit voorbeeld behandelen we verschillende methoden 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. *"%> Guru Action Response
Reactie van goeroe
Landinstelling lcl = response.getLocale ();out.println ("Locale is: + lcl + "\ n");respons.flushBuffer ();PrintWriter-uitvoer = response.getWriter ();output.println ("Dit is van het schrijver-object");String type = response.getContentType ();out.println ("Het inhoudstype: + type + "\ n");// Stel de tijd voor vernieuwen en automatisch laden in op 5 secondenresponse.setIntHeader ("Vernieuwen", 5);// Krijg de huidige tijdDatum dt = nieuwe datum ();out.println ("De datum van vandaag is: + dt.toString () + "\ n");
Uitleg van de code:
Coderegel 13: Met behulp van een responsobject krijgen we het locale-object van deze JSP-sessie
Coderegel 15: Met behulp van responsobject wordt flushbuffer gebruikt om de bufferinhoud naar de client te forceren
Coderegel 16: Met behulp van een responsobject krijgen we een schrijverobject dat uitvoer in de uitvoerstroom krijgt
Code Line18: Met behulp van responsobject krijgen we inhoudstype, dwz MIME-type responsobject
Coderegel 21: met behulp van een responsobject, wordt het gebruikt om elke 5 seconden automatisch te laden, aangezien 5 is ingesteld als de tweede parameter
Als je de bovenstaande code uitvoert, krijg je de volgende output:
Uitgang:
- Hier krijgen we de uitvoer omdat deze afkomstig is van het schrijverobject van getWriter, wat ons een object geeft en we kunnen uitvoeren in de uitvoerstroom.
- We krijgen de locale als en_us en het inhoudstype als tekst / html
- We krijgen tekenset als ISO 8859
- De datum van vandaag als de huidige datum.
JSP HTTP-statuscodes
- Wanneer het verzoek is verwerkt, wordt het antwoord gegenereerd. De antwoordstatusregel bestaat uit een HTTP-versie, een statuscode en een bijbehorend bericht.
- Het bericht is direct gekoppeld aan de statuscode en HTTP-versie en wordt bepaald door de server.
- Standaard is 200 ingesteld als een statuscode in JSP, dus we hoeven dit niet expliciet in te stellen.
- We kunnen instellen als response.setStatus () - methode
De codes vallen in de volgende 5 categorieën:
- 100-199 - Hier geeft de cliënt aan dat hij met enige actie moet reageren
- 200-299 - Het geeft aan dat het verzoek succesvol is
- 300-399 - Ze worden gebruikt voor bestanden die zijn verplaatst en bevatten meestal een locatiekop die een nieuw adres aangeeft
- 400-499 - Geeft een fout door de klant aan
- 500-599 - Geeft een fout door de server aan
Enkele veel voorkomende statuscodes zijn hieronder:
- 200 - Geeft aan dat alles in orde is
- 301 - Het is permanent verhuisd
- 304 - Niet gewijzigd sinds de laatste wijziging
- 400 - Slecht verzoek
- 404 Niet Gevonden
- 405 - Methode niet gevonden
- 500 Interne server fout
- 503 Service niet beschikbaar
- 505 - HTTP-versie niet ondersteund
Enkele van de methoden worden hieronder vermeld:
- Public void setStatus (intstatusCode)
Het stelt de statuscode in die we willen instellen op die JSP-pagina Dit geeft ons het bericht van de statuscode die is ingesteld
- Public void sendRedirect (tekenreeks-URL)
Het genereert 302-respons samen met de locatiekop die de URL van het nieuwe document geeft
- Public void sendError (intcode, Stringmsg)
Het verzendt de statuscode samen met het korte bericht en het is opgemaakt in een HTML-document.
Voorbeeld:
In dit voorbeeld sturen we de fout expliciet naar de JSP-pagina.
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1" pageEncoding = "ISO-8859-1"%> Guru-statuscode <% response.sendError (404, "Guru-pagina niet gevonden");