单例类的作用范围是整个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中唯一了。不能使用单例类。