I dag er vi alle klar over behovet for å skape dynamiske nettsider dvs. de som kan endre nettstedets innhold i henhold til tidspunktet eller kan generere innholdet i henhold til forespørselen mottatt fra klienten. Hvis du liker koding i Java, vil du gjerne vite at ved bruk av Java finnes det også en måte å generere dynamiske nettsider på, og på den måten er Java Servlet . Men før vi går videre med emnet vårt, la oss først forstå behovet for utvidelser på serversiden.
Hva er Java Servlet?
Java Servlets er Java-programmene som kjører på den Java-aktiverte webserveren eller applikasjonsserveren. De brukes til å håndtere forespørselen hentet fra webserveren, behandle forespørselen, produsere svaret og deretter sende et svar tilbake til webserveren.
Egenskaper til Java Servlet
Egenskapene til Servlets er som følger:
- Servlets fungerer på serversiden.
- Servlets er i stand til å håndtere komplekse forespørsler hentet fra webserveren.
Java Servlets-arkitektur
Servlet Architecture kan avbildes fra selve bildet som vist nedenfor som følger:
string.substring java
Utførelse av Java Servlets
Utførelse av Servlets i utgangspunktet involverer seks grunnleggende trinn:
- Klientene sender forespørselen til webserveren.
- Webserveren mottar forespørselen.
- Webserveren sender forespørselen til den tilsvarende servleten.
- Servlet behandler forespørselen og genererer svaret i form av utdata.
- Servleten sender svaret tilbake til webserveren.
- Webserveren sender svaret tilbake til klienten og klientnettleseren viser det på skjermen.
La oss nå diskutere det eksentriske poenget om at hvorfor trenger vi For Server-Side-utvidelser?
Behov for utvidelser på serversiden
De Utvidelser på serversiden er ingenting annet enn teknologiene som brukes til å lage dynamiske websider. Faktisk, for å tilby funksjonen til dynamiske websider, trenger websider en beholder eller webserver. For å møte dette kravet tilbyr uavhengige webserverleverandører noen proprietære løsninger i form av APIer ( Applikasjonsprogrammeringsgrensesnitt).
Disse APIer tillate oss å bygge programmer som kan kjøres med en webserver. I dette tilfellet, Java Servlet er også en av komponent-API-ene til Java Platform Enterprise Edition (i dag kjent som – ‘Jakarta EE’) som setter standarder for å lage dynamiske webapplikasjoner i Java.
Før du lærer om noe, er det viktig å vite behovet for det, det er ikke slik at dette er den eneste tilgjengelige teknologien for å lage dynamiske nettsider. Servlet-teknologien ligner på andre webserverutvidelser som f.eks Felles gateway-grensesnitt ( CGI) skript og Hypertekstforbehandler (PHP). Java Servlets er imidlertid mer akseptable siden de løser begrensningene til CGI slik som lav ytelse og lav grad av skalerbarhet.
Hva er CGI (Common Gateway Interface)?
CGI er faktisk en ekstern applikasjon som er skrevet ved å bruke et av programmeringsspråkene som C eller C++ og dette er ansvarlig for å behandle klientforespørsler og generere dynamisk innhold.
kommando arp-a
I CGI-applikasjonen, når en klient sender en forespørsel om å få tilgang til dynamiske websider, utfører webserveren følgende operasjoner:
- Den finner først den forespurte nettsiden dvs den nødvendige CGI-applikasjonen ved å bruke URL.
- Den oppretter deretter en ny prosess for å betjene kundens forespørsel.
- Påkaller CGI-applikasjonen i prosessen og sender forespørselsinformasjonen til applikasjonen.
- Samler svaret fra CGI-applikasjonen.
- Ødelegger prosessen, forbereder HTTP-svaret og sender det til klienten.
Så inn CGI serveren må opprette og ødelegge prosessen for hver forespørsel. Det er lett å forstå at denne tilnærmingen er anvendelig for håndtering av få klienter, men etter hvert som antallet klienter øker, øker arbeidsbelastningen på serveren og dermed øker tiden det tar å behandle forespørsler.
Forskjellen mellom Java Servlets og CGI
Servlet | CGI (Common Gateway Interface) |
---|---|
Servlets er bærbare og effektive. | CGI er ikke bærbart. |
I Servlets er det mulig å dele data. | I CGI er det ikke mulig å dele data. |
Servlets kan kommunisere direkte med webserveren. | CGI kan ikke kommunisere direkte med webserveren. |
Servlets er rimeligere enn CGI. | CGI er dyrere enn Servlets. |
Servlets kan håndtere informasjonskapslene. | CGI kan ikke håndtere informasjonskapslene. |
Servlets APIer
Servlets er bygget av to pakker:
- javax.servlet(Basic)
- javax.servlet.http(Advance)
Ulike klasser og grensesnitt som finnes i disse pakkene er:
Hvordan laste ned YouTube-videoer vlc
Komponent | Type | Pakke |
---|---|---|
Servlet | Grensesnitt | javax.servlet.* |
ServletRequest | Grensesnitt | javax.servlet.* |
ServletResponse | Grensesnitt | javax.servlet.* |
GeneriskServlet | Klasse | javax.servlet.* |
HttpServlet | Klasse | javax.servlet.http.* |
HttpServletRequest | Grensesnitt | javax.servlet.http.* |
HttpServletResponse | Grensesnitt | javax.servlet.http.* |
Filter | Grensesnitt | javax.servlet.* |
ServletConfig | Grensesnitt | javax.servlet.* |
Fordeler med en Java Servlet
- Servlet er raskere enn CGI, da det ikke innebærer opprettelse av en ny prosess for hver nye forespørsel som mottas.
- Servlets, som skrevet i Java, er plattformuavhengige.
- Fjerner overhead ved å lage en ny prosess for hver forespørsel da Servlet ikke kjører i en separat prosess. Det er bare én enkelt forekomst som håndterer alle forespørsler samtidig. Dette sparer også minnet og lar en Servlet enkelt administrere klienttilstanden.
- Det er en komponent på serversiden, så Servlet arver sikkerhet levert av webserveren.
- De API designet for Java Servlet får automatisk fordelene til Java-plattformene som plattformuavhengig og portabilitet. I tillegg kan den åpenbart bruke det brede utvalget av APIer som er opprettet på Java-plattformer som f.eks JDBC for å få tilgang til databasen.
- Mange webservere som er egnet for personlig bruk eller nettsteder med lite trafikk tilbys gratis eller ekstremt billige kostnader f.eks. Java-servlett. Imidlertid er flertallet av kommersielle nettservere ganske dyre, med det bemerkelsesverdige unntaket av Apache, som er gratis.
Servlet-beholderen
Servletbeholder , også kjent som Servlet motor, er et integrert sett med objekter som gir et kjøretidsmiljø for Java Servlet-komponenter. Med enkle ord er det et system som administrerer Java Servlet-komponenter på toppen av webserveren for å håndtere webklientforespørslene.
Tjenester levert av Servlet-beholderen:
- Nettverkstjenester: Laster inn en Servlet-klasse. Lastingen kan være fra et lokalt filsystem, et eksternt filsystem eller andre nettverkstjenester. Servlet-beholderen gir nettverkstjenestene som forespørselen og svaret sendes over.
- Dekode og kode MIME-baserte meldinger: Gir tjenesten for dekoding og koding av MIME-baserte meldinger.
- Administrer Servlet-beholder: Administrerer livssyklusen til en Servlet.
- Ressursforvaltning Administrerer de statiske og dynamiske ressursene, for eksempel HTML-filer, Servlets og JSP-sider.
- Sikkerhets-Service: Håndterer autorisasjon og autentisering av ressurstilgang.
- Øktadministrasjon: Vedlikeholder en økt ved å legge til en øktnummer til URL-banen.
Konklusjon
Java Servlets er avgjørende komponenter for å definere forretningslogikk og håndtere komplekse nettforespørsler. Disse komponentene fremmer den dynamiske utviklingen av et nettsted og har mye potensial til å endre applikasjonsdynamikken. Her er noen av hovedfunksjonene vi lærer i denne artikkelen:
- Java Servlets hjelper til med utviklingen av applikasjonsutvikling på serversiden og gir en måte å håndtere dynamisk innhold for å bygge robuste og interaktive nettsteder.
- Så snart forespørselen når webserveren, initialiseres en servlet-forekomst ved hjelp av varme() metoden, og HTTP-forespørselen avhengig av typen kan håndteres av metoderne doGet() eller doPost().
- Servlets gjør nettapplikasjonen vår mer responsiv og effektiv ettersom den ikke oppretter og ødelegger en prosess hver gang en forespørsel mottas.
Vanlige spørsmål om Java Servlet
Q1. Hva er livssyklusen til Java Servlet?
Java Servlet har en forhåndsdefinert livssyklus som starter fra initialisering (minneallokering) til objektet er destruert (minne deallokert). Det skjer i følgende trinn:
type i java
- init() – kalles opp så snart forespørselen mottas av webserveren og en ny servlet-forekomst initialiseres.
- service() – for å håndtere klientforespørsel og omdirigere forespørselen til en passende doGet() eller doPost()
- destroy() – kalles når forespørselen håndteres, svar sendes tilbake til klienten og til slutt blir minnet som er allokert til servleten deallokert.
Q2. Hvordan konfigurere en Java Servlet?
Konfigurasjon av Java Servlet er definert i en distribusjonsbeskrivelse fil – web.xml. Selv om det er gammelt nå ettersom de fleste servletbaserte applikasjoner i dag brukte merknadsbasert konfigurasjon for å konfigurere en Java Servlet ved å bruke @WebServlet-annotering.
Eksempel: @WebServlet(navn = MyServlet, urlPatterns = /myServlet)
Q3. Hva er et Servlet-filter?
Et Servlet-filter er en tilleggskomponent for å utføre pre-postbehandlingsarbeid på nettforespørsler som logging, overvåking, feilsøking og feilsøking.