Cadastre-se Revistas DevMedia Cursos
  Live chat by Netwatts

Space de HANDERSON BRITO FROTA
Busca Autor


Últimas 20 atualizações de HANDERSON BRITO FROTA

Palestra - Palestra webMobile TeckWeek 2009: Boas Práticas com Ajax, o poder de integração do DWR [01h:03mm:41s]


Atenção! Este vídeo necessita do aplicativo DevMedia Player para ser executada. Para fazer o download do player basta acessar http://www.devmedia.com.br/player

Título: Boas Práticas com Ajax, o poder de integração do DWR


Duração: 01:03:41


Descrição: Adicionar funcionalidades Ajax em sistemas legados pode ser uma dor de cabeça para muitos desenvolvedores. Nesta palestra abordaremos como adicionar Ajax a funcionalidades já existentes ou novas funcionalidades em sistemas desenvolvidos com Servlet, Struts, Spring e Hibernate. Veremos algumas funcionalidades que utilizamos no nosso cotidiano serem “migradas” para Ajax, mostrando como é simples essa migração com o DWR e abordaremos algumas dessas integrações. Durante a apresentação veremos também algumas boas práticas com o DWR, focando nas soluções e como elas foram feitas.
-->">
26/11/2009 6:23:00 PM





Palestra - Palestra WebDays 2008: Comet - Visão Geral [0h:52m:38s]


Palestra demonstrativa do DevMedia WebDays 2008

Para ter acesso a todas as palestras do evento, clique no link abaixo

http://www.devmedia.com.br/auditorio/webdays2008.asp



Título: Comet - Visão Geral

Duração: 00:52:38

Descrição: Comet é uma técnica de programacao similar ao Ajax, só que não gera o tráfego que uma chamada ajax geraria. Nesta palestra você irá entender o que é COMET e para que serve. Você também aprenderá como funciona, onde se deve utilizar, e algumas técnicas de utilização. Apresentaremos também quais são os melhores frameworks, as API´s indicadas para o seu uso e quais os servidores que melhor trabalham com ela.

-->">
05/02/2009 3:34:00 PM





Palestra - Palestra WebDays 2008: DWRComet - Utilizando o ReverseAjax do DWR [0h:47m:33s]


Palestra demonstrativa do DevMedia WebDays 2008

Para ter acesso a todas as palestras do evento, clique no link abaixo

http://www.devmedia.com.br/auditorio/webdays2008.asp



Título: DWRComet - Utilizando o ReverseAjax do DWR


Duração: 00:47:33


Descrição: Nesta palestra apresentaremos uma visão prática de como utilizar o ReverserAjax do DWR. Nesta palestra veremos como funciona a comunicação do DWR para efetuar chamadas utilizando ReverseAjax. Como configurar o DWR para cada tipo de conexão do Reverse Ajax aceito por ele. Serão mostrados exemplos como prova de conceito.

-->">
05/02/2009 3:33:00 PM





Video aula - Evolua a interface gráfica de sua aplicação utilizando o framework EXT JS com Grids - Parte 2


Título: EXT JS - Grids - Parte 2

Tempo: 00:10:27

Mini Resumo:
O EXTJS é um framework ajax voltado principalmente para componentes de interface. Nesta vídeo aula daremos continuidade à evolução da interface gráfica de sua aplicação utilizando o framework EXT JS com Grids.

Tecnologias utilizadas: IDE: MyEclipse v6.0.1 GA, Aptana v0.2.9,  ContainerWeb: Apache Tomcat/5.5, JAVA 5, FireFox 2.0, FireBug 1.05, EXT JS 2.0.

Exemplos executados: Utilizando o projeto das aulas anteriores do EXTJS iremos fazer agora um exemplo utilizando o componente Grid, só que agora acessando dados de um XML. Foi criado um exemplo de um grid sendo carregado com os dados de um XML.

Palavras chaves: Ajax, Ext, Java Script, Java, GridPanel, Grid, XML

 

Download do Projeto: http://www.adrive.com/public/20bca856813455ee03acb4768341eb8a525a6dab3c11a423fd35b3
0d1d5bd349.html

-->">
25/06/2008 11:40:00 AM





Video aula - Evolua a interface gráfica de sua aplicação utilizando o framework EXT JS com Grids - Parte 1


Título: Evolua a interface gráfica de sua aplicação utilizando o framework EXT JS com Grids - Parte 1

 

Tempo: 00:10:38

 

Mini Resumo: O EXTJS é um framework ajax voltado principalmente para componentes de interface. Nesta vídeo aula iremos evoluir a interface gráfica de sua aplicação utilizando o framework EXT JS com Grids.

Tecnologias utilizadas: IDE: MyEclipse v6.0.1 GA, Aptana v0.2.9, ContainerWeb: Apache Tomcat/5.5 JAVA 5 FireFox 2.0 FireBug 1.05 EXT JS 2.0

