Emmmm
将JavaBean的scope属性设置为某个值,就确定了该JavaBean的作用域,反之,将变量(对象也是变量)存储在哪个JSP 内置对象中,那它的scope(实际不存在,只是概念)也就确定了。
bean里的page确实只对这个界面有效,之前传递的信息会清除,但是这个里面调用了session.set给传过来的name接收了,这个session和之后的界面是同一个会话的,所以下一个界面可以收到name,因为使用session,所以其实跳转界面的时候,你用转发或者重定向都可以的,如果跳到成功界面,视频里用的是转发的方法,你给他换成重定向,也就是response.sendRedirect("login_success.jsp")也能跳到成功界面的,并且可以给name也传过去。
不是这个page当然只对本页面有效,但是老师使用了一个session内部对象
session.setAttribute("loginUser", loginUser.getUsername());
这个代码让这个名字变成了一个session对象,然后有调用了session对象的方法。而且这个转发之后其实这个也面中的信息全部被清除了,但是这个名字已经成为了session对象,所以他会被保留下来。
因为请求的是后台的javabean不是传给其他页面。所谓的application,session和page指的是request能不能在客户端之间的个页面间传递。
那个只对当前页面有效是指获取username和password吧。
请求转发时用的是request,跟page没关系