首页 > 代码库 > JAVA web四种属性范围总结

JAVA web四种属性范围总结

首先必须要了解客户端跳转和服务器端跳转的区别:

客户端跳转: response.sendRedict(String path),地址栏发生改变。不能传递request属性。

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

request属性范围: 只有在服务器端跳转以后,所有设置的内容才会停留下来。

session属性范围:  不管是客户端跳转还是服务器端跳转,只要是是属性设置了都可以取得。


1:page:(pageContext)

只在一个页面中保存属性,跳转之后无效;

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

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



2:request:

服务器跳转(<jsp:forward>)之后有效;

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

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



3:session:

再一次会话范围中,无论何种跳转都可以使用,但是新开的浏览器无法使用;

可以再任何一个与设置页面相关的页面中取得;

在超链接中属性也可以取得(超连接地址栏改变,属于客户端跳转);

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




4:application:

在整个服务器上保存,所有用户都可以使用;

不管新开多少浏览器application属性均可取得,但是一旦服务器重新启动,则之前设置的属性将全部消失。