A JSP file is written as HTML. It gets converted to a Servlet. The process (of conversion) is done entirely internally, so it does not matter to an end-user, but definitely is of interest to the developer.
A JSP page runs on a JSP container, just like a Servlet runs on a Servlet container. The Servlet container normally doubles up as a JSP container as well. For instance Tomcat is a Servlet/JSP container.
When a JSP page is requested by the user, the container handles the action as follows.