Open In App

Difference between Servlet and JSP

Last Updated : 18 Apr, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Brief Introduction: Servlet technology is used to create a web application. A servlet is a Java class that is used to extend the capabilities of servers that host applications accessed by means of a request-response model. Servlets are mainly used to extend the applications hosted by web services. 

JSP is used to create web applications just like Servlet technology. A JSP is a text document that contains two types of text: static data and dynamic data. The static data can be expressed in any text-based format (like HTML, XML, SVG, and WML), and the dynamic content can be expressed by JSP elements. Difference between Servlet and JSP

The difference between Servlet and JSP is as follows:

Servlet JSP
Servlet is a java code. JSP is a HTML-based compilation code.
Writing code for servlet is harder than JSP as it is HTML in java. JSP is easy to code as it is java in HTML.
Servlet plays a controller role in the ,MVC approach. JSP is the view in the MVC approach for showing output.
Servlet is faster than JSP. JSP is slower than Servlet because the first step in the JSP lifecycle is the translation of JSP to java code and then compile.
Servlet can accept all protocol requests. JSP only accepts HTTP requests.
In Servlet, we can override the service() method. In JSP, we cannot override its service() method.
In Servlet by default session management is not enabled, user have to enable it explicitly. In JSP session management is automatically enabled.
In Servlet we have to implement everything like business logic and presentation logic in just one servlet file. In JSP business logic is separated from presentation logic by using JavaBeansclient-side.
Modification in Servlet is a time-consuming compiling task because it includes reloading, recompiling, JavaBeans and restarting the server. JSP modification is fast, just need to click the refresh button.
It does not have inbuilt implicit objects. In JSP there are inbuilt implicit objects.
There is no method for running JavaScript on the client side in Servlet. While running the JavaScript at the client side in JSP, client-side validation is used.
Packages are to be imported on the top of the program. Packages can be imported into the JSP program (i.e, bottom , middleclient-side, or top )
It can handle extensive data processing. It cannot handle extensive data processing very efficiently.
The facility of writing custom tags is not present.  The facility of writing custom tags is present. 
Servlets are hosted and executed on Web Servers. Before the execution, JSP is compiled in Java Servlets and then it has a similar lifecycle as Servlets.

To read more about them in detail, read these articles on Servlet and JSP.


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads