Versão atual:

Onde por classe que salva no banco e controla upload de arquivos?

Pessoal, na minha aplicação tenho um controller que trata os dados vindo de um form: Contestar.java. Esse controller tem que receber uns arquivos e salvar o arquivo no sistema de arquivos e salvar o caminho desse arquivo no db. Como eu acho que isso vai se tornar comum na aplicação, quero criar uma classe Uploader que irá salvar o arquivo e guardar o caminho no banco. Eu já tenho o UploadDAO. Seria correto colocar o código que salva os arquivos dentro de UploadDAO.save()? E se eu criar uma classe Uploader.save() que chama o UploadDAO e salva o arquivo? Se essa for a melhor opção, onde eu devo colocar essa classe: model ou controller?

Daí já vem a minha segunda pergunta: seria correto eu criar uma pasta lib pra esses tipos de classes? Sempre tive problemas em escolher onde salvar cada classe. Seria correto então ter a seguinte estrutura: Controllers, Models, Views, Libs?

EDIT:

Na verdade seria mais ou menos assim: Tenho várias telas que enviam mensagens de texto para uma lista e essa mensagens também podem ter anexos. Para adicionar as mensagens não pode ser um controller porque dependendo da página onde o usuário requisitar, tenho cálculos diferentes sendo realizados. Então decidi criar uma classe que anexa os arquivos desses diferentes controllers. A questão é: Essa classe que salva os arquivos trata do sistema de arquivos e eu ainda tenho a mensagensDAO que salva a mensagem de texto e uma referência ao arquivo. Seria interessante criar uma classe Mensagens que ao chamar Mensagens.save() salvaria tanto o arquivo no sistema de arquivos quanto o texto e a referência no banco de dados? Se sim, essa classe eu coloco onde? Na pasta lib? Porque não enxergo ela como um controller e não sei se se encaixaria como uma model...

Versões(2):

Ver a versão formatada

Onde por classe que salva no banco e controla upload de arquivos?

Comentário

new question