Programmēšana

JSP — īsa rokasgrāmata iesācējiem

2021. gada 30. oktobris

Satura rādītājs

Kas ir JavaServer Pages?

The JavaServer lapas (JSP) , servera puses tehnoloģija, palīdz izstrādātājiem izstrādāt tīmekļa lapas, kas izmanto HTML , XML , ZIEPES utt. To dēvē arī par Džakartas servera lapas . Izmantojot JSP, izstrādātāji var iegult Java kodu HTML valodu. JSP ir unikāli tagi, kas ļauj izmantot Java kods HTML valodā. Šīs atzīmes sākas un beidzas ar '<%’ un '%>' attiecīgi simboli. Lai palaistu JSP, ir nepieciešams tīmekļa serveris, kurā ir servleta konteiners. Piemēram, jūs varat izmantot Apache Tomcat vai Mols .

JSP ir veidots no Java servleti . Java servlet tiek saukta arī par Džakartas servletu. Izpildes laikā JSP tiek pārveidoti par servletiem; tāpēc tos sauc par servletiem. Parasti JSP tiek rakstīti teksta failos un tajos tiek iegulti HTML vai XHTML kodi, JSP darbības, XML elementi un JSP komandas. JSP spēlē lietotāja interfeisu lomu Java tīmekļa lietojumprogrammās. Visus JSP netiešos objektus, piemēram, pieprasījumu, sesiju, konfigurāciju, izeju, atbildi, lietojumprogrammu, lapu un lapas kontekstu, izveido tīmekļa konteiners .

Iespējams, esat saskāries ar tīmekļa lapu formām. Šo veidlapu mērķis ir apkopot datus no dažādiem lietotājiem. Šajās tīmekļa lapu veidlapās JSP tiek izmantots datu iegūšanai no lietotājiem kā ievade, sakārto šos datus datu bāzes formā un ģenerē tīmekļa lapas. JSP galvenais mērķis ir prezentēt XML un HTML dokumentu tipus. Taču tā var arī iesniegt dokumentus citos formātos, kā tas tiek izmantots OutputStream . JSP faila paplašinājums ir .jsp, .jspx, .jspf un interneta mediju veids ir lietojumprogramma/jsp.

Varat konvertēt jebkuru HTML failu par JSP failu, mainot faila paplašinājumu .html uz .jsp . Pēc paplašinājuma maiņas izmantojiet JSP tagus, lai HTML lapās pievienotu Java kodu. Izmantojot JPS, izstrādātāji var izveidot dinamisku tīmekli lapas un no platformas neatkarīgas tīmekļa lapas. Apskatīsim dažas nozīmīgas JSP funkcijas.

Apskatiet mūsu Cilvēka datora interfeisa rokasgrāmata kas noderēs iesācējiem.

JSP funkcijas

JSP ir viens no ērtiem veidiem, kā izveidot dinamisku tīmekļa saturu. Ir vairāki iemesli, kāpēc izstrādātāji izvēlas JSP vairāku lietojumprogrammu izveidei. Šeit ir daži Jakarta Server Pages īpaši atlasīti līdzekļi.

  • JSP ir darbības un pielāgoti tagi. Tāpēc JSP koda garums ir mazs.
  • Ir vienkārši rakstīt kodu JSP, jo tas iegulst Java programmēšanas valodu HTML vai XML lapās.
  • JSP ļauj izstrādātājiem apkopot datus un ievietot tos datu bāzē vai lasīt vai ierakstīt datus datu bāzē.
  • Šī servera puses tehnoloģija ir ļoti elastīga, pārnēsājama un izturīga, jo tā nav atkarīga no pārlūkprogrammas vai servera.
  • Nav prasības, lai JSP kods tiktu apkopots atkal un atkal. Tas ir neatkarīgs no platformas, un to var palaist jebkurā konsolē bez atkārtotas kompilēšanas.
  • JSP ietver netiešus objektus, servletus un pielāgotus tagus. Tāpēc izstrādātāji ģenerē interaktīvas un reāllaika tīmekļa lapas.
  • JSP programmās varam iegult arī citas skriptu valodas, piemēram, JavaScript, Perl, VBScript utt. Pēc noklusējuma Java ir JSP skriptu valoda.

Kāpēc izmantot Java servera lapas?

JSP izmantošanai ir vairākas priekšrocības. Tie darbojas līdzīgi kā Common Gateway Interface (CGI) . Tīmekļa serveri izpilda visas programmas, kas ģenerē dinamiskas tīmekļa lapas kopējā vārtejas saskarnē. Salīdzinot JSP ar CGI, JSP ir izturīgāks un piedāvā izstrādātājiem vairāk priekšrocību. Šeit ir daži iemesli, kas palīdzēs saprast, kā JSP ir izdevīgāks par CGI.

  • Izstrādātāji var pievienot dinamiskos elementus HTML, izmantojot JSP. Ja viņi izmanto CGI, viņiem ir jāizveido atsevišķs CGI fails dinamiskajiem elementiem.
  • JSP tiek apkopoti un vēlāk palaisti jebkurā platformā. No otras puses, CGI ielādē tulku un interpretē kodu ikreiz, kad pieprasāt tīmekļa lapu.
  • Jūs varat izmantot JSP un servlets kopā, lai uzraudzītu biznesa loģiku. Java servleta veidņu dzinēji atbalsta šo apvienoto JSP un servleta modeli.
  • JSP ir Java servletu augsta līmeņa abstrakcija. Šīs lapas tiek izveidotas Java servleta saskarnes augšējā līmenī. Tādējādi viņi var piekļūt visām primārajām Java saskarnēm, piemēram, JAXP, JDBC, JNDI utt.
  • MVC arhitektūrā JSP tiek izmantots kā skata slānis.
  • Visas uzņēmuma līmeņa lietojumprogrammas tiek izpildītas platformā, ko sauc par Java EE. Java EE platforma ietver JSP.

JSP priekšrocības

JSP ir efektīvāka un izturīgāka par citām tehnoloģijām, piemēram, JavaScript, Static HTML, Pure Servlets utt. Šeit mēs redzēsim, kā JSP ir izdevīgāks salīdzinājumā ar citām tehnoloģijām.

  • Viena no vēlamākajām JSP priekšrocībām ir tā, ka tā izmanto Java programmēšanas valodu tās dinamiskās daļas rakstīšanai. Tas neizmanto Visual Basic koda rakstīšanai. Otrkārt, tas ir saderīgs ar citiem darbojas sistēmas.
  • Izmantojot JSP, mēs ievietojam Java kodu HTML lapās. Tādējādi HTML ir viegli pārveidot.
  • Tas izgūst datus no tīmekļa veidlapām un savieno tos ar datu bāzi.
  • Tīmekļa lietojumprogrammā JSP atdala biznesa loģikas slāni no prezentācijas slāņa.
  • JSP izmanto Java programmēšanas valodu. Tādējādi tas atbalsta arī Java daudzpavedienu koncepciju.

Pirms turpināt JSP apmācību, mēs jums palīdzēsim iestatīt JSP vidi. Turklāt jums ir nepieciešamas detalizētas zināšanas par Java programmēšanu. Pastāstiet mums tagad, kā iestatīt JSP vidi darbvirsmā.

Kā iestatīt JSP vidi?

Kāpēc jums ir jāiestata JSP vide? Vai ir nepieciešams labot JSP vidi darbvirsmā? Ja vēlaties izveidot dinamisku tīmekļa saturu vai tīmekļa lietojumprogrammas, izmantojot JSP, jums ir jāiestata JSP vide. Šī vide ļauj izstrādātājiem rakstīt JSP programmas, tās kompilēt, izpildīt uz jebkuras platformas. Mēs izskaidrosim JSP vides iestatīšanu, veicot tālāk norādītās darbības.

Java izstrādes komplekta iestatīšana

Pirmais solis ir salabot Java izstrādes komplekts (JDK) darbvirsmā. Java izstrādes komplekts ir nepieciešams, jo mēs ievietojam Java kodu HTML kodā, izmantojot JSP. Tāpēc JSP vidē vispirms ir jālabo JDK vide.

Pirmkārt, jums ir jālejupielādē Java programmatūras izstrādes komplekts (SDK) no Oracle oficiālā vietne

Pēc lejupielādes atveriet .exe failu un instalējiet un konfigurējiet to, izmantojot norādītās vadlīnijas. Vēlāk jums jāiestata divi vides mainīgie, CEĻŠ un JAVA_HOME . Jums ir jāiestata CEĻŠ mainīgs atkarībā no darbvirsmas atrašanās vietas java , t.i., java_install_dir/bin, un JAVA_HOME mainīgs atkarībā no atrašanās vietas javac , t.i., java_install_dir .

