Cara tu sacou tudo, com certeza classe comum roda no servidor, melhor seria chamar de web contêiner! Um servlet é uma classe java que seque uma especificação, ou seja você é obrigado a estender a classe HttpServlet, em java você perceberá que tudo é assim, para determinadas situações somos obrigados a implementar um interface ou estender uma classe. Essa obrigatoriedade realmente tem a ver com a comunicação cliente/servidor, você sendo obrigado a estender HttpServlet fica preso aos métodos dessa classe e o web contêiner saberá o que encontrar nessa classe e saberá como lidar com ela. Você pode retirar a lógica de upload e pôr em uma classe separada, isso é até uma boa prática e instanciá-la dentro do servlet sem problemas.
Abraço.
Site:http://www.jorgeluis.eti.br
Blog:http://blog.jorgeluis.eti.br
E-mail:[email removido]