The differences are
1) In Jsp, content generation and content presentation are easily separable..so readablity is easy But in Servlet..we need to embed the Html in
java code which is difficult to understand.
2) Jsp gives Http protocol specific functionality only.But servlet may provide Protocol independent functionality that is , servlet may be a http servlet or generic servlet
3) Jsp is an extension of servlet.