Exemplos executados: Utilizando o projeto das aulas anteriores do EXTJS iremos fazer agora um exemplo utilizando o componente Grid. Foram criados alguns exemplo de como criar e personalizar uma grid do Ext.

Palavras chaves: Ajax, Ext, Java Script, Java, GridPanel, Grid

 

Download do Projeto: http://www.adrive.com/public/f27cef342d098e342d12ccd384e4e88b5b94f45867ef1059bc64aa3
55e2e4716.html


-->">
25/06/2008 11:39:00 AM





Video aula - EXT JS - Introdução ao Framework – Parte 01


Título: EXT JS - Introdução ao Framework  – Parte 01

Tempo: 00:19:05

Mini Resumo: Nesta video aula iremos ver como adicionar, configurar e rodar o EXT JS em uma aplicação WEB JAVA.

Tecnologias utilizadas: IDE: MyEclipse v6.0.1 GA, Aptana v0.2.9, ContainerWeb: Apache Tomcat/5.5, JAVA 5, FireFox 2.0, FireBug 1.05.

Exemplos executados: Foi criado uma aplicação simples no eclipse, WEB
PROJECT. O EXT JS foi adicionado no projeto e gerado uma tela de exemplo com o
MessageBox para demonstrar o framework.

Palavras chaves: Ajax, Ext, Java Script, Java.

Download do Projeto: http://www.adrive.com/public/
f3aad21cbc1937cbf91cd995ad6b12bfcda233a20d3d15f7bb859452e15fd679.html



-->">
25/06/2008 11:29:00 AM





Video aula - EXT JS - Introdução ao Framework – Parte 02


Título: EXT JS - Introdução ao Framework – Parte 02

Tempo: 00:17:18

Mini Resumo: Nesta vídeo aula iremos ver como utilizar o Ext JS juntamente com o DWR.

Tecnologias utilizadas: IDE: MyEclipse v6.0.1 GA, Aptana v0.2.9, ContainerWeb: Apache Tomcat/5.5, JAVA 5, FireFox 2.0, FireBug 1.05.

Exemplos executados: Utilizando o projeto da aula 1 de EXTJS iremos adicionar o Framework DWR na aplicação. Foi construído também alguns exemplos tais como: Utilizamos o componente Ext.MessageBox.prompt para enviar dados via DWR para o servidor. Utilizamos o componente Ext.FormPanel para enviar um certo dado do usuário para o JAVA com o DWR. Adicionando o componente Form no componente Windows do EXT.

Palavras chaves: Ajax, Ext, Java Script, Java, DWR, FormPanel, Window.

Download do Projeto: http://www.adrive.com/public/
2989674c705925c818441b56cfc581aa79b5a7e9f8aa783c0600f23c174d2c25.html



-->">
23/05/2008 5:29:00 PM





Artigo - Trabalhando com Session no DWR - Parte 2.3

Trabalhando com Session no DWR - Parte 2.3

 

Para finalizar esses artigos básicos sobre session vamos ver adiante como salvar, excluir e listar objetos na sessão, será um exemplo bem simples mas ao mesmo tempo muito útil para quem pretende fazer algo semelhante.

 

Iremos continuar utilizando o projeto anterior.

 

Preparando o ambiente e ferramentas

Segue abaixo o nosso ambiente:

 

IDE: MyEclipse 6.0

ContainerWeb: Tomcat 5.5.17

DWR: Versão 2.0.1

JAVA: JKD5.0 ou superior.

 

Informações Iniciais

Iremos criar uma funcionalidade bem simples, mas também bem útil. Teremos um formulário onde entraremos com alguns dados, salvaremos esses dados na sessão, podemos adicionar um ou mais dados formando assim uma lista desses dados. A funcionalidade também irá permitir listar e excluir esses dados da sessão. Não iremos salvar no banco, mas nada impede que você o faça.

 

Para você acompanhar melhor esse artigo você deve ler as seqüências de artigos localizados nos links que passarei mais a frente, isso será necessário caso você ainda não tenha visto ou não saiba o básico para trabalhar com sessão utilizando o DWR, com isso você terá um bom entendimento do que será apresentado.

 

Trabalhando com Session no DWR parte 1

Trabalhando com Session no DWR parte 2

Vídeo-aula 1

Vídeo-aula 2

Vídeo-aula 3

Vídeo-aula 4

 

Estrutura.

Vamos utilizar a implementação do último artigo. Session e SessionFacade. Iremos manter a estrutura desde o primeiro artigo e vamos inserir essa nova funcionalidade no “sistema”.

 

Criando o Bean

Para iniciarmos o nosso exemplo sem mais delongas vamos criar o bean que iremos utilizar. Veja a Listagem 1.

 

public class BeanSession {

 

      private String id;

      private String keyMap;

      private String name;

     

      public String getId() {

            return id;

      }

