servlet本身应该是多线程,比方说LoginServlet负责控制用户登录,两个用户A和B同时登录,那么会生成2个servlet,也就是在服务器里构造出两个LoginServlet的实例,A和B各自都有一个,互不干扰。你再给A用户或B用户来个多线程就乱套了,其实多线程和单线程都能解决问题,多线程在多cpu的机子上有速度上的优势,建议你把访问数据库和读取文件分成2个servlet来做,或者干脆交给服务层来完成