So, in an ideal world, page designers (with no programming skills) can just write JSPs containing no code, just tags that they and their GUI-based design tools understand.
That leaves us server-side programmers (who may have no talent for, or interest in, page design, i.e. me!) to write the code for servlets and beans and leave the arty-farty, pretty stuff to those who care.
where all the functionality which is done in servlets can be done by JSP
Where did that turkey come from? JSP are a way to make servlets that is optimized for writing HTML pages. In case you have not noticed, there is a lot more to the Internet than HTML pages. If you want to serve binary data - images, sound, zip files, etc. servlets are the method of choice. Not to mention all the services such as SOAP that can be built on a servlet base. Bill