      public String getKeyMap() {

            return keyMap;

      }

      public String getName() {

            return name;

      }

      public void setId(String id) {

            this.id = id;

      }

      public void setKeyMap(String keyMap) {

            this.keyMap = keyMap;

      }

      public void setName(String name) {

            this.name = name;

      }

}

Listagem 1. Código do BeanSession com 3 propriedades(id, keyMap e name) e seus respectivos Get´s e Set´s

 

Iremos utilizar esse bean para auxiliar o transporte dos dados entre o Java e o JavaScript. Mas o uso do mesmo não é obrigatório como vocês já sabem.

 

Alterando o FacadeAjaxSession.java

Segue o código que tínhamos:

 

public class FacadeAjaxSession {

 

     

      public String exampleSession1(String attribute){

            WebContext wc = WebContextFactory.get();

           

            String valueSession = "";   

            if(wc.getHttpServletRequest().getSession().getAttribute(attribute)!= null){

valueSession = wc.getHttpServletRequest().getSession().getAttribute(attribute).toString();

            }else{

                  valueSession = "Session is null";

            }

                 

            return valueSession;

      }

     

      public void createSession(String attribute, String value){

            WebContext wc = WebContextFactory.get();

           

            wc.getHttpServletRequest().getSession().setAttribute(attribute, value);

      }

 

      public String exampleSession2(String attribute){

            Session session = new SessionFacade();

           

            String valueSession = "";

           

            if(session.getAttribute(attribute)!= null){

                  valueSession = session.getAttribute(attribute).toString();

            }else{

                  valueSession = "Session is null";

            }

           

            return valueSession;

      }

     

}

Listagem 2. Código do FacadeAjaxSession que utilizamos no último artigo

 

Agora veremos os trechos dos novos métodos:

 

Método para adicionar um objeto na sessão:

 

public void addMapSession(BeanSession beanSession){

Session session = new SessionFacade();//01

      Map<String, BeanSession> sessionMap = null;//02

           

      if(session.getAttribute("sessionMap") != null){ //03

            sessionMap = (Map) session.getAttribute("sessionMap");//04

      }else{

            sessionMap = new HashMap<String, BeanSession>();//05

      }

String keyMap = beanSession.getId() + "_" +             beanSession.getName();//06

           

      beanSession.setKeyMap(keyMap); //07

     

      sessionMap.put(keyMap, beanSession); //08

           

      session.setAttribute("sessionMap", sessionMap); //09

}

Listagem 3. Método que adiciona em um atributo da sessão o objeto passado como parâmetro

 

Na Listagem 3 vimos o método addMapSession() que espera como parâmetro um BeanSession(ver Listagem 1), veja baixo:

 

01:Criamos o objeto session a partir de nossa classe SessionFacade;

02:Criamos um Map (sessionMap);

03: Recuperamos da sessão o atributo utilizado, e verificamos se o mesmo já existe;

04:Caso o Atributo exista (linha 03) pegamos o valor desse atributo e adicionamos no Map(sessionMap);

05:Caso o atributo não exista inicializamos o sessionMap;

06:Criamos uma variável que servirá como identificador do objeto, que será utilizado no lado JavaScript para identificar o objeto que o usuário está clicando. OS: Como não estou utilizando dados de um banco, tive que fazer essa “adaptação” para simular o id. O que eu fiz foi nada mais que garantir que o objeto que estou inserindo neste momento não terá o mesmo id do próximo;

07:Adiciono esse keyMap(identifica o mapa, linha 06) no meu BeanSession;

08:Adiciono no sessionMap a chave do meu mapa(keyMap) e o meu objeto(BeanSession).

 

Método para listar um objeto na sessão:

 

public Map listMapSession() throws Throwable {

      Session session = new SessionFacade();  

      Map<String, BeanSession> sessionMap = null;

           

      if (session.getAttribute("sessionMap") != null) {

            sessionMap = (Map) session.getAttribute("sessionMap");

      } else {

            sessionMap = new HashMap<String, BeanSession>();

      }

                 

      return sessionMap;

}

Listagem 4. Método que retorna um Map da sessão

 

Este método dispensa explicação mais detalhada, ele apenas retorna um Map que está salvo em um determinado atributo na sessão.

 

Método para excluir um objeto da sessão:

 

