Vous êtes sur la page 1sur 3

Introduo ao Tomcat e Servlets

http://www.guj.com.br/articles/9# em 31/08/2002 , por Flvio Coutinho


Tutorial de Tomcat Este tutorial tem por objetivo ensinar como instalar o Tomcat e rodar uma Servlet simples. Para isso necessrio que voc j tenha instalado o jdk na mquina onde vai ser instalado o Tomcat e tambm que voc tenha conhecimento bsico de Java. O que so Servlets? O que Tomcat? Servlets so modulos que ampliam a funcionalidade de servidores baseados em requisies/respostas. Web servers so o exemplo tpico, para o qual so usado um tipo especializado de Servlets, os HttpServlets. Uma Servlet, por exemplo, pode receber dados em um form HTML por meio de uma requisio HTTP, processar os dados, atualizar a base de dados de uma empresa, e gerar alguma resposta dinamicamente para o cliente que fez a requisio. Ok, mas e o que que o Tomcat tem a ver com tudo isso? O Tomcat um Servlet Container, ou seja, um servidor onde so instaladas Servlets para tratar as requisies que o servidor receber. Existem muitos Containers, mas o Tomcat foi escolhido por ser gratuito e bastante popular. Podemos observar que Servlets so bastante semelhantes com CGI. Por que ento usar Servlets? Porque servlets possuem as seguintes vantagens sobre CGI: Servlets no rodam em um processo separado. Servlets so mantidas na memria entre uma requisio e outra. H apenas uma instancia carregada de cada Servlet no container que serve todas as requisies para ela concorrentemente. Fazendo o download Voc pegar o pacote de instalao do Tomcat no site http://jakarta.apache.org. Para pegar diretamente o pacote clique aqui. A verso que usaremos para o tutorial a 4.0.4 que implementa a especificao 2.3 de Servlets. Instalao Feito o download hora de instalar. A instalao bastante simples, basta descompactar o arquivo zip em um diretotio qualquer, por exemplo c:\tomcat. Um diretrio chamado jakarta-tomcat-4.0.4 ser criado dentro do diretrio onde foi instalado. Antes de prosseguir interessante rodar o Tomcat para verificar se tudo ocorreu bem na instalao. Para iniciar o servidor v ao diretrio c:\tomcat\jakarta-tomcat-4.0.4\bin e execute o startup.bat. As seguintes mensagens devem aparecer ao iniciar o tomcat: 1. Starting service Tomcat-Standalone 2. Apache Tomcat/4.0.4 3. Starting service Tomcat-Apache 4. Apache Tomcat/4.0.4 Aps essas mensagens aparecerem o Tomcat j estar no ar e pronto para ser acessado. Para isso acesse pelo seu browser o endereo http://localhost:8080. Se a instalao foi bem sucedida uma pgina do Tomcat ser exibida. Aps esse teste voc poder desligar o Tomcat, para isso basta executar shutdown.bat que se encontra no mesmo diretrio do startup.bat. Agora que j temos o Tomcat instalado e funcionando hora de fazer a primeira Servlet. A HelloServlet Voc vai criar agora uma Servlet bastante simples. Ela, quando acessada, devolve uma pgina com a frase "HelloWorld!". Para fazer a sua prpria Servlet, a primeira coisa criar uma classe que extende a classe HttpServlet. Para isso, crie um arquivo (no diretrio de sua preferncia) chamado HelloServlet.java e escreva o cdigo abaixo: 1. import java.io.*; 2. import javax.servlet.*; 3. import javax.servlet.http.*; 4. 5. public class HelloServlet extends HttpServlet{ 6. public void doGet(HttpServletRequest request, HttpServletResponse response) 7. throws IOException, ServletException { 8. 9. // implementao da Servlet... 10. 11. } 12. } Na servlet temos o metodo doGet que o metodo que recebe uma requisio HTTP e devolve uma resposta para o cliente. Podemos ver que esse metodo recebe dois objetos: request e response. O request contem informaes sobre a requisio, como por exemplo variveis de forms HTML. O response o objeto atravs do qual enviamos a resposta para o nosso cliente. Vamos ver agora a implementao do metodo doGet:

