Estive com uma dificuldade, precisava fazer upload de um arquivo mas nao queria informar o caminho absoluto no servidor, infelizmente ainda nao consegui fazer funcionar isso... mas, na busca por uma solucao, acabei aprendendo outra coisa legal, pra quem ja programou em .NET conhece bem a tal da web.config, um arquivo XML com milhoes de configuracoes, ta um pouco menos, mas voce pode adicionar varias coisas la e obter na aplicacao, seria um lugar bom pra guardar qualquer parametro do sistema que possa se alterar em uma eventual nova instalacao ou mudanca de servidor... chega do rolo, vamos ao codigo Java com Struts, aqui o arquivo se chama web.xml e costuma estar dentro do WEB-INF, podemos adicionar variaveis (parametros de contexto) com informacoes uteis, como no meu caso queria manter o caminho absoluto ate o diretorio da minha aplicacao. Olha a imagem abaixo, apos a configuracao do tiles tem um context-param (linhas 32->35), ali dentro fica os dados desse parametro (nome e valor) que eu adicionei.Minha dificuldade foi conseguir obter esse valor na app, apos varias tentativas e erros deu certo, muito simples por sinal:ServletActionContext.getServletContext().getInitParameter("caminhoFisicoImgProdutos");Bom, na imagem acima tem alem da parte que obtem caminhoAbsoluto o upload do arquivo igual tutorial do helton, e tem tbm a atualizacao dos dados no banco, onde eh alterado o caminho (nome arquivo) da imagem...Isso ai galera, ate +. Ola, Inicia-se hoje uma serie de tutoriais (comecando por esse) de como fazer o elementar (CRUD) usando Struts2 com Hibernate em uma aplicacao web. Usaremos como IDE o Netbeans com o plugin do Struts2. Para acompanhar esse tutorial, e recomendado que tenha lido o post anterior introdutorio ao assunto.Criando o banco de dadosNo exemplo usamos PostgreSQL. A estrutura do banco de dados e a seguinte.Banco: todolistCREATE TABLE todolist( id serial, descricao character varying(200), feito character(1), CONSTRAINT pk_todolist PRIMARY KEY (id)) WITH ( OIDS = FALSE);insert into todolist (descricao,feito) values ('Fazer o pos no foojava.blogspo.com','S');insert into todolist (descricao,feito) values ('Terminar a leitura do livro the long tail','N');insert into todolist (descricao,feito) values ('Fazer artigo da pratica de e-commerce','N');insert into todolist (descricao,feito) values ('Terminar os layouts do sistema da COTRIMAIO','N');insert into todolist (descricao,feito) values ('Estudar para prova de adm mercadologica','N');insert into todolist (descricao,feito) values ('Estudar para prova de Redes e sist. distribuidos','N');Criando o projetoNa nossa IDE, criamos um projeto web, vou chamar de todolist.Vamos la! file > New project. Chamei de todolist, salvando no meu home, diretorio padrao.Agora, escolha o Apache Tomcat (se aparecer mais algum na lista). O resto dessa tela aceite as sugestoes da IDE.Aqui, voce marca o Struts2, e desmarca para ele criar o arquivo de exemplo do struts2. Nesta mesma figura tem mais um item para marcar, seguimos abaixo. Marque o Hibernate, mas nao de finish ainda, vamos aproveitar para fazer ja a conexao com o banco de dados. No combo destacado abaixo, crie uma nova conexao.Aqui escolhi conectar com PostgreSQL, informo usuario, senha, banco ... Quando dou ok, devo selecionar qual schema (proxima tela), se as informacoes dessa tela conectaram no banco. Escolha o schema public. Agora sim, ok.E Finish!A essa altura o NetBeans incluiu