Ja jums ir Windows sistēma un SDK fails ir instalēts vietnē C:jdk1.5.0_20 atrašanās vietu, pievienojiet šo ceļu uz C:autoexec.bat failu.

|_+_|

Ja esat instalējis SDK failu sistēmā Windows NT, 2000 vai XP, pastāv cits iestatīšanas veids CEĻŠ un JAVA_HOME vides mainīgie. Jums ir jānoklikšķina ar peles labo pogu Mans dators , atlasiet Īpašības , ick on Papildu , un dodieties uz Vides mainīgie . Šeit jums ir jāiestata CEĻŠ uz atrašanās vietu java , t.i., Cjdk1.5.0_20in . Pēc PATH mainīšanas noklikšķiniet uz labi pogu.

Tagad mēs zināsim, kā iestatīt PATH un JAVA_HOEM vides mainīgos UNIX sistēmām, piemēram, Solaris, Linux , utt. Pieņemsim, ka esam instalējuši SDK failu /usr/local/jdk1.5.0_20 . Jums ir jāpievieno divas tālāk norādītās komandas .cshrc failu. Apsveriet, ka mēs izmantojam C apvalku.

|_+_|

Ja izmantojat integrētās izstrādes vides (IDE) rīkus, piemēram, Eclipse, Sun ONE Studio, JBuilder utt., paņemiet Java programmas paraugu, kompilējiet un palaidiet to, lai pārbaudītu, vai jūsu IDE rīks zina, kur jūsu sistēmā ir instalēta Java.

Pēc Java izstrādes komplekta instalēšanas un PATH un JAVA_HOME vides mainīgo iestatīšanas nākamais solis ir tīmekļa servera iestatīšana.

Tomcat tīmekļa servera iestatīšana

Mūsdienās ir pieejami vairāki tīmekļa serveri, kas atbalsta dinamisku tīmekļa lietojumprogrammu izstrādi, izmantojot JSP vai Servlets. Mēs izmantosim Tomcat tīmekļa serveri, kas ir atvērtā koda un bez maksas lietojams. Tomcat ir īss vārds Apache Tomcat. To var bez maksas izmantot ikviens, un tas ir saderīgs ar vairākām serveru tehnoloģijām, piemēram, JavaServer Pages, Servlets, WebSocket un Java Expression Language. Java kods Tomcat tiek palaists uz tīra Java HTTP tīmekļa serveris.

Apache Tomcat ir vairāki komponenti. Informējiet mūs par katru komponentu un tā lietojumu.

  • Tomcat servleta konteiners ir Ketrīna , kas izmanto Sun Microsystem specifikācijas JSP un servlets. Lietotājvārds, parole un lietotāju lomas atrodas Realm elementā.
  • Tomcat savienotāja sastāvdaļa ir Koijots , kas ir saderīgs ar HTTP 1.1 protokolu.
  • Tomcat JSP dzinējs ir Džaspis . Šī programma parsē JSP teksta failu un apkopo to Java kodā.
  • Vēl viena Tomcat sastāvdaļa ir Klasteris , kas pārvalda lielas tīmekļa lietojumprogrammas.

Šeit ir norādītas darbības, lai lejupielādētu Apache Tomcat tīmekļa serveri.

  • Pirmkārt, jums ir jālejupielādē Apache Tomcat no tā oficiālā vietne

Jums ir jālejupielādē jaunākā Apache Tomcat versija.

  • Pēc programmatūras lejupielādes novietojiet lejupielādēto noteiktā vietā. Piemēram, ja instalējāt Tomcat Windows sistēmā, atrodiet lejupielādēto failu C:apache-tomcat-5.5.29 . Linux vai Unix sistēmām ievietojiet failu /usr/local/apache-tomcat-5.5.29 .
  • Pēc faila atrašanas izveidojiet CATALINA_HOME vides mainīgais. Iestatiet šo mainīgo uz tomcat faila atrašanās vietu, kā minēts iepriekš, t.i., Windows sistēmām iestatiet mainīgo uz C:apache-tomcat-5.5.29 , un Linux sistēmām iestatiet mainīgo uz /usr/local/apache-tomcat-5.5.29 .

Apache Tomcat iestatīšana ir veiksmīgi pabeigta. Ja esat instalējis Tomcat operētājsistēmā Windows, izpildiet jebkuru no divām komandām, lai palaistu Tomcat lietojumprogrammu.

|_+_|

vai

|_+_|

Ja jūsu Tomcat lietojumprogramma ir instalēta Linux sistēmā, varat ierakstīt jebkuru no tālāk norādītajām komandām, lai palaistu Tomcat lietojumprogrammu.

|_+_|

Or

|_+_|

Kad esat veiksmīgi atvēris Tomcat lietojumprogrammu, apmeklējiet http://localhost:8080/ . Jūs pamanīsit visas Tomcat esošās noklusējuma lietojumprogrammas. Varat konfigurēt un palaist Tomcat lietojumprogrammu, izmantojot dokumentāciju, kas pieejama Tomcat oficiālajā vietnē.

Tagad mēs redzēsim komandas Tomcat lietojumprogrammas aizvēršanai Windows un Linux sistēmās. Ir divas komandas Tomcat lietojumprogrammas izslēgšanai Windows sistēmās. Tie ir šādi:

|_+_|

Or

|_+_|

Linus sistēmām Tomcat lietojumprogrammas aizvēršanai varat izpildīt jebkuru no divām komandām.

|_+_|

Or

|_+_|

CLASSPATH iestatīšana

Mēs apspriedīsim, kā iestatīt CLASSPATH Windows un Linux sistēmām. Ja instalējāt Tomcat Windows sistēmā, izpildiet tālāk norādītās koda rindas, lai iestatītu CLASSPATH.

|_+_|

Ja jūsu Windows sistēmai ir NT, 2000 vai XP versijas, ar peles labo pogu noklikšķiniet uz Mans dators , atlasiet Īpašības , klikšķiniet uz Papildu , un dodieties uz Vides mainīgie . Šeit jums ir jāmaina CLASSPATH vērtība un jānoklikšķina uz labi pogu.

Ja esat instalējis Tomcat Linux sistēmā, pievienojiet tālāk norādītās divas rindiņas .cshrc failā. Apsveriet, ka mēs izmantojam C apvalku.

|_+_|

Kā ir JSP arhitektūra?

Mēs esam iestatījuši vidi JSP. Mēs esam izmantojuši Apache Tomcat JSP lapu palaišanai. JSP lapu apstrādei ir JSP dzinējs, ko sauc par konteineru. Apache Tomcat ir iebūvēts JSP dzinējs, ko sauc Džaspis . Tāpēc, izmantojot Jasper, izstrādātāji var izveidot JSP lapas. Konteiners un tīmekļa serveris darbojas kopā, lai nodrošinātu izpildlaika vidi jeb JSP un visus citus pakalpojumus, kas nepieciešami JSP.

JSP

Iepriekš redzamā diagramma parāda JSP konteinera un JSP failu atrašanās vietu un jebkurā tīmekļa lietojumprogrammā. Tagad mēs izskaidrosim procesu, kā tīmekļa serveris ģenerē dinamisku tīmekļa lapu, izmantojot JSP.

  • Pirmkārt, klients vai pārlūkprogramma no Windows, Linux vai macOS sistēmas nosūta HTTP pieprasījumu tīmekļa serverim, izmantojot internetu, kā parādīts iepriekš redzamajā diagrammā.
  • Tīmekļa serverī ir JSP dzinējs, kurā tiek glabāti visi JSP faili. Saņemot HTTP pieprasījumu no klienta, tīmekļa serveris identificē, ka pieprasījums attiecas uz JSP lapu. Pēc tam tas pārsūta šo pieprasījumu JSP dzinējam. Tīmekļa serveris pārsūta HTTP pieprasījumu uz JSP lapu, izmantojot failu ar .jsp vai .html paplašinājumu vai izmantojot URL.
  • Tagad JSP saņem HTTP pieprasījumu, ko klients nosūtīja tīmekļa serverim. Mēs zinām, ka HTTP pieprasījums bija JSP lapai. Tāpēc programma ielādē šo konkrēto lapu no diska un pārveido to par servleta saturu. Citiem vārdiem sakot, viss veidnes teksts tiek mainīts uz println() priekšrakstiem. No otras puses, šī transformācija arī pārvērš visas JSP lapas Java kodā.
  • Pieprasītā JSP lapa tiek pārveidota par servletu. Tāpēc JSP dzinējs servletu apkopo izpildāmā klasē. Vēlāk HTTP pieprasījumu no klienta JSP dzinējs nosūta uz servleta dzinēju.
  • Gan servleta, gan JSP dzinēji ir tīmekļa servera daļas. Servleta dzinējs izpilda JSP dzinēja apkopoto izpildāmo klasi un ģenerē HTML formāta izvadi. Tīmekļa serverī ir vēl viens komponents, HTTP atbilde. Servleta programma nosūta HTML izvadi uz HTTP atbildi.
  • Visbeidzot, tīmekļa serveris nosūta HTTP atbildi pārlūkprogrammai, izmantojot internetu, statiska HTML satura veidā.

