Ich glaube, jeder kennt Tomcat als kostenlosen und leistungsstarken Java-Webserver. Die neueste Version von Tomcat5 unterstützt Servlet2.4 und JSP2.0 Beginnen Sie gemeinsam mit der Konfiguration des Datenbankverbindungspools.
Vorbereitung erforderlich
1. Die von mir verwendete JDK-Version ist 1.4.01
2. Tomcat 5 Ich verwende die Download-Adresse der Version 5.0.16: http://jakarta.apache.org/site/binindex.cgi
3. Mssql Server 2000-Datenbank
4. Der offizielle JDBC-Treiber von MSSQL Server 2000 kann kostenlos von der offiziellen Website von Microsoft heruntergeladen werden.
Geben Sie nach der Installation der oben genannten Software die tatsächliche Konfiguration ein:)
1. Suchen Sie das Installationsverzeichnis von JDBC und ändern Sie das MSBase-JAR Kopieren Sie die drei Dateien mssqlserver.jar und msutil.jar nach $CATALINA_HOME/common/lib/ ($CATALINA_HOME stellt das Installationsverzeichnis Ihres Tomcat5 dar.
2. Verwenden Sie einen Texteditor. Ich verwende Editplus.) ) Öffnen Sie die Datei $CATALINA_HOME/conf/server.xml, suchen Sie den Ort, an dem der Kontext konfiguriert ist, und fügen Sie den folgenden Code in die Datei
<Context path="/DBTest" docBase="D:rautinee workdb" ein.
debug="5" reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="localhost_DBTest_log." suffix=".txt"
timestamp="true"/>
<Ressourcenname="jdbc/TestDB"
auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/TestDB">
<Parameter>
<name>Fabrik</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!-- Maximale Anzahl von dB-Verbindungen im Pool. Stellen Sie sicher, dass Sie
Konfigurieren Sie Ihre mysqld max_connections groß genug, um damit umzugehen
Stellen Sie alle Ihre Datenbankverbindungen auf 0 ein, um keine Begrenzung zu erhalten.
->
<Parameter>
<name>maxActive</name>
<Wert>100</Wert>
</parameter>
<!-- Maximale Anzahl inaktiver dB-Verbindungen, die im Pool beibehalten werden sollen.
Auf 0 setzen, um keine Begrenzung zu erhalten.
->
<Parameter>
<name>maxIdle</name>
<Wert>30</Wert>
</parameter>
<!-- Maximale Wartezeit, bis eine dB-Verbindung verfügbar wird
in ms, in diesem Beispiel 10 Sekunden. Eine Ausnahme wird ausgelöst, wenn
Dieses Zeitlimit wird überschritten, um auf unbestimmte Zeit zu warten.
->
<Parameter>
<name>maxWait</name>
<Wert>10000</Wert>
</parameter>
<!-- MSSQLserver dB-Benutzername und Passwort für dB-Verbindungen -->
<Parameter>
<name>Benutzername</name>
<value>sa</value>
</parameter>
<Parameter>
<name>Passwort</name>
<Wert></Wert>
</parameter>
<!-- Klassenname für mssqlserver JDBC-Treiber -->
<Parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<!-- Die JDBC-Verbindungs-URL für die Verbindung zu Ihrem MSSQL-Server dB.-->
<Parameter>
<name>URL</name>
<value>jdbc:microsoft:sqlserver://localhost:1433;databasename=Northwind</value>
</parameter>
</ResourceParams>
</Kontext>
Hinweis: Das Passwort von sa in meiner lokalen Datenbank ist leer. Mein Verzeichnisname ist D:rautinee workdb
den Originalinhalt mit dem folgenden Code
<?xml version="1.0" binding="ISO-8859-1"?>
<!DOCTYPE Web-App PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
" http://java.sun.com/dtd/web-app_2_3.dtd ">
<Web-App>
<description>MSSql-Server-Test-App</description>
<Ressourcenreferenz>
<description>DB-Verbindung</description>
<res-ref-name>jdbc/TestDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
Ok, die Konfiguration ist abgeschlossen. Der nächste Schritt besteht darin, zwei Dateien zu schreiben, um zu testen, ob die Verbindung erfolgreich ist.
Hier habe ich http://jakarta.apache.org verwendet. Das obige Beispiel
ist zuerst das Bean-Dateipaket
foo
;
javax.sql.* importieren;
import java.sql.*;
public class DBTest {
String foo = "Not Connected";
int bar = -1;
public void init() {
versuchen{
Kontext ctx = new InitialContext();
if(ctx==null)
throw new Exception("Boom - No Context");
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/TestDB")
;
Verbindung conn = ds.getConnection();
if(conn != null) {
foo = "Got Connection "+conn.toString();
Anweisung stmt = conn.createStatement();
ResultSet rst =
stmt.executeQuery("wähle * aus Bestellungen aus");
if(rst.next()) {
foo=rst.getString("CustomerID");
bar=rst.getInt("OrderID");
}
conn.close();
}
}
}catch(Ausnahme e) {
e.printStackTrace();
}
}
public String getFoo() { return foo;
public int getBar() { return bar;}
}
Dann die index.jsp-Datei
<html>
<Kopf>
<title>DB-Test</title>
</head>
<Körper>
<%
foo.DBTest tst = new foo.DBTest();
tst.init();
%>
<h2>Ms SQL Server 2000 Java-Suchergebnisse</h2>
Foo <%= tst.getFoo() %><br/>
Bar <%= tst.getBar() %>
</body>
</html>
„www.downcodes.com
Datensatz
abgerufen werden
Suchergebnisse für MS SQL Server 2000 Java
FooVINET
Bar 10248
ok, erfolgreich vorbereitet!
Referenzdokumentation:
http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jndi-datasource-examples-howto.html bietet ein Tutorial zum Verbinden von MySQL und Oracle8i. Interessierte Freunde können es sich ansehen.
Autor Haizai E-Mail:[email protected] http://www.tryitsoft.com