洞悉session、request、application三者中getAttribute方法的区别

what?三者的getAttribute方法如何区分?

细听我娓娓道来

  • 本质区别在于作用范围不同:
    1. request.getAttribute是当前请求,它通过key(也就是你设置的参数)来获得参数里的内容
    2. seeeion.getAttribute它是一个“会议请求”,它存在于整个会话过程,直到你退出网站或者session超时;它通过你指定的名字(也就是你设置的==String name ==)来获得参数里的内容
    3. application.getAttribute它类似一个“服务器请求”,只要没有关闭服务器,application 对象将一直存在,所有用户可以共享application对象;它与session对象的区别是:所有用户的application对象都是相同的一个对象,而不同用户的seesion是完全不同的对象。
  • 相同点是:
    • 它们的getAttribute方法都是通过获取预先设置好的参数从而获得里面的内容
  • 注意点是:
    1. getAttribute 必须先setAttribute.
    2. HttpServletRequest 类有 setAttribute() 方法,而没有setParameter() 方法。

在这里我们再来看看request.getParameterrequest.getAttribute的用法

  • getParameter是用来接收表单中设置的参数,也是接收post、get方法传递过来的参数
  • 使用getAttribute之前必须要进行setAttribute,而在HTTP相关类里是没有setParameter方法的
  • 它们的区别在于:
    • request.getParameter() 方法传递的数据,会从Web客户端传到Web服务器端,且它获得数据是String型的
    • request.setAttribute() 和 getAttribute() 方法传递的数据只会存在于Web容器内部




我是逆风飞翔
学习分享到此结束了,要是你感觉有一点点的收获那就请你转发出去吧
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值