Tāpēc jūs varat rakstīt servletu, izmantojot JSP lapu ar ļoti mazām Java programmēšanas prasmēm. No iepriekš minētās JSP apstrādes mēs varam secināt, ka tas darbojas tāpat kā servleta, izņemot tulkošanas fāzi. Tas atbilst 3 līmeņu arhitektūrai, kurā tīmekļa serveris atbalsta JSP lapu. Tagad mēs virzīsimies uz JSP dzīves ciklu. Šeit mēs apspriedīsim, kā JSP fails iziet cauri dažādām fāzēm un kā tas atrodas tīmekļa konteinerā.

JSP dzīves cikls

Jebkuras sastāvdaļas dzīves cikls sākas, kad tas ir izveidots, un beidzas, kad tas tiek iznīcināts. JSP dzīves cikls ir līdzīgs servleta dzīves ciklam. Papildu fāze JSP dzīves ciklā tiek izmantota JSP lapas konvertēšanai un kompilēšanai servletā. JSP dzīves ciklu var definēt kā JSP lapas izveidi, pārveidošanu par servletu, servleta dzīves ciklu un JSP lapas iznīcināšanu. Tagad sīkāk aplūkosim JSP dzīves ciklu.

JSP dzīves cikls ietver četrus galvenos ceļus:

  1. Kompilācija
  2. Inicializācija
  3. Izpilde
  4. Satīrīt

Visi šie četri JSP dzīves cikla ceļi ir līdzīgi servleta dzīves cikla ceļiem. Zemāk redzamā diagramma ilustrē iepriekš minētās fāzes.

JSP

Tagad detalizēti apspriedīsim katru JSP dzīves cikla posmu un tā aprakstu.

    JSP kompilācija

Kad klients vai pārlūkprogramma nosūta HTTP pieprasījumu JSP lapai, tīmekļa serverī esošā JSP programma pārbauda, ​​vai pieprasījuma lapa ir jāapkopo. JSP dzinējs apkopo pieprasīto lapu, ja tā nebija iepriekš apkopota vai tā netika apkopota pēc lapas modificēšanas. Lapas apkopošana ietver trīs tālāk norādītās darbības.

  • Pieprasīto lapu parsē JSP dzinējs.
  • Pēc tam tas pārveido JSP lapu par servletu.
  • Visbeidzot, tiek kompilēts servlets.

Kad JSP lapa tiek pārveidota par servletu, .jsp fails tiek pārveidots par a .java failu. Sastādīšanas laikā .java pēc tam fails tiek pārveidots par a .klase failu.

    JSP inicializācija

Pēc kompilācijas pabeigšanas notiek klases ielādes process. JSP avots ielādē servleta klasi, un pēc tam šī servleta klase tiek ielādēta konteinerā. Servleta klases gadījums tiek izveidots konteinerā. Pēc servleta klases gadījuma izveides, jspInit () metode tiek izsaukta. Šī metode tiek izsaukta tikai vienu reizi JSP dzīves ciklā. Lai veiktu JSP specifisku inicializāciju, jums ir jāignorē jspInit () metode šādi:

|_+_|

Kad jspInit () Metode ir instantizēta, jums ir jāizveido datu bāzes savienojums un failā jāģenerē uzmeklēšanas tabulas.

    JSP izpilde

Pēc tam, kad jspInit () metode ir instantiēta, _jspService() tiek izmantota metode. Šī metode apkalpo visus klienta nosūtītos pieprasījumus tīmekļa serverim, līdz JSP tiek iznīcināts.

The _jspService() metode ietver divus dažādus parametrus, HttpServletRequest un HttpServletResponse . Šī metode ir definēta šādi:

|_+_|

The _jspService() metode atbild uz visiem klienta pieprasījumiem. Ikreiz, kad klients izdod pieprasījumu, _jspService() metode tiek izsaukta. Tas arī atbild uz visiem septiņiem HTTP pieprasījumiem, piemēram GŪT , DZĒST , POSTĪT , PUT uc Varat ignorēt _jspService() metodi.

    JSP tīrīšana:

Pēdējais JSP dzīves cikla posms ir tīrīšana, kurā JSP tiek iznīcināts. Konteiners noņem JSP un neizmanto to. Šī metode ir tāda pati kā servleta iznīcināšanas metode. Ja nepieciešams aizvērt kādus failus datu bāzē vai aizvērt datu bāzes savienojumu, varat ignorēt jspDestroy() metodi. Metodes jspDestroy() sintakse ir šāda:

|_+_|

Sintakses JSP

Šajā segmentā mēs apgūsim vairākus JSP elementu sintaksi, piemēram, darbības, direktīvas, netiešus objektus, komentārus, izteiksmes utt. Šī apmācības sadaļa ir ļoti nozīmīga JSP domēna iesācējiem. Tālāk ir sniegts īss ceļvedis par JSP sintaksi.

    Skripts:

Scriptlet ir viens no spēcīgajiem JSP elementiem. Skriptletā varam saglabāt Java paziņojumus, metodes, mainīgos un izteiksmes. Turklāt tajā var saglabāt arī jebkuras skriptu valodas elementus. Zemāk ir Scriptlet elements Sintakse:

Sintakse:

|_+_|

Iepriekš minēto Scriptlet sintaksi var uzrakstīt kā XML ekvivalentu šādā formātā:

|_+_|

Visi HTML tagi, JSP elementi un jebkurš cits teksts vienmēr tiek rakstīts ārpus Scriptlet tagiem. Mēs redzēsim vienkāršu JSP piemēru HTML lapā.

Piemērs:

|_+_|

Tomcat serverim jābūt instalētam darbvirsmā, un tā vide ir jāiestata šīs programmas palaišanai. Lai iestatītu Tomcat servera vidi, veiciet iepriekš minētās vides iestatīšanas darbības. Mēs saglabāsim iepriekš minēto failu kā firstjsp.jsp iekš C:apache-tomcat7.0.2webappsROOT mapi. Pēc faila saglabāšanas dodieties uz pārlūkprogrammu un ierakstiet URL, http://localhost:8080/firstjsp.jsp. Iepriekš minētais kods parādīs JSP īso rokasgrāmatu un jūsu sistēmas IP adresi.

    Deklarācijas

Ja Java kodā ir jāizmanto mainīgie vai metodes, JSP deklarācijas tos deklarē. Pirms Java kodā izmantojat kādu mainīgo vai metodi, tas ir jādeklarē, izmantojot JSP deklarāciju. JSP deklarāciju sintakse ir šāda:

Sintakse:

|_+_|

Iepriekš minētā sintakse ir uzrakstīta XML formātā šādi:

|_+_|

Tagad apskatīsim JSP deklarāciju piemēru.

Piemērs:

|_+_|
    Izteiksme

Izteiksme JSP satur skriptu valodas izteiksmes. Šīs izteiksmes var novērtēt, pārveidot par virkni un pievienot JSP failam, kurā parādās izteiksme. Tekstam varat izmantot JSP izteiksmes, jo to var pārveidot par virkni. HTML tagos nav obligāti jāmarķē JSP izteiksmes. Viena svarīga lieta, kas jāatceras, rakstot JSP izteiksmi, ir tas, ka izteiksmes beigšanai netiek izmantots semikolu.

Sintakse:

|_+_|

Iepriekš minēto sintaksi var ierakstīt tās XML ekvivalentā šādi:

|_+_|

Šis piemērs palīdzēs jums saprast, kā izmantot JSP izteiksmi HTML.

|_+_|

Jūs saņemsiet izvadi kā pašreizējo datumu un laiku šādi:

|_+_|
    komentāri

Komentāri ir paziņojumi, kas nav paredzēti izpildei. Tie ir paredzēti tikai programmētājiem un lasītājiem. JSP konteiners ignorē komentārus. Ja vēlaties paslēpt kādu JSP programmas daļu, varat komentēt šo daļu, izmantojot JSP komentārus. Tālāk ir norādīta JSP komentāru sintakse.

Sintakse:

|_+_|

Mēs izpildīsim tālāk redzamo piemēru, kurā ir JSP komentārs.

Piemērs:

|_+_|

Šī koda rezultāts ir norādīts zemāk.

|_+_|

