java - 在 Java 中是否建议将 HttpSession 转换为 ClientSession?最佳实践是什么?

标签 java servlets jakarta-ee

我想这个问题是不言自明的。这就是我正在做的事情:

Student student = Student.findStudent(s.getRegNumber(), (ClientSession)httpSesn);

findStudent() 方法返回 Student 类的对象。正如您所看到的,我正在将 HttpSession 对象转换为 ClientSession。可取吗?他们有什么隐藏的障碍吗?最佳实践是什么?

最佳答案

所以我假设您正在应用程序服务器中运行此代码,并且它是来自 servlet 的一行。由于 HttpSession 不一定继承自 Java EE 规范中的 ClientSession 或由 ClientSession 实现(除非我错过了一些基本内容),因此当您在不同的服务器(例如 Glassfish、Tomcat 或 JBoss 等)上运行代码时,代码可能会崩溃。

此外,如果您尝试模拟对象进行测试,模拟将实现 HttpSession 接口(interface),而不是 ClientSession 接口(interface)。这会给你一个 ClassCastException。

关于java - 在 Java 中是否建议将 HttpSession 转换为 ClientSession?最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1030704/

相关文章:

java - Material 设计在 android studio 中不起作用

java - 我遇到此错误 java.lang.IndexOutOfBoundsException : Index: 0, 大小:0

java - servlet 返回空白页

java - Tomcat 无法在 Servlet 3.0 中为 JSP 编译类

java - Weblogic 12c 上的 PermGenSpace 错误

java - Intellij IDEA 远程调试无效断点

java - 我的代码的 For 循环出错?

java - 如何从JSP运行jar文件?

java - Web 应用程序中的 Jboss 共享库

java - Java 1.8 中并行流和顺序流的区别