java - servlet 声明一个私有静态类对象成员,那么在doPost等方法中使用该类对象的方法是否线程安全?
大家讲道理
大家讲道理 2017-04-18 10:50:27
0
1
662
public class MyServlet extends HttpServlet {
    private static IUtils utils= null;
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        utils.do();
    }
}

代码结构如上,do不是静态方法,且方法内使用的都是局部变量,做的事情就是连接数据库做查询,然后返回查询结果。
1.在doPost调用这个do方法是否安全?
2.是否有必要声明成静态的,我希望这个utils不要被反复创建。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全員に返信(1)
黄舟

すべての Servlet 对象在 Web 容器中只有一个实例(单例模式),所以如果多个 HTTP 请求请求的是同一个 Servlet,那么多个 HTTP 请求对应的线程将并发调用 ServletdoPost 方法 —— 简单起见,可以将你的 IUtils 使用 ThreadLocal パッケージ。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート