我正在开发一个项目,我在其中运行打包在战争中的 servlet,这些 servlet 侦听请求并在单独的页面上填充外部 div。向 servlet (a) 发出初始请求,如果有数据要显示,它会呈现该 HTML。如果没有数据,它会将查询字符串传递给另一个 servlet 来处理请求,然后呈现一个带有可供选择的选项的页面。
我正在使用 Windows Server 2008 运行 Tomcat 6。
但是我遇到了两个问题:
- 当我使用重定向时,我没有收到被重定向到的 servlet 的响应。我有一些从未被 (b)
servlet 调用的 javascript 警报。我正在使用相对路径并确认日志中的链接正确。 - 当我在新窗口中的步骤 1 中复制该链接时,我会看到结果。只是当它嵌入到发出请求的另一个页面中时不是。为什么会这样?是否可能是主机页面的限制并且无法呈现响应?
- 当我使用转发时,我会看到 servlet 响应,但随后会打开一个新窗口。从而使人远离原始页面。如果结果呈现在同一页面中,那就太好了。
确保我可以使用来自第一个 servlet 的响应对象从初始 servlet 调用“重定向”到另一个 servlet 的最佳实践是什么?