Vad är skillnaden mellan GenericServlet och HttpServlet

De huvudskillnad mellan GenericServlet och HttpServlet är att GenericServlet är protokolloberoende och kan användas med alla protokoll som HTTP, SMTP, FTP och CGI medan HttpServlet är protokollberoende och används endast med HTTP-protokoll.

Servlet är en Java-teknik som hjälper till att utveckla skalbara och robusta webbapplikationer. Det är en plattformsoberoende server-sida komponent. Dessutom är det möjligt att skriva en Servlet med tre metoder: genom att implementera Servlet-gränssnittet, genom att utvidga genericServlet abstrakt klass eller genom att utvidga HttpServlet abstrakt klassen. Servlet-gränssnittet är supergränssnittet för både GenericServlet och HttpServlet. Den har fem abstrakta metoder, och GenericServlet och HttpServlet ärver dessa metoder.

Viktiga områden som omfattas

1. Vad är GenericServlet
     - Definition, Funktionalitet
2. Vad är HttpServlet
     - Definition, Funktionalitet
3. Vad är skillnaden mellan GenericServlet och HttpServlet
     - Jämförelse av viktiga skillnader

Nyckelbegrepp

GenericServlet, HttpServlet

Vad är GenericServlet

GenericServlet är den omedelbara underklassen i Servlet-gränssnittet. Det är; en metod som ärvd från Servlet-gränssnittet kallas tjänsten () är en abstrakt metod i GenericServlet. De övriga fyra metoderna som ärverts från Servlet-gränssnittet har implementeringar i GenericServlet. En programmerare som utökar klassen GenericServlet bör åsidosätta tjänsten () och skriva implementeringen för den.

GenericServlet används också med protokoll som SMTP, CGI, FTP, HTTP, etc. Därför är det protokolloberoende. Med andra ord kan den användas när webben inte standardiserades till HTTP-protokoll.

Vad är HttpServelt

Idag använder de flesta webbapplikationer HTTP-protokoll. HttpServlet är utformad för att stödja HTTP-protokoll. Det är också en abstrakt klass. Vidare är den omedelbara superklassen av HttpServlet GenericServlet. HttpServlet överstyrar servicemetoden i GenericServlet. Det är möjligt att ersätta tjänsten (metod med hjälp av doGet () eller doPost () med samma parametrar av servicemetoden.

Eftersom HttpServlet är underklassen GenericServlet, ärver den egenskaperna och metoderna för GenericServlet. Därför kan han, när programmeraren utökar HttpServlet, använda funktionaliteten i båda klasserna.

Skillnad mellan GenericServlet och HttpServlet

Definition

GenericServlet är en klass som implementerar Servlet, ServletConfig och Serializable gränssnitt som ger implementeringen av alla metoder för dessa gränssnitt utom servicemetoden. HttpServlet är en klass som utökar klassen GenericServlet och implementerar Serializable gränssnitt som tillhandahåller HTTP-specifika metoder. Därför indikerar detta den grundläggande skillnaden mellan GenericServlet och HttpServlet.

Protokollberoende

En viktig skillnad mellan GenericServlet och HttpServlet är att GenericServlet är protokolloberoende medan HttpServlet är protokollberoende.

Service metod

Även i GenericServlet är servicemetoden abstrakt. I HttpServlet är servicemetoden dock inte abstrakt. Således är detta en annan viktig skillnad mellan GenericServlet och HttpServlet.

Signatur

Dessutom utvidgar den offentliga abstrakta klassen GenericServlet java.lang.Object och implementerar Servlet, ServletConfig och, java.io.Serializable. Men den offentliga abstrakta klassen HttpServlet sträcker sig och GenericServlet implementerar java.io.Serializable.

Associerad underklass

GenericServlet är den omedelbara underklassen i Servlet-gränssnittet. HttpServlet, å andra sidan, är den omedelbara underklassen av GenericServlet.

Definierat paket

Paketet javax.servlet definierar GenericServlet medan paketet javax.servlet.http definierar HttpServlet. Detta är en annan skillnad mellan GenericServlet och HttpServlet.

Utvidgning / genomförande

Vidare utökar GenericServlet Objeklass och implementerar Servlet, ServletConfig och Serializable gränssnitt. HttpServlet utökar GenericServelt och implementerar ett Serializable gränssnitt. 

användbarhet

En annan skillnad mellan GenericServlet och HttpServlet är att GenericServlet inte vanligtvis används medan HttpServlet ofta används.

Slutsats

Huvudskillnaden mellan GenericServlet och HttpServlet är att GenericServlet är protokolloberoende som kan användas med alla protokoll som HTTP, SMTP, FTP, CGI etc. medan HttpServlet är protokollberoende och används endast med HTTP-protokoll.

Referens:

1. "GenericServlet Class i Servlet - Javatpoint." Www.javatpoint.com, Tillgänglig här.
2. "HttpServlet-klass i Servlet - Javatpoint." Www.javatpoint.com, Tillgänglig här.

Image Courtesy:

1. "Servlet" Av Frederik Wahl - Egent arbete (Public Domain) via Commons Wikimedia