java - Servlet 在 session.getAttribute 的转换上抛出异常
问题描述
任何人都知道为什么代码会在这一行抛出异常?
HttpSession session = request.getSession();
UserFactory userFactory = UserFactory.getInstance();
int userNum = (int)session.getAttribute("userID");
User user = userFactory.getUserByID(userNum);
正是在第三行,我在项目中其他时间使用了这行代码,但从未出现过这个异常。
解决方案
尽管您保存了一个 int,但方法需要一个 Object。因此,您的 int 将成为一个整数(阅读自动装箱)。下面应该可以正常工作!
int userid = (Integer) session.getAttribute("userID");
推荐阅读
- javascript - c3.js如何将y标签放置在水平条形图中的条内?
- css - 为什么在调整窗口大小时输入字段的左侧没有空间?
- python - 在 PyQt 的文件夹中显示文件
- laravel - Laravel 一对多关系,完整性约束违反错误
- java - 运行 Spring Boot 集成测试时加载 ApplicationContext 失败
- java - 向已经声明的类添加接口?
- ansible - ansible循环中的Jinja模板
- android - 如何将 Android Things mDNS 主机名 (Android.local) 更改为其他名称
- docker - docker-compose 使用列表、映射或数组值替换/插值
- php - Bootstrap 4轮播动态为Wordpress