Artikoli

JSP Response, il-metodi kollha tal-oġġett ta' Rispons impliċitu

Fl-iżvilupp dinamiku ta' applikazzjoni tal-web, l-interazzjonijiet bejn il-klijenti u s-server huma essenzjali biex tintbagħat u tirċievi informazzjoni fuq l-Internet. F'dan it-tutorja ser nidħlu fil-metodi fl-Oġġett Impliċitu tar-Rispons JSP, jiġifieri l-metodi tal-oġġett impliċitu Rispons.

Meta l-browser teħtieġ paġna web , tintbagħat ħafna informazzjoni lis-server tal-web u lill- web server jirrispondi wara l-ipproċessar tat-talba HTTP. Hemmhekk Rispons JSP jimmaniġġja r-rispons billi jimmaniġġja l-informazzjoni li ġejja:

  • linja ta' status,
  • xi headers tar-rispons,
  • linja vojta e
  • id-dokument.

Tipikament tweġiba tidher bħal din:

HTTP/1.1 200 OK
Content-Type: text/html
Header2: ...
...
HeaderN: ...
   (Blank Line)
<!doctype ...>

<html>
   <head>...</head>
   <body>
      ...
   </body>
</html>
  • Il-linja tal-istatus tikkonsisti mill-verżjoni HTTP (fl-eżempju HTTP/1.1),
  • kodiċi tal-istatus (fl-eżempju 200) e
  • messaġġ qasir ħafna li jikkorrispondi għall-kodiċi tal-istatus (fl-eżempju OK).

Fil-qiegħ tal-paġna se ssib sommarju tal-intestaturi tar-rispons HTTP 1.1 l-aktar użati rritornati lill-browser mis-server tal-web.

F'din il-kariga se naraw il-metodi varji pprovduti minn JSP għall-immaniġġjar tar-rispons JSP

Rispons JSP

Ir-Rispons JSP jista 'jkun definite bħala a oġġett impliċitu hija eżempju ta’” HttpServletResponse ” u hija ffurmata għal kull talba JSP maħluqa mill-kontenitur JSP.

JSP Rispons Oġġett Impliċitu
  • Oġġett ta’ Rispons huwa oġġett impliċitu implimentat biex jimmodifika jew jimmaniġġja r-rispons mibgħut lill-klijent (eż. browser) wara li t-talba tkun ġiet ipproċessata, bħal direzzjoni mill-ġdid tar-rispons għal riżors ieħor jew żball mibgħut lil klijent.
  • L-oġġett ta' rispons impliċitu huwa eżempju ta' interface javax.servlet.http.HttpServletResponse .
  • Il-kontenitur joħloqha għal kull talba.

Hawn eżempju ta’ oġġetti impliċiti ta’ talba u rispons JSP fejn utent jibgħat informazzjoni ta’ login u paġna JSP oħra tirċeviha għall-ipproċessar:

Newsletter dwar l-innovazzjoni
Titlifx l-aktar aħbarijiet importanti dwar l-innovazzjoni. Irreġistra biex tirċevihom bl-email.
<!DOCTYPE html>
<html>
    <head>
        <title>User login form</title>
    </head>
    <body>
        <form action="login.jsp">
            Username: <input type="text" name="user_name" /> <br />
            <input type="submit" value="Submit" />
        </form>
    </body>
</html>

Hawn taħt hemm il-fajl login.jsp

<%@ page import = " java.util.* " %>
<% 
String username = request.getParameter("user_name"); 
if(username.equals("admin")){
    response.sendRedirect("home.jsp");  
}else{
    out.print("Invalid Username");  
}
%>
Metodu ta' Risposta Għan Impliċitu

