JAVA web四个属性的范围汇总

本文深入解析了客户端跳转(response.sendRedirect)与服务器端跳转(jsp:forward)之间的区别,包括它们如何影响request和session属性的作用范围,以及在不同场景下各自的优势和限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,你需要知道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又一次启动,则之前设置的属性将所有消失。


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值