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>