Introdução ao Jetty
Veja neste artigo como utilizar o Jetty, e configurar um plugin no Eclipse para auxiliar no desenvolvimento de aplicações web.
Estatísticas:





Serviços:

Introdução ao Jetty
O Jetty é um servidor HTTP e Servlet Container 100% escrito em Java. É o grande concorrente do Tomcat e ficou famoso por ser utilizado como o servlet container do JBoss. Neste artigo será mostrado como utilizar o Jetty, e configurar um plugin no Eclipse para auxiliar no desenvolvimento de aplicações web.
A grande vantagem do Jetty com relação ao Tomcat é a sua fácil configuração, e junto com o Eclipse, é possível desenvolver aplicações de forma mais produtiva, alterando o código fonte das classes Java, sem ser necessário reiniciar a aplicação.
Fazendo o download
Faça o download:
Ø Jetty 4.2.22: http://prdownloads.sourceforge.net/jetty/jetty-4.2.22.tar.gz?download
Para instalar o Jetty, basta descompactar o arquivo.
Iniciando o Jetty
Para iniciar o Jetty é muito simples. Basta executar o jar “start.jar” e em poucos segundos o servidor estará no ar. A porta default é 8080.
java -jar start.jar
Para alterar a porta, basta passar o parâmetro de sistema ${jetty.port}:
java -jar -Djetty.port=80 start.jar
A pasta /${jetty.home}/webapps é onde ficam as aplicações (default). Caso você possua um arquivo *.war, basta copiá-lo para esta pasta para fazer o deploy.
Compilação dos JSP’s
Quando o Jetty compilar os jsp´s, os arquivos serão salvos em uma pasta temporária, especificada pelo parâmetro de sistema ${java.io.tmpdir}. Porém por padrão esta pasta é excluída toda vez que o Jetty é iniciado. Desta forma, toda vez que a aplicação for reiniciada, os jsp´s serão compilados novamente, afetando a performance do sistema ou do seu ambiente de testes.
Sendo assim, é possível configurar o Jetty para compilar os jsp´s em outro diretório, onde estes não sejam excluídos ao reiniciar a aplicação. Para isso, basta seguir uma das alternativas abaixo:
- Criar a pasta ${jetty.home}/work no diretório do Jetty;
- Configurar o parâmetro de sistema ${java.io.tmpdir} para outra pasta;
- Criar a pasta WEB-INF/work na sua aplicação;
Abaixo, um exemplo de como iniciar o Jetty e fazer com que os jsp´s compilados sejam salvos na pasta “c:/tmp/work”:
java -Djetty.port=80 -Djava.io.tmpdir=c:/tmp/work -jar start.jar
Iniciando o Jetty pela API
Com a API do Jetty, é possível iniciar um servidor HTTP com poucas linhas de código Java. Ao executar o código abaixo, um servidor HTTP na porta 80 será iniciado em segundos, sendo possível acessar a página (index.jsp) no seguinte endereço:
Server server = new Server();
SocketListener listener = new SocketListener();
listener.setPort(80);
server.addListener(listener);
server.addWebApplication("/portal", "c:/temp/portal/");
server.start();
Para testar o exemplo, crie uma pasta “c:/temp/portal/” e coloque um arquivo “index.jsp” na raiz.
Para compilar e rodar o código, os seguintes jar´s precisam estar no classpath:
Ø ${jetty_home}/lib/org.mortbay.jetty.jar
Ø ${jetty_home}/lib/javax.servlet.jar
Ø ${jetty_home}/ext/jasper-compiler.jar
Ø ${jetty_home}/ext/jasper-runtime.jar
Ø ${jetty_home}/ext/ant.jar
Iniciando o Jetty com um arquivo XML
Continuando com a flexibilidade do Jetty, ainda é possível iniciá-lo através de um arquivo de configuração
Crie um arquivo portal.xml na pasta onde o Jetty está instalado e execute o comando abaixo:
java -jar start.jar portal.xml
Arquivo portal.xml:
Agora você pode novamente acessar a aplicação:
Note que o arquivo de configuração em XML é um espelho da API do Jetty. O exemplo que foi utilizado para iniciar o Jetty pela API ou XML é o mesmo. No arquivo XML, foi declarado a classe “Server”, e os métodos “addListener” e “addWebApplication” foram chamados, de forma semelhante ao programa Java mostrado anteriormente.
Utilizando o Jetty com o Eclipse
Para facilitar ainda mais a utilização do Jetty, existe um plugin para o Eclipse chamado Jetty Launcher (Figura 01).
è http://jettylauncher.sourceforge.net/
O plugin pode ser instalado pelo Update Manager. Isto pode ser feito pelo menu Help -> Software Updates -> Find and Install. Basta adicionar um novo site remoto para a URL abaixo, instalar o plugin e reiniciar o Eclipse:
è http://jettylauncher.sourceforge.net/updates
Com o Jetty Launcher é possível rodar o Jetty de uma forma rápida e simples, e ainda utilizar o debug do Eclipse. Para gerenciar o classpath do Jetty, basta adicionar os jar’s necessários ao classpath do Projeto (“build path”), e todos os jar’s utilizados serão automaticamente incluídos no classpath, mesmo aqueles que não estão na pasta WEB-INF/lib.
Os familiares com o Tomcat poderão perceber uma ligeira diferença de performance com relação ao tempo que o Jetty leva para iniciar a aplicação. Mas com certeza a principal vantagem é quando o Jetty é iniciado em modo Debug, sendo possível alterar o código fonte das classes e salvá-las pelo Eclipse, de forma que as alterações serão refletidas automaticamente quando um “refresh” for feito no browser.
Utilizando o Jetty Launcher
É possível iniciar o Jetty para qualquer projeto Java dentro do Eclipse. Para isso, basta que o projeto tenha a seguinte estrutura de diretórios, comum a todas as aplicações web:
Ø Jetty (projeto)
à src (source folder)
Þ *.java
à web (Este diretório será utilizado na hora de rodar o Jetty)
Þ WEB-INF
· classes (as classes compiladas vão aqui)
· lib (jar’s necessários)
à index.jsp
Para iniciar o Jetty, entre no menu Run -> Jetty Web e adicione uma nova configuração:
è Informe o projeto Java criado;
è Selecione a pasta onde o Jetty está instalado;
è Selecione a pasta “web” criada no projeto. Esta página contém os jsp´s e a pasta WEB-INF/classes.
è Configure o nome do contexto de sua aplicação, por exemplo: “/portal”
è Configure a Porta, por exemplo: 80
Outra opção é utilizar um arquivo XML para iniciar o Jetty. Para isto selecione a opção “Use a Jetty XML configuration file”, e selecione o arquivo criado anteriormente. Esta abordagem pode ser útil quando mais de um contexto precisar ser iniciado ao mesmo tempo, uma vez que no arquivo XML pode ser adicionada várias aplicações web, conforme visualizado abaixo:
Ao clicar em “Run ou Debug” o Jetty será iniciado e é possível acessar a aplicação através da seguinte url: Para fazer o debug dos Servlets, sempre utilize o menu “Debug” para iniciar o Jetty. Outra vantagem de iniciar em modo debug, é que as alterações feitas no corpo dos métodos poderão ser visualizadas sem a necessidade de reiniciar o Jetty, basta fazer um refresh no browser. Isto pode ser útil para aplicações que levam muito tempo para iniciar ou se simplesmente você não pode perder a sessão do usuário. Para saber mais sobre o Jetty visite o site oficial:
Conclusão
Este tutorial apresentou o Jetty, um consagrado servlet container que vem sendo utilizado de forma eficiente em muitos projetos, como por exemplo: JBoss e Geronimo.




