Fala Guilherme,
>
> Can someone who uses TOMCAT send me a sample class that conects to the
> database? I have made one that initializes de driver to connect and returns
> the connection, so it is very slow. What kind of solution do you have?

O esquema é este mesmo, faz a conexão com o banco de dados e depois faz
as queries. Para otimizar o processo faça a conexão na incialização do
servlet e guarde-a. A cada request você usa a mesma conexão.

Estou te mandando uma classes que fazer isto. São elas:

  SingleMethodServlet - apenas um servlet auxiliar para não ter
                        que mandar o doGet() chamar doPost(). Tenho
                        que tem mandar porque a próxima é
                        subclasse dela.
  DatabaseHttpServlet - servlet que cria a conexão com o banco de
                        dados ao ser criado e mantem esta conexão
                        no atributo dbConnection.
  DatabaseBuilderServlet - um exemplo. Eu uso esta classe sempre que
                        tenho que criar um banco de dados.
  web.xml             - um exemplo de configuração destas classes.

Note que eu estou usando MySQL e os drivers do banco de dados devem
estar no diretório lib.

Até mais,

Christian

DatabaseHttpServlet.java

SingleMethodServlet.java

DatabaseBuilderServlet.java

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

    <display-name>
       Enquete
    </display-name>
    <description>
       Aplicativo para a realização de enquetes.
    </description>

    <!-- - - - - - - - - - - - - - - - - - - - -  -->
    <!-- Parameters for the database connection   -->
    <!-- - - - - - - - - - - - - - - - - - - - -  -->

    <context-param>
      <param-name>dbDriver</param-name>
      <param-value>org.gjt.mm.mysql.Driver</param-value>
      <description>
         Driver do banco de dados.
      </description>
    </context-param>

    <context-param>
      <param-name>dbConnectionUrl</param-name>
      <param-value>jdbc:mysql://200.183.10.6:3306/gatorade</param-value>
      <description>
         String para conexão no banco de dados.
      </description>
    </context-param>

    <context-param>
      <param-name>dbUser</param-name>
      <param-value>christian</param-value>
      <description>
         Usuário do banco de dados.
      </description>
    </context-param>

    <context-param>
      <param-name>dbPassword</param-name>
      <param-value>winona</param-value>
      <description>
         Senha do usuário do banco de dados.
      </description>
    </context-param>

    <!-- - - - - - - - - - - - - - - - - - - - -  -->
    <!-- The servlet mappings                     -->
    <!-- - - - - - - - - - - - - - - - - - - - -  -->

    <servlet>
      <servlet-name>
         enquete
      </servlet-name>
      <servlet-class>
         com.newtradebr.enquete.EnqueteServlet
      </servlet-class>
    </servlet>

    <servlet>
      <servlet-name>
         database
      </servlet-name>
      <servlet-class>
         com.newtradebr.enquete.EnqueteDatabaseBuilderServlet
      </servlet-class>
    </servlet>

</web-app>

Reply via email to