【发布时间】:2023-03-22 12:00:01
【问题描述】:
有人告诉我要使用一些由 servlet 和 taglib 组成的第 3 方软件。 servlet生成搜索结果,taglib根据servlet渲染结果和其他交互元素。
问题是第 3 方解决方案是通过 http 会话实现的,这意味着 servlet 进行搜索,将结果存储在会话中,将重定向发送到浏览器和查看页面(在一个完整的单独 http 请求中)显示会话的结果。
我想摆脱会话,因为这不适用于多个选项卡并且还有其他一些缺点。但是 servlet 和 taglib 是按原样交付的,如果我需要不同的东西,我必须自己从头开始实现它。
知道如何在一个请求中实现这一点,从而不需要会话吗?在最好的情况下,无需更改代码,而只需一个包装器。它可以接受服务器创建会话,但我不希望浏览器依赖它。
我的一个想法是使用 request-dispatcher 在一个 http 请求中执行 servlet 调用和视图,但该软件仍然使用会话。然后我可以在每次请求后丢弃会话。我们非常感谢更好的想法。
我当然知道,最好的办法是在不满足我要求的情况下正确实施它。但一切照旧,我们尽量避免花费太多时间..
提前致谢,晚上愉快 米歇尔
【问题讨论】:
-
有什么理由不能直接转发到 JSP 而不是整个“redirect-and-load-from-session”废话?
-
@MattBrock 我只想转发,但愚蠢的 servlet 会进行重定向。如果我要实现它,它将是转发或 ServletFilter,而不是带有会话内容的重定向。