gpt4 book ai didi

java - 避免在 tomcat/servlet 中使用遗留代码进行 HTTP session

转载 作者:行者123 更新时间:2023-11-28 23:46:28 25 4
gpt4 key购买 nike

我被告知要使用一些由 servlet 和 taglib 组成的第 3 方软件。 servlet 生成搜索结果,taglib 根据 servlet 呈现结果和其他交互元素。

问题是第 3 方解决方案是通过 http session 实现的,这意味着 servlet 进行搜索,将结果存储在 session 中,向浏览器和 View 页面发送重定向(在一个完整的单独 http 请求中)显示 session 的结果。

我想摆脱 session ,因为这不适用于多个选项卡并且还有其他一些缺点。但是 servlet 和 taglib 是按原样交付的,如果我需要不同的东西,我必须从头开始自己实现它。

知道如何在一个请求中实现这一点,从而不需要 session 吗?在最好的情况下,无需更改代码,而只需一个包装器。它可以接受服务器创建 session ,但我不希望浏览器依赖它。

我的一个想法是使用请求调度程序在一个 http 请求中执行 servlet 调用和 View ,但该软件仍然使用 session 。然后我可以在每次请求后丢弃 session 。更好的想法将受到高度赞赏。

当然我知道,最好的办法是在没有 session 满足我的要求的情况下正确实现它。但一切如常,我们尽量避免花太多时间..

提前致谢,祝您有个愉快的夜晚米歇尔

最佳答案

我知道这不是最好的解决方案,但创建一个 javax.servlet.Filter,它用自定义的包装 HttpServletRequestHttpServletResponse。覆盖自定义包装器中的 request.getSession()response.sendRedirect() 方法。

并通过在 web.xml 文件中定义属性 将过滤器应用于搜索 servlet 和 JSP。

关于java - 避免在 tomcat/servlet 中使用遗留代码进行 HTTP session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13652366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com