0

所以我遇到了一个问题。我将某些字段存储在从页面到页面的请求中,因为每个页面都需要在我使用跨页面的收集器中填充不同的字段。问题是返回按钮。

如果我单击链接进入我的登录页面,服务器会使用适当的页面名称和事件名称等填充来自请求的收集器,以允许我导航到登录页面。(某些东西必须加载,所以它必须通过一个 servlet)。但是,在该页面上,有用于广告之类的静态模块,因此单击其中一个广告会将您带到一个单独的静态页面,该页面不需要这些属性即可访问。在 Chrome、Safari 和 FF 中,如果我在访问此静态页面后单击返回按钮,浏览器会要求我重新加载请求才能查看该页面。然而,在 IE8 中,没有页面重新加载。它只是将我踢回页面,并没有填充请求,并且它与我的抱歉页面一起崩溃。

我需要知道是否有办法在点击后退按钮时填充请求,以及如何做到这一点。否则,我的 servlet 在尝试访问这些字段时会抛出一个空指针,因为它们在请求中都是空的。任何帮助将不胜感激。我什至不确定这是否可能。

4

1 回答 1

0

我猜您正在使用POST请求导航到每个页面。POST应该用于发送一些与页面视图不同的用户操作 - 登录、购买东西、更改设置等。浏览器要求用户确认他们想要使用 重新访问页面POST,然后才意味着状态更改。请参阅POST 和 GET 有什么区别?

对于用户不采取行动的简单内容页面,最好使用GET请求。此外,在服务器request.getSession()端获取和存储用户字段更为常见。也就是说,您只发送一次,然后为每个请求查找它们。查找有关 java 中的会话跟踪的教程。

于 2012-04-30T16:01:26.803 回答