因为servlet请求的实现是单例多线程
也就是说,N个客户端请求同一个servlet请求他们所请求的是同一个对象,成员变量是属於这个对象的因此成员变量也被共享了
因此在servlet请求编程中,无状态的servlet请求(就是不写属性所以变量都在dopost或者doget里面)是线程安全的,否則由于会共享到成员变量,因此就有可能不是线程安全的
因为成员变量被共享这个线程就是不是不安全的了? 如果是的话该怎么做??
你对这个回答的评价是
当多个客户请求同一个servlet请求时,服务器为每个客户启动一个线程这些线程由Tomcat服务器管理。
一个servlet请求的生命周期主要有三个过程:
调用service()方法响应客户请求
当某个servlet请求第一次被请求时,服务器会生成该servlet请求并调用其init()方法初始化在调鼡service()方法处理用户请求。
处理结束后该servlet请求会常驻内存新的用户请求直接调用当前servlet请求对象的service()方法处理。服务器关闭时调用destroy()方法。
在servlet请求的一个生命周期中init()和destroy()被调用一次,而service()则会被调用多次
每个客户的每次请求都导致service()方法被调用,由于運行不在不同的线程中service()方法中的
1.尽量不要定义成员变量
2.定义不可以被修改的成员变量
你对这个回答的评价是?
获取请求的类型昰什么最后用if else if 判断类型调用方法。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。