When we run the JSP components JSP Container converts the JSP page in to equivalent Servlet and then Servlet Container compile and execute this servlet internally and displays the output on browser. But when we develop Servlet, before deploying/running on server we need to complile(if not developed on IDE) but Servlet container not complies this Servlet automatically like above case(when we develop JSP) ?
Servlets are classes that, like all other Java classes, need to be compiled into class files before being used.
JSPs are markup templates that get automatically translated and compiled behind the scenes. The fact that JSPs are translated into servlets is an implementation detail that's specific to JSP. That this should somehow affect how servlets themselves work is a bit of an odd notion.