我想从我的应用程序中读取jsp页面并将其保存到文件中 - 它是输出,而不是代码本身。另外,我的应用程序具有基本身份验证(用户名+密码)。
如果是Servlet,我可以访问它的doGet方法。
我发现的一个解决方案是this - 打开URL连接,提供身份验证详细信息并阅读流。
我想知道是否有另一个选项,可能是在Web容器中访问生成的Servlet,然后使用反射来调用类doGet。
答案 0 :(得分:1)
您可以预编译JSP,然后调用servlet(您甚至不必使用反射)。 如果你试图在没有预编译的情况下调用JSP的servlet,那么它可能还没有退出(因为通常服务器只在第一次调用JSP时编译它)。
要预编译JSP,请检查您的Web服务器文档。
我个人认为你最好使用URL连接。预编译JSP不可移植(因为您需要以不同的方式为每个Web服务器执行此操作)。
修改强>
您还可以使用RequestDispatcher.include()
方法和this answer中所述的包装响应对象。