Jsp 跳转页面对象及跳转页面小知识

本文详细探讨了JSP中页面跳转的方法,包括请求转发与重定向的区别,以及不同范围的对象(pageContext、request、session、application)的使用。重点讲解了跳转时的数据传递和页面地址栏的变化,并强调了性能优化的考虑。

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

之前呢在学习新闻小项目的时候,就有运用到的一些这方面的知识点;

现在就把它们细细解剖一下。了解它们的用途、区别......

一、对象(范围由小到大,性能损耗也增大,so尽量使用小范围):

(1)pageContext:只在当前页面有效

(2)request:请求(response:响应)

(3)session(用户级,存在与服务器端):会话(会话开始:打开浏览器;

                                    会话结束:关闭浏览器。)

注意:关闭或切换浏览器则失效

(4)application:全局可用(整个项目)

注意:切换浏览器可用,担关闭则失效


二、跳转页面

1.转发(request:请求):

//代码:
request.getRequestDispatcher("跳转后的页面").forward(request,response);

优点:转发带有数据:直接把请求对象和响应对象,转发给目标页面

          (通俗的讲:就是把数据传到了跳转后的页面)

缺点:传递的数据有效范围只在两个页面之间

2.重定向(response:响应):

//代码:
    response.sendRedirect("要跳转的页面");

特点:此种跳转页面不带有数据。

3. js 方式跳转:

//代码:
    out.print("<script>location.href='要跳转的页面'</script>");

此方法可传值(加‘’?名字=数据‘’),也可不传。


三、多个页面跳转时,重定向与请求转发的区别:

当数据由a页面到b页面,再由b页面到c页面时:

a.请求次数:

重定向中:

        实际上是a--b再回到a,然后a--c:

 转发中:

        是a--b,然后 b--c:

b. 地址栏:

重定向:页面地址会从a到b再到c

转发:页面会从a到b,然后还是b.

为什么? 转发中的第二次跳转是服务器内部跳转

c.数据是否保留:

这个是要看对象的

request:重定向不会传值,

                转发可以有传值。

session(application也一样):重定向可以有传值,

                转发可以有传值。

今天的小知识点就这些,

如果有错误或者有疑问,随时欢迎来找我,拜拜~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值