你是对的 一个应用只有一个Servlet实例 同时它也是多线程的
因此在编写Servlet时应该考虑多线程问题 以保证线程之间改写共享数据而出现脏读的情况

解决方案 »

  1.   

    Servlet/JSP默认是以多线程模式执行的,但是通过实现javax.servlet.SingleThreadModel,Web容器将保证JSP或Servlet实例以单线程方式运行。
      

  2.   

    呵呵,非常感谢,我是在想如果能产生多个实例的话,那synchronize简直就是形同虚设。自己也找了一下,发现准确的应该这样描述:在只有一个容器的情况下,容器会保证一个Servlet只有一个是实例(自动实现单态设计模式);但在分布式环境下,会有多个容器,这是你并不能假设一个Servlet只有一个实例。
      

  3.   

    Struts框架只允许在一个应用中配置一个ActionServlet类,在应用的生命周期中,仅创建ActionServlet类的一个实例,这个ActionServlet实例可以同时响应多个用户请求
      

  4.   

    一个应用只有一个Servlet实例 同时它也是多线程的
      

  5.   

    来晚了,呵呵!欢迎访问http://www.zhihuiug.com,讨论技术问题,电子图书下载
      Java设计模式(中文版CHM)  
     
      Java编程思想(中文版CHM) 
     
       Java 2 图形设计卷Ⅱ:SWING(中文版CHM)  
     
       实战EJB(中文版pdf格式)  
     
       Hibernate原理与配置快速入门(中文版pdf) 
     
       hibernate2安装手记(中文版pdf)  
     
       JSP2.0技术手册(中文版pdf)  
     
       Hibernate开发指南(中文版pdf) 
     
       Hibernate中文参考文档(中文版pdf)  
     
       精通EJB第三版(英文版pdf)