日期:2014-05-17  浏览次数:20774 次

单例类的作用范围是整个WEB,还是SESSION呢?
如果我想写一个类,这个类是SESSION中唯一的,应该怎么处理呢?

------解决方案--------------------
把这个类写成单例,将这个类的对象存到session中就ok了
单例类的写法:类名Present
public class Present{
private static Present present = new Present();
private Present(){
}
public static Present getPresent(){
return present;
}

}
通过Present.getPresent()得到这个类的对象
------解决方案--------------------
是整个JVM
------解决方案--------------------
单例类,是属于工程本身的,当服务器启动后,所有的用户都可以访问它。直到服务器关闭后,才不存在,意思大概跟application,差不多。

可以把这个类的对象直接存在session中,不过存储之前做一下判断就好了。

声明一个对象 value = session.getAttribute("key");

if (value == null) {
session.setAttribute("key", 对象);
}

这样就可以保证在session中唯一了。不能使用单例类。