今天有人问我, servlet是不是线程安全的. 当时有点懵.
首先servlet肯定不是线程安全的; 因为servlet只运行一个实例, 却要服务多个请求, 而每个请求对应server端一个新线程.
然后, ServletContext不是线程安全的, 因为多个线程共享application数据;
HttpSession也不是线程安全的;
request是线程安全的, 每来一个新请求都要创建一个新request实例.
继续延伸, spring中的controller也不是线程安全的.