zoukankan      html  css  js  c++  java
  • servlet是线程安全的么

    servlet生命周期

    三个重要方法

    1  init() 

      进行资源的加载

    2 service() 

      处理请求,根据请求方式,调用doGet或者doPost

    3 destroy()

      进行资源的释放

    servlet是单实例的,假如在处理请求时候,多线程访问了servlet的成员变量,则servlet是线程不安全的。

    只要保证在service()方法中访问的都是局部变量,则servlet是线程安全的。

    多线程下每个线程对局部变量都会有自己的一份copy,这样对局部变量的修改只会影响到自己的copy而不会对别的线程产生影响

    public class HelloWorldServlet extends HttpServlet
    {
        String message;
    
        private static final long serialVersionUID = 787553024399133588L;
        
        public void service(HttpServletRequest request,HttpServletResponse response) throws IOException{
            message =request.getParameter("message");
            PrintWriter pw = response.getWriter();
            try
            {
                Thread.sleep(5000);
            }
            catch (InterruptedException e)
            {
                e.printStackTrace();
            }
            pw.write("<div><strong>Hello World</strong>!</div>"+message);
            pw.close();
        }
        
    }
  • 相关阅读:
    2019.8.6原型链与继承
    2019.8.2闭包,作用域
    2019.8.1正则二
    2019.7.31正则
    2019.7.29二维数组
    2019.7.28关于数组和循环的八道题
    2019.7.27数组api
    DOM
    JavaScript数组5种去重方法
    JavaScript面向对象
  • 原文地址:https://www.cnblogs.com/moris5013/p/10684298.html
Copyright © 2011-2022 走看看