session对象和request对象传值区别和注意事项

请问:request.getSession().setAttribute() 和request.setAttibute()的区别是什么,两者在什么情况下要分别开用? 有哪些注意的事项啊,谢谢,感谢各位大神!
ps:我自己了解到的是,前者是会话机制传值,而通过session传值,如果session的生命周期到了 是不是就取不到值了呢

request Scope
session SCope
这是两个作用域,session只要不过期那么存入的东西就一直在,request是请求这次请求要设置的值,那么下次请求你不设置的话就没有了

区别就是request和session的生命周期不同,request就这一次请求传过来的数据,session只要不关闭就一直能有

就像楼上说的那样,简单的去理解就好;
接触多了,慢慢就会认识更深的有自己的理解;

setAttribute() 保存的值被获取一次就失去了保存效果。就是说只能被获取一次
而session() 一直会保存,只要去取值就在。

你交了一份纸质材料给老师,有一个学生借走了,老师那就没有了,其他在请求要这个材料也没有;
你上传了一个文件到csdn 上,后台保存下来,谁都可以下载你上传的文件,我下载后,文件还存在,其他人的请求也可以做出回应继续被下载