session - Tomcat:如何从 servlet 访问( session )管理器

标签 session tomcat servlets jakarta-ee

我需要从 Tomcat 中的 servlet(或过滤器)访问管理器以通过自定义 session ID 加载自定义 session 。

回答您的下一个问题:我为什么需要它。 Flash 中有一个旧错误导致它从 IE 而不是从当前浏览器发送 cookie。因此,如果我在 FF 中并尝试使用 SWFUpload 上传文件,我最终会遇到错误的 session 和错误。

我想将魔术参数添加到 POST,它应该覆盖默认(错误的) session ID,然后加载自定义 session 而不是 Tomcat 加载的 session 。我不能使用 URL 重写,因为首先解析 cookie,并且当 flash 从 IE 发送错误的 cookie 时,Tomcat 不会尝试从 url 重写的地址加载 session 。

对于如何从上下文或原始问题的解决方案访问管理器的任何其他提示,我将不胜感激。

提前致谢, 陪审团

最佳答案

对于 Tomcat:

   ApplicationContextFacade appContextFacadeObj = (ApplicationContextFacade)    request.getSession().getServletContext();

    try
    {
        Field applicationContextField = appContextFacadeObj.getClass().getDeclaredField("context");
        applicationContextField.setAccessible(true);
        ApplicationContext appContextObj = (ApplicationContext) applicationContextField.get(appContextFacadeObj);
        Field standardContextField = appContextObj.getClass().getDeclaredField("context");
        standardContextField.setAccessible(true);
        StandardContext standardContextObj = (StandardContext) standardContextField.get(appContextObj);
        Manager persistenceManager = standardContextObj.getManager();
    }
    catch(SecurityException e)
    {
        logger.error(e);
    }
    catch(NoSuchFieldException e)
    {
        logger.error(e);
    }
    catch(IllegalArgumentException e)
    {
        logger.error(e);
    }
    catch(IllegalAccessException e)
    {
        logger.error(e);
    }

关于session - Tomcat:如何从 servlet 访问( session )管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5807664/

相关文章:

java - 是否可以使用单个 hibernate session 将对象保存在两个不同的模式中?

php - 一键提交多表单

oracle - grails tomcat 7部署

java.sql.SQLException : No suitable driver found for jdbc:mysql://localhost/mydb? autoReconnectForPools=true&useUnicode=true&characterEncoding=utf-8

java - 在服务器上上传一个 servlet 页面

java - 服务小程序请求

mysql - Perl DBI Connect 在脚本完成后保持 session 事件

c# - Current.Session 工作很奇怪

bash - eval - 如何跳过单引号中的 $ 字符被评估

java - Servlet 过滤器作为 Web 应用程序的安全性