• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 353
  • Last Modified:

servlet advantages

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
gudii9
Asked:
gudii9
  • 2
  • 2
  • 2
2 Solutions
 
dpearsonCommented:
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
 
Gibu GeorgeChief Technology OfficerCommented:
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
 
gudii9Author Commented:
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
Cloud Class® Course: CompTIA Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

 
Gibu GeorgeChief Technology OfficerCommented:
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
 
gudii9Author Commented:
it means CGI can't aggregate data from several requests in memory, as Servlets can,

How servlets do this task currently? please advise
0
 
dpearsonCommented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Microsoft Windows 7 Basic

This introductory course to Windows 7 environment will teach you about working with the Windows operating system. You will learn about basic functions including start menu; the desktop; managing files, folders, and libraries.

  • 2
  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now