JAVA web四个属性的范围汇总

首先,你需要知道client跳跃和server差别:

client跳转: response.sendRedict(String path),地址栏发生改变。

不能传递request属性。

server端跳转:<jsp:forward> 地址栏不发生改变。能传递request属性。

request属性范围: 仅仅有在server端跳转以后,全部设置的内容才会停留下来。

session属性范围:  无论是client跳转还是server端跳转,仅仅要是是属性设置了都能够取得。


1:page:(pageContext)

仅仅在一个页面中保存属性。跳转之后无效。

表示将一个属性设置在本页面上,跳转之后无效。

当通过<jsp:forward>server跳转(地址栏不发生改变)之后。属性无法取得!



2:request:

server跳转(<jsp:forward>)之后有效;

通过超链接(<a href=""></a>)request设置的属性是无法取得的;

request属性在MVC设计模式中使用比較多。



3:session:

再一次会话范围中,不管何种跳转都能够使用,可是新开的浏览器无法使用;

能够再不论什么一个与设置页面相关的页面中取得;

在超链接中属性也能够取得(超连接地址栏改变,属于client跳转)。

每个新的浏览器连接上server后就是一个新的session。所以新开的浏览器中是无法取得session属性的。




4:application:

在整个server上保存,全部用户都能够使用;

无论新开多少浏览器application属性均可取得,可是一旦server又一次启动,则之前设置的属性将所有消失。


版权声明:本文博客原创文章,博客,未经同意,不得转载。

原文地址:https://www.cnblogs.com/bhlsheji/p/4710144.html