devxlogo

Servlets vs JSP

Servlets vs JSP

Question:
What is the difference between servlets and Java Server Pages? Which is preferred?

Answer:
Servlets and Java Server Pages are complementary APIs, both providinga means for generating dynamic Web content. A servlet is a Javaclass implementing the javax.servlet.Servlet interface that runswithin a Web or application server’s servlet engine, servicing clientrequests forwarded to it through the server. A Java Server Page is aslightly more complicated beast. JSP pages contain a mixture of HTML,Java scripts (not to be confused with JavaScript), JSP elements,and JSP directives. The elements in a Java Server Page will generallybe compiled by the JSP engine into a servlet, but the JSP specificationonly requires that the JSP page execution entity follow the ServletProtocol.

The advantage of Java Server Pages is that they aredocument-centric. Servlets, on the other hand, look and act likeprograms. A Java Server Page can contain Java program fragments thatinstantiate and execute Java classes, but these occur inside an HTMLtemplate file and are primarily used to generate dynamic content.Some of the JSP functionality can be achieved on the client, usingJavaScript. The power of JSP is that it is server-based and providesa framework for Web application development. Rather than choosingbetween servlets and Java Server Pages, you will find that mostnon-trivial applications will want to use a combination of JSP andservlets. In fact, the JSP 1.1 and Servlet 2.2 specifications arebased around the concept of the Web application, combining the twoAPIs into a unified framework.

devx-admin

Share the Post: