关于双重实例化的问题
先前已经通过<jsp:useBean id="myUser" class="Users" scope="application"/>来实例化了一个对象myUser了,为什么超链接后还需要再次实例化一次呢,这不是双重定义了吗,应该是报错的啊,而且就算在超链接后删除实例化对象的语句,依然不会错。
求解答~~
先前已经通过<jsp:useBean id="myUser" class="Users" scope="application"/>来实例化了一个对象myUser了,为什么超链接后还需要再次实例化一次呢,这不是双重定义了吗,应该是报错的啊,而且就算在超链接后删除实例化对象的语句,依然不会错。
求解答~~
2017-02-02
应该是同一个对象,这个对象名字都是myUsers,只是同一个对象的属性值在变来变去。但是myUsers对象在页面是有作用域之说的,你试试在dologin的scope改成request,在testScope里的scope改成page,试试?一样得不到,得到null。意思就是说,同一个对象, 作用域不同,不一定能够得到参数。属性因为Request只在一次请求生效,而你用跳转后新页面的page控制了当前属性的作用范围,怎么可以取得Request域的值呢?
总结而言,关于作用域:
1、application整个项目>session整个会话>request一次请求>page当前页面
2、同一个对象的值,大的作用域去取小的作用域就能取到(反过来就不行了)
3、同一作用域,也不能取到,page就是例子
举报