java - 支柱 1 : how do i get session variable in DAO layer

标签 java struts-1 struts1

我正在使用 struts 1(遗留项目的维护任务)。该应用程序在调用 Manager 类的 ActionClasses 和实例化并使用 DAO 层类的 Manager 类中分层/

我必须编写条件逻辑代码,其中基于 session 变量,我希望 DAO 层在不同的 DB2 模式之间切换。

如何读取 DAO java 类中的 session ? 一种明显的方法是重构管理器/dao 类构造函数以通过调用链传递 session 变量

在struts 2中,我们使用ActionContext.getContext().getSession();

我可以在 struts 1 中做类似的事情吗?

---编辑给所有纯粹主义者(包括我)----------

我正在研究这个代码库,用于对更新的业务逻辑进行原型(prototype)设计。这是一个继承的代码,早在 2003-2004 年就写好了。原型(prototype)完成后,这段代码根本不会被使用,直接进入回收站。

我知道 DAO 不需要访问 HTTP session ,这就是我编写代码时遵循的。

但我的问题是,有没有办法在struts 1框架中访问DAO中的 session (过滤器/黑客?)

最佳答案

最简单的是有一个本地线程,可能设置在过滤器或简单定制的请求处理器中,通过静态方法访问。我感觉很脏。

关于java - 支柱 1 : how do i get session variable in DAO layer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10626273/

相关文章:

java - Struts 1x 与 java 1.7 兼容吗

java - 检索多选列表值以在struts中插入数据库

java - 如何修复struts漏洞

java - Struts 和可变 post 参数

java - 任何长度的重复排列

java - Java中的泛型数组,强制所有类型都是同一类型?

java - org.apache.jasper.JasperException : javax. servlet.ServletException : javax. servlet.jsp.JspException:无法在名称airline_name下找到bean

java - etat HTTP 500 - javax.servlet.ServletException : javax. servlet.jsp.JspException:找不到 ActionMappings 或 ActionFormBeans 集合

找不到类型的 java.util.Date bean

java - 使用hibernate JPA,mysql数据库,创建索引错误