What advantages do servlets have over CGI programs?
Answers were Sorted based on User's Feedback
Answer / guest
Servlets are written in Java and are platform-independent.
Servlets run under the JVM and may be secured using the Java
sandbox.
Servlets run as threads and may be preloaded to improve their
performance.
Is This Answer Correct ? | 12 Yes | 0 No |
Answer / ravikiran
cgi makes use of multiprocessing.Means each and every
request is processed by an individual process.where as
servlets make use of multithreading.A single process with
multiple threads to accomplish the particular task
Is This Answer Correct ? | 9 Yes | 0 No |
Answer / hariom rao
there are two advantages:-
(a)in servlet,it is not necessary to create a seperate
process to handle client request.
(b)servlets are platform independent because they are
written in java.
Is This Answer Correct ? | 5 Yes | 0 No |
Answer / gunasekar
1. Efficient
With traditional CGI, a new process is started for each HTTP request. If the CGI program itself is relatively short, the overhead of starting the process can dominate the execution time. With servlets, the Java virtual machine stays running and handles each request with a lightweight Java thread, not a heavyweight operating system process.
2. Convenient
Servlets have an extensive infrastructure for automatically parsing and decoding HTML form data, reading and setting HTTP headers, handling cookies, tracking sessions, and many other such high-level utilities. In CGI, you have to do much of this yourself.Besides, if you already know the Java programming language, why learn Perl too?
3. Powerful
Servlets support several capabilities that are difficult or impossible to accomplish with regular CGI. Servlets can talk directly to the Web server, whereas regular CGI programs cannot, at least not without using a server-specific API.
4. Portable
Servlets are written in the Java programming language and follow a standard API and thus are portable themselves.
5. Inexpensive
A number of free or very inexpensive Web servers are good for development use or deployment of low- or medium-volume Web sites.This is in contrast to many of the other CGI alternatives,
which require a significant initial investment for the purchase of a proprietary package.
6. Secure
One of the main sources of vulnerabilities in traditional CGI stems from the fact that the programs are often executed by general-purpose operating system shells. So, the CGI programmer must be careful to filter out characters such as backquotes and semicolons that are treated specially by the shell. Implementing this precaution is
harder than one might think, and weaknesses stemming from this problem are constantly being uncovered in widely used CGI libraries.
A second source of problems is the fact that some CGI programs are processed by languages that do not automatically check array or string bounds. Servlets suffer from neither of these problems. Even if a servlet executes a system call (e.g., with Runtime.exec or JNI) to invoke a program on the local operating system, it does not use a shell to do so. And, of course, array bounds checking and other memory protection features are a central part of the Java programming
language.
Is This Answer Correct ? | 3 Yes | 0 No |
Answer / ravikiran.chd
servlets make use of multi threaded programming,where as cgi
is a multi tasking programming
Is This Answer Correct ? | 4 Yes | 2 No |
i am bca student,give me suggest for bright future
18 Answers BSNL, Future Considerations,
What is context in servlet?
Which event is fired at the time of session creation and destroy?
What do you mean by httpservlet and how it is different from the genericservlet?
Difference between forward() method and sendredirect() method ?
What is meant by servlet? What are the parameters of the service method?
How we can create war file in servlet?
What is lazy loading and what is Generic Servlet Class?
What methods do we use in Servlet to Applet communication?
What do you mean by a filter and how does it work?
Why do you use session tracking in httpservlet?
how do you maintain sessions in servlets?