2021-04-21 08:33  阅读(62)
文章分类:Servlet 简单教程 文章标签:Servlet
©  原文作者:一点教程 原文地址:http://www.yiidian.com/servlet/

开发者在开发Servlet程序的时候应该实现SingleThreadModel接口,以确保Servlet一次只能处理一个请求,保证Servlet是线程安全的。
自Servlet API 2.4起,目前不推荐使用此接口,因为即使Servlet即使实现SingleThreadModel接口,它也不能解决所有线程安全问题,例如多个线程可以同时访问静态变量和会话属性。因此,建议使用其他方法来解决这些线程安全问题,例如同步块等。

1 SingleThreadModel的案例

    
    import java.io.IOException;  
    import java.io.PrintWriter;  
    import javax.servlet.ServletException;  
    import javax.servlet.SingleThreadModel;  
    import javax.servlet.http.HttpServlet;  
    import javax.servlet.http.HttpServletRequest;  
    import javax.servlet.http.HttpServletResponse;  
      
    public class MyServlet extends HttpServlet implements SingleThreadModel{  
    public void doGet(HttpServletRequest request, HttpServletResponse response)  
        throws ServletException, IOException {  
        response.setContentType("text/html;charset=utf-8");  
        PrintWriter out = response.getWriter();  
              
        out.print("欢迎");  
        try{Thread.sleep(10000);}catch(Exception e){e.printStackTrace();}  
        out.print(" 访问Servlet");  
        out.close();  
        }  
    }  
点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> Servlet线程安全问题
上一篇
注解版的Servlet(Servlet3)
下一篇
什么是会话跟踪