In dit bericht gaan we het hebben over het impliciete responsobject in JSP. Het is een exemplaar van javax.servlet.http.HttpServletRequest en wordt voornamelijk gebruikt voor het wijzigen van het antwoord dat naar de browser wordt verzonden nadat het verzoek van de client is verwerkt.
Snelle links:
Reactiemethoden Impliciet object
void setContentType (Stringtype)
void sendRedirect (tekenreeksadres)
void addHeader (Stringnaam, Stringwaarde)
void setHeader (Stringnaam, Stringwaarde)
boolean bevatHeader (tekenreeksnaam)
void addCookie (cookiewaarde)
void sendError (int status_code, String bericht)
boolean isCommitted ()
void setStatus (int statuscode)
Laten we elke methode in detail bekijken -
- void setContentType (String type) - Deze methode vertelt de browser het type responsgegevens door het MIME-type en de tekencodering in te stellen. De informatie die door deze methode wordt ingesteld, helpt de browser het antwoord te interpreteren. Voorbeeld -
response.setContentType ( "text / html"); response.setContentType ( "image / gif"); response.setContentType ( "image / png"); response.setContentType ( "application / pdf");
- void sendRedirect (String-adres) - Het stuurt het besturingselement door naar een nieuwe JSP-pagina. Bijvoorbeeld wanneer de browser de onderstaande instructie zou detecteren, zou deze vanaf de huidige JSP-pagina worden doorgestuurd naar delphi-faq.net.
response.sendRedirect ( "");
- void addHeader (tekenreeksnaam, tekenreekswaarde) - methode addHeader voegt een koptekst toe aan het antwoord, in feite bevat het een kopnaam en de waarde ervan. Bijvoorbeeld - De onderstaande instructie bevat een koptekst 'Site' in de reactie met de waarde 'delphi-faq.net'.
response.addHeader ("Site", "delphi-faq.net");
- void setHeader (Stringnaam, Stringwaarde) - Hiermee wordt de kopwaarde ingesteld. Deze methode overschrijft de huidige waarde van de koptekst door de nieuwe waarde. Laten we zeggen dat ik de waarde van Koptekst ' Site ' wijzig. De onderstaande instructie zou de huidige waarde delphi-faq.net wijzigen in een nieuwe waarde BB.com
response.setHeader ("Site", "BB.com");
- boolean bevatHeader (tekenreeksnaam) - Het retourneert een Booleaanse waarde true / false. Het controleert in principe of de koptekst aanwezig is in het antwoord of niet. Bijvoorbeeld - Hierboven hebben we in het voorbeeld van de methode addHeader een sitekop toegevoegd als reactie, zodat de onderstaande instructie true zou zijn.
response.containsHeader ( "Site");
- void addCookie (cookie-cookie) - Deze methode voegt een cookie toe aan het antwoord. De onderstaande verklaringen zouden 2 Cookies Author en Siteinfo aan het antwoord toevoegen.
response.addCookie (auteur van cookies); response.addCookie (Cookie Siteinfo);
- void sendError (int status_code, String message) - Het wordt gebruikt om een foutreactie met een code en een foutbericht te verzenden. Bijvoorbeeld -
response.sendError (404, "Pagina niet gevonden fout");
- boolean isCommitted () -Het controleert of de HTTP-reactie naar de client is verzonden, zo ja, dan wordt true geretourneerd, anders geeft het false.
<% if (response.isCommited ()){<% - doe iets -%>}anders {<% - doe iets anders -%> }%>
- void setStatus (int statuscode) - Deze methode wordt gebruikt om de HTTP-status op een bepaalde waarde in te stellen. De onderstaande instructie zou bijvoorbeeld de HTTP-reactiecode instellen op 404 (pagina niet gevonden).
response.setStatus (404);
Voorbeeld van respons impliciet object
In het onderstaande voorbeeld ontvangen we ID en wachtwoord van de inlogpagina en dan matchen we ze met een hardcode gecodeerde juiste id / pass. Als de inloggegevens correct zijn, wordt de aanmeldingspagina omgeleid naar de succespagina, anders wordt deze omgeleid naar de mislukte JSP-pagina voor aanmelden.
index.html
<Html> <Head> <title> Aanmeldingspagina </title> </ Head> <Body> <form action = "checkdetails.jsp"> UserId: <input type = "text" name = "id" /> <br> <br> Wachtwoord: <input type = "text" name = "pass" /> <br> <br> <input type = "submit" value = "Aanmelden !!" /> </ Form> </ Body> </ Html>
Deze JSP-pagina verifieert de invoer-ID / doorgang tegen hardgecodeerde waarden.
checkdetails.jsp
<Html> <head> <title> Referenties controleren </title> </ Head> <Body> <% String uid = request.getParameter ("id"); String wachtwoord = request.getParameter ("pass"); session.setAttribute ("session-uid", uid); if (uid.equals ("Chaitanya") password.equals ("BeginnersBook")) { response.sendRedirect ( "success.jsp"); } anders { response.sendRedirect ( "failed.jsp"); } %> </ Body> </ Html>
Deze JSP-pagina zou worden uitgevoerd als id / pass wordt gekoppeld aan de hardcoded gebruikersnaam / wachtwoord.
success.jsp
<Html> <head> <title> Succespagina </title> </ Head> <Body> <% String data = (String) session.getAttribute ("session-uid"); out.println ("Welcome" + data + "!!"); %> </ Body> </ Html>
Het besturingselement wordt doorgestuurd naar deze pagina als de door de gebruiker ingevoerde referenties onjuist zijn.
failed.jsp
<Html> <head> <title> Aanmelding mislukt pagina </title> </ Head> <Body> <% String data2 = (String) session.getAttribute ("session-uid"); out.println ("Hallo" + data2 + ". Id / wachtwoord zijn verkeerd. Probeer het opnieuw."); %> </ Body> </ Html>
Uitgang Schermafbeeldingen:
Login pagina
Succespagina: wanneer userId en wachtwoord correct zijn.
Login met onjuiste gegevens.
Aanmelding mislukt pagina: wanneer id en wachtwoord onjuist zijn.
Dat is het voor nu. Laat het ons weten als u vragen en twijfels hebt over het impliciete antwoordobject in JSP.
Ik zag een typefout in je bericht ... dat is een impliciet antwoord in JSP. Het is een exemplaar van javax.servlet.http.HttpServletResponse.
Het impliciete responsobject is een instantie van HttpServletResponse en niet HttpServletRequest. Corrigeer het alstublieft
Bedankt,
Ramesh M