supperhpxd 2009-01-04 16:14
浏览 254
已采纳

请教一个serializable问题

在用SSH做项目已经有一段时间了,一直都没有问题,但是今天在更改用户登录功能的时候出了问题,情况如下:
访问login.jsp,输入用户名,密码,如果验证错误则报告出错,到这里还没问题。但是如果用户名,密码输入正确,去就报出
javax.servlet.ServletException: java.lang.IllegalArgumentException: setAttribute: Non-serializable attribute
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
的问题

在UserAction中,我是这样写的
public String doLogin(){
User user = getUserService().checkUser(getUsername(), getPassword());
if (user != null){
getSession().setAttribute("user", user);
return IConstant.SUCCESS;
}
return IConstant.LOGIN;
}
调试了一下,user对象是可以得到的,但是在getSession().setAttribute时就出现了上面的异常。请问这是何故?

备注,getSession是这么写的
public HttpSession getSession() {
return ServletActionContext.getRequest().getSession();
}

  • 写回答

1条回答 默认 最新

  • iteye_5200 2009-01-04 17:20
    关注

    user对象没有实现serializable接口,放在session中的数据必须是可序列化的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable