1ro. Tenés que instalar Tomcat, descomprimi la carpeta en el C:\ si estás en windows, y te queda así:
C:\apache-tomcat-5.5.23
Iniciás tomcat con el bin/startup.bat
Creás una nueva carpeta ej "test":
C:\apache-tomcat-5.5.23\webapps\testWEB-INF\classes
Dentro de classes van los Servlets
para que te levanten, tenés que agregarlos en el archivo web.xml de la carpeta WEB-INF, así, ej. creaste un servlet llamado MysqlConnect.java, en el xml ponés esto:
/************************ INICIO web.xml **********************/
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>
<!-- JSPC servlet mappings start -->
<servlet-mapping>
<servlet-name>MysqlConnection</servlet-name>
<url-pattern>/servlet/MysqlConnection</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>MysqlConnection</servlet-name>
<url-pattern>/servlet/MysqlConnection</url-pattern>
</servlet-mapping>
<!-- JSPC servlet mappings end -->
</web-app>
/************************ FIN web.xml **********************/
Creás el archivo MysqlConnection.java en la carpeta C:\apache-tomcat-5.5.23\webapps\testWEB-INF\classes
y lo compilás (El código del archivo para conectarte a mysql te lo pego al final)
Luego de compilar el .java, te queda un .class, podés borrar el .java si querés, y luego de eso, reiniciás el Tomcat Server, y entrás a:
http://localhost:8000/test/servlet/MysqlConnect
y ya estás ejecutando el Servlet
A mi de este modo me funcionó. Te dejo a continuación el código para el archivo MysqlConnect.java (Eso si, cambiale los datos de Base de datos, y user y passwd):
/********************* INICIO MysqlConnect.java **************/
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class MysqlConnect extends HttpServlet {
//***** Servlet access to data base
public void doGet (HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
String url = "jdbc:mysql://localhost/test";
String query = "SELECT * FROM test "
+ "WHERE 1 = 1";
try {
Class.forName ("com.mysql.jdbc.Driver");
//Class.forName("org.gjt.mm.mysql.Driver");
Connection con = DriverManager.getConnection
( url, "mysql_user_name", "mysql_password" );
Statement stmt = con.createStatement ();
ResultSet rs = stmt.executeQuery (query);
printResultSet ( resp, rs );
rs.close();
stmt.close();
con.close();
} // end try
catch (SQLException ex) {
PrintWriter out = resp.getWriter();
resp.setContentType("text/html");
while (ex != null) {
out.println ("SQL Exception: " + ex.getMessage ());
ex = ex.getNextException ();
} // end while
} // end catch SQLException
catch (java.lang.Exception ex) {
PrintWriter out = resp.getWriter();
resp.setContentType("text/html");
out.println ("Exception: " + ex.getMessage ());
}
} // end doGet
private void printResultSet ( HttpServletResponse resp, ResultSet rs )
throws SQLException {
try {
PrintWriter out = resp.getWriter();
out.println("<html>");
out.println("<head><title>jbs jdbc/mysql servlet</title></head>");
out.println("<body>");
out.println("<center><font color=AA0000>");
out.println("<h3>jbsJDBCServlet</h3>");
out.println("<h3>Data Retrieved:</h3>");
out.println("<table border='1'>");
int numCols = rs.getMetaData().getColumnCount ();
while ( rs.next() ) {
out.println("<tr>");
for (int i=1; i<=numCols; i++) {
out.print("<td>" + rs.getString(i) + "</td>" );
} // end for
out.println("</tr>");
} // end while
out.println("</table>");
out.println("</font></center>");
out.println("</body>");
out.println("</html>");
out.close();
} // end try
catch ( IOException except) {
} // end catch
} // end returnHTML
} // end jbsJDBCServlet
/********************* FIN MysqlConnect.java **************/
Saludos