<p>Would it be possible to execute a JSP page and capture its output outside of a web application? 
Mode specifically, in my case there still exists a usual web application, but it loads JSP pages not from its classpath, but from an arbitrary source. It seems like I cannot simply  get RequestDispatcher and point it to a JSP file on disk. </p>

Correct me if I'm wrong, but I think you mean you want to capture the HTML... not the JSP.  A JSP is processed (into a JAVA file) on a servlet-engine (Web app Server) and after the HTML is formatted and served up to the requestor via a Web server (not the same as a web APP server).  You can't get the RequestDispatcher to work on a straight JSP from disk because it hasn't been processed yet by the web app server.
Now, to capture the output of a JSP (in HTML) should be possible, but I've never done that before.  There may be some slick APIs that those out there more knowledgable than I can address, but HTTP is typically done on port 80, so I guess one could read/write to port 80 on a TCPIP socket.  There's probably some more things to do on top of that, but at least that's some point to start looking into.
Sorry I can't provide more details, but hell... it's all theory to me at this point.