JSP ir daudz citu veidu, kā norādīt komentārus. Tālāk ir norādītas sešas dažādas komentāru sintakses un to lietojumi:

Iepriekš minētais tiek saukts par HTML komentāru, un pārlūkprogramma ignorē komentārā rakstītās rakstzīmes vai vārdus.

    %>

nozīmē statisku burtu.

    <\%

Iepriekš minētais komentārs attiecas arī uz statisku literāru.

Tas norāda atribūtā izmantoto dubultpēdiņu.

    '

Tas norāda vienu atribūtā izmantoto pēdiņu.

    direktīvas

JSP ir trīs direktīvas, , , un . The direktīva tiek izmantota, lai definētu lapas atribūtus, piemēram, kļūdu lapu, skriptu valodu un buferizācijas prasības. Otra direktīva, , ietver konkrētu failu, kas tiek izmantots JSP dzīves cikla tulkošanas fāzē. Visbeidzot, direktīva tiek izmantota, lai deklarētu ciļņu bibliotēku un pielāgotas darbības, kas nepieciešamas JSP lapā. Ja tiek izmantotas JSP direktīvas, tās ietekmē servleta klases struktūru. Šeit ir JSP direktīvas sintakse.

|_+_|
    Darbības

Darbības ir jau definētas funkcijas. JSP darbības tiek izmantotas, lai kontrolētu servleta dzinēja darbību. Šīs darbības pievieno konstrukciju XML kodā. Izmantojot JSP darbības, varat dinamiski ievietot jebkuru failu, izveidot Java spraudņa HTML vai atkārtoti izmantot JavaBeans komponentus. Tālāk ir norādīta JSP darbību sintakse.

Sintakse:

|_+_|

Tālāk ir norādītas dažas nozīmīgas JSP darbības un to apraksts:

    jsp:useBean: šī darbība ģenerē vai identificē JavaBean.jsp:getProperty: Varat izmantot darbību jsp:getProperty, lai izvadei pievienotu JavaBean rekvizītu.jsp:setProperty: šī darbība labo JavaBean rekvizītu.jsp:include: kad lietotājs pieprasa lapu, šī darbība pievieno failu.jsp: spraudnis: tas izveido OBJEKTA vai EMBED tagu un pārlūkprogrammai raksturīgu kodu Java spraudnim.jsp:attribute: šī darbība tiek izmantota, lai definētu XML elementa atribūtu, kas ir dinamiski definēts.jsp: uz priekšu: šī darbība novirza lietotāju uz jauno lapu.jsp:element: ja nepieciešams dinamiski definēt XML elementus, izmantojiet šo darbību.jsp:teksts: šī darbība ļauj lietotājiem pievienot veidnes tekstu JSP lapai.jsp:body: To izmanto, lai definētu XML elementa pamattekstu, kas tiek definēts dinamiski.
    Netieši objekti

JSP ir deviņi netieši objekti, pieprasījums, atbilde, sesija, izeja, pageContext, konfigurācija, lietojumprogramma, lapa un izņēmums. Sīkāk pastāstiet mums par katru netiešo objektu šeit.

    pieprasījumu: Pieprasījuma objekts ir HttpServletRequest, kas saistīts ar klienta pieprasījumu.atbildi: atbildes objekts ir HttpServletResponse, kas saistīts ar servera atbildi klientam.sesija: Šis objekts ietver HttpSession un ir saistīts ar klienta pieprasījuma objektu.ārā: ir ārpusē vēl viens netiešs objekts. To izmanto, lai nosūtītu izvadi klientam, izmantojot PrintWriter objektu.lapas konteksts: šis netiešais objekts norāda serverim raksturīgu līdzekļu pielietojumu. Viens serverim raksturīgās funkcijas piemērs ir JspWriters.konfigurācija: Šis objekts ietver ServletConfig objektu, kas tiek izmantots ar JSP lapu.pieteikumu: JSP objekts ServletContext tiek izmantots ar lietojumprogrammas kontekstu.lappuse: lapas netiešais objekts izsauc visas metodes, kuras nosaka servleta klase.Izņēmums: norādītais JSP var piekļūt izņēmuma datiem, izmantojot objektu Exception.
    Kontroles plūsmas paziņojumi

JSP izmanto arī kontroles plūsmas paziņojumus, lēmumu pieņemšanas paziņojumus un cilpas. Šeit mēs redzēsim, kā lēmumu pieņemšanas paziņojums un cilpas tiek izmantotas JSP programmēšanā.

Lēmumu pieņemšanas paziņojumi

Lēmumu pieņemšanas paziņojumi tiek izmantoti, lai pieņemtu lēmumu par pieejamajām izvēlēm. Ir divi veidi, kā īstenot lēmumu pieņemšanas paziņojumu. Viens izmanto priekšrakstu if_else, bet cits izmanto reģistra maiņas priekšrakstu. Katrs if un else nosacījums ir iekļauts atsevišķos skriptos. Apskatīsim if_else priekšraksta piemēru JSP.

Piemērs:

|_+_|

Šeit mēs esam deklarējuši “month=3” un norādījuši nosacījumus priekšrakstos if_else. Tāpēc izvade būs:

|_+_|

Tagad mēs ieviesīsim slēdzi… gadījuma paziņojumus. Tālāk norādītais kods ievērojami atšķiras no iepriekš minētā, jo nosacījumi tālāk norādītajā kodā ir norādīti vienā skriptā.

Piemērs:

|_+_|

Izvade:

|_+_|

Cilpas paziņojumi

Mēs izmantojam cilpu programmā, lai noteiktu instrukciju noteiktu noteiktu skaitu reižu. JSP atbalsta trīs dažādu veidu cilpas for, while un do...while. Tālāk aplūkosim katra cilpas veida piemērus.

Ciklai:

|_+_|

Izvade:

|_+_|

Cikla laikā:

|_+_|

Izvade:

|_+_|
    Operatori JSP

Visi Java atbalstītie loģiskie un aritmētiskie operatori tiek izmantoti JSP. Operatori tiek izmantoti JSP izteiksmēs to novērtēšanai. Vispirms tiek novērtēts operators ar augstāko prioritāti un visbeidzot tiek novērtēts ar zemāko prioritāti. Mēs esam uzskaitījuši visus JSP operatorus ar augstāko prioritāti vispirms, otro augstāko prioritāti un tā tālāk.

    Postfix: ir trīs postfix operatori “()”. '[]', un '.'. Visiem šiem operatoriem ir asociativitāte no kreisās uz labo pusi.Unārs: Unārie operatori ir “++”, “–”, “!” un “~”, kuriem ir asociativitāte no labās puses uz kreiso pusi.Reizināšanas: ir trīs reizināšanas operatori — “*”, “/” un “%”. Viņiem ir asociativitāte no kreisās uz labo pusi.Piedeva: piedevu operatori ir “+” un “-”. Viņiem ir arī asociativitāte no kreisās uz labo pusi.Shift: Shift operatori, '>>', '>>>' un '<<’ have left to right associativity. Relāciju: ir četri relāciju operatori, “>”, “=” un “<=’. All of them have left to right associativity. Vienlīdzība: Vienlīdzības operatori ir “==” un “!=” ar asociativitāti no kreisās uz labo pusi.Bitu UN: Bitu UN operatoram (&) ir asociativitāte no kreisās uz labo pusi.Bitu XOR: bitu virzienā esošajam XOR operatoram (^) ir asociativitāte no kreisās uz labo pusi.Bitu virzienā VAI: bitu VAI operatoram (|) ir asociativitāte no kreisās uz labo pusi.Loģiski UN: loģiskajam operatoram UN (&&) ir saistība no kreisās uz labo pusi.Loģiski VAI: loģiskajam operatoram VAI (||) ir saistība no kreisās uz labo pusi.Nosacīti: Nosacījuma operatoram (?:) ir tiesības uz kreiso asociativitāti.Piešķiršana: ir vairāki piešķiršanas operatori, piemēram, =, +=, -+, *=, %=, /=, >>=,<<=, &=, ^=, and |=. All these operators have the right to left associativity. Paragrāfs: komata operatoram (') ir asociativitāte no kreisās uz labo pusi.

JSP atbalsta piecus dažādus literāļus vai datu tipus: Būla, vesela skaitļa, peldošā komata, virknes un NULL. Rezultātā Būla burts atgriež patiesu vai nepatiesu. Skaitļa norādīšanai tiek izmantots vesels skaitlis, un JSP programmā decimālskaitļu deklarēšanai tiek izmantots peldošais komats. String datu tips JSP atšķiras no Java valodas datu tipa. Datu tips NULL norāda nulles vērtību.

JSP darbības

