一尘不染

Session类中的getDefaultInstance()和getInstance()有什么区别?

java

Session.getDefaultInstance(props, authenticator)和之间有什么区别getInstance(props, authenticator)?通常,您何时会选择一个?

我还阅读了有关getDefaultInstance(props,authenticator)的
Java文档,但仍然无法清楚/清楚地看出差异。

希望专家可以帮助我更好地理解这一点。

更新:
触发提出此问题的实际原因是:我们已经Session.getDefaultInstance()在基于Web的应用程序中的某些地方使用了method。有时,它会java.lang.SecurityException: Access to default session denied在快速搜索时抛出异常,建议改用Session.getInstance()method。因此,一个人何时会选择另一个?


阅读 499

收藏
2020-12-03

共1个答案

一尘不染

如果您阅读文档,将会看到

getDefaultInstance 获取默认的Session对象。如果尚未设置默认值,则会创建一个新的Session对象并将其安装为默认值。

因此,如果尚不存在,则调用getInstance()

getInstance 获取一个新的Session对象。

因此,无论是否已经存在,都会创建一个新的会话对象。

2020-12-03