Difference between Servlet and JSP
Database Diary » Difference between Servlet and JSP


	
		
		
			
		 

			
			As a newbie programmer with java web world you will be facing this dilemma identifying difference between JSP and Servlet that experience programmer talk about or you read it in books, so let’s get started I’m going briefly over what servlet and JSP gives you individually and their pros and cons.
Java Server Pages JSP “java in html”
JSP is nothing but a webpage scripting language that can generate content, if we program taking in consideration MVC  we can say that JSP role in MVC world is View where you can write template text, HTML, CSS and many other client side scripting that you can imagine doing while writing code for webpages.
When you request a JSP page for the first time from the server or when a web page starts up, in the background servlet container will compile it into a class which will extend HttpServlet and then this will be used during the webpage lifetime, this code can be found in server working directory for example if you have Tomcat server this Servlet can be found in /Work directory.
To summarise this in couple of bullet points what it can do.

It’s webpage Scripting language that can generate dynamic content
JSP run slower than Servlet
JSP can be compiled into Servlets
Easy to code than Servlet
In MVC world JSP acts as View

Servlet is html in java
Servlet is a Java Application Programming Interface run on server that can generate code according to client request, a clear example would be HttpServlet, which provides method to hook on HTTP request using HTTP GET and POST request, and this can be found in web.xml but in recent Java after EE 6  can be found in @WebServelet.
When a Servlet is requested for the first time from server, the Servlet container will create an instance of it and keep it in memory during the webpage lifetime. The same instance will be reused for incoming request, you will be able to access the data request by HttpServletREquest and handle the responses by HttpSerlvletResponse. Both object are available as method argument as overridden method of HttpServlet for example doGet() and doPost().
To summarise this in couple of bullet points what it can do.

Servlet is a lot faster than JSP 
Servlets are java program that are already compiled
It’s not easy to code in Servlet JSP is much easier to code than Servlet
In MVC world Servlet act as Controller
Since Servlet act as Controller it make more sense to use it when we have a lot of CRUD going on.

These were some of key points between JSP and Servlet, there is many other difference these are not the only one but with this article I tried to give you most important key points that set them apart from each other.

		
		
		

		

			
			
				
			

				

				I hope this article will be useful for you. If you liked reading my blog and would like to be informed about new articles, then I welcome you to subscribe to it  As a subscriber, you'll never miss any future blog posts. Also, if you would like me to write an article about any specific topics based on databases, then just let me know . I would love to write about what interests you.

			


		

		
		
		
	
	
			
		

