JSP有4种范围,分别是page、request、session和application
都能用setAttribute("", "")添加变量,getAttribute("")获取变量,对于page,得用pageContext。
作用范围:
page 在同一个页面有效;
request 在同一次请求(请求页面)间有效,一般请求完毕则失效,但若是通过forward的方式跳转,则forward页面依旧能拿到request的值
但如果是通过redirect的方式,则相当于重新发送一次页面请求,request中的值失效;
注: <jsp:forward page= "相对路径"/> 作用是将请求转到另一个页面,表现为跳转,实际上也分享了request的值
session 在一个会话的生命周期内有效,简单来说就是与服务器连接的时间内,注意的是所有页面共享,如果期间断线,便会失效;
application 作用域最大,直到服务器停止才会失效,所有页面共享。但使用时不宜定义太多,不然或造成服务器负担加重;
作用域由大到小:
application> session> request> page
值得注意的是一个request可以包含多个page(include, forward, filter)