Servletat. Ndërtimi i aplikacioneve Java me Servlets Servlet Bazat

Servlet - është një Java-nporpaMMa që përdor klasën HttpServiet. Një servlet përdoret për të zgjeruar aftësitë e një serveri ekzistues, në veçanti të një serveri ueb. Në mënyrë tipike, një servlet funksionon në një server të dedikuar. Këta serverë quhen serverë të aplikacionit Java. Një server aplikacioni Java përfshin një server Web si një bllok ndërtimi (nganjëherë jo një, por disa), si dhe serverë që punojnë me komponentët e serverit, serverë për shërbime ndihmëse, etj. Një servlet funksionon në një mjedis të ofruar nga serveri. Pjesa e serverit e dedikuar për të shërbyer servlet quhet kontejneri i servletit. Specifikimi i servletit supozon se një klasë servlet ka metoda standarde që ekzekutohen në një pikë të ciklit jetësor të servletit. Këto metoda thirren nga kontejneri servlet. Zbatimi i specifikimit servlet përfshihet në grupin e paketave standarde të gjuhës Java.

Ky libër fokusohet në një server aplikacioni Java të quajtur Blazix. Serveri Blazix ofron një grup të plotë të aftësive servlet. Përveç krijimit të një klase (ose klasash) servlet, si dhe konfigurimit të programit të krijuar servlet dhe instalimit të tij në server, duhet të ndryshoni skedarin e konfigurimit të serverit në internet. Vlerat kryesore janë të specifikuara në skedarin e konfigurimit si më poshtë: servlet.name: myservlet

servlet.myservlet.className: mypackage.MyServletClass servlet.myservlet.url: /mysrvlet

Çdo servlet duhet të ketë një emër(servlet.name), me të cilin identifikohet në server. Ky emër përdoret për të vendosur vetitë e servletit, në veçanti, për të treguar emrin e klasës në të cilën ruhet programi servlet (rreshti tjetër), si dhe adresën në të cilën thirret ky servlet (rreshti i tretë).

Klienti kërkon nga serveri Web adresën ku ndodhet servleti (adresa duhet të specifikohet si vlera e servlet.myservlet.url në skedarin e konfigurimit të serverit Web). Serveri ia kalon kërkesën dhe të dhënat (nëse ka) te servleti, merr përgjigjen nga servleti dhe ia dërgon klientit.

Në këtë shpjegim se çfarë është një servlet, mund të përfundojë. Megjithatë, ka shumë detaje interesante dhe të dobishme që duhet t'i kushtoni vëmendje dhe t'i studioni më në detaje.

Është veçanërisht e rëndësishme të kihet parasysh se rruga e klasës servlet duhet të specifikohet në variabël ciasspath, ose mund të vendoset në direktoriumin C:\Blazix\classes ose në drejtorinë e specifikuar në skedarin e konfigurimit të serverit Web si vlera server.ciassDir. Pasi skedari i konfigurimit të jetë modifikuar për të përfshirë informacione rreth servletit të ri, serveri duhet të ndalet dhe të rindizet. Servleti gjithashtu mund të strehohet në një server që funksionon duke përdorur programin e administrimit, por për ta bërë këtë, servleti duhet të paketohet në një skedar arkivi të Ueb-it WAR. Nëse skedari i klasës servlet ka ndryshuar, nuk është e nevojshme të ndaloni serverin dhe ta nisni përsëri. Si parazgjedhje, serveri është konfiguruar në mënyrë që thirrja e servletit në http://localhost:81/_reload bën që të gjitha klasat të ringarkohen dhe klasa e modifikuar servlet të bëhet e disponueshme për kërkesat e klientit (Figura 4-1). Vizitoni këtë faqe pasi skedari i klasës servlet të jetë modifikuar. Ndalimi i serverit thjesht nuk është i nevojshëm.

Nëse lexuesi ka pasur tashmë një përvojë me servlets, ata do të vlerësojnë thjeshtësinë e serverit Blazix në krahasim me serverët e tjerë Java, siç është serveri Tomcat.

Për t'u nisur drejt biznesit, merrni parasysh një shembull të thjeshtë, një servlet disa Servlet (lista 4.1).

Listimi 4.1. Servlet SomeServlet.java I

import java.io.*; import javax.servlet.*; import javax.servlet.http.*;

