quarta-feira, 4 de janeiro de 2012

Upload de Arquivo com JSF + Primefaces (já vem no Netbeans 7)



Pré-condição: projeto web criado com os frameworks (JSF e Primefaces)

Primeiramente vamos precisar de duas bibliotecas extras, faça o download:




1) Após baixar os arquivos, adicione as depedências ao seu projeto.

2) Configure o arquivo web.xml adicionando o filter do fileUpload.

<filter>
       <filter-name>PrimeFaces FileUpload Filter</filter-name>
  
<filter-class> org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>

   <filter-mapping>
       <filter-name>PrimeFaces FileUpload Filter</filter-name>
       <servlet-name>Faces Servlet</servlet-name>
   </filter-mapping>  

3) Agora crie um ManagedBean ou utilize um outro qualquer e adicione:

public void fileUploadAction(FileUploadEvent event) {
       try {
           ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
           HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();

           FacesContext aFacesContext = FacesContext.getCurrentInstance();
           ServletContext context = (ServletContext) aFacesContext.getExternalContext().getContext();
          
           String realPath = context.getRealPath("/");

// Aqui cria o diretorio caso não exista
           File file = new File(realPath + "/fotos/");
           file.mkdirs();
           
           byte[] arquivo = event.getFile().getContents();
           String caminho = realPath + "/fotos/" + event.getFile().getFileName();    
     
// esse trecho grava o arquivo no diretório
           FileOutputStream fos = new FileOutputStream(caminho);
           fos.write(arquivo);
           fos.close();
           

       } catch (Exception ex) {
           System.out.println("Erro no upload de imagem" + ex);
       }
   }


4) Na página adicione a chamada ao componente de upload do primefaces

<p:fileUpload id="upload" update="foto" fileUploadListener="#{uploadMB.fileUploadAction}" auto="true"/>

Lembrando que é necessário ter declarado o xmlns:p="http://primefaces.prime.com.tr/ui" para usar o primefaces

Agora é só testar.
Para verificar se o arquivo foi salvo corretamente, acesse a pasta build do seu projeto e veja se dentro de web/fotos esta o seu arquivo.

quarta-feira, 9 de novembro de 2011

Configurar o Hibernate utilizando Session


Nesse post vamos criar uma aplicação web e configurar o framework Hibernate para persistência de dados.




1. Crie um novo projeto Java Web do tipo Aplicação Web, clique em próximo.

2. De um nome para o projeto e escolha o local onde deseje salvar o projeto, clique em próximo.
Obs.: vc pode escolher se quer manter uma pasta dedicada para armazenar as bibliotecas que serão utilizadas. Se vc marcar esta opção, será criado uma pasta .\lib dentro do seu projeto, nela ficarão armazenados os arquivos jar’s do hibernate.

3. Escolher o servidor para executar  a aplicação, no meu caso vou utilizar o GlassFish, mas vc poderá utilizar o Apache Tomcat ou outro de sua preferência, clique em próximo.
Curiosidade: a versão do Java EE 6, vc vai encontrar somente no Tomcat 7, o Tomcat 6 tem a implementação da versão Java EE 5. Fica tranquilo, para executar esse tutorial a versão do Tomcat é indiferente.

3.1 Na escolha dos frameworks, selecione o Hibernate

3.2 Selecionar base de dados, certifique-se q o banco já exista e vamos criar uma ‘nova conexão com o banco’


3.2.1 Escolha o Driver do MySQL, clique em próximo


3.2.2 Informe o host, porta, nome do banco, usuário e senha para conectar ao banco, clique em próximo e finalizar.




Pronto vc criou uma conexao da IDE Netbeans com o banco de dados que iremos utilizar neste tutorial.

3.3 Retornando para a tela principal de criação do projeto, certifique-se que o banco correto esta selecionado e clique em finalizar.



Oque o Netbeans fez para vc, ele criou o seu projeto com uma estrutura pronta para rodar uma aplicação web, adicionou os arquivos jar´s da biblioteca do Hibernate, gerou automaticamente o arquivo Hibernate.cfg.xml de configuração do hibernate com o banco de dados 

Abra o arquivo Hibernate.cfg.xml, observe que as informações de acesso ao banco estão descritas conforme abaixo:


Agora vamos criar a classe HibernateUtil, esta classe será responsável por ler as configurações no arquivo Hibernate.cfg.xml e abrir a sessão(conexão) para manipularmos os dados do banco.
Crie um novo pacote, vc pode dar o nome que quiser,  mas aqui darei o nome de configuracao.
Dentro do pacote ‘configuração’ crie uma nova classe HibernateUtil.
Na classe HibernateUtil teremos o seguinte código.
package configuracao;



Feito isso vamos criar um nova classe para testar a conexão através do hibernate.


No pacote configuracao crie uma classe TestaHibernate, nesta classe coloque o seguinte código:


Agora execute a classe pressione shift+F6 e pronto deve ser exibido a mensagem “Hibernate Iniciado com Sucesso!”

terça-feira, 8 de novembro de 2011

Aprendiz de Java

Olá pessoal,

Após um ano somente com a ideia na cabeça, hoje resolvi dar o pontapé inicial.
Tentarei publicar alguns post sobre Java e Analise de Negócios conforme eu for estudando os conceitos, fiquem a vontade para dar sugestões, tirar dúvídas e até mesmo criticar se os post forem uma merda.