A JSP is compiled to a servlet, so it can't work outside of a servlet engine.
You could presumably build a server that would run JSP but refuse to run Servlets that did not start out as JSPs, but why would you ever want to do that?
A Servlet container cannot run JSPs without a JSP translator (the thing that converts JSP to Servlet code) -- so in principle you can have a non-JSP Servlet container (it wont be
J2EE spec complient tho).