public void removeValueMap(BeanSession beanSession) throws Throwable {

      Session session = new SessionFacade();  

      Map sessionMap = null;

           

      if (session.getAttribute("sessionMap") != null) {

            sessionMap = (Map) session.getAttribute("sessionMap");

      } else {

            sessionMap = new HashMap<String, BeanSession>();

      }

           

      if (sessionMap.containsKey(beanSession.getKeyMap())) {

     &n"> ...

Exibição do post interrompida. Para ler conteúdo completo, clique aqui
18/03/2008 9:50:00 PM





Video aula - FireBug - Visão Geral


Título: FireBug - Visão Geral

Tempo: 14:24

Mini Resumo: Nesta vídeo aula iremos ver como instalar o FireBug. Veremos também como depurar um JavaScript e algumas funcionalidades básicas e úteis do FireBug.

Tecnologias utilizadas:
   IDE: MyEclipse v6.0, Aptana v0.2.7
   ContainerWeb: Apache Tomcat/5.5.17
   JAVA 5
   FireFox 2.0
   FireBug 1.05
  
Exemplos executados: Foi executado debug em alguns javascripts de projetos diferentes.

Palavras chave: FireBug, Debug, JavaScript, Ajax

-->">
19/01/2008 6:17:00 PM





Video aula - DWR - Trabalhando com Session - Parte 4 Final


Título: DWR - Trabalhando com Session - Parte 4 Final

Tempo: 18:24

Mini Resumo: Nesta video aula o autor finaliza com um exemplo prático o exemplo de session com Ajax(DWR).

Tecnologias utilizadas:
   IDE: Eclipse 3.3, MyEclipse v6, Aptana v0.2.8
   ContainerWeb: Apache Tomcat/5.5.17
   DWR: DWR 2.0.1
   JAVA 5
  
Exemplos construídos: Criamos uma grid que adiciona, lista e remove objetos na sessão utilizando a interface criada na video aula anterior.

Palavras chave: DWR, HTTPSession, WebContext, WebContextFactory, Lista de HashMaps
-->">
06/11/2007 2:17:00 PM





Artigo - Usando o FireBug para debugar um javascript

Usando o FireBug para debugar um javascript

 

Introdução

Já faz alguns dias que tenho recebido vários emails com dúvidas sobre o DWR(que inclui obviamente JavaScript ) e observei que a maioria poderia ser resolvido facilmente com um bom “debuguer” no código. Observei também que poucas pessoas se utilizam dessa ferramenta quando trabalham com JavaScript.

 

Existem várias ferramentas para debugar javascript, principalmente no Firefox, e a melhor na minha opinião é o FireBug. Vou aqui mostrar como debugar um código JavaScript utilizando essa extensão do FireFox.

 

Primeiramente instale essa extensão para o FireFox.

 

Link: https://addons.mozilla.org/en-US/firefox/addon/1843

 

Para instalar é bem simples, basta clicar em Install Now . Siga os passos que forem exibidos.

 

Depois de instalado, ele irá solicitar que você reinicie o Firefox. Reinicie e abra-o novamente.

 

Agora vá no menu Ferramentas/FireBug e desmarque a opção (Disable FireBug).Ver figura 01.

 

hfufbdjsfig01.jpg 

Figura 01

 

Agora irá aparecer no canto direito inferior um sinal verde como o da figura 02

 

hfufbdjsfig02.jpg 

Figura 02

 

Rode sua aplicação e quando ela terminar de carregar siga os passos abaixo:

Clique no sinal verde, irá abrir o console do Firebug. Ver figura 03.

 

"> ...

Exibição do post interrompida. Para ler conteúdo completo, clique aqui
30/10/2007 11:50:00 PM





Artigo - Trabalhando com Session no DWR - Parte 2.2

Trabalhando com Session no DWR - Parte 2.2

 

Dando continuidade a parte 1 do nosso artigo sobre Session no DWR, vamos falar de uma implementação bem elegante e recomendada para o uso do DWR com Session.

 

Preparando o ambiente e ferramentas

 

Segue abaixo o nosso ambiente:

 

IDE: MyEclipse 6.0

ContainerWeb: Tomcat 5.5.17

DWR: Versão 2.0.1

JAVA: JKD5.0 ou superior.

 

Informações Iniciais

Para você acompanhar melhor esse artigo você deve ler a primeira parte do artigo localizado neste link, para que você tenha um bom entendimento do que será apresentado.

 

Vou mostrar aqui outra maneira de se utilizar do objeto WebContext do DWR, para facilitar a sua implementação.

 

Criando a Classe Session e SessionFaface.

Vamos inicialmente criar uma Interface Session, que nada mais é do que uma implementação do objeto HTTPSession.

 

Você poderia até estender a classe HTTPSession, mas esse não é o objetivo e sim implementar alguns métodos do HTTPSession como outros que você deseje fazer sem utilizar diretamente o objeto HTTPSession.

 

Interface Session

Segue o código que iremos utilizar para criar essa classe.

 

public interface Session {

 

      Object getAttribute(String attribute);

      Enumeration getAttributeNames();

      long getCreationTime();

      String getId();

      long getLastAccessedTime();

      int getMaxInactiveInterval();

      void invalidate();

      boolean isNew();

      void removeAttribute(String arg0);

      void setAttribute(String attribute, Object arg1);

      void setMaxInactiveInterval(int arg0);

}

 

Criamos nessa interface alguns dos métodos que pretendemos utilizar, se você observar esses métodos são os mesmos do objeto HTTPSession.

 

Classe SessionFacade que implementa a interface Session

Segue o código que iremos utilizar para criar essa classe.

 

public class SessionFacade implements Session{

 

      private WebContext wc;

     

      public SessionFacade(){

            this.wc = WebContextFactory.get();

      }

     

      public Object getAttribute(String attribute) {

            return this.wc.getHttpServletRequest().getSession().getAttribute(attribute);

      }

 

      public Enumeration getAttributeNames() {

            return this.wc.getHttpServletRequest().getSession().getAttributeNames();

      }

 

      public long getCreationTime() {         

            return this.wc.getHttpServletRequest().getSession().getCreationTime();

      }

 

      public String getId() {

            return this.wc.getHttpServletRequest().getSession().getId();

      }

 

      ...

Exibição do post interrompida. Para ler conteúdo completo, clique aqui
22/10/2007 3:04:00 PM





Artigo - Trabalhando com Session no DWR - Parte 1.2

Trabalhando com Session no DWR - Parte 1.2

 

Vamos ver neste artigo alguns exemplos de como se trabalhar com o Objeto Session e Request do JAVA com o DWR. O Artigo será dividido em duas partes, a primeira vamos falar do Objeto Session, alguns exemplo básicos, a segunda iremos tratar de algumas implementações mais elegantes e recomendadas para o uso do DWR com Session.

\

PS1: Vamos utilizar nomes de funções, métodos, parâmetros e variáveis em inglês, pois esse artigo será também utilizado para a vídeo aula da Java Magazine e para a mesma, esse padrão em inglês tem que ser seguido.

 

Preparando o ambiente e ferramentas

Segue abaixo o nosso ambiente:

 

IDE: MyEclipse 5.1.1GA

ContainerWeb: Tomcat 5.5.17

DWR: Versão 2.0.1

JAVA: JKD5.0 ou superior.

 

Informações Iniciais

Antes de tudo vamos ver alguns conceitos básicos para começar a executar os exemplos.

 

Configuração do dwr.xml

Para se trabalhar com o DWR utilizando o objeto Session teremos que definir a sua classe FacadeAjax com o scope igual a session, veja abaixo:

 

<create creator="new" javascript="FacadeAjaxSession" scope="session">

      <param name="class" value="com.jm.dwr.FacadeAjaxSession"/>

</create>

 

Essa é a única diferença no projeto para se trabalhar com Session. O resto das configurações segue o padrão, caso você tenha alguma dúvida acesse a página do meu site onde possuo uma lista de todos os artigos do DWR.

 

http://www.handersonfrota.com.br/?page_id=12

 

Imports que serão utilizados nas páginas JSP.

 

<script type='text/javascript' src='<%=request.getContextPath() %>/dwr/interface/FacadeAjaxSession.js'></script>

<script type='text/javascript' src='<%=request.getContextPath() %>/dwr/engine.js'></script>

<script type='text/javascript' src='<%=request.getContextPath() %>/dwr/util.js'></script>

<script type='text/javascript' src='js/ajax.js'></script>

<script type='text/javascript' src='js/util.js'></script>

<script type='text/javascript' src='js/session.js'></script>

 

Iniciando os Exemplos

 

Exemplo 1. Exemplo básico para recuperar um objeto na sessão.

Para este exemplo bem simples vamos setar no próprio JSP alguns valores na sessão e com o DWR recuperar esse valor em outro JSP.

 

HTML(session.jsp)

<%

     session.setAttribute("valueSession1", "Handerson Frota");

     session.setAttribute("valueSession2", "Java Magazine");

%>

<div id="msgSession"></div>

<br>

<br><strong><a href="session2.jsp">Go JSP Session 2 >>></a></strong>

<br><br>

Values Session Default:<br>

<strong><%=session.getAttribute("valueSession1") %></strong><br>

<strong><%=session.getAttribute("valueSession2") %></strong><br>

Listagem 01 – Neste exemplo criamos dois atributos na sessão: “valueSession1” e “valueSession2”, e já exibimos esses valores recuperando com session.getAttribute e criamos um link que irá acessar a página session2.jsp.

 

HTML(session2.jsp)

<br>

<br><strong><a href="session.jsp"> <<< Go JSP Session 1</a></strong>

<br><br>

Values Session Default:<br>

<strong><%=session.getAttribute("valueSession1") %></strong><br>

<strong><%=session.getAttribute("valueSession2") %></strong><br>

<br>

<hr>

<a href="javascript:getExampleSession('valueSession1');">Get Session Value 1</a><"> ...

Exibição do post interrompida. Para ler conteúdo completo, clique aqui
13/09/2007 10:10:00 AM





Video aula - AJAX DWR - Trabalhando com Session - Parte 3


Título: DWR - Trabalhando com Session - Parte 3

Tempo: 10:37

Mini Resumo: Nesta video aula o autor apresenta como implementar a Interface WebContext para se trabalhar com Session no DWR.

Tecnologias utilizadas:
   IDE: Eclipse 3.2, MyEclipse v5.5.1GA, Aptana v0.2.8
   ContainerWeb: Apache Tomcat/5.5.17
   DWR: DWR 2.0.1
   JAVA 5
   
Exemplos construídos: Criamos uma Interface para WebContext e com ela fizemos um exemplo para pegar um valor na sessão.

Palavras chave: DWR, HTTPSession, WebContext, WebContextFactory, Interface, Implementação
-->">
05/08/2007 1:14:00 PM





Video aula - AJAX DWR - Trabalhando com Session - Parte 2


Título: DWR - Trabalhando com Session - Parte 2

Tempo: 10:37

Mini Resumo: Nesta video aula vamos criar um atributo na sessão via DWR e depois acessá-lo.

Tecnologias utilizadas:
   IDE: Eclipse 3.2, MyEclipse v5.5.1GA, Aptana v0.2.8
   ContainerWeb: Apache Tomcat/5.5.17
   DWR: DWR 2.0.1
   JAVA 5
   

Exemplos construídos: Criamos atributos na sessão com o DWR e acessamos os mesmos também via DWR.

Palavras chave: DWR, HTTPSession, WebContext, WebContextFactory
-->">
21/07/2007 3:26:00 PM





Video aula - AJAX DWR: Trabalhando com Session - Parte 1


Título: DWR - Trabalhando com Session - Parte 1

Tempo: 10:35

Mini Resumo: Nesta video aula vamos fazer um exemplo simples do DWR acessando valores na Sessão.

Tecnologias utilizadas:
   IDE: Eclipse 3.2, MyEclipse v5.5.1GA, Aptana v0.2.8
   ContainerWeb: Apache Tomcat/5.5.17
   DWR: DWR 2.0.1
   JAVA 5
  
Exemplos construídos: Criamos atributos na Sessão no JSP e acessamos os mesmo via DWR.

Palavras chave: DWR, HTTPSession, WebContext, WebContextFactory
-->">
18/07/2007 7:43:00 PM





Video aula - DWR: Combos Aninhadas - Parte 2


Título: DWR - Combos Aninhadas - Parte 2

Tempo: 31:03

Mini Resumo: Nesta vídeo aula, vamos demonstrar como carregar combos a partir de outras combos.

Tecnologias utilizadas:
   IDE: Eclipse 3.2, MyEclipse v5.1.1GA, Aptana v0.2.7
   ContainerWeb: Apache Tomcat/5.5.17
   DWR: DWR 2.0.1
   SDBG: MySQL 5.0.1
   JAVA 5
  
Exemplos construídos: Aproveitando um projeto já pronto (regras de negócio e persistência), criamos os seguintes exemplos: carregando uma combo B a partir de um dado selecionado na combo A, carregando uma tabela(grid) a partir de um dado selecionado na combo B que a mesma foi carregada a partir da combo A, populando um formulário a partir de um dado de uma combo, utilizando o setValues e orientação a objetos.

Palavras chave: DWR, Combos Aninhadas.
-->">
28/06/2007 11:08:00 PM





Video aula - DWR: Combos Aninhadas - Parte 1


Título: DWR - Combos Aninhadas Parte 1

Tempo: 26:20

Mini Resumo: Nesta video aula vamos dar inicio ao desenvolvimento de alguns exemplos sobre combos aninhadas, vamos "implantar" o dwr em um projeto já "pronto", configurá-lo e rodar uma funcionalidade inicial.

Tecnologias utilizadas:
   IDE: Eclipse 3.2, MyEclipse v5.1.1GA, Aptana v0.2.7
   ContainerWeb: Apache Tomcat/5.5.17
   DWR: DWR 2.0.1
   SDBG: MySQL 5.0.1
   JAVA 5
   

Exemplos construídos: Reaproveitando um projeto já pronto (regras de negócio e persistência), implantamos e configuramos o DWR no projeto, carregamos uma grid personalizada ao carregar a página e preparamos o projeto para executarmos os exemplos da parte 2.

Palavras chave: DWR, Combos Aninhadas.
-->">
16/06/2007 1:02:00 PM





Artigo - Combos aninhados - Directed Web Remoting


hfdwrsimbolo.jpg


DWR – Directed Web Remoting

 

Combos Aninhadas

 

Primeiramente quero agradecer aos leitores por todos os comentários, e-mails de agradecimentos e críticas que tenho recebido. Obrigado a todos.

 

Tenho recebido vários e-mails de usuários com elogios, críticas e dúvidas e com esse grande número de leitores venho recebendo algo em comum, muitos tem dúvidas e/ou querem saber como fazer combos aninhadas, vendo essa demanda resolvi fazer algo por esses leitores que tanto me prestigiam. Então esse artigo irá abordar o que muitos me perguntam:

 

-Como fazer combos aninhadas com o DWR ?

 

PS1: Vamos utilizar nomes de funções, métodos, parâmetros e variáveis em inglês, pois esse artigo será também utilizado para a vídeo aula da Java Magazine e para a mesma, esse padrão em inglês tem que ser seguido.

 

Preparando o ambiente e ferramentas

Vamos criar um projeto java e web, utilizar o banco de dados MySql para nossos dados.

 

Segue abaixo o nosso ambiente:

 

IDE: MyEclipse 5.1.1GA

ContainerWeb: Tomcat 5.5.17

DWR: Versão 2.0.1

Banco de Dados: MySql Server 5.0.24, MySql Client 5.0.11

JAVA: JKD5.0 ou superior.

 

Criando o banco

Para criar o banco que iremos utilizar basta executar o sql que esta para download aqui: sqlDownload.(Recomendo que rode pelo MySQL Administrator, e o mesmo está dentro do projeto na pasta “bd”)

 

Informações do banco de dados

Banco: bddwrjm

Tabelas: users, permissions, user_permissions, characteristics

 

hfdwrcafig01.jpg 

 

Estrutura do projeto

Para você não perder tempo tentando entender da camada de Negócio para baixo, vou explicar agora rapidamente, como está nossa estrutura para podermos partir para o que realmente interessa.

 

Quando você rodar seu Dump(arquivo sql, aconselho a usar o MySQL Administrator) talvez você precise configurar um arquivo para que a sua classe de conexão consiga acessar o seu banco. O arquivo você deve atualizar é a classe ConnectDAO, localizado em: com.jm.dao.

 

Explicando a estrutura

A nossa estrutura esta dividida em:

·         Classe de Negócio(NgcBusinessGeneral): Esta será a classe que vai fazer as chamadas aos seus DAO’s e executar alguma regra de negócio.

·         Classe de acesso ao banco(ConnectDAO): Classe que se conectar ao banco.

·         Classes de Persistência(UsersDAO, PermissionsDAO): Classes responsáveis por executar os sql no banco.

·         Classe de controler do DWR(FacadeAjax) : Essa será a classe que vai se comunicar com sua classe de negócio e retornar para o seu javascript.

·         Página de exibição dos exemplos(combo.jsp): Página JSP para exibir os resultados.

·         JavaScript de exemplos(combos.js): JavaScript com os as chamadas DWR.

 

Com essas informações já podemos dar início ao nosso exemplo, não se prenda nas funcionalidades e como foram implementadas, vamos abstrair isso, vamos observar apenas como o DWR vai trabalhar, ou seja, vamos observar o nosso FacadeAjax e JS’s, pois da camada de negócio para baixo pode ser implementada da forma que você desejar ou que já esta implementada. Você vai observar também que vamos trabalhar muito com beans e List(java.util.List), então se o seu sistema já trabalha com esses tipos de objetos você verá que será bem tranqüilo, mas não que dizer se você usa Map’s(java.util.Map) ele não irá funcionar, o DWR trabalha com praticamente todos os principais tipos do Java.

 

No nosso exemplo eu já deixei montado uma grid com todos os usuários cadastrados, para que você observe os resultados dos exemplos.

 

Iniciando os Exemplos

 

Exemplo 1. Carregando uma combo a partir de uma outra combo.

 

Esse é o mais simples, você terá uma combo que vai possuir alguns valores, ao selecionar um desses valores ele vai passar para o FacadeAjax através de uma função chamada selectPermissiosUsers(this.value); e o mesmo vai enviar a chamada para a classe de negócio que vai ao banco, executa o select e é retornado o resultado solicitado para ser populada a segunda combo. Veja abaixo.

 

HTML

Example 1:

Users: <select id="comboUsers" onchange="selectPermissiosUsers(this.value);">

</select>

Permissions: <select id="comboPermissionsUsers"></select>

Listagem 01 – HTML cujo foi definido uma tag <select> com id igual a “comboUsers”, e abaixo um segundo <select> com id igual a “comboPermissionsUsers” onde será carregado o resultado baseado no id do usuário carregado na primeira combo(“comboUsers”).

 

Javascript

function selectPermissiosUsers(idValue){

        var bean = {id:idValue};

       

        FacadeAjax.getPermissionsUsers(bean,{

               callback:function(list){

                                                               DWRUtil.removeAllOptions("comboPermissionsUsers");

DWRUtil.addOptions("comboPermissionsUsers", list,"id_permission", "permission");

               },

errorHandler:function(errorString, exception) {

               setMsgError(errorString, 'block');

},

               timeout:50000

        });            

}

Listagem 02 – Chamada do DWR para recuperar uma lista de permissões através de um usuário selecionado em uma combo. Utilizando o addOptions() ele gera uma combo com os valores trazidos do banco.

 

JAVA(FacadeAjax)

public List<BeanPermissions> getPermissionsUsers(BeanUsers beanUsuario) throws Throwable{

              

List<BeanPermissions> listPermissionsUsers = BusinessGeneral.getInstancia().getPermissionsUsers(beanUsuario);

              

        return listPermissionsUsers;

}

 

Listagem 03 – Método da classe FacadeAjax que retorna um List de Beans do tipo BeanPermissions.

 

Resultado da execução do Exemplo 1:

 

hfdwrcafig02.jpg 

Figura 01 – As duas combos, uma já carregada com uma lista de usuários e a outra aguardando ser carregada as permissões deste usuário.

 

hfdwrcafig03.jpg 

Figura 02 – Selecionando um usuário para carregar as suas permissões na próxima combo. O resultado da segunda combo são todas as permissões daquele usuário.

 

hfdwrcafig04.jpg 

Figura 03 – Combo de permissões carregada com as permissões do usuário selecionado.

 

Exemplo 2. Carregando duas combos e uma grid.

 

Esse exemplo é um pouco mais complexo, desta vez vamos ter o mesmo cenário do primeiro exemplo, uma combo cujos valores são carregados no load da página, e que ao selecionar um valor desta, ela carrega a segunda combo através da função selectPermissiosUsers2(this.value); que é igual a função selectPermissiosUsers(this.value); só alterando o id passado nas funções removeAllOptions() e addOptions().

 

Mas desta vez vamos ao selecionar algum dado da segunda combo(“comboPermissionsUsers2”) carregar um grid.

 

HTML

Example 2:

Users: <select id="comboUsers2" onchange="selectPermissiosUsers2

(this.value);"></select>

    Permissions: <select id="comboPermissionsUsers2"

 onchange="getListAllUsersPermissions(this.value);"></select>

    <br><br>

<table id="tableUser" border="0" align="left" cellpadding="4" cellspacing="0"

 style="border: 1px solid black; display: none">

   <thead>

     <tr style="background-color: white;">

         <td colspan="4" style="color: black; font-weight: bold;"

 align="center">Permissions for Users</td>

     </tr>

     <tr style="background-color: gray;">

         <td style="color: white; font-weight: bold">Id</td>

         <td style="color: white; font-weight: bold">Name</td>

         <td style="color: white; font-weight: bold">Login</td>

         <td style="color: white; font-weight: bold">Permissions</td>

       </tr>

   </thead>

   <tbody id ...

Exibição do post interrompida. Para ler conteúdo completo, clique aqui
23/05/2007 7:40:00 PM





Video aula - AJAX: Trabalhando com Beans no DWR - Parte 3


AJAX: Trabalhando com Beans no DWR - Parte 3

Tempo: 19:05

Mini Resumo: Nesta vídeo aula vamos executar exemplos com o setValues() e getValues(), criação de um Objeto JavaScript aninhado com a conversão para Bean's aninhados, e array de Objetos JS convertendo para list de beans aninhados.

Tecnologias utilizadas:
   IDE: Eclipse 3.2, MyEclipse v5.1.1GA, Aptana
   ContainerWeb: Apache Tomcat/5.5.17
   DWR: DWR 2.0M2
   JAVA 5

Exemplos construídos: A partir do projeto utilizado nas vídeos aulas anteriores, criamos alguns Objetos JS aninhados, convertemos esses objetos para JavaBean, criamos também um exemplo para preencher um list de JavaBeans a partir de um array de Objetos JS, utilizamos checkbox para enviar esses dados para o DWR como um array.

Palavras chave: DWR, List de Beans, List de Beans aninhados, array de Objetos JavaScripts, getValues, setValues.

-->">
18/04/2007 11:31:00 PM





 

handersonbf@gmail.com

Handerson Brito Frota (handersonbf@gmail.com), cursando 8º semestre do curso de Bacharel em Ciências da Computação pela Faculdade Lourenço Filho, trabalha com desenvolvimento de sites e sistemas web desde 1998 e com Java desde 2001. Já atuando como Analista Programador Java em várias empresas, Líder Técnico de Projetos e com definições de padrões para projetos Java. Já atuando também em vários projetos de médio e grande porte utilizando várias tecnologias na plataforma Java. Diretor Executivo e de Tecnologia da TriadWorks Agile Software Development. Site: www.handersonfrota.com.br Empresa: www.triadworks.com.br
Arquivo de atualizações
 2009
 2008
 2007
 2006

Estatísticas do Autor:
Número de posts: 35
Total de visualizações: 289834
Características dos posts deste autor:
Conteúdo:
Didática:
Utilidade:
49 3
 
DevMedia Group - Tel: (21) 3382-5038 - www.devmedia.com.br
2010 - Todos os Direitos Reservados a DevMedia Group