JSP għandu metodi differenti biex jimmaniġġja oġġetti ta' Rispons, li huwa tat-tip HttpServeltResponse. Kull wieħed minn dawn il-metodi għandu l-funzjonalità tiegħu stess.

  • String encodeURL(String url): Jintuża biex jikkodifika URL partikolari billi jinkludi l-ID tas-sessjoni flimkien miegħu. Inkella, meta l-kodifikazzjoni mhix meħtieġa, se terġa 'lura l-URL mhux mibdula.
  • String encodeRedirectURL(String url): tintuża biex tikkodifika URL partikolari għall-użu fil-metodu sendRedirect. Inkella, meta l-kodifikazzjoni mhix meħtieġa, se terġa 'lura l-URL mhux mibdula.
  • boolean fihHeader(Isem String): jintuża biex jirritorna boolean li jindika jekk l-header tar-rispons tal-isem huwiex diġà stabbilit jew le.
  • null addDateHeader(Isem String, data twila): Dan jintuża biex iżżid header ta' rispons bl-isem speċifikat flimkien ma' valur ta' data.
  • null addHeader(Isem String, Valur String): jintuża biex iżżid header tar-rispons bl-isem speċifikat u valur.
  • boolean huwa Impenjat(): jintuża biex jirritorna valur boolean li jindika jekk ir-rispons kienx ikkonfermat jew le.
  • null addIntHeader(Isem String, valur int): Jintuża biex iżżid header ta' rispons bl-isem speċifikat flimkien ma' valur sħiħ.
  • null flushBuffer(): jintuża biex iġġiegħel kwalunkwe kontenut fil-buffer jinkiteb lill-klijent.
  • null addCookie(cookie tal-cookie): jintuża biex iżżid cookie partikolari mar-rispons.
  • null reset(): Jintuża biex ineħħi d-dejta kollha preżenti fil-buffer, l-header jew il-kodiċi tal-istatus.
  • null sendError(int sc): Jintuża biex jibgħat tweġiba ta' żball (permezz ta' kodiċi ta' status partikolari) lill-klijent tiegħek.
  • null sendError(int sc, String msg): tintuża biex tibgħat tweġiba ta' żball (permezz ta' string ta' status partikolari) lill-klijent tiegħek.
  • null resetBuffer(): tintuża biex tneħħi l-kontenut tal-buffer sottostanti mingħajr ma tneħħi l-kodiċi tal-istatus jew l-intestatura.
  • null sendRedirect(post ta' string): Jintuża biex jibgħat rispons ta' direzzjoni mill-ġdid għal żmien qasir lill-klijent.
  • null setBufferSize(daqs int): jintuża biex jiġi stabbilit daqs tal-buffer ideali għall-korp tar-rispons.
  • null setCharacterEncoding(Sett ta' karattri ta' string): tintuża biex tissettja l-kodifikazzjoni tal-karattri (normalment MIME charset – UTF 8) li għandha tintbagħat lill-klijent.
  • null setContentType(Tip ta' string): Jintuża biex jiġi stabbilit it-tip ta' kontenut mibgħut lill-klijent meta r-rispons ikun għadu ma ġiex ikkonfermat.
  • null setDateHeader(Isem is-string, data twila): tintuża biex tissettja header tar-rispons bl-isem speċifikat u l-valur tad-data.
  • null setContentLength(int len): jintuża biex jiġi stabbilit it-tul tal-korp tal-kontenut fir-rispons.
  • null setHeader(Isem String, Valur String): tintuża biex tissettja header tar-rispons bl-isem u l-valur speċifikati.
  • null setIntHeader(Isem String, valur int): tintuża biex tissettja header tar-rispons bl-isem speċifikat u valur sħiħ.
  • null setLocal(lok lokali): tintuża biex tissettja l-lokalizzazzjoni tat-tweġiba f'każ li t-tweġiba għadha ma ġietx salvata.
  • null setStatus(int sc): jintuża biex jiġi stabbilit il-kodiċi tal-istatus għat-tweġiba.
Eżempju Rispons oġġett impliċitu

Hawn taħt naraw eżempju ieħor ta 'oġġett impliċitu ta' Rispons li jimplimenta aġġornament fuq il-browser, billi juża l-metodu setIntHeader(), billi jikteb Sigħat, Minuti, Sekondi li jissimula arloġġ diġitali. Eżempju Clock.jsp

<%@ page import = "java.io.*,java.util.*" %>

<html>
   
   <head>
      <title>Auto Refresh Header Example</title>
   </head>
   
   <body>
      <center>
         <h2>Auto Refresh Header Example</h2>
         <%
            // Set refresh, autoload time as 5 seconds
            response.setIntHeader("Refresh", 5);
            
            // Get current time
            Calendar calendar = new GregorianCalendar();
            
            String am_pm;
            int hour = calendar.get(Calendar.HOUR);
            int minute = calendar.get(Calendar.MINUTE);
            int second = calendar.get(Calendar.SECOND);
            
            if(calendar.get(Calendar.AM_PM) == 0) 
               am_pm = "AM";
            else
               am_pm = "PM";
               String CT = hour+":"+ minute +":"+ second +" "+ am_pm;
               out.println("Current Time is: " + CT + "\n");
         %>
      </center>
   
   </body>
</html>

Issa tpoġġi l-kodiċi f'clock.jsp, tipprova tibda, se turi l-ħin tas-sistema kurrenti wara kull 5 sekondi.

Sommarju tal-intestaturi tar-rispons HTTP 1.1 l-aktar użati, mibgħuta lura lill-browser mis-server tal-web
  • Ħalli: Din l-intestatura tispeċifika l-metodi tat-talba (GET, POST, eċċ.) appoġġjati mis-server.
  • Kontroll tal-Cache: Din l-intestatura tispeċifika ċ-ċirkustanzi li taħthom id-dokument tar-rispons jista' jiġi miżmum fil-cache b'mod sigur. Jista' jkollu valuri pubbliċi, privati ​​jew mingħajr cache eċċ. Pubbliku jfisser li d-dokument jista 'jkollhom fil-cache, Privat ifisser li d-dokument huwa għal utent wieħed u jista' jinħażen biss f'caches privati ​​(mhux kondiviżi), u no-cache ifisser li d-dokument qatt m'għandu jiġi miżmum fil-cache.
  • konnessjoni: Din l-intestatura tgħid lill-browser jekk għandux juża konnessjonijiet HTTP persistenti jew le. Valur mill-qrib jgħid lill-browser biex ma jużax konnessjonijiet HTTP persistenti, u jżommu ħaj ifisser li juża konnessjonijiet persistenti.
  • Kontenut-Disposizzjoni: Din l-intestatura tippermettilek titlob li l-browser jitlob lill-utent biex isalva r-rispons fuq disk f'fajl bl-isem speċifikat.
  • Kodifikazzjoni tal-Kontenut: Din l-intestatura tispeċifika kif il-paġna ġiet kodifikata waqt it-trażmissjoni.
  • Kontenut-Lingwa: din l-intestatura tindika l-lingwa li biha jinkiteb id-dokument. Per eżempju, en, en-us, ru, eċċ.
  • Kontenut-Tul: Din l-intestatura tindika n-numru ta’ bytes fir-rispons. Din l-informazzjoni hija meħtieġa biss jekk il-browser tiegħek juża konnessjoni HTTP persistenti (keep-alive).
  • Tip ta 'Kontenut: Din l-intestatura tipprovdi t-tip Multipurpose Internet Mail Extension (MIME) tad-dokument tar-rispons.
  • Jiskadi: Din l-intestatura tispeċifika l-ħin li fih il-kontenut għandu jitqies bħala skadut u għalhekk m'għadux jinżamm fil-cache.
  • Modifikat l-aħħar: Din l-intestatura tindika meta d-dokument ġie modifikat l-aħħar. Il-klijent imbagħad jista 'jaħdef id-dokument fil-cache u jipprovdi data permezz ta' header ta 'talba If-Modified-Since fuq talbiet sussegwenti.
  • post: Din l-intestatura trid tkun inkluża fit-tweġibiet kollha li għandhom kodiċi tal-istatus fi żmien 300 sekonda. Dan jinnotifika lill-browser bl-indirizz tad-dokument. Il-browser jerġa’ jqabbad awtomatikament ma’ dan il-post u jġib id-dokument il-ġdid.
  • riffriskar: Din l-intestatura tispeċifika kemm il-browser għandu jitlob paġna aggornata. Tista' tispeċifika l-ħin f'numru ta' sekondi li warajh paġna tiġi aggornata.
  • Ipprova mill-ġdid-Wara: Din l-intestatura tista 'tintuża flimkien ma' tweġiba 503 (servizz mhux disponibbli) biex tgħid lill-klijent kemm jista 'jirrepeti t-talba.
  • Issettja l-cookies: Din l-intestatura tispeċifika cookie assoċjata mal-paġna.

Ercole Palmeri

Newsletter dwar l-innovazzjoni
Titlifx l-aktar aħbarijiet importanti dwar l-innovazzjoni. Irreġistra biex tirċevihom bl-email.

Artikoli riċenti

L-intelliġenza artifiċjali ġdida ta' Google tista' timmudella d-DNA, l-RNA u "l-molekuli kollha tal-ħajja"

Google DeepMind qed jintroduċi verżjoni mtejba tal-mudell ta 'intelliġenza artifiċjali tiegħu. Il-mudell imtejjeb il-ġdid jipprovdi mhux biss...

9 Mejju 2024

Nesploraw l-Arkitettura Modulari ta 'Laravel

Laravel, famuż għas-sintassi eleganti u l-karatteristiċi qawwija tiegħu, jipprovdi wkoll pedament sod għall-arkitettura modulari. Hemm…

9 Mejju 2024

Cisco Hypershield u l-akkwist ta 'Splunk Tibda l-era l-ġdida tas-sigurtà

Cisco u Splunk qed jgħinu lill-klijenti jaċċelleraw il-vjaġġ tagħhom lejn iċ-Ċentru tal-Operazzjonijiet tas-Sigurtà (SOC) tal-futur bi...

8 Mejju 2024

Lil hinn min-naħa ekonomika: l-ispiża mhux ovvja tar-ransomware

Ransomware iddomina l-aħbarijiet għal dawn l-aħħar sentejn. Ħafna nies huma konxji sew li l-attakki...

6 Mejju 2024

Intervent innovattiv fir-Realtà Augmentata, bi telespettatur Apple fil-Polyclinic Catania

Saret operazzjoni oftalmoplastika bl-użu tat-telespettatur kummerċjali Apple Vision Pro fil-Polyclinic Catania...

3 Mejju 2024

Il-Benefiċċji tal-Paġni tal-Kuluri għat-Tfal - dinja ta' maġija għall-etajiet kollha

L-iżvilupp tal-ħiliet bil-mutur multa permezz tal-kulur jipprepara lit-tfal għal ħiliet aktar kumplessi bħall-kitba. Biex ikkulurit...

2 Mejju 2024

Il-Futur qiegħed Hawnhekk: Kif l-Industrija tat-Tbaħħir qed tirrivoluzzjona l-Ekonomija Globali

Is-settur navali huwa qawwa ekonomika globali vera, li navigat lejn suq ta’ 150 biljun...

1 Mejju 2024

Il-pubblikaturi u l-OpenAI jiffirmaw ftehimiet biex jirregolaw il-fluss tal-informazzjoni pproċessata mill-Intelliġenza Artifiċjali

It-Tnejn li għadda, il-Financial Times ħabbret ftehim mal-OpenAI. FT tagħti liċenzja għall-ġurnaliżmu ta’ klassi dinjija tagħha...

April 30 2024