日期:2014-05-18  浏览次数:20821 次

Servlet中调用JavaBean的问题,困惑很久了……
我在JSP页中用 <jsp:useBean   id= "loginInfo "   scope= "*** "   class= "beans.LoginBean "> 创建一个javaBean的实例,想在Servlet中取得这一对象。然而,如果我在JSP中设置的scope为“request”,在Servlet中调用request.getAttribute( "loginInfo ")得到的就是一个null;如果JSP中的scope为“session”,在Servlet中调用request.getSession().getAttribute( "loginInfo ")倒是能得到一个LoginBean的对象,但里边的属性都被置空了(如果是数值就是0),似乎是重新创建了这么一个对象。
相反,我在Servlet中创建一个bean,然后用request.getSession().setAttribute(   "loginInfo ",   loginInfo   ),接着将请求发到另一个JSP,JSP可以正确地接收数据,这是为什么?请高人指点,谢谢!!!

------解决方案--------------------
不能接受到

发到servlet的时候会 重新产生一个request 对象

还有

session 中的数据不会丢失

你可以试着 打印出
这个bean的hashcode 看有没有改变



------解决方案--------------------
其实你根本没搞清楚什么是request

还有scope的一些范围概念

还有jsp到底是啥也需要搞清楚