recherche

Maison  >  Questions et réponses  >  le corps du texte

java - servlet 声明一个私有静态类对象成员,那么在doPost等方法中使用该类对象的方法是否线程安全?

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不要被反复创建。

大家讲道理大家讲道理2806 Il y a quelques jours663

répondre à tous(1)je répondrai

  • 黄舟

    黄舟2017-04-18 10:52:27

    Chaque Servlet objet n'a qu'une seule instance (mode singleton) dans le conteneur Web, donc si plusieurs requêtes HTTP demandent le même Servlet, alors les threads correspondant aux multiples requêtes HTTP appelleront simultanément les Servlet Méthode doPost - Pour plus de simplicité, vous pouvez envelopper votre IUtils avec ThreadLocal.

    répondre
    0
  • Annulerrépondre