Mēs esam redzējuši, kādas ir JSP darbības. Mēs esam redzējuši arī visas JSP darbības iepriekš sniegtajā īsumā. Darbības nav nekas cits kā funkcijas, kas regulē JSP dzinēja darbību. Atcerēsimies JSP darbības sintaksi.

Sintakse:

|_+_|

JSP darbības ir jsp:include, jsp:useBean, jsp:setProperty, jsp:getProperty, jsp:forward, jsp:element, jsp:plugin, jsp:attribute, jsp:body un jsp:text. Visām šīm JSP darbībām ir divi kopīgi komponenti — ID un darbības joma.

ID komponents tiek izmantots, lai unikāli identificētu jebkuru JSP darbību. Šis JSP darbības komponents tiek izmantots JSP programmā, definējot veicamo darbību. Vēl viens elements ir joma, ko izmanto JSP darbības dzīves cikla identificēšanai. Izmantojot darbības ID, tiek noteikts tās kalpošanas laiks. Tāpēc ID elements un jomas elements ir tieši proporcionāli. Tvēruma komponentam var būt iespējamās vērtības: lapa, sesija, pieprasījums vai lietojumprogrammas.

Darbība

UseBean darbība JSP vispirms atrod objektu, kam ir ID un Scope atribūti. Ja objekts netiek atrasts, šī darbība izveido objektu konkrētajam ID un tvēruma atribūtiem. Tālāk ir norādīts veids, kā ielādēt useBean klasi.

|_+_|

Pēc pupiņu klases ielādes varat izmantot pārējās divas JSP darbības, jsp:setProperty un jsp:getProperty . Šīs darbības tiek izmantotas pupiņu rekvizītu modificēšanai un iegūšanai. UseBean darbībai tiek izmantoti trīs dažādi atribūti , klasē , veids un beanName. The klasē atribūts piešķir pupiņu pakotnes nosaukumu. Jūs varat izmantot veids elements, lai norādītu mainīgā tipu objektam, uz kuru mēs atsaucamies. Visbeidzot, beanName nodrošina pupiņas nosaukumu. Metode instantiate() norāda pupiņu nosaukumu.

Darbība

Darbība tiek izmantota, lai iestatītu pupiņas īpašumu. Vienīgā prasība pupiņu īpašību iestatīšanai ir vispirms jādefinē pupiņa. Ir divi veidi, kā izmantot šo darbību:

Pirmais veids ir izmantot komponentu ārpusē un pēc tam.

|_+_|

Iepriekš minētajā sintaksē darbība tiek izpildīta, pat ja jaunais elements nav iemiesots vai esošs nav atrasts.

Vēl viens darbības definēšanas veids ir jsp:useBean komponentā.

|_+_|

Atšķirībā no pirmā veida, izmantojot , otrais veids tiek izpildīts tikai tad, ja tiek atrasts esošais vai tiek izveidots jauns.

jsp:setProperty ietver četrus dažādus atribūtus, nosaukums , īpašums , vērtību , un stop . The nosaukums atribūts piešķir nosaukumu pupai, kuras rekvizīts ir jāiestata. Vēl viens atribūts, īpašums , definē īpašumu. The vērtību ir īpašumam piešķirtā vērtība, un stop atribūts definē parametra nosaukumu, ko saņem rekvizīts.

Darbība

Mēs esam redzējuši, ka darbība jsp:setProperty nosaka rekvizīta vērtību. Šeit darbība nosaka īpašuma vērtību. Pēc vērtības iegūšanas tas pārveido to par virkni un pievieno rezultātam.

Darbībai ir tikai divi atribūti: nosaukums un rekvizīts. The nosaukums atribūts definē pupiņu nosaukumu, kam ir konkrēts rekvizīts, un īpašums atribūts nosaka pupiņas īpašuma nosaukumu. Tālāk ir norādīta darbības sintakse:

|_+_|

Apskatīsim vienu piemēru, kas satur piemērs pupa. Saglabājiet zemāk esošo failu kā PiemērsBean.java .

|_+_|

Pēc šī koda ierakstīšanas PiemērsBean.java failu, kompilējiet to, lai ģenerētu PiemērsBean.class failu. Tagad nokopējiet PiemērsBean.class failu uz C:apache-tomcat-7.0.2webappsWEB-INFclassesaction mapi. Pārliecinieties, vai esat iestatījis arī CLASSPATH mainīgs.

Tagad jums ir jāizveido main.jsp fails un jāieraksta tālāk norādītais kods.

|_+_|

Izvade:

|_+_|

Darbība

Ja vēlaties JSP programmā ievietot Java elementus, tiek izmantota darbība. Šī darbība arī identificē pārlūkprogrammas veidu un pievieno vai tagus JSP programmā. Pieņemsim, ka jums ir nepieciešams Java komponents, kura spraudnis nav pieejams. Veicot darbību, tiek lejupielādēts spraudnis, kas nepieciešams Java komponenta izpildei, piemēram, Applet vai Bean. Spraudņa darbībā ir vairāki atribūti, kas atbilst HTML tagiem.

Zemāk ir viens vienkāršs darbības piemērs.

|_+_|

Iepriekš minētajā kodā mēs varam novērot jauno elementu, . Ja komponents neizdodas, šis elements lietotājam nosūta kļūdas virkni.

Darbības, piemēram , , un definē XML elementus. Visi XML elementi tiek ģenerēti izpildes laikā, nevis kompilēšanas laikā, t.i., tie tiek ģenerēti dinamiski.

Darbība

Ja vēlaties pārtraukt pašreizējās lapas darbību un pārsūtīt to uz citu resursu, varat izmantot darbība. Šīs darbības sintakse ir norādīta šādi:

|_+_|

Ar darbību ir saistīts tikai viens atribūts, lappuse . Šajā lapā ir jāiekļauj tā resursa relatīvais URL, uz kuru darbība tiek pārsūtīta. Resurss var būt JSP lapa, Java Servlet un statiskā lapa.

Tagad mēs redzēsim vienu vienkāršu darbības piemēru. Mēs izveidosim divus failus, date.jsp un galvenais.jsp . Datums.jsp failā tiks parādīts pašreizējais datums, un main.jsp failā ir ietverta darbība.

date.jsp failu

|_+_|

main.jsp failu

|_+_|

Abi faili ir jāsaglabā ROOT direktorijā. Tagad mēs piekļūsim failam main.jsp, lai iegūtu rezultātu. Tas nerādīs saturu no main.jsp faila; tā vietā tiks parādīts saturs no faila date.jsp, jo tas ir pārsūtīts fails.

Izvade:

|_+_|

Darbība

Izmantojot darbību, mēs varam ierakstīt teksta veidnes vai dokumentus JSP lapās. Tālāk ir norādīta darbības sintakse:

|_+_|

Šeit veidnē ir tikai teksts un EL izteiksmes. Veidnē nevar būt citu elementu. XML failos neizmantojiet izteiksmi kā ${Whatever > 0} , jo šī zīme nav atļauta vai nelikumīga. Tā vietā jūs varat izmantot ${ whatever gt 0} .

JSP direktīvas

Sintakses sadaļā mēs redzējām, kas ir JSP direktoriji. Šeit mēs detalizēti apgūsim JSP direktorijus. Direktīvas ir būtiskas JSP, jo tās vada un vada JSP konteineru konkrētu JSP apstrādes elementu apstrādei un regulēšanai. JSP direktīvu dēļ tiek ietekmēta visa servleta klases struktūra.

Sintakse:

|_+_|

Atribūtiem direktīvās ir atslēgas vērtības forma. Direktīvās var būt vairāki atribūti, un katrs no tiem ir atdalīts ar komatu. Iepriekš minētajā sintaksē mēs varam novērot atstarpi starp '<%@’ un direktīvas nosaukums, un vērtība un ‘%>.’ Šīs vietas nav obligātas. Nav jāuztraucas, ja nepievienojat atstarpes starp tām. Iepriekš mēs redzējām, ka ir trīs direktīvu tagi, , , un . Ļaujiet mums sīkāk apspriest katru no šiem direktīvas tagiem.

Lapas direktīva

Lapas direktīva sniedz norādījumus konteinera pašreizējai lapai. Lapas direktīvu varat iekļaut jebkurā JSP programmā. Parasti lapas direktīva tiek izmantota JSP lapas augšdaļā. Lapas direktīvas sintakse ir:

|_+_|

Iepriekš minētā sintakse ir uzrakstīta XML formātā, kā norādīts tālāk:

|_+_|

Ar lapas direktīvu ir saistīti 13 atribūti, kā paskaidrots tālāk.

    automātiskā skalošana: Šis atribūts regulē servleta izvades bufera darbību.kļūdas lapa: errorPage parāda cita JSP URL, kas izdod Java nepārbaudītus izpildlaika izņēmumus.pagarina: ģenerētajam servletam ir jāpaplašina norādītā virsklase.buferis: bufera atribūts nosaka izvades straumes buferizācijas modeli.contentType: Šis atribūts nosaka rakstzīmju kodēšanas shēmu.irErrorPage: norāda, vai pašreizējā JSP lapa ir URL, ko definē citas JSP lapas atribūts errorPage.info: Tas norāda virkni, kurai var piekļūt, izmantojot metodi getServletInfo().valodu: Šis atribūts norāda JSP lapās izmantoto programmēšanas valodu.Ignorēts: Tas norāda, vai EL izteiksme JSP lapā tiks ignorēta.imports: Šis paziņojums norāda visas pakotnes un klases, kas jāpievieno JSP. Java programmā Java importēšanas priekšraksts norāda visas klases un pakotnes, kas jāiekļauj Java programmā.ir ThreadSafe: Šis atribūts norāda servleta vītņu modeli.sesija: sesijas atribūts pārbauda, ​​vai JSP lapa piedalās HTTP sesijā.isScriptingEnabled: Šis elements norāda, vai JSP lapā izmantot skriptu elementus.

Iekļaut direktīva

Tulkošanas posmā ietver direktīva tiek izmantota, lai iekļautu failu JSP lapā. Šīs direktīvas mērķis ir arī novirzīt konteineru par visu ārējo failu apvienošanu ar JSP lapu. Tā kā lapas direktīva ir iekļauta tikai JSP lapas augšdaļā, iekļaut direktīvu var izmantot jebkurā lapas vietā.

Sintakse:

|_+_|

Iepriekš minētā sintakse ir uzrakstīta XML formātā šādi:

|_+_|

Šeit faila nosaukums ir relatīvais URL. Ja nedefinējat faila ceļu, kompilators pieņem, ka jūsu fails atrodas JSP vietā.

Taglib direktorijs

Pēdējais direktorija veids ir taglib . Šis direktorijs sniedz daudz informācijas par JSP lapu, piemēram, izmantoto pielāgoto tagu kopu, bibliotēkas atrašanās vietu un pielāgoto tagu atrašanu no JSP lapas. Zemāk ir taglib direktorija sintakse.

|_+_|

Iepriekš minēto sintaksi var rakstīt XML formātā šādi:

|_+_|

Atribūts, ienīst , norāda konteineram saprotamo atrašanās vietu un priedēklis atribūts norāda konteineram par pielāgoto darbību sastāvu.

JSP netiešie objekti

JSP netiešie objekti ir Java objekti. JSP konteiners ļauj izstrādātājiem izmantot šos netiešos objektus katrā JSP lapā bez tiešas deklarēšanas. Šie objekti tiek saukti arī par iepriekš definēti mainīgie . Ir deviņi dažādi netieši objekti: pieprasījums, atbilde, izeja, sesija, lietojumprogramma, lapa, lapas konteksts, konfigurācija un izņēmums.

Pieprasījuma objekts

The javax.servlet.http.HttpServletRequest objekts izveido gadījumu, ko sauc par pieprasījumu objektu. Kad klients vai lietotājs pieprasa noteiktu lapu, JSP programma ģenerē jaunu objektu, kas atspoguļo klienta pieprasījumu. The pieprasījumu objekts piedāvā vairākas metodes HTTP galvenes informācijas iegūšanai, piemēram, HTTP metodes, sīkfailus utt.

Atbildes objekts

The javax.servlet.http.HttpServletResponse objekts izveido gadījumu, ko sauc par atbildi objektu. Tā kā JSP dzinējs izveido jauno objektu ikreiz, kad lietotājs pieprasa noteiktu lapu, tas arī izveido objektu, kas atspoguļo tā atbildi. Izmantojot atbildes objektu, JSP programmā varat iekļaut jaunus sīkfailus, piemēram, HTTP statusa kodus, zīmogus utt.

Ārējais objekts

The javax.servlet.jsp.JspWriter objekts izveido gadījumu, ko sauc par ārā objektu. JSP dzinējs var pievienot saturu klienta pieprasītajai atbildei. The JspWriter objektam ir gandrīz tādas pašas metodes, kas atrodas java.io.PrintWriter klasē. Ir dažas papildu metodes JspWriter objekts, ko izmanto buferizācijai un met IOException.

Lietojumprogrammas objekts

The javax.servlet.ServletContext izveido gadījumu, ko sauc par an pieteikumu objekts, kas darbojas kā iesaiņojums ServletContext objektu. Šis objekts apzīmē JSP lapu. Kad JSP lapa ir inicializēta, tiek izveidots lietojumprogrammas objekts. Šis objekts tiek noņemts, jo JSP lapa tiek iznīcināta, izmantojot jspDestroy() metodi.

Sesijas objekts

The javax.servlet.http.HttpSession izveido gadījumu, ko sauc par sesija objektu. Šis objekts darbojas līdzīgi kā tas darbojas Java Servlets. Sesijas objekta galvenais mērķis ir izsekot sesijai starp klientu pieprasījumiem.

Izņēmuma objekts

Aptinumu, kurā ir izņēmums no iepriekšējās JSP lapas, sauc par izņēmuma objektu. Ja rodas kļūda, tā apstrādei tiek izmantots izņēmuma objekts.

Lapas objekts

Lapas objekts nodrošina atsauci uz lapas gadījumu. Tas attēlo visu JSP lapu. ' šis' objekts un lapas objekts ir viens otra sinonīmi.

Lapas konteksta objekts

The javax.servlet.jsp.PageContext izveido gadījumu ar nosaukumu lapas konteksts objektu. Kā lappuse objekts, lapas konteksts objekts arī apzīmē visu JSP lapu. Izmantojot pageContext objekta atribūtus, mēs varam iegūt citus netiešus objektus, piemēram, pieteikumu , konfigurācija , sesija , un ārā . Šajā objektā tiek glabāta arī informācija, piemēram, lapas tvērums, errorPageURL un buferizācijas informācija. Objekts pageContext atbalsta 40 metodes.

Konfigurācijas objekts

The javax.servlet.ServletConfig izveido gadījumu, ko sauc par konfigurācija objektu. Šis objekts darbojas kā iesaiņojums ServletConfig objektu. Lietotāji var izmantot šo objektu, lai piekļūtu servleta vai JSP dzinēja inicializācijas parametriem. Tālāk norādītā metode ir tā, kas tiek izmantota JSP lapā, izmantojot konfigurācijas objektu.

|_+_|

JSP klienta pieprasījums

Tīmekļa serveris saņem daudz informācijas, kad pārlūkprogramma vai klients pieprasa noteiktu tīmekļa lapu. Šo informāciju nevar izmantot tieši, jo tā tiek pārvietota caur HTTP pieprasījuma galveni. HTTP galvenē ir vairāki elementi, kas saglabā informāciju, kad pārlūkprogramma pieprasa tīmekļa lapu. Šie elementi ir akceptēt, akceptēt-rakstzīmju kopa, akceptēt-kodējums, akceptēt-valoda, savienojums, autorizācija, sīkfails, satura garums, if-modified-sce, host, referrer, if-unmodified-sec, un user-agent.

HTTPServletRequest objekts

