A web application or website is an application program which accessed over a network connection using HTTP and often runs inside a web browser.
A web browser is a program which is act as an interface between user and web application e.g. Internet Explorer, Chrome, Safari, Mozilla firefox etc.
CGI (Common gateway interface):
CGI was the first protocol or way of communication between web server and program. It passes a request from a web user to an application program and receives data back to forward to the web user i.e. It is responsible for dynamic content generation.
Advantages of CGI:
- Technology portability: CGI programming can be written in variety of languages like c, c++, perl.
- Web server portability: All service providers support CGI Programs.
- Response time is high.
- CGI scripts are platform-dependent.
- For every request, a new process will be started and web server is limited to start processes.
- CGI programs are not object oriented always.
Servlet overcomes the above disadvantages.
Servlet as technology:
As a technology servlet provides a model of communication between a web user request and the application or program on the web server.
Servlet as component:
As a component servlet is a program which is executed in web server and responsible for dynamic content generation.
Main tasks of servlet:
- Read the implicit and explicit data sent by web browser.
- Generate result by processing the data.
- Send the implicit and explicit data as a response to the web browser.
javax.servlet and javax.servlet.http packages contains the classes and interfaces for servlet API. These packages are the standard part of Java’s enterprise edition.
javax.servlet contains a number of classes and interfaces which are mainly used by servlet container.
javax.servlet.http contains a number of classes and interfaces which are mainly used by http protocol.
Differences between CGI and Servlet.