request.getSession().setAttribute 和request.setAttribute的区别

String username = request.getParameter("username");

request.getSession().setAttribute("usr",username);


request.getSession().setAttribute("usr",username);把username返回值保存到session当前会话中,名称为usr,只要当前会话不过期,任何地方都可以访到 ;

request.setAttribute("usr",username);把 username的返回值保存到request当前请求中,名称为usr,只在当前请求中访问到,其他请求中无法访问

 

request.setAttribute这个的生命周期就是request级别的
request.getSession().setAttribute这个的生命周期是session级别的

 

 

 

request.setAttribute一次传参数,速度快,缺点是参数只能取一次。
request.getSession().setAttribute保存参数,将参数放入后主要不清,就一直在,随时可以取来用。缺点是比较占用资源。
两个各有好处,根据实际情况使用

你可能感兴趣的:(JavaWeb)