我有一个JSP页面,以某种格式化的方式显示数据。浏览器可以调用spring showInfo.do,它是前向JSP。 即。
public showInfo(HttpServletRequest request, HttpServletResponse response) {
RequestDispatcher rd = getServletContext().getRequestDispatcher("info.jsp");
dispatcher.forward(request,response);
}
JSP的输出是html。
现在我想从我的java服务器端代码(而不是在servlet上下文中)手动保存这个JSP输出,如下所示:
void saveInfo() {
params.setParameter("info1", "data");
String responseStr = Invoke("info.jsp", params);
//save responseStr to disk
}
我希望能够从服务中保存磁盘上的html页面,并使其看起来与用户可以从浏览器中看到的一样。因此,如果服务器处于脱机状态,用户可以双击保存的html文件,并在浏览器中查看最后一个信息。 知道如何做到这一点?
答案 0 :(得分:0)
Oups。 servlet规范要求servlet容器能够执行JSP文件。这通常通过将JSP转换为普通Java并生成servlet类文件来完成。
如果您位于servlet容器之外,则必须:
*要么完全实现JSP执行环境,例如使用来自像Tomcat这样的servlet容器中的源
*或依赖servlet容器将JSP文件转换为.java或.class servlet,然后在其上使用Servlet
接口方法
或者,您可以尝试使用headless browser来捕获应用程序的输出。