写过jsp程序的同学都了解在jsp页面中,有几个默认隐含对象,如:request、session、application等,我们经常会把一些信息存放到这些对象域中,其中又以session 对象使用的最为频繁。同样的,一个LiteBean被创建以后,也会被放到这些不同的生命周期域里,分别是:
request:指从请求开始至请求结束期间。
session:指用户的会话过程期间。
application:指应用的整个生命周期。
简单来说:当一个应用启动时,OperaMasks会扫描该应用中的所有类,从中找出所有的LiteBean(会记住它的name及其对应的具体Java类),当在需要引用某一个LiteBean时,它会从request、session、application域中依次查找是否已经存在该LiteBean,如果不存在,那就创建它并将其放入到指定的生命周期域里。
此外,LiteBean还有一个名称为none的生命周期范围,意思就是说:此LiteBean每次都创建新的实例,用完就丢掉。
由此,我们也明白了另外一个逻辑:如果一个 LiteBean 引用了另外一个 LiteBean,那么,被引用的LiteBean的生命周期,一定要长于或等于引用的这个LiteBean。
表 15.1. 合法的LiteBean引用
| 引用的LiteBean的生命周期 | 被引用的LiteBean的生命周期 |
| none | none |
| application | none, application |
| session | none, application, session |
| reqeust | none, application, session, request |