Objekts javax.servlet.http.HttpServletRequest izveido gadījumu, ko sauc par pieprasījuma objektu. Ikreiz, kad kāds lietotājs pieprasa noteiktu lapu, JSP programma ģenerē jauno objektu. Pieprasījuma objekta galvenais mērķis ir izgūt HTTP informāciju, piemēram, datus, HTTP metodes, sīkfailus utt. Tālāk ir norādītas dažas metodes, kas nolasa HTTP galvenes informāciju no JSP programmas.

    Uzskaitījums getAttributeNames(): Šīs metodes rezultāts ir uzskaitījums, kurā ir šim pieprasījumam pieejamie atribūtu nosaukumi.Cookie[] getCookies(): Kad klients nosūta pieprasījumu, tajā ir sīkfailu objekti. Tāpēc šī metode rada masīvu, kurā ir visi šie sīkfailu objekti.Uzskaitījums getParameterNames(): Šīs metodes rezultātā tiek uzskaitīti virknes objekti. Šis uzskaitījums satur pieprasījumā esošo parametru nosaukumus.Uzskaitījums getHeaderNames(): tas rada uzskaitījumu, kurā ir šajā pieprasījumā esošie galvenes nosaukumi.HttpSession getSession (būla izveide): Metodes HttpSession getSession(būla izveide) rezultātā tiek iegūta pašreizējā ar šo pieprasījumu saistītā HttpSession. Ja tajā brīdī nav sesijas un izveides Būla vērtība ir patiesa, šī metode rada jaunu sesiju.HttpSession getSession(): šī metode atgriež pašreizējo ar pieprasījumu saistīto sesiju. Ja sesija nav pieejama, šī metode izveido jaunu un atgriež to.Objekta getAttribute (virknes nosaukums): tas rada atribūta vērtību, kam ir nosaukums kā objektam. Ja atribūtam nav nosaukuma, tas atgriež NULL.Vietējā getLocale (): Tas atgriež lokalizāciju, kurā klients pieņems saturu.Virkne getAuthType(): šī metode norāda autentifikācijas shēmas nosaukumu, ko izmanto, lai saglabātu servletu. Ja JSP nav saglabāts, tas atgriež NULL.ServletInputStream getInputStream(): ServletInputStream ienes pieprasījuma pamattekstu binārā formā.Virkne getContent Type(): šī metode atgriež pieprasījuma pamatteksta MIME tipu. Ja tips nav zināms, tas atgriež NULL.Virkne getCharacterEncoding(): pieprasījuma pamattekstā esošais rakstzīmju kodējuma nosaukums tiek izveidots ar šo metodi.Virkne getHeader (virknes nosaukums): tas atgriež pieprasījuma galvenes vērtību virknes formātā.Virkne getContextPath(): tas veido pieprasījuma URI daļu.Virkne getParameter (virknes nosaukums): šī metode nodrošina pieprasījuma parametra vērtību virknes formā. Ja pieprasījuma parametrs neeksistē, tas atgriež NULL.String getMethod(): String getMethod() metode rada HTTP pieprasījuma nosaukumu, kas tika izmantots ar pašreizējo pieprasījumu.String getProtocol(): pieprasījumos JSP tiek izmantoti noteikti protokoli. Šī metode atgriež protokola nosaukumu un versiju.Virkne getPathInfo(): kad klients veic pieprasījumu, tas nosūta URL. String getPathInfo() metode atgriež papildu informāciju par ceļu, kas saistīts ar URL.Virkne getRemoteAddr(): Šīs metodes rezultātā tiek iegūta klienta sistēmas interneta protokola (IP) adrese.Virkne getRemoteUser(): Tas rada autentificētā klienta pieteikšanos, kas veic pieprasījumu. Ja lietotājs nav autentificēts, tas atgriež NULL.Virkne getRemoteHost(): ja ir jāizgūst klienta vārds, kas iesniedz pieprasījumu, var izmantot metodi String getRemoteHost().Virkne getRequestedSessionId(): šī metode nodrošina klienta definēto sesijas ID.Virkne getRequestURI(): tas atgriež pieprasījuma URL no protokola nosaukuma.String[] getParameterValues(virknes nosaukums): šī metode atgriež masīvu, kurā ir virknes objekti. Šajos objektos ir visu pieprasījumā esošo parametru vērtības.Virkne getServletPath(): tas arī atgriež pieprasījuma URL.int getContentLength(): tas atgriež pieprasījuma pamatteksta garumu baitos.Būla vērtība irSecure(): Tas atgriež Būla vērtību, norādot, vai pieprasījums tiek veikts, izmantojot drošu kanālu.int getServletPort(): šī metode norāda pieprasījuma porta numuru.int getIntHeader (virknes nosaukums): Šīs metodes rezultātā pieprasījuma galvenes vērtība ir vesela skaitļa formātā.

HTTP galvenes pieprasījuma piemērs

Šeit mēs redzēsim vienu vienkāršu HTTP galvenes pieprasījuma piemēru. HTTP galvenes pieprasījuma piemērā mēs izmantosim getHeaderName() metode HTTP galvenes informācijas nolasīšanai. Tas izveido uzskaitījumu, kas satur pieprasījuma HTTP galvenes informāciju. Metode hasmoreElements() nosaka, kad nextElement() metodei jāapstājas.

Piemērs:

|_+_|

Ierakstiet iepriekš minēto kodu galvenais.jsp failu un piekļūstiet tam, lai lasītu HTTP pieprasījuma galvenes informāciju. Tas sniegs jums visu informāciju par HTTP pieprasījuma galveni, piemēram, resursdatoru, savienojumu, kešatmiņas kontroli, lietotāja aģentu, akceptēt, akceptēt valodu un akceptēt-kodējumu.

JSP servera atbilde

Kad klients vai pārlūkprogramma pieprasa tīmekļa lapu, tīmekļa serveris atbild uz HTTP pieprasījumu, ko sauc par atbildi. Šajā atbildē ir iekļauta tukša rindiņa, dokuments, statusa rindiņa un dažas atbildes galvenes. HTTP atbilde izskatās šādi:

|_+_|

Iepriekš minētajā kodā HTTP versija ir HTTP/1.1 , 200 ir statusa kods un labi ir ziņojums statusa kodam. Ir vairākas atbilžu galvenes, kuru HTTP/1.1 versiju tīmekļa serveris nosūta pārlūkprogrammai. Šīs atbilžu galvenes ir kešatmiņas kontrole, atļauja, satura izvietojums, savienojums, satura garums, satura kodējums, satura valoda, derīguma termiņš, satura veids, atrašanās vieta, pēdējā modifikācija, sīkfaila iestatīšana, atsvaidzināšana un atkārtots mēģinājums pēc. .

HttpServletResponse objekts

Javax.servlet.http.HttpServletResponse izveido gadījumu, ko sauc par atbildes objektu. Šo objektu izveido tīmekļa serveris, kas atspoguļo klientam nosūtīto atbildi. Atbildes objekts ir saistīts arī ar saskarnēm, kas nepieciešamas HTTP galveņu izveidei. Programmētāji JSP programmā var pievienot jaunus sīkfailus, HTTP statusa kodus un datuma zīmogus. Tālāk ir norādītas dažas metodes vai funkcijas, kas tiek izmantotas HTTP atbildes galvenes pievienošanai servleta programmā.

    Virknes kodēšanas URL (virknes url): šo metodi izmanto, lai kodētu konkrētu URL, kas ietver sesijas ID. Ja ir nepieciešams kodējums, šī metode nosūta URL, nemainot.Virkne encodeRedirectURL(virknes url): funkcijā sendRedirect iekļautais URL ir kodēts. Ja kodējums nav nepieciešams, URL paliek nemainīgs.Būla vērtība ir Committed(): šīs funkcijas rezultāts ir Būla vērtība, kas norāda, vai atbilde ir veikta.Būla saturs(virknes nosaukums): tā rezultātā tiek iegūta arī Būla vērtība, kas norāda, vai ir iestatīta atbildes galvene ar nosaukumu.void addHeader (virknes nosaukums, virknes vērtība): šī funkcija ietver atbildes galveni ar tās nosaukumu un vērtību.void addDateHeader (virknes nosaukums, garais datums): tajā ir arī jauna atbildes galvene ar tās nosaukumu un datumu.nederīgs flushBuffer(): šī funkcija klientam piespiedu kārtā ieraksta buferī esošo saturu.void addIntHeader (virknes nosaukums, iekšējā vērtība): šī funkcija ietver jaunu atbildes galveni ar tās nosaukumu un vesela skaitļa vērtību.nederīgs resetBuffer(): tas noņem vai notīra visu saturu no pamatā esošā bufera, bet nenotīra galvenes un statusa kodus.nevar atiestatīt (): šī funkcija noņem vai dzēš visus buferī esošos datus, kā arī statusa kodu un galvenes.void sendError(int sc, String msg): tā rezultātā kļūdas ziņojumam ir noteikts statuss, un tas tiek nosūtīts klientam.anulēt sūtīšanas kļūdu (int sc): šī funkcija arī nosūta klientam kļūdas ziņojumu ar konkrēto statusa kodu, dzēšot datus no bufera.tukšums setBufferSize(int size): šī funkcija nosaka atbildes pamatteksta bufera lielumu.void setIntHeader (virknes nosaukums, iekšējā vērtība): šī funkcija iestata atbildes galveni ar tās nosaukumu un konkrēto veselā skaitļa vērtību.

HTTP galvenes atbildes piemērs

Šeit ir HTTP galvenes atbildes piemērs, kurā tiek izmantota funkcija setIntHeader(), lai iestatītu galveni Refresh.

Piemērs:

|_+_|

Saglabājiet iepriekš minēto kodu ar faila nosaukumu, galvenais.jsp . Ik pēc 4 sekundēm tiek parādīts pašreizējais sistēmas laiks, kā parādīts zemāk.

Izvade:

|_+_|

HTTP statusa kods JSP

