Upload de imagem com PrimeFaces em servidor TomCat, guardado somente o path da imagem na DB

Fala galera,

Já programo em outras linguagens mas só recentemente que comecei a me aventurar pelo mundo do java. Estou desenvolvendo um pequeno Dynamic Web Project no Eclipse usando PrimeFaces,JSP, Hibernate e TomCat. Basicamente se trata de vários formulários de cadastros e um deles é o cadastro de usuários. A parte do Domain, Bean, DAO e as paginas para listar, cadastrar, editar e excluir já estão prontas e funcionando, porém a tabela de usuário, na minha base de dados, tem um campo para foto(imagem), e é ai que está meu problema. Quero salvar somente o path da Foto(imagem) na base de dados, e na pagina do usuário quero poder adicione a foto, claro. Li muitas coisas no Google de como fazer usando o componente p:fileUpload, e confesso que consegui, em partes. O problema é que, eu quero que as imagens sejam salvas da maneira correta, por exemplo em uma pasta /imagens em meu projeto.
Não sei bem como seria.

Ao tentar usar o componente p:fileUpload consegui salvar em uma pasta no meu disco c: e não em uma suposta pasta do servidor. Qual seria a maneira correta para fazer isso acontecer? Existe alguma configuração no TomCat que tem que ser feita? Pretendo disponibilizar esses formulários na web, então gostaria de saber como é a maneira correta para fazer isso funcionar. Por favor, me ajudem =)

segue o codigo do metodo upload do meu bean

[code]public void upload(FileUploadEvent event) {

try {
    String realPath = FacesContext.getCurrentInstance()
            .getExternalContext().getRealPath("/");

    // Aqui cria o diretorio caso não exista
    File file = new File(realPath + "/imagens/");
    file.mkdirs();

    byte[] arquivo = event.getFile().getContents();
    String caminho = realPath + "/imagens/"
            + event.getFile().getFileName();

    // esse trecho grava o arquivo no diretório
    FileOutputStream fos = new FileOutputStream(caminho);
    fos.write(arquivo);
    fos.close();

    pathImage = caminho;
    System.out.println("caminho da imagem salva é  = " + caminho);

} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

}`[/code]

E o codigo do componente no meu xhtml

<p:fileUpload fileUploadListener="#{usuarioBean.upload}" fileLimit="1" fileLimitMessage="Excedido Limite de arquivos" cancelLabel="Cancelar" label="Arquivo" uploadLabel="Anexar" invalidFileMessage="Somente arquivos .jpg, .png ou .gif" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" value="#{usuarioBean.imagem}" mode="advanced" skinSimple="true" />