1-3

1-3

requestScope与request的区别是什么?为什么不可以使用request

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕阿园 2021-03-17 13:48:33

同学你好

1、请求转发是通过requset进行请求转发的,而重定向是通过response进行重定向的;session和servletContext只要是一次会话都会存在;

2、同学的这种说法既不属于重定向也不属于请求转发,可以理解为是重新访问

3、

1)是的,session和servletContext跟转发和重定向没有关系;

2)请求转发是进行了一次请求,而重定向是两次请求

3)如果在一个servlet中使用requset.setAttribute将数据放入requset中,重定向到另一个servlet中,那么在这个servlet中使用request.getAttribute是获取不到的

同学可以回顾下如下视频,视频中老师有讲解

https://class.imooc.com/lesson/1340#mid=31425

祝学习愉快~


  • 提问者 rock221 #1

    获取不到的原因是因为,之前的那个servlet的request已经被摧毁了,对吧。 

    2021-03-17 14:01:22
  • 好帮手慕阿园 回复 提问者 rock221 #2

    同学你好,可以这么理解;request是一次请求,当请求之后就不存在了,重定向请求是多次的,所以获取不到

    祝学习愉快~


    2021-03-17 16:28:04
好帮手慕阿园 2021-03-16 18:24:08

同学你好,requestScope通常是将某个变量或者对象在servlet中通过request.setAttribute()方法放入到request对象中,然后在页面中使用requestScope来进行数据的显示的;而request是request对象,在servlet中将数据放入request对象中

综上,requestScope从当前请求中获取属性值,而request是将属性值放入当前请求中

所以这里不能使用request来取值

祝学习愉快~

  • 提问者 rock221 #1

    而request是将属性值放入当前请求中 是在el表达式中吗, 还是说在servlet也是,但是在servlet,request不是请求对象吗? 将发送的数据放在request里吗。

    2021-03-16 21:55:26
  • 好帮手慕阿园 回复 提问者 rock221 #2

    同学你好,同学理解的是正确的,在servlet中,request是请求对象,request是将属性值放入当前请求中的意思就是同学所说的是将发送的数据放入request中

    祝学习愉快~

    2021-03-17 09:48:14
  • 提问者 rock221 回复 好帮手慕阿园 #3

    问题1:老师,request可以通过请求转发,session可以通过响应重定向,也可以通过请求转发给另外一个servlet,那么servletContext呢? 也可以通过响应重定向和请求转发吗?

    问题2:session的原理是请求后服务器会开辟一块空间sessionID的空间,然后把set的信息存储到这里,然后再响应给浏览器,然后浏览器再二次发送指定请求给指定的servlet,这种情况是请求转发的还是响应重定向的啊?

    2021-03-17 10:17:35
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师