olor: windowtext; font-family: 'Verdana','sans-serif';">JBuilder para web
Neste
artigo, apresentamos uma introdução ao JBuilder X, a ferramenta de
desenvolvimento Java da Borland, focando na versão Developer e em suas
funcionalidades para o desenvolvimento web, em especial no suporte a
Struts, taglibs JSP e Ant.
Web modules
O JBuilder X Developer oferece suporte a Servlets 2.3 e JSP 1.2, e vem com três
versões do Tomcat integradas. No JBuilder, componentes web (páginas JSP,
Servlets, descritores web) são abrigados em Web Modules. Para criar uma aplicação, primeiro é preciso criar um Web Module.
Basicamente,
um Web Module representa um diretório no disco contendo a estrutura de
um WAR; são criados com File|New>Web>Web Module (WAR).
Pode-se
criar um módulo vazio (Create empty Web Module) ou um baseado num WAR
existente (Create Web Module from a directory or archive). Esta segunda
opção extrai o WAR ou copia o diretório da aplicação web fornecida para
o diretório do web module (veja um exemplo na Figura 1).
O
JBuilder oferece um editor visual para o descritor web.xml, que permite
configurar elementos e atributos através de formulários. No Structure
Pane (veja o quadro “Elementos do ambiente”), a partir do menu de
contexto de um elemento, você pode criar um novo elemento do tipo
selecionado (Add), removê-lo (Delete) e validar se seus atributos
obrigatórios foram incluídos usando Validate (se houver
inconsistências, o erro é mostrado no Message Pane).
JSPs e Servlets
O
JBuilder faz a compilação de páginas JSP em tempo de desenvolvimento.
Dessa forma, erros de sintaxe nas páginas JSP são detectados mesmo
antes da execução da aplicação.
Para
executar uma página JSP ou um Servlet, escolha Web Run using defaults;
para depurá-la, use o comando Web Debug using defaults Aplicações web
no JBuilder tiram proveito das capacidades de depuração da ferramenta
– inclusive páginas JSP podem ser depuradas passo o passo.
Mudanças dinâmicas
Outro
recurso muito apreciado no JBuilder é a capacidade de smart-swap do
depurador, que permite a alteração do código fonte de aplicação web
durante a depuração. É possível substituir códigos sem reiniciar o
servidor ou a JVM, evitando a perda de sessões, requests etc.
Para
testar esse recurso, crie um breakpoint numa classe utilizada por uma
página JSP (um JavaBean, por exemplo); para inserir um breakpoint
pressione F5 com o cursor na linha.
Para
disparar a depuração da página JSP, no Project Pane clique na página
com o botão direito e selecione Web Debug using defaults. Quando a
execução alcançar o breakpoint, realize algumas alterações no código
fonte do método. Isso ativa o smart-swap do depurador. Para realizar a
substituição do bytecode, selecione Run|Smart Swap no menu principal.
Nesse
ponto, já que o código do método foi modificado, é necessário voltar a
execução do programa para uma linha antes da chamada do método, dentro
da pilha de chamadas. Selecione Run|Set Execution Point e indique o
ponto da pilha onde você quer reiniciar o processo (veja a Figura 3).
Struts visual
O JBuilder Developer oferece várias ferramentas para auxiliar no desenvolvimento de aplicações web baseadas no Struts, incluindo o suporte a Tiles e Struts Validator (incluído no Struts 1.1).
struts-config.xml visual
Se você é desenvolvedor Struts, sabe que uma das partes mais
trabalhosas na criação de aplicações com esse framework é manter sincronizados os arquivos de configuração. Tudo o que
estiver
relacionado a elementos do Struts na sua aplicação (Actions, Form
Beans, Forwards, Global Forwards, Global Exceptions, Datasources etc.)
precisa ter uma representação dentro do struts-config.xml.
No
JBuilder você pode alterar esse arquivo de configuração usando editores
e designers visuais, ou atacar diretamente o XML contando com a ajuda
do recurso de Tag Insight (apresentado a seguir). Para ativar o editor
visual, clique sobre o struts-config.xml no Project Pane. É exibida uma
estrutura separando os elementos do arquivo por tipo (veja a Figura
4). Você pode criar um elemento selecionando Add no seu menu de
contexto.
Para elementos que não necessitam de código Java, estes passos são suficientes para criação e configuração rápida. Mas o trabalho é muito maior quando criamos Actions e Form Beans – aqui é uma área onde se destacam os recursos de produtividade do JBuilder.
Figura 1. Web Module baseado no examples.war do Tomcat