1. public void doGet(HttpServletRequest request, HttpServletResponse response) 2. throws IOException, ServletException {


3.

4. 5. 6. 8. 9.

// vamos definir o tipo de conteudo // que ser devolvido pelo response response.setContentType("text/html"); // pegamos o PrintWriter do response, atravs // do qual escreveremos o conteudo da pagina PrintWriter out = response.getWriter(); // Agora vamos escrever o conteudo da pagina out.println("<HTML>"); out.println("<BODY>"); out.println("<H1>Hello World!</h1>"); out.println("</body>"); out.println("</html>");

7.

10. 11.

18. 19. } Pronto! J temos o cdigo de uma Servlet bastante simples. O prximo passo agora compilar e instalar a Servlet no Tomcat. Compilando e instalando a Servlet Se voc j estiver familiarizado com a compilao de programas Java no h muito segredo na hora de compilar. Basta executar: 1. javac -classpath c:\\tomcat\\jakarta-tomcat-4.0.4\\common\\lib\\servlet.jar HelloS ervlet.java Observe que inclumos no classpath um arquivo jar que o arquivo que contem as classes dos pacotes javax.servlet.* e javax.servlet.HttpServlet.*. Tendo a Servlet compilada hora de instalar a Servlet no Tomcat. O processo de instalao da Servlet no servidor tambm conhecido como deploy. Antes, de continuar, observe o diretrio c:\tomcat\jakarta-tomcat-4.0.4. Veja que existe um diretrio chamado webapps. Dentro desse diretrio existe alguns subdiretrios e cada um destes subdiretrios correspondem a uma aplicao web, que pode ser um conjunto de pginas web e Servlets que fornecem algum tipo de funcionalidade. No exemplo deste tutorial temos uma aplicao web composta por uma nica Servlet, a HelloServlet. O diretrio webapps configurado por meio do arquivo server.xml que fica localizado no diretrio c:\tomcat\jakarta-tomcat-4.0.4\conf. Editando esse arquivo poderiamos especificar outro diretrio para fazer o deploy da nossa aplicao, mas para simplificar vamos fazer o deploy no diretrio webapps mesmo. O Primeiro passo para a instalao da servlet a criao de um novo subdiretrio no diretrio webapps. Por exemplo HelloServletApp. Dentro de HelloServletApp, voc precisa criar outro subdiretrio chamado WEB-INF. Dentro desse dirtorio crie um arquivo chamado web.xml (deixe vazio por enquanto o arquivo) e um outro diretrio (calma que esse o ltimo diretrio que voc vai precisar criar) chamado classes. O arquivo web.xml um arquivo de configurao da nossa aplicao web. Esse arquivo, entre outras coisas, informa ao Tomcat quais as servlets que compoem nossa aplicao web, no caso a nossa HelloServlet. O subdiretrio classes aonde devem ficar as servlets compiladas e outras classes Java que a aplicao eventualmente use. Copie para ele o arquivo HelloServlet.class que voc compilou. Agora falta apenas editar o arquivo web.xml para que o deploy esteja completo. Copie o contedo abaixo para o arquivo web.xml: 1. <?xml version="1.0" encoding="ISO-8859-1"?> 2. <!DOCTYPE web-app 3. PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 4. "http://java.sun.com/dtd/web-app_2_3.dtd"> 5. 6. <web-app> 7. 8. <!-- Indica ao Tomcat as Servlets da nossa aplicacao --> 9. 10. <servlet> 11. <servlet-name>HelloServlet</servlet-name> 12. <servlet-class>HelloServlet</servlet-class> 13. </servlet> 14. 15. <!-- Define um padro de url atravs do qual a HelloServlet ser acessada. 16. No caso qualquer url do tipo 17. "http://localhost:8080/HelloServletApp/QualquerCoisa.teste"

12. 13. 14. 15. 16. 17.

18. 19. 20. 21. 22. 23. 24.

faz com que a nossa HelloServlet seja chamada --> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>*.teste</url-pattern> </servlet-mapping>

<!-- Define outro padro de url atravs do qual a HelloServlet ser acessada. No caso, a url "http://localhost:8080/HelloServletApp/HelloServlet" faz c om que a nossa HelloServlet seja chamada --> 27. 28. <servlet-mapping> 29. <servlet-name>HelloServlet</servlet-name> 30. <url-pattern>/HelloServlet</url-pattern> 31. </servlet-mapping> 32. 33. <session-config> 34. <session-timeout>30</session-timeout> <!-- 30 minutes --> 35. </session-config> 36. 37. </web-app> Editado o web.xml, nossa aplicao est estar instalada, pronta para ser executada! Basta agora iniciar novamente o Tomcat (caso ele ainda esteja no ar, desligue-o e inicie-o novamente), e acessar a Servlet por uma destas urls: 1. http://localhost:8080/HelloServletApp/HelloServlet 2. 3. http://localhost:8080/HelloServletApp/escreva_qualquer_coisa_aqui.teste Note que a url para acessar a Servlet formada da seguinte maneira: 1. http://host:porta/nome_da_aplicao_web/padrao_mapeado_pelo_web.xml Se tudo der certo, dever aparecer na janela do seu browser a frase "Hello World!". Com isso chegamos ao final deste tutorial, cujo objetivo era dar uma viso geral sobre a instalao do Tomcat e a criao de uma Servlet simples. Consideraes Finais importante observar que a nossa HelloServlet muito simples, e possui um contedo esttico, por isso no representa o que realmente podemos fazer com Servlets. Fazendo um uso mais avanado de Servlets, podemos criar pginas dinmicas onde as Servlets fazem acesso a bancos de dados, outras classes Java ou EJBs (Enterprise Java Beans - um tipo de componente Java mais avanado), alm de poder receber paremetros de entrada via forms HTML.

25. 26.

Vous aimerez peut-être aussi