Boas-Vindas a Ricardo Lecheta

[vídeo] Utilizando AJAX com a biblioteca Prototype - Parte 2

[vídeo] Utilizando AJAX com a biblioteca Prototype - Parte 1

[vídeo] Utilizando Sockets em Java - Parte 2

[vídeo] Utilizando Sockets em Java - Parte 1

[vídeo] JNI - Chamando métodos nativos em Java

Pattern Proxy

Fazendo cache de objetos com Hibernate - Parte II

Introdução ao Eclipse RCP

Fazendo cache de objetos com Hibernate - Parte I





[vídeo] Consumindo os dados via ajax – Consumindo dados com getJson do jQuery utilizando POCO EF 4.0 – Parte 3

[vídeo] Classe POCO – Consumindo dados com getJson do jQuery utilizando POCO EF 4.0 – Parte 1

Imprimindo Relatório : VCL Crystal Reports XI - Delphi

VCL Crystal Reports XI - Delphi

[vídeo] Gerenciamento das Comunicações - Curso Gerência de Projetos – Parte 8

[vídeo] Plano de Comunicação - Curso Gerência de Projetos – Parte 9

[vídeo] Seleção e Priorização de Projetos - Curso Gerência de Projetos – Parte 6

[vídeo] Escopo, metas, premissas, restrições - Curso Gerência de Projetos – Parte 7

[vídeo] Documento Conceitual do Projeto - Curso Gerência de Projetos – Parte 5



Você está em:




Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!


