This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Servlets are compiled classes we burry somewhere under WEB-INF but AT copies them to its base working location to run them. Until they are changed at THAT location, the changes won't reflect and AT does that only at a server restart.
JSPs, almost always(I'll explain), are taken from the source folder and the changes are reflected.
Why "almost always" : Sometimes you would find that the servlets get stuck in the container and no matter what you do in your JSPs they are just not refreshed/changes don't show up. This happens because at times the container simply does not overwrite the files at the base working location.
When you deploy your web application then Jsp file deploy as it is in Tomcat. Yes your are right that Jsp convert into servlet but that process happens into tomcat work/catalina folder. But Jsp deploy same it is at tomcat. So you don't required to restart your tomcat.
But one thing it is not necessary to all times you have to restart your server after change in Servlet or any other Java class. You can use Hot Deployment option using always start your tomcat with debug mode. That will not always required to restart your tomcat.