0

我想从我的应用程序中读取 jsp 页面并将其保存到文件中 - 它是输出,而不是代码本身。另外,我的应用程序具有基本身份验证(用户名+密码)。

如果它是一个 Servlet,我可以访问它的 doGet 方法。

我找到的一个解决方案是-打开 URL 连接,提供身份验证详细信息并读取流。

我想知道是否还有另一种选择,可能是访问Web容器中生成的Servlet,然后使用反射调用类doGet。

4

1 回答 1

1

您可以预编译 JSP,然后调用 servlet(甚至不必使用反射)。如果您尝试在没有预编译的情况下调用 JSP 的 servlet,那么它可能还没有退出(因为通常服务器只在第一次调用 JSP 后才编译它)。

要预编译 JSP,请检查您的 Web 服务器文档。

我个人认为你最好使用 URL 连接。预编译 JSP 是不可移植的(因为您需要为每个 Web 服务器以不同的方式进行)。

编辑

您还可以使用RequestDispatcher.include()带有包装响应对象的方法,如本答案中所述。

于 2013-05-02T07:28:45.027 回答