Servlets are server side components that provides
a powerful mechanism for developing server web applications for server side. Earlier CGI
was developed to provide server side capabilities to the web applications.
Although CGI played a major role in the explosion of the Internet, its
performance, scalability and reusability issues make it less than optimal
solutions. Java Servlets changes all that. Built from ground up using Sun's
write once run anywhere technology java servlets provide excellent framework for
server side processing.
Using servlets web developers can create fast and
efficient server side applications and can run it on any servlet
enabled web server. Servlet runs entirely inside the Java Virtual Machine. Since
the servlet runs on server side so it does not depend on browser
Servlets have a number of advantages over CGI and other
API's. They are:
Servlets are written entirely in java so these are platform independent.
Servlets can run
on any Servlet enabled web server. For example if you develop an web
application in windows machine running Java web server, you can easily run
the same on apache web server (if Apache Serve is installed) without
modification or compilation of code. Platform independency of servlets
provide a great advantages over alternatives of servlets.
Due to interpreted nature of java, programs written in java are slow. But
the java servlets runs very fast. These are due to the way servlets run on
web server. For any program initialization takes significant amount of time.
But in case of servlets initialization takes place first time it
receives a request and remains in memory till times out or server shut
downs. After servlet is loaded, to handle a new request it simply creates a
new thread and runs service method of servlet. In comparison to traditional
CGI scripts which creates a new process to serve the request.
Java Servlets are developed in java which is robust, well-designed and
object oriented language which can be extended or polymorphed into new
objects. So the java servlets take all these advantages and can be extended
from existing class to provide the ideal solutions.
Java provides very good safety features like memory management, exception
handling etc. Servlets inherits all these features and emerged as a very
powerful web server extension.
Servlets are server side components, so it inherits the security provided by
the web server. Servlets are also benefited with Java Security Manager.