servlet advantages

Posted on 2014-03-26
Last Modified: 2014-04-17

I was reading servlet advantages as below(

   1. better performance: because it creates a thread for each request not process.
  2.  Portability: because it uses java language.
   3. Robust: Servlets are managed by JVM so no need to worry about momory leak, garbage collection etc.
  4.  Secure: because it uses java language..

I have not understood point number1,3. Can you please explain.

please advise
Any links resources ideas highly appreciated. Thanks in advance
Question by:gudii9
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
LVL 27

Expert Comment

ID: 39958178
The comments on that page are based on comparing using a Java servlet to using a really old technology - cgi scripts.

Those worked by running a small executable program on the server to process a request from a user.

So from that:
#1 follows because to servlet is a thread that executes inside an already running process (the Java web application, like Tomcat), rather than having to start a completely new process (the executable cgi program) from scratch.

#3 follows because a servlet is part of a Java program, so it runs (like all Java programs) inside the JVM which means it comes with garbage collection and the other benefits of being a program in a managed environment, rather than a C++ executable (like a CGI script).

Does that make sense?

LVL 12

Expert Comment

by:Gibu George
ID: 39958286
JVM takes care of clearing the unreferenced objects from the memory, which is called automatic garbage collection. Some details are available here :

Author Comment

ID: 39973376
Those worked by running a small executable program on the server to process a request from a user.

How running cgi script is different from servlet. pelase advise
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 12

Accepted Solution

Gibu George earned 250 total points
ID: 39973945
IServlets are run in one process (HTTP server with additional features, which called Servlet Container) and they exist as long as that process exists.

CGI means every time there's client request, HTTP server creates new instance of process to serve this request. This is performance killer. Additionally, since there's new process per each request, it means CGI can't aggregate data from several requests in memory, as Servlets can, and must resort to external persistent storage (file or DB). This is performance killer as well.

Author Comment

ID: 39976489
it means CGI can't aggregate data from several requests in memory, as Servlets can,

How servlets do this task currently? please advise
LVL 27

Assisted Solution

dpearson earned 250 total points
ID: 39976931
When a servlet runs it's just a part of a long running Java process - the web server.  E.g. Tomcat.

Tomcat doesn't start and stop with each request.  It's always in memory and can store information from a series of requests.

A cgi process on the other hand starts from scratch each tine in response to a request and exits completely when the request finishes. So there's no long running process in memory that you can use to store long term data.


Featured Post

Enroll in May's Course of the Month

May’s Course of the Month is now available! Experts Exchange’s Premium Members and Team Accounts have access to a complimentary course each month as part of their membership—an extra way to increase training and boost professional development.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

I had a project requirement for a displaying a user workbench .This workbench would consist multiple data grids .In each grid the user will be able to see a large number of data. These data grids should allow the user to 1. Sort 2. Export the …
Introduction This article is the second of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers the basic installation and configuration of the test automation tools used by…
The viewer will learn how to implement Singleton Design Pattern in Java.
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.

739 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question