目录

定义区别

 request

session

方法区别

request

session

补充

定义区别

 request

  • request范围较小一些,request是某一次访问的局域变量,只是一个请求。
  • request对象的生命周期是针对一个客户端(说确切点就是一个浏览器应用程序)的一次请求,当请求完毕之后,request里边的内容也将被释放点

session

  • session可以跨越很多页面
  • session相当于是一个客户端的全局变量,
  • session的生命周期也是针对一个客户端,但是却是在别人设置的会话周期内(一般是20-30分钟),session里边的内容将一直存在,即便关闭了这个客户端浏览器 session也不一定会马上释放掉的

方法区别

request

1.request的setAttribute与getAttribute方法一般都是成对出现的,首先通过setAttribute方法设置属性与属性值,然后通过getAttribute方法根据属性获取到与该属性对应的对象值,作用域是整个会话期间,在所有的页面都使用这些数据的时候使用。

2.request.getParameter()表示接收参数,参数为页面提交的参数。

  • request的getParameter方法的作用是获取到客户端 通过表单或url请求参数所发送过来的参数值,是客户端与服务器端之间的交互,服务器端要想获取到客户端发送过来的数据,就需要使用getParameter方法来获取。没有与getParameterget方法对应的setParameterset方法。    

注意:sendRedirect不能传递request对象。使用request.setAttribute时不能使redirect而是forward。即是将请求转发而不是重定向。

session

1.session.setAttribute()和session.getAttribute()配对使用,作用域是整个会话期间,在所有的页面都使用这些数据的时候使用。

 2.session对象内数据的存活范围也就是session对象的存活范围,因此在同一个浏览器窗口中,无论向服务器端发送多少个请求,session对象只有一个。

补充

  • 由于request占用资源比较少,安全性相对较高,持续性较低
  • session占用资源更大,安全性会稍微降一点,但是可以实现比如会话跟踪技术
  • 两者各自有缺点和优点,大家根据实际情况来选取吧!!!!!!

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