Upload
sandro51
View
237
Download
2
Embed Size (px)
Citation preview
Curso de Java com Flex
Integração Java x Flex
Prodata Informática
1 Dependências
• Java JDK 1.5.0.x
• Eclipse JEE 3.4.x
• Flex Builder 3.4.x
• Tomcat 6.x
Instalando o Tomcat:
Baixe o Tomcat 6.x
http://mirrors.uol.com.br/pub/apache/Tomcat/Tomcat-
6/v6.0.18/bin/apache-Tomcat-6.0.18.exe
Clique duas vezes sobre o arquivo. Deverá aparecer a seguinte tela. Clique
em next:
Clique em “I Agree”
Podemos definir se será instalado a documentação do Tomcat e alguns
exemplos. Clique em next.
Nesta tela configuramos o diretório onde o Tomcat será instalado.
Deixaremos o padrão. Clique em next.
Na tela a seguir, podemos configurar a porta padrão do Tomcat e uma
senha para o usuário admim. Não será necessário alterar algum dado.
Clique em next.
Informamos onde está o diretório de instalação do Java jre. Clique em next.
Agora nosso Tomcat está instalado. Clique em finish.
• PostgreSql 8.3.x
• Flash Player 9x
2 Criando e configurando nosso projeto Java Flex
2.1 Criando um novo projeto
Crie um novo projeto do tipo Dynamic Web Project. (Veja figura abaixo)
Informe o nome do projeto, e o Target Runtime. No nosso caso, o Tomcat 6. (Veja
figura abaixo)
Em Target Runtime, se estiver none, clique em New... Na tela que se abre,
selecione a opção Apache Tomcat v6.0 e clique em next.
Agora você deve informar o diretório de instalação do Tomcat e também o jdk
instalado em sua máquina.
Pronto, agora temos o Tomcat configurado. Clique em Finish. Agora selecione o
Target Runtime que acabamos de configurar e clique em next.
Na tela seguinte, altere a pasta src para src_java. Isso facilitará o entendimento
da estrutura do projeto. (Veja figura abaixo)
Agora precisamos transformar este projeto web em um projeto flex. Clique com o
lado direito do mouse sobre o projeto e selecione as opções Flex Project Nature e
Add Flex Project Nature. (Veja figura abaixo)
Após realizar o passo descrito acima, selecione J2EE na janela que irá se abrir,
desmarque as outras opções (veja figura abaixo) e clique em Next e
posteriormente em Finish.
Estamos quase acabando, mas ainda faltam algumas configurações. Clique novamente com o botão direito sobre o projeto e selecione Propriedades. Depois clique em Flex Builder Path e altere o valor do Output folder para WebContent - neste diretório ficarão os arquivos gerados pelo flex como Html’s e SWF’s. Selecione a guia Library Path e remova a pasta flex_libs. Esta não será mais necessária
2.2 Integrando o BlazeDS ao projeto
O BlazeDS é um produto OpenSource (Licença LGPL v3) utilizado para fazer a
comunicação entre o Java e o Flex através do protocolo AMF.
Iremos configurar o BlazeDs da forma mais rápida possível, extraindo
(descompactando) o arquivo blazeds.jar e copiando a pasta WEB-INF para o nosso
projeto. Isso mesmo, você vai sobrescrever a pasta WEB-INF do projeto pela pasta
WEB-INF contida na biblioteca do blaze (.jar).
Verifique na figura abaixo como deve ficar a estrutura dos arquivos:
Note que o arquivo WEB.XML foi sobrescrito, portanto, já está com o BlazeDS
configurado.
Agora abra o arquivo web.xml e altere o valor do parâmetro welcome-file-list
conforme a figura abaixo.
<welcome-file-list> <welcome-file>prodatajavaflex.html</welcome-file>
</welcome-file-list>
Isso fará com que o arquivo prodatajavaflex.html seja nossa página index
(página principal).
Devemos informar ao compilador do Flex que existe um servidor de AMF ativo.
Clique com o botão direito sobre o projeto, selecione Properties e depois selecione
Flex Compliler. Adicione a linha abaixo no campo Additional compiler
arguments e clique em ok.
-services "../WebContent/WEB-INF/flex/services-config.xml"
Verifique na figura abaixo o campo de argumentos adicionais para o compilador.
Provavelmente um erro será informado pelo Eclipse após realizamos o passo
descrito acima. Para resolvê-lo, clique com o botão direito sobre a mensagem de
erro e selecione a opção Recreate HTML Templates para resolver este problema.
(Veja figura abaixo)
Pronto! Nosso projeto está criado e configurado. Podemos começar a fazer o Hello
World Java Flex mais rápido do mundo.
3 Fazendo o "Hello World" mais rápido do mundo
Abra o arquivo prodatajavaflex.mxml e digite o seguinte código:
No diretório src_java crie a uma classe chamada HelloWorld dentro do seguinte
pacote: br.com.prodata.javaflex
Agora precisamos informar ao BlazeDS sobre a existência da classe que acabamos de criar. Isso é feito através do remoting-config.xml. Acrescente um registro nesse arquivo para a classe HelloWorld conforme a figura abaixo:
Repare que no arquivo prodatajavaflex.mxml o RemoteObject declarado possui um destination. Esse destination deve ser igual a este que acabamos de declarar no remoting-config.xml. Para evitar problemas na execução do projeto, substitua o navegador web padrão do Eclipse pelo Mozilla ou Internet Explorer. Para fazer isso, selecione o menu Window do Eclipse e depois selecione a opção Properties. Selecione a guia General e depois selecione Web Brownser, selecionando o navegador de sua preferência. (Veja figura abaixo).
Para executar o projeto, clique com o botão direito sobre o projeto e selecione a opção Run As e Run on Server.
Selecione o servidor Tomcat que irá executar nossa aplicação.
Após configurarmos o Tomcat, o Eclipse abrirá um navegador web com a página
principal do projeto. Digite um texto na caixa de texto e clique no botão “OK”.
Veja que o texto digitado foi produzido na classe Java que criamos!
4 Remote Object
Existem outras formas de se trabalhar com Remote Object.
4.1 Exemplo 1 Para o próximo exemplo crie um novo application chamado remotObject.mxml
com o seguinte código:
Crie um método na classe java chamado olá Mundo. (veja figura abaixo)
Execute a aplicação e verifique a mensagem vinda do java.
Agora vamos provocar uma exceção no método da classe java e verificar como
nossa aplicação se comportará. Altere o código do método conforme a figura
abaixo:
Repare que não será possível fazer a conversão da string “não é um número” para
um valor numérico válido, logo, será lançada uma exceção do tipo
NumberFormatException.
Note que ao lançar uma exceção em nossa classe, o retorno para o flex veio
através do método olaMundoFault.
4.2 Exemplo 2
Para o segundo exemplo crie um novo aplication chamado remoteObject2.mxml
com a seguinte estrutura:
Neste exemplo utilizaremos a mesma classe java criada anteriormente.
Execute o application e veja que o resultado foi o mesmo do exemplo anterior.
Porém, neste exemplo, criamos nosso remoteObject via ActionScript.
4.3 Exercícios
4.3.1 Exercício 1
Com base em no conhecimento adquirido até aqui, construa uma tela de cadastro
de contatos, contendo os seguintes campos: Nome, Endereço e Telefone.
- A tela deverá apresentar uma mensagem formatada com os dados fornecidos pelo
usuário.
- Verifique em sua classe java se todos os campos foram preenchidos. Caso algum
campo esteja vazio lance uma exceção solicitando o preenchimento do(s)
mesmo(s) e exiba esta mensagem no Flex.