Advantages of Java Servlets
- Portability
- Powerful
- Efficiency
- Safety
- Integration
- Extensibilty
- Inexpensive
Each of the points are defined below:
Portability
As we know that the servlets are written in java and
follow well known standardized APIs so they are highly portable across operating
systems and server implementations. We can develop a servlet on Windows
machine running the tomcat server or any other server and later we can deploy
that servlet effortlessly on any other operating system like Unix server running
on the iPlanet/Netscape Application server. So servlets are write once, run
anywhere (WORA) program.
Powerful
We can do several things with the servlets which were
difficult or even impossible to do with CGI, for example the servlets can talk
directly to the web server while the CGI programs can't do. Servlets can share
data among each other, they even make the database connection pools easy to
implement. They can maintain the session by using the session tracking mechanism
which helps them to
maintain information from request to request. It can do many other things
which are difficult to implement in the CGI programs.
Efficiency
As compared to CGI the servlets invocation is highly
efficient. When the servlet get loaded in the server, it remains in the server's
memory as a single object instance. However with servlets there are N threads
but only a single copy of the servlet class. Multiple concurrent requests are
handled by separate threads so we can say that the servlets are highly scalable.
Safety
As servlets are written in java, servlets inherit the
strong type safety of java language. Java's automatic garbage collection and
a lack of pointers means that servlets are generally safe from memory management
problems. In servlets we can easily handle the errors due to Java's
exception handling mechanism. If any exception occurs then it will throw an
exception.
Integration
Servlets are tightly integrated with the server.
Servlet can use the server to translate the file paths, perform logging, check
authorization, and MIME type mapping etc.
Extensibility
The servlet API is designed in such a way that it can
be easily extensible. As it stands today, the servlet API support Http Servlets,
but in later date it can be extended for another type of servlets.
Inexpensive
There are number of free web servers available
for personal use or for commercial purpose. Web servers are relatively
expensive. So by using the free available web servers you can add servlet
support to it.