Salve,
sto realizzando una semplice Web Application che si colleghi a MySQL tramite JDBC ma sto riscontrando problemi.
Non sto usando al momento un IDE per meglio capire tutti i passaggi.
Io penso che il problema sia il connector-j... ma andiamo con ordine:
Di seguito la disposizione dei file:
.
├── index.html
├── pages
│__ ├── Error.jsp
│__ ├── NotFound.jsp
│__ └── Welcome.jsp
└── WEB-INF
├── classes
│__ └── Login.class
├── lib
│__ └── mysql-connector-java-5.1.18-bin.jar
├── src
│__ └── Login.java
└── web.xml
Codice del file index.html:
Codice PHP:
[...]
<form action="Welcome">
username: <input name="user" type="text">
password: <input name="pwd" type="text">
<input name="submit" type="submit">
</form>
[...]
Il codice della Servlet Login.java:
Codice PHP:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
public class Login extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException{
String user, pwd;
String output;
int userCount = 0;
user = request.getParameter("user");
pwd = request.getParameter("pwd");
try{
// connessione al db mysql
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/sampleDb", "*****", "*****");
// eseguo la query
Statement stmt = conn.createStatement();
String query = "select count(id) as num from users where username='"
+user +"' and password='" +pwd +"'";
ResultSet result = stmt.executeQuery(query);
while(result.next()){
int columnCount = result.getMetaData().getColumnCount();
for(int i = 1; i <= columnCount; i++){
userCount = result.getInt(i);
}
}
// chiudo la connessione
conn.close();
}catch(Exception e){
output = "pages/Error.jsp";
}
if(userCount > 0){
output = "pages/Welcome.jsp";
}else{
output = "pages/NotFound.jsp";
}
// reindirizzo il browser verso la pagina corretta
request.getRequestDispatcher(output).forward(request, response);
}
}
Il file web.xml:
Codice PHP:
<?xml version="1.0" encoding="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>
<display-name> LiginSample </display-name>
<context-param>
<param-name> driverClassName </param-name>
<param-value> com.mysql.jdbc.Driver </param-value>
</context-param>
<context-param>
<param-name> url </param-name>
<param-value> JDBC:MySQL://localhost:3306/sampleDb </param-value>
</context-param>
<context-param>
<param-name> username </param-name>
<param-value> ***** </param-value>
</context-param>
<context-param>
<param-name> password </param-name>
<param-value> ***** </param-value>
</context-param>
<servlet>
<servlet-name> Login </servlet-name>
<selvlet-class> Login </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> Login </servlet-name>
<url-pattern> /Welcome </url-pattern>
</servlet-mapping>
</web-app>
Ho anche inserito il file mysql-connector-java-5.1.18-bin.jar in /opt/tomcat/lib
ma nulla 
Qualche suggerimento?
Grazie dell'attenzione,
Matteo