servlet中的findAttribute()和getAttribute()方法有什么区别?

时间:2014-06-09 07:32:05

标签: java java-ee servlets jstl

如果我将“cart”设置为会话属性,那么servlet文件中的方法pageContext.findAttribute("cart")session.getAttribute("cart")之间有什么区别? 在这种情况下,他们是否做同样的事情?

2 个答案:

答案 0 :(得分:1)

PageContext.findAttribute()阅读Javadoc是否真的太费力了?

PageContext查找属性的多个范围(页面,请求,会话然后应用程序),而session.getAttribute()仅在会话中查找。如果您知道该属性在会话中,则session.getAttribute()应该(稍微)更快。

答案 1 :(得分:0)

对象findAttribute(字符串AttributeName):此方法按以下四个顺序(页面,请求,会话和应用程序)在所有四个级别中搜索指定的属性。在任何级别都没有找到属性时,它将返回NULL。

session.getAttribute(“ cart”)::此方法仅在Session范围内搜索指定的属性。

在这种情况下,他们是否做同样的事情? =>如果您在“页面,请求”中没有属性名称购物车,那么在这种情况下,它们也会做同样的事情。