我想从我的应用程序中读取 jsp 页面并将其保存到文件中 - 它是输出,而不是代码本身。另外,我的应用程序具有基本身份验证(用户名+密码)。
如果它是一个 Servlet,我可以访问它的 doGet 方法。
我发现的一个解决方案是 this - 打开 URL 连接,提供身份验证详细信息并读取流。
我想知道是否还有另一种选择,也许可以访问 Web 容器中生成的 Servlet,然后使用反射来调用 doGet 类。
最佳答案
您可以预编译 JSP,然后调用 servlet(甚至不必使用反射)。 如果您尝试在没有预编译的情况下调用 JSP 的 servlet,那么它可能还不会退出(因为通常服务器仅在第一次调用 JSP 后才编译 JSP)。
要预编译 JSP,请检查您的 Web 服务器文档。
我个人认为你最好使用 URL 连接。预编译 JSP 不可移植(因为您需要为每个 Web 服务器以不同的方式进行预编译)。
编辑
您还可以将 RequestDispatcher.include()
方法与包装的响应对象一起使用,如 this answer 中所述。 .
关于java - 从我的应用程序读取 jsp 页面输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16332174/