HTTP pieprasījumam un HTTP atbildei ir tāda pati struktūra:

  • Pirmkārt, tā ietver statusa rindiņu, Carriage Return (CRLF) un Line Feed. Rindas padeve nozīmē jaunu rindu.
  • Nākamais ir nulle vai vairākas galvenes rindas un Carriage Return (CRLF).
  • Tad nāk tukša rindiņa, CRLF.
  • Visbeidzot, ziņojuma pamatteksts nav obligāts. Ziņojuma pamattekstā var būt vaicājuma izvade, vaicājuma dati vai fails.

Iepriekšējā sadaļā mēs redzējām, kā izskatās atbildes galvene.

Tīmekļa serveris klientam atgriež dažus HTTP kodus un to attiecīgos ziņojumus. Šie HTTP statusa kodi un to ziņojumi ir aprakstīti nākamajā sadaļā.

Kods Ziņa
100Turpināt
101Pārslēgšanas protokoli
200labi
201Izveidots
202Pieņemts
203Neautoritatīva informācija
204Nav satura
205Atiestatīt saturu
206Daļējs saturs
300Vairākas izvēles iespējas
301Pārvietojas pastāvīgi
302Atrasts
303Skatiet Cits
304Nav modificēts
305Izmantojiet starpniekserveri
306Nelietots
307Pagaidu novirzīšana
400Slikts pieprasījums
401Nesankcionēti
402Nepieciešams maksājums
403Aizliegts
404Nav atrasts
405Metode nav atļauta
406Nav pieņemams
407Nepieciešama starpniekservera autentifikācija
408Palūgt pārtraukumu
409Konflikts
410Aizgājis
411Nepieciešamais garums
412Priekšnosacījums neizdevās
413Pieprasījuma vienība ir pārāk liela
414Pieprasījuma URL ir pārāk garš
415Neatbalstīts multivides veids
417Cerības neizdevās
500Iekšējā servera kļūda
501Nav implementēts
502Nederīga Vārteja
503Pakalpojums nav pieejams
504Vārtejas taimauts
505HTTP versija netiek atbalstīta

Lai iestatītu HTTP statusa kodu, tiek izmantotas trīs dažādas metodes, kā norādīts tālāk:

    public Void setStatus(int statusCode): tas iestata statusa kodu, kas kā argumentu izmanto statusa koda veselo skaitļu vērtību.public void sendRedirect (virknes url): šī funkcija izveido atbildi ar kodu 302. Tas arī ģenerē galveni Atrašanās vieta, kas norāda jaunā dokumenta URL.public void sendError (int kods, virknes ziņojums): šī funkcija ar īsu ziņojumu nosūta pārlūkprogrammai HTTP statusa kodu 404.

Mēs redzēsim vienu vienkāršu piemēru, kas klientam parādīs kļūdas statusa kodu 407.

Piemērs:

|_+_|

Iepriekš minētais kods parādīs 407 HTTP statusa kodu ar Nepieciešama autentifikācija ziņa.

Veidlapu apstrāde JSP

Daudzas reizes mums ir jāpārsūta dati no pārlūkprogrammas uz tīmekļa serveri un visbeidzot uz programmu. Lai pārsūtītu šos datus uz tīmekļa serveri, pārlūkprogramma izmanto divas metodes — GET un POST. Četras metodes tiek izmantotas datu nolasīšanai, izmantojot JSP, getParameter() , getParameterValues() , getParameterNames() , un getInputStream() .

GET metode

GET metode tiek izmantota, lai pārsūtītu kodētu lietotāja informāciju un pievienotu to lapas pieprasījumam. Kodētā lietotāja informācija un lapas pieprasījums ir atdalītas ar simbolu “?”. Šī metode ir noklusējuma metode lietotāja informācijas pārsūtīšanai uz tīmekļa serveri no pārlūkprogrammas. Tas atgriež virkni, kas būs klāt Atrašanās vieta: kaste no pārlūkprogrammas. Ja jums ir konfidenciāli dati, piemēram, paroles, neizmantojiet GET metodi.

GET metodes piemērs, izmantojot URL

Izveidosim URL, kas nosūtīs divas dažādas vērtības programmai GetURLForm, izmantojot GET metodi.

|_+_|

Mēs ierakstīsim tālāk norādīto kodu main.jsp failā. Datu nolasīšanai, izmantojot JSP, esam izmantojuši metodi getParameter().

Piemērs:

|_+_|

Izvade:

|_+_|

Sīkdatņu apstrāde

Kas ir sīkdatnes? Sīkfaili ir teksta faili, kas atrodas klienta darbvirsmā un tiek izmantoti izsekošanas nolūkos. HTTP sīkfailus atbalsta JSP. Šeit mēs redzēsim HTTP sīkfaila anatomiju, sīkfaila iestatīšanu vai atiestatīšanu un sīkfailu metodes.

Cepuma anatomija

Sīkfails vienmēr atrodas HTTP galvenē. Kad JSP iestata sīkfailu HTTP galvenē, tam ir šāda struktūra.

|_+_|

Iekš Set-Cookie galvene iepriekš, jūs varat novērot nosaukums-vērtība pāris, datums GMT, a ceļš , un domēns . Šis nosaukuma un vērtības pāris ir URL formātā. Vēl viens iepriekš minētā sīkfaila elements ir beidzas , kas liek pārlūkprogrammai aizmirst šo sīkfailu pēc norādītā datuma un laika.

Sīkdatņu metodes

Tālāk ir norādītas dažas nozīmīgas metodes, kas saistītas ar sīkfailiem, kā arī to apraksti.

    publiskā virkne getDomain(): šī funkcija izgūst sīkfaila domēnu.public Void setDomain (virknes raksts): Izmantojot šo funkciju, varat iestatīt sīkfaila domēnu.publiskais int getMaxAge(): tiek iegūts maksimālais sīkfaila vecums. Vecums tiek attēlots sekundēs.public Void setMaxAge (int expiry): šī funkcija iestatīs laika ilgumu, kas jāpaiet pirms sīkfaila derīguma termiņa beigām.publiskā virkne getValue(): izgūst sīkfaila vērtību.publiskā virkne getName(): tiek iegūts sīkfaila nosaukums. Jūs nevarat mainīt sīkfaila nosaukumu pēc tā izveides.public void setValue (virkne newValue): šī funkcija nosaka sīkfaila vērtību.publiskā virkne getPath(): rezultātā tiek iegūts ceļš, kas saistīts ar sīkfailu.public Void setPath (virkne uri): šī funkcija iestata sīkfaila ceļu.publiska virkne getComment(): tiek parādīts komentārs, kurā norādīts sīkfaila mērķis vai izmantošana. Ja sīkfailam nav komentāru, tas atgriež NULL.public Void setSecure(būla karodziņš): tā norāda Būla vērtību, kas nosaka, vai sīkfails jānosūta, izmantojot šifrētu savienojumu.public Void setComment (virknes mērķis): šī funkcija iestata komentāru sīkfailam, norādot tā mērķi.

Kā iestatīt sīkfailu?

Ir trīs vienkāršas sīkfaila iestatīšanas metodes. Šīs metodes ir izskaidrotas tālāk:

  1. Pirmkārt, izveidojiet sīkfaila objektu. Izsauciet sīkfailu veidotāju, norādot sīkfaila nosaukumu un atbilstošo vērtību. Gan nosaukums, gan vērtība tiek attēlota virknē.
|_+_|

Veidojot sīkfailu, jāatceras, ka nosaukumā un vērtībā nedrīkst būt tukšas vietas vai īpaši simboli.

  1. Pēc sīkfaila izveides mēs tagad iestatīsim tā maksimālo vecumu, izmantojot setMaxAge funkcija.
|_+_|

Iepriekš minētā funkcija iestata maksimālo sīkfailu vecumu 24 stundas.

  1. Visbeidzot, izmantojiet atbildes.addCookie, lai pievienotu sīkfailu HTTP atbildes galvenē.
|_+_|

Secinājums

JavaServer Pages vai Jakarta Server Pages (JSP) ir tehnoloģija, kas ļauj izstrādātājiem izveidot dinamisku saturu vai tīmekļa lapas. JSP ir vairākas uzlabotas priekšrocības, jo to ir viegli uzturēt, tas prasa mazāk koda nekā servlets, un tas piedāvā ātru izstrādi. Šis raksts ir īss ceļvedis JSP apguvei iesācējiem.

Mēs esam iekļāvuši visus JSP aspektus, kas nepieciešami iesācēju izstrādātājiem. Pirms jebkuras JSP programmas palaišanas vispirms iestatiet Java vidi un Tomcat klases ceļu. Šeit ir pilnīga apmācība par visiem svarīgajiem JSP elementiem.

Mums ir a Grafiku teorijas īsais ceļvedis kurā ir detalizēti runāts par visām detaļām, kas saistītas ar grafiku teoriju.