If you deploy a packed war, You have to put the JSP in the temp-directory that the WAR is unpacked in.
I deploy my apps fully exploded (both ear's and wars and jars for ejb's) and can put a new JSP directly into the .war-directory and call it later. If I had a servlet that generated a new JSP, I would also just put in my war-directory and it would be reachable.
I also preserves the genereated servlet-code (for the JSP) ans saves the compiled servlet, so I don't have to recompile, but this would probably not be an issue if the servlet generates a new JSP. This would always be newer than the previous copy anyway.