klasa publike SomeServlet zgjeron HttpServlet ( public void doGet(HttpServletRequest kërkesë,

Përgjigja HttpServletResponse) hedh ServletException, IOException ( Printwriter out = answer.getWriter (); out.println ("Hello World");

Në skedarin e konfigurimit të serverit në internet, shkruani sa vijon:

servlet.emri: i pari

servlet.first.className: SomeServlet

servlet.first.url: /dofirst

Pastaj thirrja në servlet nga shfletuesi do të marrë formën http://localhost:81 /dofirst (Figura 4.2).

Servletët Java ofrojnë një metodë të pavarur nga platforma për ndërtimin e aplikacioneve Web (kjo nuk është e sigurt, por ne nuk do të thellohemi më tej në këtë temë, sepse atëherë do të na duhet të përcaktojmë se çfarë nënkuptohet me një aplikacion ueb, i cili nuk përfshihet në lista e temave të mbuluara), dhe shumë aplikacione janë të shpejta për t'u punuar dhe nuk kanë kufizimet e aplikacioneve CGI. Një servlet funksionon nën një server Web dhe, ndryshe nga një applet, nuk kërkon një ndërfaqe grafike të përdoruesit. Servleti komunikon me serverin duke shkëmbyer kërkesa dhe përgjigje me të. Programi i klientit i bën kërkesa serverit. Kërkesa përpunohet nga serveri, kalon në servlet, servleti dërgon një përgjigje përmes serverit te klienti. Servlet janë shumë të njohura sot për ndërtimin e aplikacioneve interaktive të Uebit. Ka shumë serverë ueb që mund të punojnë me servlet, të tilla si Tomcat, iPlanet Web Server (dikur Netscape

Serveri i Ndërmarrjes), Blazix. J Builder Enterprise përdor Serverin Borland Enterprise (BES) të përfshirë me paketën dhe gjithashtu mbështet serverët në internet Logic, WebSphere dhe iPlanet. Serveri J Builder Enterprise përfshin një server Tomcat i cili përdoret "si parazgjedhje".

Oriz. 4.2. Duke thirrur një Servlet

Një avantazh i rëndësishëm i servlets është shpejtësia e tyre. Ndryshe nga aplikacionet CGI, servlet-et ngarkohen në memorie vetëm një herë dhe më pas ekzekutohen direkt nga memoria. Servlet janë në thelb aplikacione me shumë fije. Përveç kësaj, ato janë të pavarura nga platforma, pasi janë shkruar në Java.

teknologjia JSP tek e cila kapitulli 3, është një shtrirje e teknologjisë servlet, në JSP Vëmendje e veçantë fokusohet në punën me dokumente HTML dhe XML. Si pjesë e kodit HTML dhe XML, fragmentet JSP gjejnë përdorimin e tyre më të zakonshëm. Si të bëni një zgjedhje dhe të vendosni se çfarë të përdorni: servlets apo faqet e serverit? Servlet janë më të përshtatshëm për zgjidhjen e detyrave programuese të nivelit të ulët dhe më pak të përshtatshëm për zgjidhjen e detyrave të krijimit të logjikës së prezantimit të aplikacionit. JSP-të nga ana e serverit, nga ana tjetër, janë të fokusuar kryesisht në atë se si t'i paraqesin rezultatin përdoruesit në mënyrën më të përshtatshme. Faqet e serverit krijohen në linjë me kodin HTML duke përdorur stilin e autorizimit të dokumentit HTML. Teknologjia JSP ofron veçori shumë më të pasura sesa HTML e thjeshtë. JSP-të mund të ofrojnë aftësinë për të zbatuar logjikën e aplikacionit duke përdorur fasule të thjeshta Java si dhe EJB nga ana e serverit duke krijuar biblioteka të shkurtoreve të personalizuara. Në vetvete, faqet e serverit Java mund të jenë komponentë modularë, të ripërdorshëm që funksionojnë me logjikën e prezantimit që mund të përdoren në lidhje me shabllone dhe filtra të ndryshëm. JSP-të konvertohen në servlet, kështu që teorikisht mund të përdorni vetëm servlet. Megjithatë, teknologjia JSP është krijuar për të thjeshtuar procesin e krijimit të dokumenteve në ueb duke ndarë logjikën e prezantimit të një aplikacioni nga përmbajtja e dokumentit. Në shumicën e rasteve, përgjigja që i dërgohet klientit përbëhet nga shabllone të prezantimit të dokumenteve dhe të dhëna që gjenerohen automatikisht duke plotësuar shabllonin. Në këto situata, JSP-të janë shumë më të lehta për t'u punuar sesa me servlet.

Një nga veçoritë më të këndshme të Java është natyra e saj e shumëanshme. Sigurisht, krijimi i desktopit tradicional dhe madje aplikacionet celulare- kjo është e lezetshme. Por, çka nëse doni të dilni nga rruga e rrahur dhe të hyni në territorin e zhvillimit të uebit Java? Për ju atje Lajme te mira: Gjuha vjen me një API të plotë Servlet që ju lejon të ndërtoni aplikacione të fuqishme në internet pa shumë telashe.

Ndërtimi i aplikacioneve Java me Servlets

Pra, ne kemi krijuar tashmë skedarët e konfigurimit të aplikacionit. Sidoqoftë, në gjendjen e tij aktuale, fjalë për fjalë nuk bën asgjë. Ne duam që klientët të jenë në gjendje të regjistrohen me një formular HTML, kështu që gjëja tjetër që duhet të bëjmë është të krijojmë skedarë JSP që do të shfaqin formularin e mësipërm dhe detajet e klientit pasi regjistrimi të jetë i suksesshëm. Kjo është ajo që ne do të bëjmë tani.

Duke punuar në pamjen

Pamja e aplikacionit do të përcaktohet nga dy skedarë JSP - në kontekstin e MVC ato quhen pamje. I pari do të jetë përgjegjës për paraqitjen e formularit të regjistrimit dhe gabimet e mundshme thirret pas vërtetimit të të dhënave të futura. E dyta do të jetë një faqe normale mirëseardhjeje që do të tregojë të dhënat e futura nga klienti pasi procesi i regjistrimit të ketë përfunduar me sukses.

Këtu është skedari i parë JSP:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> Regjistrimi

Regjistrimi

$(shkelje).