Olá pessoal!
Estou cursando o FJ-21 e estava tentando reproduzir um exercício de JSP em casa.
Construí uma classe Contatos, seu respectivo DAO e o ConnectionFactory. No ConnectionFactory, não estava utilizando o Class.forName, pois na própria apostila do FJ21 consta a informação de que ele não é mais necessário no JDBC4.
Quando rodo os testes em modo de aplicação, tudo funciona perfeitamente (adiciono e removo contatos).
Já no meu JSP, quando acesso qualquer método do meu DAO (getLista, por exemplo), o Tomcat exibe o erro abaixo:
org.apache.jasper.JasperException: java.lang.RuntimeException: java.sql.SQLException: No suitable driver found for jdbc:sqlserver://localhost\SQLEXPRESS;databaseName=fj21;user=sa;password=********;
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
Após colocar o Class.forName antes do DriverManager.getConnection(), passou a funcionar.
Afinal, o Class.forName é ou não dispensável? :roll:
Obrigado!
- alguém me corrija se estiver errado.