findAttribute()与getAttribute()的区别

在servlet-api,指定范围内的例如pageContext.findAttribute()和pageContext.getAttribute()有什么区别吗?
下面是java文档的原文,但是没理解它们的区别
abstract Object findAttribute(String name)
Searches for the named attribute in page, request, session (if valid), and application scope(s) in order and returns the value associated or null.

abstract Object getAttribute(String name)
Returns the object associated with the name in the page scope or null if not found.

[quote]abstract Object findAttribute(String name)
Searches for the named attribute in page, request, session (if valid), and application scope(s) in order and returns the value associated or null. [/quote]
依次在page,request,session(如果有效的话)和application Scope(范围)查找以name为名的Attribute,找到就返回对象,都找不到返回null。
[quote]abstract Object getAttribute(String name)
Returns the object associated with the name in the page scope or null if not found.[/quote]
在page scope内查找与name相关的属性,找到返回就返回对象,找不到就返回null。
两种的区别是,查找范围不同。

pageContext.findAttribute:先在page scope里找,如果找不到就到request scope里,再找不到就到session scope(if valid)里找,再找不到就到application scope(s)里找,再找不到就返回null。

pageContext.getAttribute:只在page scope里找,如果找不到就返回null。