Je pense que tout le monde connaît Tomcat. En tant que serveur Web Java gratuit et puissant, il a été favorisé par de nombreux passionnés de Java. La dernière version de Tomcat5 prend en charge servlet2.4 et jsp2.0. Aujourd'hui, j'utiliserai Tomcat5 et Ms sqlserver 000 Let's. démarrez ensemble le parcours de configuration du pool de connexions à la base de données.
Préparation requise
1. La version de jdk que j'utilise est la 1.4.01
2. Tomcat 5 J'utilise l'adresse de téléchargement de la version 5.0.16 : http://jakarta.apache.org/site/binindex.cgi
3. Base de données du serveur Mssql 2000
4. Le pilote jdbc officiel du serveur Mssql 2000 peut être téléchargé gratuitement sur le site officiel de Microsoft.
Après avoir installé le logiciel ci-dessus, entrez la configuration réelle :)
1. Recherchez le répertoire d'installation de jdbc et modifiez le fichier jar msbase. les trois fichiers mssqlserver.jar et msutil.jar, copiez-les dans $CATALINA_HOME/common/lib/ ($CATALINA_HOME représente le répertoire d'installation de votre tomcat5
2. Utilisez un éditeur de texte. J'utilise editplus (c'est ma plus chère amie
).) Ouvrez le fichier $CATALINA_HOME/conf/server.xml, recherchez l'endroit où le contexte est configuré et collez le code suivant dans le fichier
<Context path="/DBTest" docBase="D:rautinee workdb"
debug="5" reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger"
préfixe="localhost_DBTest_log." suffix=".txt"
timestamp="true"/>
<Nom de la ressource="jdbc/TestDB"
auth="Conteneur"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/TestDB">
<paramètre>
<nom>usine</nom>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!-- Nombre maximum de connexions dB dans le pool Assurez-vous de bien le faire.
configurez votre mysqld max_connections suffisamment grand pour gérer
toutes vos connexions à la base de données. Définissez sur 0 sans limite.
-->
<paramètre>
<nom>maxActive</nom>
<valeur>100</valeur>
</parameter>
<!-- Nombre maximum de connexions dB inactives à conserver dans le pool.
Réglé sur 0 pour aucune limite.
-->
<paramètre>
<nom>maxIdle</nom>
<valeur>30</valeur>
</parameter>
<!-- Temps maximum d'attente pour qu'une connexion dB soit disponible
en ms, dans cet exemple 10 secondes. Une exception est levée si.
ce délai est dépassé. Réglez sur -1 pour attendre indéfiniment.
-->
<paramètre>
<nom>maxWait</nom>
<valeur>10 000</valeur>
</parameter>
<!-- Nom d'utilisateur et mot de passe MSSQLserver dB pour les connexions dB -->
<paramètre>
<nom>nom d'utilisateur</nom>
<valeur>sa</valeur>
</paramètre>
<paramètre>
<nom>mot de passe</nom>
<valeur></valeur>
</parameter>
<!-- Nom de classe pour le pilote JDBC mssqlserver -->
<paramètre>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<!-- L'url de connexion JDBC pour vous connecter à votre dB mssqlserver.-->
<paramètre>
<nom>url</nom>
<value>jdbc:microsoft:sqlserver://localhost:1433;databasename=Northwind</value>
</paramètre>
</ResourceParams>
</Context>
DBTest
. Son répertoire est D:rautinee workdb.
le contenu original avec le code suivant
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE application web PUBLIC
"-//Sun Microsystems, Inc.//Application Web DTD 2.3//EN"
" http://java.sun.com/dtd/web-app_2_3.dtd ">
<application Web>
<description>Application de test du serveur MSSql</description>
<réf-ressource>
<description>Connexion à la base de données</description>
<res-ref-name>jdbc/TestDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Conteneur</res-auth>
</resource-ref>
</web-app>
Ok, la configuration est terminée. L'étape suivante consiste à écrire deux fichiers pour tester si la connexion est réussie.
Ici, j'ai utilisé http://jakarta.apache.org. L'exemple ci-dessus
est d'abord le
package de fichiers bean foo
import javax.naming.*;
importer javax.sql.* ;
importer java.sql.* ;
classe publique DBTest {
String foo = "Non connecté" ;
barre int = -1 ;
public void init() {
essayer{
Contexte ctx = new InitialContext();
si(ctx==null)
throw new Exception("Boom - No Context");
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/TestDB")
;
Connexion conn = ds.getConnection();
si(conn != null) {
foo = "J'ai obtenu une connexion" + conn.toString();
Instruction stmt = conn.createStatement();
ResultSet d'abord =
stmt.executeQuery("sélectionnez * dans les commandes");
if(rst.next()) {
foo=rst.getString("IDClient");
bar=rst.getInt("IDCommande");
}
conn.close();
}
}
}attraper(Exception e) {
e.printStackTrace();
}
}
public String getFoo() { return foo }
public int getBar() { barre de retour ;}
}
Puis le fichier index.jsp
<html>
<tête>
<title>Test de base de données</title>
</tête>
<corps>
<%
foo.DBTest tst = new foo.DBTest();
tst.init();
%>
<h2>Résultats de la recherche Ms SQL Server 2000 Java</h2>
Foo <%= tst.getFoo() %><br/>
Barre <%= tst.getBar() %>
</body>
</html>
'www.downcodes.com
compile et s'exécute. Si tout se passe bien, un enregistrement doit être récupéré.
Ce qui est affiché dans mon IE est.
Résultats de recherche Java sur Ms SQL Server 2000
FooVINET
Bar 10248
ok, préparé avec succès !
Documentation de référence :
http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jndi-datasource-examples-howto.html propose un didacticiel sur la connexion de MySQL et d'Oracle8i. Les amis intéressés peuvent le consulter.
Auteur Haizai email:[email protected] http://www.tryitsoft.com