Servlet Advantages, The Servlet is a Java program which can run in Web server or Application server and act as a mediator from a web browser or client to the database or Server. For this Servlet, one can take input from the users through HTML or Web forms and can also take present records from databases and create web forms dynamically.Now, there comes a doubt about what is a Web server and Application server.
Web server only supports Web application like Servlets, JSP , HTML and Application Server support Enterprise Edition like Servlets, JSP , HTML, EJB (Enterprise Java Bean) , JMS (Java Message Service) and the Application Server is Superior (Web Server + EJB + JMS). Following is a conceptual figure which gives more regarding web server and application server. Following are the advantages of servlet.
Advantages
The servlet is a server side component which gives a powerful mechanism for developing server side application.
Servlet provides an important role in the exploring internet, reusability, performance and scalability.
A web developer can create fast and efficient server side program by using servlets.
The servlet is platform independent because servlet is written entirely on Java. Servlets can run on any web server. For example, if one develops an application in windows machine running the Resin server, one can easily run the same application on Apache web server without modification and compilation of code.
The servlet is safe because, servlet inherits Java with all features like memory management, exception handling, multi-threading, garbage collection and emerged as a very powerful web server extension.
The servlet is secure.It is nothing but applying Authentication and Authorization on the Web Application.
Authentication means checking the identity of a user.
Authorization means checking the access permission of the user on particular resources of the project.
The servlet is Robust because, they are managed by the JVM.So need not worry about the memory leak, garbage collection.
The servlet is Scalable because, Servlet developed based on thread based server side technologies.
Advantages of Servlet over CGI
Advantages
The main advantage of servlet over CGI is platform independent. Servlet runs on any operating system along with JVM installation which means that would not be having any problem even if switched to other operating system, with CGI. Switching to another operating system is more difficult. One needs to recompile the program in the new operating system.
Servlet runs on thread based application while CGI runs on separate Processor based application. If the number of clients increases, CGI takes more time for sending a response.But servlets takes less time for sending a response.
In the above diagram, a lot of disadvantages occurs in CGI which is a specification to develop Server-side Web resource program. So PERL (practical extraction reporting language) programming language will be used to develop the web resource program based on CGI.
CGI takes each Request as one processor. So it takes the burden of the processor for processing the Request.
CGI is a platform dependent language like C, C++, PERL.
From the above diagram, only one processor has taken so many threads. In that, thread only processes Request. So there will be less burden on the processor.
Summary
Key Points
CGI stands for common gate way interface.
Servlet is similar to applets, but applets are persistent.
Servlet creates a thread in which thread takes only HTTP Request and Response is processed.
Servlets packages will be used in Java frameworks also while developing web applications.