Solved

servlet advantages

Posted on 2014-03-26
6
317 Views
Last Modified: 2014-04-17
Hi,

I was reading servlet advantages as below(http://www.javatpoint.com/servlet-tutorial)


   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
0
Comment
Question by:gudii9
  • 2
  • 2
  • 2
6 Comments
 
LVL 26

Expert Comment

by:dpearson
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?

Doug
0
 
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 :
http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html
0
 
LVL 7

Author Comment

by:gudii9
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
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 12

Accepted Solution

by:
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.
0
 
LVL 7

Author Comment

by:gudii9
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
0
 
LVL 26

Assisted Solution

by:dpearson
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.

Doug
0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
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.

706 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now