首页 > 解决方案 > Servlet 在 session.getAttribute 的转换上抛出异常

问题描述

任何人都知道为什么代码会在这一行抛出异常?

        HttpSession session = request.getSession();
        UserFactory userFactory = UserFactory.getInstance();
        int userNum = (int)session.getAttribute("userID");
        User user = userFactory.getUserByID(userNum);

正是在第三行,我在项目中其他时间使用了这行代码,但从未出现过这个异常。

标签: javaservlets

解决方案


尽管您保存了一个 int,但方法需要一个 Object。因此,您的 int 将成为一个整数(阅读自动装箱)。下面应该可以正常工作!

int userid = (Integer) session.getAttribute("userID");


推荐阅读